This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Use -frounding-math for math testsuite
On Wednesday, May 02, 2012 16:55:23 Richard Guenther wrote:
> 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
> > > > <http://sourceware.org/bugzilla/show_bug.cgi?id=10846> 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.
Right now I don't see a way to set these flags just for the libraries.
We could add them as global settings for all of glibc if we want - or
somebody needs to tweak the makefiles to use different CFLAGS for library and
tests.
Andreas
--
Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg)
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126