2004-07-27 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 27 Jul 2004 14:20:49 +0000 (14:20 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 27 Jul 2004 14:20:49 +0000 (14:20 +0000)
commit3d7f7666a44caa6e80c048f693002b254e2fc721
tree86d8c7925d9254c018e4b0d820a144e914fcaad7
parent9232bbb040244905a13453a40beeb3b4ffac8e1b
2004-07-27  H.J. Lu  <hongjiu.lu@intel.com>

PR 161/251
* elf-bfd.h (bfd_elf_section_data): Add sec_group.
(elf_sec_group): Defined.
(bfd_elf_match_symbols_in_sections): New prototype.
(_bfd_elf_setup_group_pointers): Likewise.

* elf.c (bfd_elf_discard_group): Abort.
(bfd_elf_set_group_contents): Also include relocation sections.
Remove zero-fill for ld -r.
(_bfd_elf_setup_group_pointers): New function.
(elf_sort_elf_symbol): Likewise.
(elf_sym_name_compare): Likewise.
(bfd_elf_match_symbols_in_sections): Likewise.

* elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.

* elflink.c (match_group_member): New.
(elf_link_input_bfd): Check group member for discarded section.
(try_match_symbols_in_sections): New function.
(already_linked): Likewise.
(_bfd_elf_section_already_linked): Support mixing comdat group
and linkonce section.

* libbfd-in.h (bfd_section_already_linked_table_traverse): New.
* linker.c (bfd_section_already_linked_table_traverse): New.

* libbfd.h: Regenerated.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf.c
bfd/elfcode.h
bfd/elflink.c
bfd/libbfd-in.h
bfd/libbfd.h
bfd/linker.c