From 5b69e3572d1ee8e8e6e1991fd07f87a96c48746d Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 13 Oct 2014 15:18:21 +1030 Subject: Run eh_frame optimisation for relocatable link The idea here is to drop .eh_frame FDEs corresponding to dropped comdat group sections or linkonce sections, but not perform changes in encoding. bfd/ PR 17467 * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc. (_bfd_elf_parse_eh_frame): When relocatable output, don't set flags enabling conversion of CIEs and FDEs to use relative encoding. (find_merged_cie): Similarly. (_bfd_elf_write_section_eh_frame): Don't edit FDEs when relocatable, except for CIE pointer. * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for relocs against symbols in dropped comdat group sections. (bfd_elf_discard_info): Do some eh_frame optimisation when relocatable. ld/ * ldlang.c (lang_add_section): Set up map_head.s and map_tail.s when relocatable. --- bfd/ChangeLog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'bfd/ChangeLog') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index aa2f3ef..be3ae38 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,17 @@ +2014-10-13 Alan Modra + + PR 17467 + * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc. + (_bfd_elf_parse_eh_frame): When relocatable output, don't set + flags enabling conversion of CIEs and FDEs to use relative encoding. + (find_merged_cie): Similarly. + (_bfd_elf_write_section_eh_frame): Don't edit FDEs when + relocatable, except for CIE pointer. + * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for + relocs against symbols in dropped comdat group sections. + (bfd_elf_discard_info): Do some eh_frame optimisation when + relocatable. + 2014-10-09 Jose E. Marchesi * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle -- cgit v1.1