From: Andreas Jaeger Date: Sun, 6 May 2012 07:14:15 +0000 (+0200) Subject: Build glibc with -frounding-math X-Git-Tag: glibc-2.16-tps~464 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bd7b0e561f7f684cedfc4adb964569fe9ab16209;p=thirdparty%2Fglibc.git Build glibc with -frounding-math * Makeconfig (+math-flags): New, set to -frounding-math. (+cflags): Add +math-flags so that all of glibc gets compiled with it. --- diff --git a/ChangeLog b/ChangeLog index e1213921633..866f9bd6c1b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +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. + 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.