summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/nofpu/Makefile
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-12-27 19:01:57 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-12-27 19:01:57 +0000
commitcab56836b146bc129f1ad43f0393d95a9deca63a (patch)
tree4f4e655319bbac78fca170da05275c127429b460 /sysdeps/powerpc/nofpu/Makefile
parent04ac1241a4cd004872282c2c82ec37fa33925292 (diff)
parent82dd75a7f436a19047325d62182590c9f9e23a78 (diff)
Merge branch 't/tls' into refs/top-bases/t/tls-threadvar
Diffstat (limited to 'sysdeps/powerpc/nofpu/Makefile')
-rw-r--r--sysdeps/powerpc/nofpu/Makefile43
1 files changed, 32 insertions, 11 deletions
diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile
index 99761ef7f0..80c762ebdf 100644
--- a/sysdeps/powerpc/nofpu/Makefile
+++ b/sysdeps/powerpc/nofpu/Makefile
@@ -2,6 +2,7 @@
ifeq ($(subdir),soft-fp)
sysdep_routines += $(gcc-single-routines) $(gcc-double-routines) \
+ sqrtsf2 sqrtdf2 \
sim-full atomic-feholdexcept atomic-feclearexcept \
atomic-feupdateenv flt-rounds
endif
@@ -15,18 +16,38 @@ 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.
+#
+# This bug can cause wrong signs of zero results from fabsl, and
+# spurious "invalid" exceptions from comparisons with NaN in the
+# default code sequence generated. The fpclassify expansion used by
+# __builtin_fpclassify, which is used in the absence of
+# -fsignaling-nans, uses __builtin_fabsl, and is not affected by
+# -fno-builtin-fabsl, so requiring -fsignaling-nans for some affected
+# source files.
CFLAGS-e_atan2l.c += -fno-builtin-fabsl
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
-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
+CFLAGS-s_cacosl.c += -fsignaling-nans
+CFLAGS-s_cacoshl.c += -fsignaling-nans
+CFLAGS-s_casinhl.c += -fsignaling-nans
+CFLAGS-s_catanl.c += -fsignaling-nans
+CFLAGS-s_catanhl.c += -fsignaling-nans
+CFLAGS-s_ccoshl.c += -fno-builtin-fabsl -fsignaling-nans
+CFLAGS-s_cexpl.c += -fsignaling-nans
+CFLAGS-s_csinhl.c += -fno-builtin-fabsl -fsignaling-nans
+CFLAGS-s_clogl.c += -fno-builtin-fabsl -fsignaling-nans
+CFLAGS-s_clog10l.c += -fno-builtin-fabsl -fsignaling-nans
+CFLAGS-s_csinl.c += -fno-builtin-fabsl -fsignaling-nans
+CFLAGS-s_csqrtl.c += -fno-builtin-fabsl -fsignaling-nans
+CFLAGS-w_acosl_compat.c += -fno-builtin-fabsl
+CFLAGS-w_asinl_compat.c += -fno-builtin-fabsl
+CFLAGS-w_atanhl_compat.c += -fno-builtin-fabsl
+CFLAGS-w_j0l_compat.c += -fno-builtin-fabsl
+CFLAGS-w_j1l_compat.c += -fno-builtin-fabsl
+CFLAGS-e_lgammal_r.c += -fno-builtin-fabsl
+CFLAGS-e_log10l.c += -fno-builtin-fabsl
+CFLAGS-e_log2l.c += -fno-builtin-fabsl
+CFLAGS-e_remainderl.c += -fno-builtin-fabsl
+CFLAGS-s_fmaxmagl.c += -fno-builtin-fabsl
+CFLAGS-s_fminmagl.c += -fno-builtin-fabsl
endif