Doc update to mention MPFR (Re: [RFC][00/19] Target FP: Precise target floating-point emulation)

Message ID 20171120173923.A9DF2D802BF@oc3748833570.ibm.com
State New, archived
Headers

Commit Message

Ulrich Weigand Nov. 20, 2017, 5:39 p.m. UTC
  Eli Zaretskii wrote:
> >  *** Changes since GDB 8.0
> >  
> > +* GDB now uses the GNU MPFR library, if available, to emulate target
> > +  floating-point arithmetic during expression evaluation when the target
> > +  uses different floating-point formats than the host.
> > +
> 
> This part is OK.
> 
> > +   GDB uses GNU MPFR, a library for multiple-precision floating-point
> > +computation with correct rounding, to emulate target floating-point
> > +arithmetic during expression evaluation when the target uses different
> > +floating-point formats than the host.  MPFR will be linked in if it is
> > +available at build time.  At least version 3.1 of GNU MPFR is required.
> > +If GNU MPFR it is not available, GDB will fall back to using host
> > +floating-point arithmetic.  The latest version of GNU MPFR should be
> > +available from `http://www.mpfr.org´.
>                                       ^
> Some non-ASCII character sneaked in here.
> 
> > +`--with-mpfr'
> > +     Build GDB with the GNU MPFR library.  (Done by default if
> > +     GNU MPFR is installed and found at configure time.)  This library
> > +     is used to emulate target floating-point arithmetic during expression
> > +     evaluation when the target uses different floating-point formats than
> > +     the host. At least version 3.1 of GNU MPFR is required.  If GNU MPFR
> 
> I would drop the reference to minimum supported MPFR version here: it
> tends to become outdated as time goes by, and I believe the configure
> script includes the necessary tests for what we need from MPFR, and
> will reject versions that don't fit the bill.
> 
> (It is okay to have the version mentioned in NEWS, as that is a
> one-time announcement.)
> 
> Also, please make sure there are 2 spaces between sentences.
> 
> > +@item MPFR
> > +@anchor{MPFR}
> > +@value{GDBN} can use the GNU MPFR multiple-precision floating-point
> > +library.  This library may be included with your operating system
> > +distribution; if it is not, you can get the latest version from
> > +@url{http://www.mpfr.org}.  At least version 3.1 of GNU MPFR is
>                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Same here.
> 
> > +formats than the host.  If GNU MPFR it is not available, GDB will
>                                                             ^^^
> @value{GDBN}
> 
> The changes are okay with those gotchas fixed.

OK, thanks for the review.  I've updated the patch below.

Thanks,
Ulrich


gdb/ChangeLog:

	* NEWS: Document use of GNU MPFR.
	* README: Likewise.
	* doc/gdb.texinfo: Likewise
  

Comments

Eli Zaretskii Nov. 20, 2017, 6:25 p.m. UTC | #1
> Date: Mon, 20 Nov 2017 18:39:23 +0100 (CET)
> From: "Ulrich Weigand" <uweigand@de.ibm.com>
> Cc: brobecker@adacore.com, gdb-patches@sourceware.org
> 
> OK, thanks for the review.  I've updated the patch below.

The updated patch is fine, thanks.
  

Patch

Index: binutils-gdb/gdb/NEWS
===================================================================
--- binutils-gdb.orig/gdb/NEWS
+++ binutils-gdb/gdb/NEWS
@@ -3,6 +3,11 @@ 
 
 *** Changes since GDB 8.0
 
+* GDB now uses the GNU MPFR library, if available, to emulate target
+  floating-point arithmetic during expression evaluation when the target
+  uses different floating-point formats than the host.  At least version
+  3.1 of GNU MPFR is required.
+
 * GDB now supports access to the guarded-storage-control registers and the
   software-based guarded-storage broadcast control registers on IBM z14.
 
Index: binutils-gdb/gdb/README
===================================================================
--- binutils-gdb.orig/gdb/README
+++ binutils-gdb/gdb/README
@@ -89,6 +89,14 @@  features.  Expat will be linked in if it
 those features will be disabled.  The latest version of Expat should be
 available from `http://expat.sourceforge.net'.
 
+   GDB uses GNU MPFR, a library for multiple-precision floating-point
+computation with correct rounding, to emulate target floating-point
+arithmetic during expression evaluation when the target uses different
+floating-point formats than the host.  MPFR will be linked in if it is
+available at build time.  If GNU MPFR it is not available, GDB will fall
+back to using host floating-point arithmetic.  The latest version of
+GNU MPFR should be available from `http://www.mpfr.org'.
+
    GDB can be used as a cross-debugger, running on a machine of one
 type while debugging a program running on a machine of another type.
 See below.
@@ -475,6 +483,15 @@  prefer; but you may abbreviate option na
      have libexpat installed, you can  get the latest version from
      http://expat.sourceforge.net.
 
+`--with-mpfr'
+     Build GDB with the GNU MPFR library.  (Done by default if
+     GNU MPFR is installed and found at configure time.)  This library
+     is used to emulate target floating-point arithmetic during expression
+     evaluation when the target uses different floating-point formats than
+     the host.  If GNU MPFR is not available, GDB will fall back to using
+     host floating-point arithmetic.  If your host does not have GNU MPFR
+     installed, you can get the latest version from http://www.mpfr.org.
+
 `--with-python[=PATH]'
      Build GDB with Python scripting support.  (Done by default if
      libpython is present and found at configure time.)  Python makes
Index: binutils-gdb/gdb/doc/gdb.texinfo
===================================================================
--- binutils-gdb.orig/gdb/doc/gdb.texinfo
+++ binutils-gdb/gdb/doc/gdb.texinfo
@@ -34270,6 +34270,21 @@  Branch trace (@pxref{Branch Trace Format
 @pxref{Branch Trace Configuration Format})
 @end itemize
 
+@item MPFR
+@anchor{MPFR}
+@value{GDBN} can use the GNU MPFR multiple-precision floating-point
+library.  This library may be included with your operating system
+distribution; if it is not, you can get the latest version from
+@url{http://www.mpfr.org}.  The @file{configure} script will search
+for this library in several standard locations; if it is installed
+in an unusual path, you can use the @option{--with-libmpfr-prefix}
+option to specify its location.
+
+GNU MPFR is used to emulate target floating-point arithmetic during
+expression evaluation when the target uses different floating-point
+formats than the host.  If GNU MPFR it is not available, @value{GDBN}
+will fall back to using host floating-point arithmetic.
+
 @item zlib
 @cindex compressed debug sections 
 @value{GDBN} will use the @samp{zlib} library, if available, to read