29 lines
1.1 KiB
Diff
29 lines
1.1 KiB
Diff
*** ../binutils-2.24.orig/bfd/elflink.c 2014-08-21 09:17:27.753408085 +0100
|
|
--- bfd/elflink.c 2014-08-21 10:04:52.174935912 +0100
|
|
*************** _bfd_elf_add_default_symbol (bfd *abfd,
|
|
*** 1705,1710 ****
|
|
--- 1705,1716 ----
|
|
ht = (struct elf_link_hash_entry *) hi->root.u.i.link;
|
|
(*bed->elf_backend_copy_indirect_symbol) (info, ht, hi);
|
|
|
|
+ /* A reference to the SHORTNAME symbol from a dynamic library
|
|
+ will be satisfied by the versioned symbol at runtime. In
|
|
+ effect, we have a reference to the versioned symbol. */
|
|
+ ht->ref_dynamic_nonweak |= hi->ref_dynamic_nonweak;
|
|
+ hi->dynamic_def |= ht->dynamic_def;
|
|
+
|
|
/* See if the new flags lead us to realize that the symbol must
|
|
be dynamic. */
|
|
if (! *dynsym)
|
|
*************** nondefault:
|
|
*** 1774,1779 ****
|
|
--- 1780,1787 ----
|
|
if (hi->root.type == bfd_link_hash_indirect)
|
|
{
|
|
(*bed->elf_backend_copy_indirect_symbol) (info, h, hi);
|
|
+ h->ref_dynamic_nonweak |= hi->ref_dynamic_nonweak;
|
|
+ hi->dynamic_def |= h->dynamic_def;
|
|
|
|
/* See if the new flags lead us to realize that the symbol
|
|
must be dynamic. */
|