summaryrefslogtreecommitdiff
path: root/bfd/elfcode.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2004-07-27 14:20:49 +0000
committerH.J. Lu <hjl@lucon.org>2004-07-27 14:20:49 +0000
commit3742424180f8d7cfadfda244a17e6417e3a1ae23 (patch)
tree937681fbfbc93e7d06135b6c29578b13eb098920 /bfd/elfcode.h
parent3cbaa561561ca3ee57386d65286f528534c8853b (diff)
downloadgdb-3742424180f8d7cfadfda244a17e6417e3a1ae23.tar.gz
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.
Diffstat (limited to 'bfd/elfcode.h')
-rw-r--r--bfd/elfcode.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index 4a2d7a430d0..7ab97bfce96 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -742,6 +742,10 @@ elf_object_p (bfd *abfd)
if (shindex == SHN_LORESERVE - 1)
shindex += SHN_HIRESERVE + 1 - SHN_LORESERVE;
}
+
+ /* Set up group pointers. */
+ if (! _bfd_elf_setup_group_pointers (abfd))
+ goto got_wrong_format_error;
}
/* Let the backend double check the format and override global