]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
[PowerPC] powerpc32 rtld IFUNC handling code
authorbdragon <bdragon@FreeBSD.org>
Tue, 24 Dec 2019 16:13:15 +0000 (16:13 +0000)
committerbdragon <bdragon@FreeBSD.org>
Tue, 24 Dec 2019 16:13:15 +0000 (16:13 +0000)
commit5c55713bea3515f769260d44fb122bd758c9d0c8
tree9ad76e3a81dca2a8042cca311a2a6a81ef52c428
parentd0fa3deadd10a7762a4225f10b00dff44fa81bd0
[PowerPC] powerpc32 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: jhibbits
Differential Revision: https://reviews.freebsd.org/D22855
libexec/rtld-elf/powerpc/reloc.c
libexec/rtld-elf/powerpc/rtld_machdep.h