On Tue, Jun 07, 2011 at 09:50:18AM -0700, Roland McGrath wrote:
> Thanks!  I don't understand your changes at all off hand, and I strongly
> suspected that the patch I tried was too simple-minded to be right.

Setting "follow" true for the elf_link_hash_lookup calls in
_bfd_elf_archive_symbol_lookup means we get to the real symbol in the
elf_link_add_archive_symbols loop you were patching.  We want that
because elf_link_add_archive_symbols needs to make a decision
depending on whether the symbol is defined or not, and specially treat
commons.  Indirect and warning syms can point to any other sym type.

The lang_one_common change is needed in any function called by
bfd_link_hash_traverse.  When warning symbols are created, they
replace the "real" entry in the hash table, so you never get to see
the real symbol in a hash traversal.

-- 
Alan Modra
Australia Development Lab, IBM

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to