summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libexec/rtld-elf/ia64/reloc.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/libexec/rtld-elf/ia64/reloc.c b/libexec/rtld-elf/ia64/reloc.c
index a38d1b0..e5c448c 100644
--- a/libexec/rtld-elf/ia64/reloc.c
+++ b/libexec/rtld-elf/ia64/reloc.c
@@ -141,18 +141,11 @@ reloc_non_plt_obj(Obj_Entry *obj_rtld, Obj_Entry *obj, const Elf_Rela *rela,
struct fptr *fptr = 0;
Elf_Addr target, gp;
- /*
- * Not sure why the call to find_symdef() doesn't work
- * properly (it fails if the symbol is local). Perhaps
- * this is a toolchain issue - revisit after we
- * upgrade the ia64 toolchain.
- */
def = find_symdef(ELF_R_SYM(rela->r_info), obj, &defobj,
false, cache);
- if (def == NULL) {
- def = &obj->symtab[ELF_R_SYM(rela->r_info)];
- defobj = obj;
- }
+ if (def == NULL)
+ return -1;
+
/*
* If this is an undefined weak reference, we need to
* have a zero target,gp fptr, not pointing to relocbase.
OpenPOWER on IntegriCloud