1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00

* locale/lc-ctype.c (_nl_postload_ctype): Add compat_symbol decls for

the __ctype_* compat symbols, so the relocs generated bind to the
	right versioned global symbol in the shared object.

	* 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.
This commit is contained in:
Roland McGrath
2002-09-18 18:32:27 +00:00
parent 62aecc6356
commit 0bc0e4dd09
5 changed files with 32 additions and 5 deletions

View File

@@ -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; \