diff options
author | marcel <marcel@FreeBSD.org> | 2002-04-27 02:53:31 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2002-04-27 02:53:31 +0000 |
commit | af7991bd023a8942cab9ffb74ea5ded85ad96a34 (patch) | |
tree | 2e731bc9c4e57a5ecbee8611879150141e6fb4d9 /libexec/rtld-elf | |
parent | 1c432575fbc493d43516c111c7a0423d84028c10 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | libexec/rtld-elf/ia64/reloc.c | 13 |
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. |