summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/ia64
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2002-04-27 02:53:31 +0000
committermarcel <marcel@FreeBSD.org>2002-04-27 02:53:31 +0000
commitaf7991bd023a8942cab9ffb74ea5ded85ad96a34 (patch)
tree2e731bc9c4e57a5ecbee8611879150141e6fb4d9 /libexec/rtld-elf/ia64
parent1c432575fbc493d43516c111c7a0423d84028c10 (diff)
downloadFreeBSD-src-af7991bd023a8942cab9ffb74ea5ded85ad96a34.zip
FreeBSD-src-af7991bd023a8942cab9ffb74ea5ded85ad96a34.tar.gz
Now that local symbols aren't looked up with the symbol hash table,
binding works for local symbols. Remove the workaround...
Diffstat (limited to 'libexec/rtld-elf/ia64')
-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