diff options
author | Alan Modra <amodra@gmail.com> | 2010-02-19 01:47:16 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2010-02-19 01:47:16 +0000 |
commit | d0bf826b37bdeb1ad98dc2d601b450bd5b9043e5 (patch) | |
tree | 6228351f86e84b5f27cf405eaa860fb830cc861a /ld/emultempl | |
parent | 220453ec97481311a3cfd0d1a191c1bfe24f3b53 (diff) | |
download | gdb-d0bf826b37bdeb1ad98dc2d601b450bd5b9043e5.zip gdb-d0bf826b37bdeb1ad98dc2d601b450bd5b9043e5.tar.gz gdb-d0bf826b37bdeb1ad98dc2d601b450bd5b9043e5.tar.bz2 |
bfd/
* elf.c (_bfd_elf_fixup_group_sections): New function, split out from..
(_bfd_elf_copy_private_header_data): ..here.
* elflink.c (_bfd_elf_size_group_sections): New function.
(bfd_elf_size_dynamic_sections): Call it.
* elf-bfd.h (_bfd_elf_size_group_sections): Declare.
(_bfd_elf_fixup_group_sections): Declare.
ld/
* ldlang.c (unique_section_p): Add os param. Allow group
sections to match /DISCARD/. Update all callers.
* emultempl/genelf.em (gld${EMULATION_NAME}_before_allocation): New.
(LDEMUL_BEFORE_ALLOCATION): Define.
ld/testsuite/
* ld-elf/group.ld: Discard .dropme sections.
* ld-elf/group10.d, * ld-elf/group10.s: New test.
Diffstat (limited to 'ld/emultempl')
-rw-r--r-- | ld/emultempl/genelf.em | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ld/emultempl/genelf.em b/ld/emultempl/genelf.em index 1a6c539..62af4de 100644 --- a/ld/emultempl/genelf.em +++ b/ld/emultempl/genelf.em @@ -48,6 +48,15 @@ gld${EMULATION_NAME}_after_open (void) } static void +gld${EMULATION_NAME}_before_allocation (void) +{ + if (link_info.relocatable + && !_bfd_elf_size_group_sections (&link_info)) + einfo ("%X%P: can not size group sections: %E\n"); + before_allocation_default (); +} + +static void gld${EMULATION_NAME}_after_allocation (void) { gld${EMULATION_NAME}_map_segments (FALSE); @@ -56,4 +65,5 @@ EOF # Put these extra routines in ld_${EMULATION_NAME}_emulation # LDEMUL_AFTER_OPEN=gld${EMULATION_NAME}_after_open +LDEMUL_BEFORE_ALLOCATION=gld${EMULATION_NAME}_before_allocation LDEMUL_AFTER_ALLOCATION=gld${EMULATION_NAME}_after_allocation |