2005-01-19 H.J. Lu <hongjiu.lu@intel.com>
PR 679 * elflink.c (_bfd_elf_dynamic_symbol_p): Only protected non-function symbols are local. (_bfd_elf_symbol_refs_local_p): Likewise.
This commit is contained in:
parent
8a9de0e488
commit
1c16dfa5fd
2 changed files with 12 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2005-01-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR 679
|
||||
* elflink.c (_bfd_elf_dynamic_symbol_p): Only protected
|
||||
non-function symbols are local.
|
||||
(_bfd_elf_symbol_refs_local_p): Likewise.
|
||||
|
||||
2005-01-18 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* bfd.c (bfd_link_just_syms): Add abfd param.
|
||||
|
|
|
@ -2479,7 +2479,7 @@ _bfd_elf_dynamic_symbol_p (struct elf_link_hash_entry *h,
|
|||
/* Proper resolution for function pointer equality may require
|
||||
that these symbols perhaps be resolved dynamically, even though
|
||||
we should be resolving them to the current module. */
|
||||
if (!ignore_protected)
|
||||
if (!ignore_protected || h->type != STT_FUNC)
|
||||
binding_stays_local_p = TRUE;
|
||||
break;
|
||||
|
||||
|
@ -2542,6 +2542,10 @@ _bfd_elf_symbol_refs_local_p (struct elf_link_hash_entry *h,
|
|||
if (ELF_ST_VISIBILITY (h->other) != STV_PROTECTED)
|
||||
return TRUE;
|
||||
|
||||
/* STV_PROTECTED non-function symbols are local. */
|
||||
if (h->type != STT_FUNC)
|
||||
return TRUE;
|
||||
|
||||
/* Function pointer equality tests may require that STV_PROTECTED
|
||||
symbols be treated as dynamic symbols, even when we know that the
|
||||
dynamic linker will resolve them locally. */
|
||||
|
|
Loading…
Reference in a new issue