aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2012-05-06 09:14:15 +0200
committerAndreas Jaeger <aj@suse.de>2012-05-06 09:14:15 +0200
commitbd7b0e561f7f684cedfc4adb964569fe9ab16209 (patch)
tree128dad5210e127188d712f7b718dc59ec730e7df
parent5779f134a0f2d52effc24afc1fdb201055bbb3fe (diff)
downloadglibc-bd7b0e561f7f684cedfc4adb964569fe9ab16209.tar
glibc-bd7b0e561f7f684cedfc4adb964569fe9ab16209.tar.gz
glibc-bd7b0e561f7f684cedfc4adb964569fe9ab16209.tar.bz2
glibc-bd7b0e561f7f684cedfc4adb964569fe9ab16209.zip
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.
-rw-r--r--ChangeLog6
-rw-r--r--Makeconfig7
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e121392163..866f9bd6c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-05-06 Andreas Jaeger <aj@suse.de>
+
+ * 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 <joseph@codesourcery.com>
* math/libm-test.inc (hypot_test) [TEST_DOUBLE && TEST_INLINE]:
diff --git a/Makeconfig b/Makeconfig
index 5c78ee497b..f68a752766 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.