PR ld/15270
* elflink.c (elf_link_add_object_symbols): Don't set def_regular or ref_regular for BFD_PLUGIN owned syms, or have them affect def_dynamic/ref_dynamic. (_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN owned syms.
This commit is contained in:
parent
4f778543a0
commit
96f29d96af
@ -1,3 +1,12 @@
|
||||
2013-03-23 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR ld/15270
|
||||
* elflink.c (elf_link_add_object_symbols): Don't set def_regular
|
||||
or ref_regular for BFD_PLUGIN owned syms, or have them affect
|
||||
def_dynamic/ref_dynamic.
|
||||
(_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN
|
||||
owned syms.
|
||||
|
||||
2013-03-22 David S. Miller <davem@davemloft.net>
|
||||
|
||||
* elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of
|
||||
|
@ -2491,7 +2491,7 @@ _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h,
|
||||
&& !h->def_regular
|
||||
&& h->ref_regular
|
||||
&& !h->def_dynamic
|
||||
&& (h->root.u.def.section->owner->flags & DYNAMIC) == 0)
|
||||
&& (h->root.u.def.section->owner->flags & (DYNAMIC | BFD_PLUGIN)) == 0)
|
||||
h->def_regular = 1;
|
||||
|
||||
/* If -Bsymbolic was used (which means to bind references to global
|
||||
@ -4361,7 +4361,12 @@ error_free_dyn:
|
||||
is one which is referenced or defined by both a regular
|
||||
object and a shared object. */
|
||||
dynsym = FALSE;
|
||||
if (! dynamic)
|
||||
|
||||
/* Plugin symbols aren't normal. Don't set def_regular or
|
||||
ref_regular for them, nor make them dynamic. */
|
||||
if ((abfd->flags & BFD_PLUGIN) != 0)
|
||||
;
|
||||
else if (! dynamic)
|
||||
{
|
||||
if (! definition)
|
||||
{
|
||||
@ -4415,10 +4420,6 @@ error_free_dyn:
|
||||
if (definition && (sec->flags & SEC_DEBUGGING) && !info->relocatable)
|
||||
dynsym = FALSE;
|
||||
|
||||
/* Nor should we make plugin symbols dynamic. */
|
||||
if ((abfd->flags & BFD_PLUGIN) != 0)
|
||||
dynsym = FALSE;
|
||||
|
||||
if (definition)
|
||||
{
|
||||
h->target_internal = isym->st_target_internal;
|
||||
|
Loading…
Reference in New Issue
Block a user