aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfcode.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2004-07-27 14:20:49 +0000
committerH.J. Lu <hjl.tools@gmail.com>2004-07-27 14:20:49 +0000
commit3d7f7666a44caa6e80c048f693002b254e2fc721 (patch)
tree86d8c7925d9254c018e4b0d820a144e914fcaad7 /bfd/elfcode.h
parent9232bbb040244905a13453a40beeb3b4ffac8e1b (diff)
downloadgdb-3d7f7666a44caa6e80c048f693002b254e2fc721.zip
gdb-3d7f7666a44caa6e80c048f693002b254e2fc721.tar.gz
gdb-3d7f7666a44caa6e80c048f693002b254e2fc721.tar.bz2
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 4a2d7a4..7ab97bf 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