Extend powerpc-nofpu -fno-builtin-fabsl workaround to more files
Joseph S. Myers
joseph@codesourcery.com
Thu Oct 10 17:25:00 GMT 2013
For powerpc-nofpu, several libm files are built with
-fno-builtin-fabsl because of a GCC bug where a generic inline
expansion of fabsl, involving comparison with 0, is incorrect for -0.
The same GCC bug also affects quiet NaN arguments: by doing an ordered
comparison with 0, exceptions are raised (whereas fabsl maps to IEEE
754 abs, which should never raise exceptions even for signaling NaNs).
This is covered up by bug 14910, but becomes visible with my patch
<https://sourceware.org/ml/libc-alpha/2013-10/msg00365.html> to fix
that bug. This patch extends the workaround to the extra files
needing it once that bug is fixed.
Tested for powerpc-nofpu.
2013-10-10 Joseph Myers <joseph@codsourcery.com>
* sysdeps/powerpc/nofpu/Makefile [$(subdir) = math]
(CFLAGS-e_hypotl.c): Add -fno-builtin-fabsl.
[$(subdir) = math] (CFLAGS-w_acosl.c): Likewise.
[$(subdir) = math] (CFLAGS-w_asinl.c): Likewise.
[$(subdir) = math] (CFLAGS-w_atanhl.c): Likewise.
[$(subdir) = math] (CFLAGS-w_j0l.c): Likewise.
[$(subdir) = math] (CFLAGS-w_j1l.c): Likewise.
diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile
index 6bdff45..b9cbf80 100644
--- a/sysdeps/powerpc/nofpu/Makefile
+++ b/sysdeps/powerpc/nofpu/Makefile
@@ -14,6 +14,7 @@ CPPFLAGS += -I../soft-fp/
# gcc-4.1.1 and may be too late for gcc-4.2. So we need these flags
# until the fix in a gcc release and glibc drops support for earlier
# versions of gcc.
+CFLAGS-e_hypotl.c += -fno-builtin-fabsl
CFLAGS-e_powl.c += -fno-builtin-fabsl
CFLAGS-s_ccoshl.c += -fno-builtin-fabsl
CFLAGS-s_csinhl.c += -fno-builtin-fabsl
@@ -21,4 +22,9 @@ CFLAGS-s_clogl.c += -fno-builtin-fabsl
CFLAGS-s_clog10l.c += -fno-builtin-fabsl
CFLAGS-s_csinl.c += -fno-builtin-fabsl
CFLAGS-s_csqrtl.c += -fno-builtin-fabsl
+CFLAGS-w_acosl.c += -fno-builtin-fabsl
+CFLAGS-w_asinl.c += -fno-builtin-fabsl
+CFLAGS-w_atanhl.c += -fno-builtin-fabsl
+CFLAGS-w_j0l.c += -fno-builtin-fabsl
+CFLAGS-w_j1l.c += -fno-builtin-fabsl
endif
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list