2003-03-28 H.J. Lu <hjl@gnu.org>

* elflink.h (elf_link_add_object_symbols): Correctly combine
	visibilities.
This commit is contained in:
H.J. Lu 2003-03-29 01:26:33 +00:00
parent 962a53d175
commit 5941afc105
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2003-03-28 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_add_object_symbols): Correctly combine
visibilities.
2003-03-27 Jakub Jelinek <jakub@redhat.com>
* elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset

View File

@ -1940,7 +1940,7 @@ elf_link_add_object_symbols (abfd, info)
might be needed here. */
if (isym->st_other != 0)
{
unsigned char hvis, symvis, other;
unsigned char hvis, symvis, other, nvis;
/* Take the balance of OTHER from the definition. */
other = (definition ? isym->st_other : h->other);
@ -1949,8 +1949,14 @@ elf_link_add_object_symbols (abfd, info)
/* Combine visibilities, using the most constraining one. */
hvis = ELF_ST_VISIBILITY (h->other);
symvis = ELF_ST_VISIBILITY (isym->st_other);
if (! hvis)
nvis = symvis;
else if (! symvis)
nvis = hvis;
else
nvis = hvis < symvis ? hvis : symvis;
h->other = other | (hvis > symvis ? hvis : symvis);
h->other = other | nvis;
}
/* Set a flag in the hash table entry indicating the type of