svn commit: r216137 - head/lib/msun
David Schultz
das at FreeBSD.org
Fri Dec 3 00:05:50 UTC 2010
Author: das
Date: Fri Dec 3 00:05:49 2010
New Revision: 216137
URL: http://svn.freebsd.org/changeset/base/216137
Log:
Disable gcc's built-in rint() function when compiling s_nearbyint.c.
It results in incorrect optimizations that break nearbyint().
PR: 143358
Reviewed by: bde
Modified:
head/lib/msun/Makefile
Modified: head/lib/msun/Makefile
==============================================================================
--- head/lib/msun/Makefile Thu Dec 2 22:37:50 2010 (r216136)
+++ head/lib/msun/Makefile Fri Dec 3 00:05:49 2010 (r216137)
@@ -113,6 +113,12 @@ COMMON_SRCS:= ${COMMON_SRCS:N${i:R}.c}
.endfor
.endif
+# Some files need certain gcc built-in functions to be disabled, since gcc's
+# model of the functions bogusly assumes -fno-trapping-math.
+XRINT_CFLAGS= -fno-builtin-rint -fno-builtin-rintf -fno-builtin-rintl
+CFLAGS+= ${XRINT_CFLAGS}
+XRINT_CFLAGS:= ${.IMPSRC:M*/s_nearbyint.c:C/^.+$/${XRINT_CFLAGS}/:C/^$//}
+
SRCS= ${COMMON_SRCS} ${ARCH_SRCS}
INCS= fenv.h math.h
More information about the svn-src-head
mailing list