diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-09-26 19:49:33 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-09-26 19:49:33 +0000 |
commit | 2d9193f2f55767c71333d425e140e22c3e15dc3d (patch) | |
tree | 48da34b9bdb8434ef714d5aa945841e8119c9af5 /ChangeLog | |
parent | 4c5a7a02b66af196ee17026f64b2e78fbfc0776a (diff) | |
download | glibc-2d9193f2f55767c71333d425e140e22c3e15dc3d.tar.gz glibc-2d9193f2f55767c71333d425e140e22c3e15dc3d.tar.xz glibc-2d9193f2f55767c71333d425e140e22c3e15dc3d.zip |
Use generic __ifunc for SPARC.
glibc fails to build with GCC mainline for SPARC because of the use of manually-created IFUNCs, which fail the tests of compatibility of function alias types. This patch changes sparc-ifunc.h to use the generic __ifunc in defining sparc_libm_ifunc. The generic __ifunc can use the GCC ifunc attribute when available, so ensuring type-correctness as well as better debug info than when setting symbol types in asm statements. Note that for this to fix the build with GCC mainline the GCC patch <https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01779.html>, or building GCC with --enable-gnu-indirect-function, is also needed. Tested (compilation only) with build-many-glibcs.py (sparc64-linux-gnu and sparcv9-linux-gnu, with GCC 8 with the above patch, and also with GCC 7). * sysdeps/sparc/sparc-ifunc.h [!__ASSEMBLER__] (sparc_libm_ifunc): Define using __ifunc.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 87e4067b3a..f8e097e17f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-09-26 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/sparc/sparc-ifunc.h [!__ASSEMBLER__] (sparc_libm_ifunc): + Define using __ifunc. + 2017-09-26 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> * sysdeps/powerpc/fpu/libm-test-ulps: Regenerate expf() and |