2011-05-09 Paul Brook <paul@codesourcery.com>
authorPaul Brook <paul@codesourcery.com>
Mon, 9 May 2011 13:23:27 +0000 (13:23 +0000)
committerPaul Brook <paul@codesourcery.com>
Mon, 9 May 2011 13:23:27 +0000 (13:23 +0000)
commitfbd9ad907dc6a283dc1bec51ecd91355ac866949
tree5da7ed5d318ae034a7cd45f359d151c445adadf2
parent1bce6bd86f99b05ddc311eb34545165983ff8ddc
2011-05-09  Paul Brook  <paul@codesourcery.com>

bfd/
* bfd-in.h (elf32_tic6x_fix_exidx_coverage): Add prototype.
* bfd-in2.h: Regenerate.
* elf32-tic6x.c: Include limits.h.
(tic6x_unwind_edit_type, tic6x_unwind_table_edit,
_tic6x_elf_section_data): New.
(elf32_tic6x_section_data): Define.
(elf32_tic6x_new_section_hook): Allocate target specific data.
(elf32_tic6x_add_unwind_table_edit): New function.
(get_tic6x_elf_section_data, elf32_tic6x_adjust_exidx_size,
elf32_tic6x_insert_cantunwind_after, elf32_tic6x_add_low31,
elf32_tic6x_copy_exidx_entry): New functions.
(elf_backend_write_section): Define.

ld/
* emultempl/tic6xdsbt.em (merge_exidx_entries): New.
(compare_output_sec_vma): New function.
(gld${EMULATION_NAME}_after_allocation): New function.
(OPTION_NO_MERGE_EXIDX_ENTRIES): Define.
(PARSE_AND_LIST_OPTIONS): Add --no-merge-exidx-entries.
(PARSE_AND_LIST_ARGS_CASES): Add OPTION_NO_MERGE_EXIDX_ENTRIES.
(LDEMUL_AFTER_ALLOCATION): Set.
* ld.texinfo: Document c6x --no-merge-exidx-entries.

ld/testsuite/
* ld-tic6x/discard-unwind.ld: New.
* ld-tic6x/unwind.ld: New.
* ld-tic6x/unwind-1.d: New test.
* ld-tic6x/unwind-1.s: New test.
* ld-tic6x/unwind-2.d: New test.
* ld-tic6x/unwind-2.s: New test.
* ld-tic6x/unwind-3.d: New test.
* ld-tic6x/unwind-3.s: New test.
* ld-tic6x/unwind-4.d: New test.
* ld-tic6x/unwind-4.s: New test.
* ld-tic6x/unwind-5.d: New test.
* ld-tic6x/unwind-5.s: New test.
* ld-tic6x/unwind-6.d: New test.
21 files changed:
bfd/ChangeLog
bfd/bfd-in.h
bfd/bfd-in2.h
bfd/elf32-tic6x.c
ld/ChangeLog
ld/emultempl/tic6xdsbt.em
ld/ld.texinfo
ld/testsuite/ChangeLog
ld/testsuite/ld-tic6x/discard-unwind.ld [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-1.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-1.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-2.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-2.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-3.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-3.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-4.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-4.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-5.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-5.s [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind-6.d [new file with mode: 0644]
ld/testsuite/ld-tic6x/unwind.ld [new file with mode: 0644]