OSDN Git Service

PR ld/12365
authoramodra <amodra>
Sun, 24 Apr 2011 10:02:10 +0000 (10:02 +0000)
committeramodra <amodra>
Sun, 24 Apr 2011 10:02:10 +0000 (10:02 +0000)
commitc09e9e747bc4e724eec932169542083b6d5d26b5
treec459962b3a7477ae623c36cbd952751b07b90a9b
parent5188e9df689be9d74f34e676ea370b6764296cef
PR ld/12365
PR ld/12696
include/
* bfdlink.h (ENUM_BITFIELD): Define.
(struct bfd_link_hash_entry): Make "type" a bitfield.  Add "non_ir_ref".
(struct bfd_link_callbacks <notice>): Pass bfd_link_hash_entry pointer
rather than "name".
bfd/
* coff-aux.c (coff_m68k_aux_link_add_one_symbol): Update "notice" call.
* linker.c (_bfd_link_hash_newfunc): Clear bitfields.
(_bfd_generic_link_add_one_symbol): Update "notice" call.
* elflink.c (_bfd_elf_merge_symbol): Don't skip weak redefs when
it is a redef of an IR symbol in a real BFD.
ld/
* ldmain.c (notice): Delete "name" param, add "h".
* plugin.c (plugin_notice): Likewise.  Set non_ir_ref.  Handle
redefinitions of IR symbols in real BFDs.
(plugin_multiple_definition, plugin_multiple_common): Delete.
(non_ironly_hash, init_non_ironly_hash): Delete.
(is_visible_from_outside): Traverse entry_symbol chain.
(get_symbols): Use non_ir_ref flag rather than hash lookup.
bfd/ChangeLog
bfd/coff-aux.c
bfd/elflink.c
bfd/linker.c
include/ChangeLog
include/bfdlink.h
ld/ChangeLog
ld/ldmain.c
ld/plugin.c