From: Joseph Myers Date: Fri, 3 Jan 2014 20:56:18 +0000 (+0000) Subject: Fix soft-float ldbl-128ibm atan2l signs of zero results (bug 16390). X-Git-Tag: glibc-2.19~164 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=22562bb222a91e0ecc416b19accd98e10c0d26be;p=thirdparty%2Fglibc.git Fix soft-float ldbl-128ibm atan2l signs of zero results (bug 16390). This patch fixes bug 16390, incorrect signs of zero results from ldbl-128ibm atan2l, soft-float only. The problem is a longstanding GCC bug with fabsl not being correct for signed zero for soft float, and the fix is using -fno-builtin-fabsl as a workaround, as already done for various other source files. Tested powerpc-nofpu. * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math] (CFLAGS-e_atan2l.c): Use -fno-builtin-fabsl. --- diff --git a/ChangeLog b/ChangeLog index 102967904fd..0e6850d43a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-01-03 Joseph Myers + + [BZ #16390] + * sysdeps/powerpc/nofpu/Makefile [$(subdir) = math] + (CFLAGS-e_atan2l.c): Use -fno-builtin-fabsl. + 2014-01-03 Adhemerval Zanella * sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power7.S: Remove diff --git a/NEWS b/NEWS index e0ea97aa0e1..7757c32ab79 100644 --- a/NEWS +++ b/NEWS @@ -24,7 +24,7 @@ Version 2.19 16143, 16144, 16146, 16150, 16151, 16153, 16167, 16172, 16195, 16214, 16245, 16271, 16274, 16283, 16289, 16293, 16314, 16316, 16330, 16337, 16338, 16356, 16365, 16366, 16369, 16372, 16375, 16379, 16384, 16385, - 16386. + 16386, 16390. * Slovenian translations for glibc messages have been contributed by the Translation Project's Slovenian team of translators. diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile index 9de7c437471..99761ef7f00 100644 --- a/sysdeps/powerpc/nofpu/Makefile +++ b/sysdeps/powerpc/nofpu/Makefile @@ -15,6 +15,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_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