1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +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

@ -84,7 +84,7 @@ fixup (
{
const ElfW(Half) *vernum =
(const void *) D_PTR (l, l_info[VERSYMIDX (DT_VERSYM)]);
ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)];
ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info) & 0x7fff];
const struct r_found_version *version = &l->l_versions[ndx];
if (version->hash != 0)
@ -179,7 +179,7 @@ profile_fixup (
{
const ElfW(Half) *vernum =
(const void *) D_PTR (l,l_info[VERSYMIDX (DT_VERSYM)]);
ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)];
ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info) & 0x7fff];
const struct r_found_version *version = &l->l_versions[ndx];
if (version->hash != 0)