about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-09-26 19:49:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-09-26 19:49:33 +0000
commit2d9193f2f55767c71333d425e140e22c3e15dc3d (patch)
tree48da34b9bdb8434ef714d5aa945841e8119c9af5 /elf
parent4c5a7a02b66af196ee17026f64b2e78fbfc0776a (diff)
downloadglibc-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 'elf')
0 files changed, 0 insertions, 0 deletions