PR ld/12365
commit33240c08520befe8483f59d93a0629f282617798
authorAlan Modra <amodra@bigpond.net.au>
Wed, 20 Apr 2011 00:22:07 +0000 (20 00:22 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Wed, 20 Apr 2011 00:22:07 +0000 (20 00:22 +0000)
tree2c73a20c0d4d7c785c8a0560f9a9703b0038d906
parent03b9ecd2c9ea9ed1fd5dbd6a1af9d55719b00132
PR ld/12365
bfd/
* elfcode.h (elf_slurp_symbol_table): Put common plugin IR symbols
in their own common section.
* elflink.c (elf_link_add_object_symbols): Likewise.
* linker.c (generic_link_check_archive_element): Don't lose flags
if common section is pre-existing.
(_bfd_generic_link_add_one_symbol): Likewise.
ld/
* ldfile.c (ldfile_try_open_bfd): Move code creating and switching
to plugin IR BFD..
* ldmain.c (add_archive_element): ..and similar code here..
* plugin.c (plugin_maybe_claim): ..to here.  New function.
(plugin_call_claim_file): Make static.
(asymbol_from_plugin_symbol): Set ELF st_shndx for common syms.
(plugin_multiple_common): New function.
(plugin_call_all_symbols_read): Hook in plugin_multiple_common.
* plugin.h (plugin_call_claim_file): Don't declare.
(plugin_maybe_claim): Declare.
bfd/ChangeLog
bfd/elfcode.h
bfd/elflink.c
bfd/linker.c
ld/ChangeLog
ld/ldfile.c
ld/ldmain.c
ld/plugin.c
ld/plugin.h