From 7102c463391b21fea4e6679d5c6539bb04b7f528 Mon Sep 17 00:00:00 2001 From: kib Date: Fri, 12 Sep 2014 16:22:01 +0000 Subject: 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) --- libexec/rtld-elf/arm/reloc.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libexec/rtld-elf/arm') diff --git a/libexec/rtld-elf/arm/reloc.c b/libexec/rtld-elf/arm/reloc.c index 715cb7e..9cbdc0e 100644 --- a/libexec/rtld-elf/arm/reloc.c +++ b/libexec/rtld-elf/arm/reloc.c @@ -324,6 +324,10 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry *obj_rtld, int flags, /* The relocation for the dynamic loader has already been done. */ if (obj == obj_rtld) return (0); + 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(). -- cgit v1.1