summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/mips
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/mips
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/mips')
-rw-r--r--libexec/rtld-elf/mips/reloc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libexec/rtld-elf/mips/reloc.c b/libexec/rtld-elf/mips/reloc.c
index 24e56ce..4e750d7 100644
--- a/libexec/rtld-elf/mips/reloc.c
+++ b/libexec/rtld-elf/mips/reloc.c
@@ -275,6 +275,10 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags,
if (obj == obj_rtld)
return (0);
+ if ((flags & SYMLOOK_IFUNC) != 0)
+ /* XXX not implemented */
+ return (0);
+
#ifdef SUPPORT_OLD_BROKEN_LD
broken = 0;
sym = obj->symtab;
OpenPOWER on IntegriCloud