PR12365 and common symbols
H.J. Lu
hjl.tools@gmail.com
Fri Apr 22 22:33:00 GMT 2011
On Tue, Apr 19, 2011 at 5:25 PM, Alan Modra <amodra@gmail.com> wrote:
> This patch makes ld keep IR-only common symbols in their own specially
> marked common section, so that ld can report an error if such a symbol
> is referenced.
>
> bfd/
> PR ld/12365
> * 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/
> PR ld/12365
> * 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 linker still doesn't work right:
http://www.sourceware.org/bugzilla/show_bug.cgi?id=12696
--
H.J.
More information about the Binutils
mailing list