diff options
author | kib <kib@FreeBSD.org> | 2016-11-23 09:25:51 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2016-11-23 09:25:51 +0000 |
commit | a52231cd70e92e8870126afdd5014759f6a2dc0a (patch) | |
tree | faacad3b3c0d5f6d69c56950a84781b1f7cc59c8 /libexec/rtld-elf/powerpc/rtld_machdep.h | |
parent | f868ec0125dea0fb67f9030f66a171ed2d864860 (diff) | |
download | FreeBSD-src-a52231cd70e92e8870126afdd5014759f6a2dc0a.zip FreeBSD-src-a52231cd70e92e8870126afdd5014759f6a2dc0a.tar.gz |
MFC r308689:
Pass CPUID[1] %edx (cpu_feature), %ecx (cpu_feature2) and
CPUID[7].%ebx (cpu_stdext_feature), %ecx (cpu_stdext_feature2) to the
ifunc resolvers on x86.
MFC r308925:
Adjust r308689 to make rtld compilable with either in-tree or
(hopefully) stock gcc 4.2.1 on i386 and other arches.
Diffstat (limited to 'libexec/rtld-elf/powerpc/rtld_machdep.h')
-rw-r--r-- | libexec/rtld-elf/powerpc/rtld_machdep.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libexec/rtld-elf/powerpc/rtld_machdep.h b/libexec/rtld-elf/powerpc/rtld_machdep.h index 3e39c82..92bbf9a 100644 --- a/libexec/rtld-elf/powerpc/rtld_machdep.h +++ b/libexec/rtld-elf/powerpc/rtld_machdep.h @@ -51,6 +51,9 @@ Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target, #define call_init_pointer(obj, target) \ (((InitArrFunc)(target))(main_argc, main_argv, environ)) +#define call_ifunc_resolver(ptr) \ + (((Elf_Addr (*)(void))ptr)()) + /* * Lazy binding entry point, called via PLT. */ |