aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-11-12 18:47:05 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-11-12 18:47:05 +0000
commit9a7c643ac2c21e44d78f98ad9a974ea579bd2003 (patch)
treea121a92ccce7e45abb9905386938192b9d652595 /ChangeLog
parent092dfde68f7d7e856479f49faf6e69d15293bc1c (diff)
downloadglibc-9a7c643ac2c21e44d78f98ad9a974ea579bd2003.tar
glibc-9a7c643ac2c21e44d78f98ad9a974ea579bd2003.tar.gz
glibc-9a7c643ac2c21e44d78f98ad9a974ea579bd2003.tar.bz2
glibc-9a7c643ac2c21e44d78f98ad9a974ea579bd2003.zip
Fix i686 build with GCC 9.
This patch fixes the glibc build for i686 with current mainline GCC, where there are warnings about inconsistent attributes for aliases in certain files defining libm IFUNCs. In three of the files, the aliases were defined in terms of internal symbols such as __sinf, and copied attributes from file-local declarations of those functions which lacked the nothrow attribute. Since the nothrow attribute is present on the declarations from <math.h> (which include declarations of those __-prefixed functions), the natural fix was to include <math.h> in those files, replacing the local declarations. In the other three files, a more complicated __hidden_ver1 call was involved in the warnings. <math.h> has not been included at this point and, furthermore, it is included indirectly only later in the source file after macros have been defined to remap a function name therein. So there isn't an obvious declaration from which to copy the attribute and it seems simplest and safest just to add __THROW to the hidden_ver1 calls. Tested for i686 (build-many-glibcs.py compilers build for x86_64-linux-gnu with GCC mainline; full testsuite run with GCC 7). * sysdeps/i386/i686/fpu/multiarch/e_expf.c [SHARED]: Use __THROW with __hidden_ver1 call. * sysdeps/i386/i686/fpu/multiarch/e_log2f.c [SHARED]: Likewise. * sysdeps/i386/i686/fpu/multiarch/e_logf.c [SHARED]: Likewise. * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include <math.h>. (__cosf): Do not declare here. * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include <math.h>. (__sincosf): Do not declare here. * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include <math.h>. (__sinf): Do not declare here.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog11
1 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c85af69b14..fd9ba11e6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2018-11-12 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/i386/i686/fpu/multiarch/e_expf.c [SHARED]: Use __THROW
+ with __hidden_ver1 call.
+ * sysdeps/i386/i686/fpu/multiarch/e_log2f.c [SHARED]: Likewise.
+ * sysdeps/i386/i686/fpu/multiarch/e_logf.c [SHARED]: Likewise.
+ * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include <math.h>.
+ (__cosf): Do not declare here.
+ * sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include <math.h>.
+ (__sincosf): Do not declare here.
+ * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include <math.h>.
+ (__sinf): Do not declare here.
+
* sysdeps/ia64/fpu/sfp-machine.h (__LITTLE_ENDIAN): Remove.
(__BIG_ENDIAN): Likewise.
(__BYTE_ORDER): Likewise.