Blob Blame History Raw
*** ../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.  */