This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Use generic __ifunc for SPARC
- From: David Miller <davem at davemloft dot net>
- To: joseph at codesourcery dot com
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 26 Sep 2017 11:20:26 -0700 (PDT)
- Subject: Re: Use generic __ifunc for SPARC
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1709261815560.21154@digraph.polyomino.org.uk>
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.