PR ld/12365
commit03b9ecd2c9ea9ed1fd5dbd6a1af9d55719b00132
authorAlan Modra <amodra@bigpond.net.au>
Wed, 20 Apr 2011 00:11:28 +0000 (20 00:11 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Wed, 20 Apr 2011 00:11:28 +0000 (20 00:11 +0000)
treee727938339faa2b08f14f837fc572b939250bb8c
parent7e0d731aa891fb9c6b3b5813dbe6b45f2a94d28d
PR ld/12365
include/
* bfdlink.h (struct bfd_link_callbacks): Modify multiple_definition
and multiple_common parameters to pass in a bfd_link_hash_entry
pointer rather than name,bfd etc. found in the hash entry.
bfd/
* elflink.c (_bfd_elf_merge_symbol): Update multiple_common calls.
* linker.c (_bfd_generic_link_add_one_symbol): Likewise.  Call
multiple_definition regardless of allow_multiple_definition.
* simple.c (simple_dummy_multiple_definition): Update.
* xcofflink.c (xcoff_link_add_symbols): Update multiple_definition
calls.
ld/
* ldmain.c (multiple_definition): Take a bfd_link_hash_entry
pointer arg rather than "name", "obfd", "osec", "oval".  Add code
removed from linker.c.  Hack around xcofflink.c oddity in
passing NULL nbfd.
(multiple_common): Similarly.
* plugin.c (orig_allow_multiple_defs): Delete.
(plugin_call_all_symbols_read): Don't twiddle allow_multiple_definition.
(plugin_multiple_definition): Update.
bfd/ChangeLog
bfd/elflink.c
bfd/linker.c
bfd/simple.c
bfd/xcofflink.c
include/ChangeLog
include/bfdlink.h
ld/ChangeLog
ld/ldmain.c
ld/plugin.c