diff options
author | Roland McGrath <roland@gnu.org> | 2002-09-18 18:28:43 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-09-18 18:28:43 +0000 |
commit | ce8a8f74e426b18f418ac7a3e90a32d2c874fdb4 (patch) | |
tree | d0b567eb60a8d0ea708afaf357d54909670e63f5 /sysdeps | |
parent | c5947147ec1c3611a51f4db1da1ea0bc2a8da227 (diff) | |
download | glibc-ce8a8f74e426b18f418ac7a3e90a32d2c874fdb4.tar glibc-ce8a8f74e426b18f418ac7a3e90a32d2c874fdb4.tar.gz glibc-ce8a8f74e426b18f418ac7a3e90a32d2c874fdb4.tar.bz2 glibc-ce8a8f74e426b18f418ac7a3e90a32d2c874fdb4.zip |
2002-09-18 Roland McGrath <roland@redhat.com>
* elf/do-rel.h (elf_dynamic_do_rel): Mask off 0x8000 bit (hidden flag)
from the value taken from the DT_VERSYM table.
* elf/dl-runtime.c (fixup, profile_fixup): Likewise.
* sysdeps/mips/dl-machine.h (__dl_runtime_resolve): Likewise.
(RESOLVE_GOTSYM): Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/mips/dl-machine.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/mips/dl-machine.h b/sysdeps/mips/dl-machine.h index bc5e84fd86..7dbdd794cf 100644 --- a/sysdeps/mips/dl-machine.h +++ b/sysdeps/mips/dl-machine.h @@ -293,7 +293,7 @@ __dl_runtime_resolve (ElfW(Word) sym_index, \ { \ const ElfW(Half) *vernum = \ (const void *) D_PTR (l, l_info[VERSYMIDX (DT_VERSYM)]); \ - ElfW(Half) ndx = vernum[sym_index]; \ + ElfW(Half) ndx = vernum[sym_index & 0x7fff]; \ const struct r_found_version *version = &l->l_versions[ndx]; \ \ if (version->hash != 0) \ @@ -562,7 +562,7 @@ elf_machine_got_rel (struct link_map *map, int lazy) ({ \ const ElfW(Sym) *ref = sym; \ const struct r_found_version *version \ - = vernum ? &map->l_versions[vernum[sym_index]] : NULL; \ + = vernum ? &map->l_versions[vernum[sym_index] & 0x7fff] : NULL; \ ElfW(Addr) value; \ value = RESOLVE (&ref, version, R_MIPS_REL32); \ (ref)? value + ref->st_value: 0; \ |