diff options
author | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2016-05-23 09:38:32 +0100 |
---|---|---|
committer | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2016-05-23 09:38:32 +0100 |
commit | daa4adae63f91377fe9b3e8d7421a0ceb4a51e26 (patch) | |
tree | 28fe2fb299055c43a3cca79e0e1803a985b3bd13 /ld/emultempl/armelf.em | |
parent | 37773e7803b370802302719a48c9c46f64c602b4 (diff) | |
download | gdb-daa4adae63f91377fe9b3e8d7421a0ceb4a51e26.zip gdb-daa4adae63f91377fe9b3e8d7421a0ceb4a51e26.tar.gz gdb-daa4adae63f91377fe9b3e8d7421a0ceb4a51e26.tar.bz2 |
Support for dedicated output section for some ARM veneer types
2016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
bfd/
* bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
bfd hook.
* bfd-in2.h: Regenerate.
* elf32-arm.c (arm_dedicated_stub_output_section_required): New
function.
(arm_dedicated_stub_output_section_required_alignment): Likewise.
(arm_dedicated_stub_output_section_name): Likewise.
(arm_dedicated_stub_input_section_ptr): Likewise.
(elf32_arm_create_or_find_stub_sec): Add stub type parameter and
function description comment. Add support for dedicated output stub
section to given stub types.
(elf32_arm_add_stub): Add a stub type parameter and pass it down to
elf32_arm_create_or_find_stub_sec.
(elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
(elf32_arm_size_stubs): Pass stub type when calling
elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
(bfd_elf32_arm_keep_private_stub_output_sections): New function.
ld/
* emultempl/armelf.em (arm_elf_before_allocation): Call
bfd_elf32_arm_keep_private_stub_output_sections before generic
before_allocation function.
Diffstat (limited to 'ld/emultempl/armelf.em')
-rw-r--r-- | ld/emultempl/armelf.em | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em index caa2fbf..6074824 100644 --- a/ld/emultempl/armelf.em +++ b/ld/emultempl/armelf.em @@ -83,6 +83,10 @@ arm_elf_before_allocation (void) /* Auto-select Cortex-A8 erratum fix if it wasn't explicitly specified. */ bfd_elf32_arm_set_cortex_a8_fix (link_info.output_bfd, &link_info); + /* Ensure the output sections of veneers needing a dedicated one is not + removed. */ + bfd_elf32_arm_keep_private_stub_output_sections (&link_info); + /* We should be able to set the size of the interworking stub section. We can't do it until later if we have dynamic sections, though. */ if (elf_hash_table (&link_info)->dynobj == NULL) |