summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/powerpc
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2014-09-12 16:22:01 +0000
committerkib <kib@FreeBSD.org>2014-09-12 16:22:01 +0000
commit7102c463391b21fea4e6679d5c6539bb04b7f528 (patch)
tree72dd52a692d6e0f484ed7d8de8de5fe8d9403512 /libexec/rtld-elf/powerpc
parent306ae7f936713a7fcf65a414441afee1a31534c1 (diff)
downloadFreeBSD-src-7102c463391b21fea4e6679d5c6539bb04b7f528.zip
FreeBSD-src-7102c463391b21fea4e6679d5c6539bb04b7f528.tar.gz
MFC r270798:
Process STT_GNU_IFUNC when doing non-plt relocations. MFC r270802: Only do the second pass over non-plt relocations when the first pass found IFUNCs. Approved by: re (gjb)
Diffstat (limited to 'libexec/rtld-elf/powerpc')
-rw-r--r--libexec/rtld-elf/powerpc/reloc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libexec/rtld-elf/powerpc/reloc.c b/libexec/rtld-elf/powerpc/reloc.c
index 838cfe6..89e5536 100644
--- a/libexec/rtld-elf/powerpc/reloc.c
+++ b/libexec/rtld-elf/powerpc/reloc.c
@@ -294,6 +294,10 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags,
SymCache *cache;
int r = -1;
+ if ((flags & SYMLOOK_IFUNC) != 0)
+ /* XXX not implemented */
+ return (0);
+
/*
* The dynamic loader may be called from a thread, we have
* limited amounts of stack available so we cannot use alloca().
OpenPOWER on IntegriCloud