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

Ulrich Weigand
2017-11-20T17:39:33Z

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

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

--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com