forked from Imagelibrary/binutils-gdb
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.
24 lines
430 B
ArmAsm
24 lines
430 B
ArmAsm
.cfi_sections .c6xabi.exidx
|
|
.text
|
|
|
|
.global __c6xabi_unwind_cpp_pr3
|
|
.type __c6xabi_unwind_cpp_pr3, %function
|
|
__c6xabi_unwind_cpp_pr3:
|
|
.global _start
|
|
.type _start, %function
|
|
_start:
|
|
.cfi_startproc
|
|
.cfi_offset B3, 0
|
|
.cfi_def_cfa_offset 8
|
|
nop
|
|
.p2align 6
|
|
.cfi_endproc
|
|
.personalityindex 3
|
|
.endp
|
|
|
|
# last text section has unwind information. Linker should append a
|
|
# terminating cantunwind entry.
|
|
|
|
.section .far
|
|
.word 0
|