fbd9ad907d
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.
26 lines
454 B
ArmAsm
26 lines
454 B
ArmAsm
.cfi_sections .c6xabi.exidx
|
|
.text
|
|
.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
|
|
|
|
# Section with no unwinding information.
|
|
# Linker should insert a cantunwind entry.
|
|
.section .after, "xa"
|
|
.global __c6xabi_unwind_cpp_pr3
|
|
.type __c6xabi_unwind_cpp_pr3, %function
|
|
__c6xabi_unwind_cpp_pr3:
|
|
nop
|
|
.p2align 6
|
|
|
|
.section .far
|
|
.word 0
|