From af7991bd023a8942cab9ffb74ea5ded85ad96a34 Mon Sep 17 00:00:00 2001 From: marcel Date: Sat, 27 Apr 2002 02:53:31 +0000 Subject: [PATCH] Now that local symbols aren't looked up with the symbol hash table, binding works for local symbols. Remove the workaround... --- libexec/rtld-elf/ia64/reloc.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/libexec/rtld-elf/ia64/reloc.c b/libexec/rtld-elf/ia64/reloc.c index a38d1b0ef510..e5c448c7a748 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.