This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Use -frounding-math for math testsuite

On Wed, 2 May 2012, Joseph S. Myers wrote:

> On Wed, 2 May 2012, Andreas Jaeger wrote:
> > On Wednesday, May 02, 2012 16:32:23 Joseph S. Myers wrote:
> > > On Wed, 2 May 2012, Joseph S. Myers wrote:
> > > > Please commit this.  Strictly we should compile all the libraries with
> > > > -frounding-math as well, since library functions may be called in any
> > > > rounding mode (and without -frounding-math, round-to-nearest is
> > > > assumed); the only things for which it's not needed are the
> > > > miscellaneous executables, and those testcases (i.e. all except the
> > > > ones this patch addresses) that don't change the rounding mode.
> > > 
> > > Incidentally, compiling libraries with -frounding-math should fix bugs
> > > such as <> with
> > > missing underflow exceptions (it's still a GCC bug that it folds these
> > > underflowing operations with -ftrapping-math -fno-rounding-math, but
> > > -frounding-math works around the GCC bug by disabling that folding since
> > > the result is inexact).
> > 
> > Do you really mean all libraries - or just the math subdirectory?
> I mean all libraries - every shared object that glibc installs, as opposed 
> to ones built only as part of the testsuite (for which it is unnecessary, 
> if harmless).  For most of them it won't make a practical difference (code 
> generated ought to be unchanged), in that they don't actually do floating 
> point, but there's the odd bit outside libm where rounding modes are 
> relevant (there are open bugs about strtod and printf not respecting them 
> ... although since those work with integer operations, it's likely 
> -frounding-math won't actually affect the code generated for them).

There is also -fsignalling-nans which is off by default, too.  Not sure
if that makes a difference though, but GCC for example folds x + 0.0 to
x with the default setting.


Richard Guenther <>
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]