2468f9c95d
bfd/ * bfd-in.h (elf32_arm_fix_exidx_coverage): Add prototype. * bfd-in2.h: Regenerate. * elf32-arm.c (arm_unwind_edit_type, arm_unwind_table_edit): Define. (_arm_elf_section_data): Add text and exidx fields. (add_unwind_table_edit, get_arm_elf_section_data, adjust_exidx_size, insert_cantunwind_after, elf32_arm_fix_exidx_coverage, offset_prel31, copy_exidx_entry): New functions. (elf32_arm_write_section): Fixup .ARM.exidx contents. ld/ * emultempl/armelf.em (compare_output_sec_vma): New function. (gld${EMULATION_NAME}_finish): Add exidx munging code. ld/testsuite/ * ld-arm/arm.ld: Add .ARM.exidx and .ARM.extab. * ld-arm/arm-elf.exp: Add unwind-[1-4]. * ld-arm/unwind-1.d: New test. * ld-arm/unwind-1.s: New test. * ld-arm/unwind-2.d: New test. * ld-arm/unwind-2.s: New test. * ld-arm/unwind-3.d: New test. * ld-arm/unwind-3.s: New test. * ld-arm/unwind-4.d: New test. * ld-arm/unwind-4.s: New test.
23 lines
477 B
Text
23 lines
477 B
Text
/* Script for ld testsuite */
|
|
OUTPUT_ARCH(arm)
|
|
ENTRY(_start)
|
|
SECTIONS
|
|
{
|
|
/* Read-only sections, merged into text segment: */
|
|
PROVIDE (__executable_start = 0x8000); . = 0x8000;
|
|
.text :
|
|
{
|
|
*(.before)
|
|
*(.text)
|
|
*(.after)
|
|
*(.ARM.extab*)
|
|
*(.glue_7)
|
|
*(.v4_bx)
|
|
} =0
|
|
.ARM.exidx : { *(.ARM.exidx*) }
|
|
. = 0x9000;
|
|
.got : { *(.got) *(.got.plt)}
|
|
. = 0x12340000;
|
|
.far : { *(.far) }
|
|
.ARM.attribues 0 : { *(.ARM.atttributes) }
|
|
}
|