Use generic __ifunc for SPARC
David Miller
davem@davemloft.net
Tue Sep 26 18:20:00 GMT 2017
From: Joseph Myers <joseph@codesourcery.com>
Date: Tue, 26 Sep 2017 18:17:06 +0000
> 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).
>
> 2017-09-26 Joseph Myers <joseph@codesourcery.com>
>
> * sysdeps/sparc/sparc-ifunc.h [!__ASSEMBLER__] (sparc_libm_ifunc):
> Define using __ifunc.
Looks good.
More information about the Libc-alpha
mailing list