diff options
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | sysdeps/powerpc/nofpu/Makefile | 26 |
2 files changed, 37 insertions, 6 deletions
@@ -1,3 +1,20 @@ +2018-01-09 Joseph Myers <joseph@codesourcery.com> + + [BZ #22687] + * sysdeps/powerpc/nofpu/Makefile (CFLAGS-s_cacosl.c): New + variable. + (CFLAGS-s_cacoshl.c): Likewise. + (CFLAGS-s_casinhl.c): Likewise. + (CFLAGS-s_catanl.c): Likewise. + (CFLAGS-s_catanhl.c): Likewise. + (CFLAGS-s_cexpl.c): Likewise. + (CFLAGS-s_ccoshl.c): Add -fsignaling-nans. + (CFLAGS-s_csinhl.c): Likewise. + (CFLAGS-s_clogl.c): Likewise. + (CFLAGS-s_clog10l.c): Likewise. + (CFLAGS-s_csinl.c): Likewise. + (CFLAGS-s_csqrtl.c): Likewise. + 2010-08-04 Emilio Pozuelo Monfort <pochu27@gmail.com> 2017-09-26 Svante Signell <svante.signell@gmail.com> diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile index ed16321..09ecdf1 100644 --- a/sysdeps/powerpc/nofpu/Makefile +++ b/sysdeps/powerpc/nofpu/Makefile @@ -15,15 +15,29 @@ 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-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 |