2009-05-05 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Tue, 5 May 2009 14:18:30 +0000 (14:18 +0000)
committerPaul Brook <paul@codesourcery.com>
Tue, 5 May 2009 14:18:30 +0000 (14:18 +0000)
commit2468f9c95d416f2880a007190d3bf6c475d279c2
treeabc67d2909c8e50810239b241dba5d1021c602d8
parentfb14de7bbddf9dc2f97af953b95b5aa5ea9889c4
2009-05-05  Paul Brook  <paul@codesourcery.com>

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.
17 files changed:
bfd/ChangeLog
bfd/bfd-in.h
bfd/bfd-in2.h
bfd/elf32-arm.c
ld/ChangeLog
ld/emultempl/armelf.em
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/arm.ld
ld/testsuite/ld-arm/unwind-1.d [new file with mode: 0644]
ld/testsuite/ld-arm/unwind-1.s [new file with mode: 0644]
ld/testsuite/ld-arm/unwind-2.d [new file with mode: 0644]
ld/testsuite/ld-arm/unwind-2.s [new file with mode: 0644]
ld/testsuite/ld-arm/unwind-3.d [new file with mode: 0644]
ld/testsuite/ld-arm/unwind-3.s [new file with mode: 0644]
ld/testsuite/ld-arm/unwind-4.d [new file with mode: 0644]
ld/testsuite/ld-arm/unwind-4.s [new file with mode: 0644]