diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-07-05 23:21:22 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-07-05 23:21:22 +0000 |
commit | 47319595bdfdc0dfc8eb5f51bc8bd055a6ea0a7f (patch) | |
tree | 2ba1a4c78410fcb692dad3b6ce01ca1bf3cbb2a4 /ldso/ldso/dl-hash.c | |
parent | 9aa22cc9745be04035873b26f82adc4581e602b4 (diff) |
patch from Bernd Schmidt to abstract away initializing of relocation addresses
Diffstat (limited to 'ldso/ldso/dl-hash.c')
-rw-r--r-- | ldso/ldso/dl-hash.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ldso/ldso/dl-hash.c b/ldso/ldso/dl-hash.c index ccf191a70..4fd7ba0b7 100644 --- a/ldso/ldso/dl-hash.c +++ b/ldso/ldso/dl-hash.c @@ -163,7 +163,7 @@ char *_dl_find_hash(const char *name, struct dyn_elf *rpnt, struct elf_resolve * /* Avoid calling .urem here. */ do_rem(hn, elf_hash_number, tpnt->nbucket); - symtab = (ElfW(Sym) *) (intptr_t) (tpnt->dynamic_info[DT_SYMTAB]); + symtab = (ElfW(Sym) *) tpnt->dynamic_info[DT_SYMTAB]; strtab = (char *) (tpnt->dynamic_info[DT_STRTAB]); for (si = tpnt->elf_buckets[hn]; si != STN_UNDEF; si = tpnt->chains[si]) { @@ -184,11 +184,11 @@ char *_dl_find_hash(const char *name, struct dyn_elf *rpnt, struct elf_resolve * /* Perhaps we should support old style weak symbol handling * per what glibc does when you export LD_DYNAMIC_WEAK */ if (!weak_result) - weak_result = (char *)tpnt->loadaddr + sym->st_value; + weak_result = (char *) DL_RELOC_ADDR(tpnt->loadaddr, sym->st_value); break; #endif case STB_GLOBAL: - return (char*)tpnt->loadaddr + sym->st_value; + return (char*) DL_RELOC_ADDR(tpnt->loadaddr, sym->st_value); default: /* Local symbols not handled here */ break; } |