]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
[PowerPC] powerpc64 rtld IFUNC handling code
authorbdragon <bdragon@FreeBSD.org>
Tue, 24 Dec 2019 16:07:35 +0000 (16:07 +0000)
committerbdragon <bdragon@FreeBSD.org>
Tue, 24 Dec 2019 16:07:35 +0000 (16:07 +0000)
commitd0fa3deadd10a7762a4225f10b00dff44fa81bd0
treebbd1caf9211610eb205b661f4af490b19072f4c3
parent8f7370ce99049306c00fdcc5f82b5b315f0a8881
[PowerPC] powerpc64 rtld IFUNC handling code

As PowerPC is moving to clang, we can finally start taking advantage of
IFUNC.

Implement the MD parts of IFUNC handling for rtld.

Currently, it is necessary to look for R_PPC_IRELATIVE in the PLT in
addition to RELA. This is an ABI violation, but LLD9 has some .iplt bugs
that require this as a workaround.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D22789
libexec/rtld-elf/powerpc64/reloc.c
libexec/rtld-elf/powerpc64/rtld_machdep.h