From: Andreas Jaeger Date: Tue, 8 May 2012 07:00:44 +0000 (+0200) Subject: Revert "Revert "Build glibc with -frounding-math"" X-Git-Tag: glibc-2.16-tps~452 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29ba805c7bb1e33c4ea911c67af26c7e301b1e76;p=thirdparty%2Fglibc.git Revert "Revert "Build glibc with -frounding-math"" This reverts commit 20f244a03fda84d1556674584b340e2459ef3d99. --- diff --git a/ChangeLog b/ChangeLog index 51027aea489..d8bb002c60f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -86,6 +86,14 @@ * math/libm-test.inc (check_float_internal): Correct ulp calculation for subnormal expected results. +2012-05-06 Andreas Jaeger + + * Makeconfig (+math-flags): New, set to -frounding-math. + (+cflags): Add +math-flags so that all of glibc gets compiled with + it. + + * sysdeps/x86_64/fpu/libm-test-ulps: Updated. + 2012-05-05 Joseph Myers * math/libm-test.inc (hypot_test) [TEST_DOUBLE && TEST_INLINE]: diff --git a/Makeconfig b/Makeconfig index 5c78ee497b3..f68a752766a 100644 --- a/Makeconfig +++ b/Makeconfig @@ -574,6 +574,11 @@ endif # actually different, so allow the compiler to merge them all. +merge-constants = -fmerge-all-constants +# We have to assume that glibc functions are called in any rounding +# mode and also change the rounding mode in a few functions. So, +# disable any optimization that assume default rounding mode. ++math-flags = -frounding-math + # This is the program that generates makefile dependencies from C source files. # The -MP flag tells GCC >= 3.2 (which we now require) to produce dummy # targets for headers so that removed headers don't break the build. @@ -633,7 +638,7 @@ ifeq "$(strip $(+cflags))" "" +cflags := $(default_cflags) endif # $(+cflags) == "" -+cflags += $(cflags-cpu) $(+gccwarn) $(+merge-constants) ++cflags += $(cflags-cpu) $(+gccwarn) $(+merge-constants) $(+math-flags) +gcc-nowarn := -w # Don't duplicate options if we inherited variables from the parent.