# .ARM.exidx contents checking # RUN: yaml2obj -format=elf %s > %t.o # RUN: lld -flavor gnu -target arm-none-linux-eabi -static -o %t %t.o # RUN: llvm-objdump -s -t -section-headers %t | FileCheck %s # # CHECK: Sections: # CHECK: Idx Name Size Address Type # CHECK: 2 .ARM.extab 0000000c 00000000004000b4 DATA # CHECK: 3 .ARM.exidx 00000018 00000000004000c0 # CHECK: Contents of section .text: # CHECK: 4000a4 1846aff3 00801846 0837bd46 80bd00bf # ^ # 4000b0: bd80 pop {r7, pc} # CHECK: Contents of section .ARM.extab: # CHECK: 4000b4 01970181 b0b00884 00000000 # CHECK: Contents of section .ARM.exidx: # CHECK: 4000c0 b4ffff7f 08809780 bcffff7f 08809780 # ^ offset to 400074 (__aeabi_unwind_cpp_pr0) # CHECK: 4000d0 c4ffff7f e0ffff7f # ^ ^ # offset to 400094 (_start) handler at 4000B0 # # CHECK: SYMBOL TABLE: # CHECK: 004000b4 .ARM.extab 00000000 $d.2 # CHECK: 004000c0 .ARM.exidx 00000000 $d.1 # CHECK: 00400074 g F .text 00000010 __aeabi_unwind_cpp_pr0 # CHECK: 00400094 g F .text 00000020 _start --- FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_REL Machine: EM_ARM Flags: [ EF_ARM_EABI_VER5 ] Sections: - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] AddressAlign: 0x0000000000000004 Content: 80B400AF00231846BD465DF8047B704780B400AF00231846BD465DF8047B704780B582B000AF3B1D1846FFF7FEFF3B1D1846FFF7FEFF18460837BD4680BD00BF - Name: .rel.text Type: SHT_REL Link: .symtab AddressAlign: 0x0000000000000004 Info: .text Relocations: - Offset: 0x000000000000002A Symbol: _ZN1AILi1EEC1Ev Type: R_ARM_THM_CALL - Offset: 0x0000000000000032 Symbol: _ZN1AILi1EED1Ev Type: R_ARM_THM_CALL - Name: .ARM.extab Type: SHT_PROGBITS Flags: [ SHF_ALLOC ] AddressAlign: 0x0000000000000004 Content: 01970181B0B0088400000000 - Name: .ARM.exidx Type: SHT_ARM_EXIDX Flags: [ SHF_ALLOC, SHF_LINK_ORDER ] Link: .text AddressAlign: 0x0000000000000004 Content: '000000000880978010000000088097802000000000000000' - Name: .rel.ARM.exidx Type: SHT_REL Link: .symtab AddressAlign: 0x0000000000000004 Info: .ARM.exidx Relocations: - Offset: 0x0000000000000000 Symbol: .text Type: R_ARM_PREL31 - Offset: 0x0000000000000000 Symbol: __aeabi_unwind_cpp_pr0 Type: R_ARM_NONE - Offset: 0x0000000000000008 Symbol: .text Type: R_ARM_PREL31 - Offset: 0x0000000000000010 Symbol: .text Type: R_ARM_PREL31 - Offset: 0x0000000000000010 Symbol: __aeabi_unwind_cpp_pr1 Type: R_ARM_NONE - Offset: 0x0000000000000014 Symbol: .ARM.extab Type: R_ARM_PREL31 - Name: .text._ZN1AILi1EEC2Ev Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ] AddressAlign: 0x0000000000000004 Content: 80B582B000AF78600120FFF7FEFF7B6818460837BD4680BD - Name: .rel.text._ZN1AILi1EEC2Ev Type: SHT_REL Link: .symtab AddressAlign: 0x0000000000000004 Info: .text._ZN1AILi1EEC2Ev Relocations: - Offset: 0x000000000000000A Symbol: f Type: R_ARM_THM_CALL - Name: .ARM.extab.text._ZN1AILi1EEC2Ev Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_GROUP ] AddressAlign: 0x0000000000000004 Content: 01970181B0B0088400000000 - Name: .ARM.exidx.text._ZN1AILi1EEC2Ev Type: SHT_ARM_EXIDX Flags: [ SHF_ALLOC, SHF_LINK_ORDER, SHF_GROUP ] Link: .text._ZN1AILi1EEC2Ev AddressAlign: 0x0000000000000004 Content: '0000000000000000' - Name: .rel.ARM.exidx.text._ZN1AILi1EEC2Ev Type: SHT_REL Link: .symtab AddressAlign: 0x0000000000000004 Info: .ARM.exidx.text._ZN1AILi1EEC2Ev Relocations: - Offset: 0x0000000000000000 Symbol: .text._ZN1AILi1EEC2Ev Type: R_ARM_PREL31 - Offset: 0x0000000000000000 Symbol: __aeabi_unwind_cpp_pr1 Type: R_ARM_NONE - Offset: 0x0000000000000004 Symbol: .ARM.extab.text._ZN1AILi1EEC2Ev Type: R_ARM_PREL31 - Name: .text._ZN1AILi1EED2Ev Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ] AddressAlign: 0x0000000000000004 Content: 80B582B000AF78604FF0FF30FFF7FEFF7B6818460837BD4680BD00BF - Name: .rel.text._ZN1AILi1EED2Ev Type: SHT_REL Link: .symtab AddressAlign: 0x0000000000000004 Info: .text._ZN1AILi1EED2Ev Relocations: - Offset: 0x000000000000000C Symbol: f Type: R_ARM_THM_CALL - Name: .ARM.extab.text._ZN1AILi1EED2Ev Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_GROUP ] AddressAlign: 0x0000000000000004 Content: 01970181B0B0088400000000 - Name: .ARM.exidx.text._ZN1AILi1EED2Ev Type: SHT_ARM_EXIDX Flags: [ SHF_ALLOC, SHF_LINK_ORDER, SHF_GROUP ] Link: .text._ZN1AILi1EED2Ev AddressAlign: 0x0000000000000004 Content: '0000000000000000' - Name: .rel.ARM.exidx.text._ZN1AILi1EED2Ev Type: SHT_REL Link: .symtab AddressAlign: 0x0000000000000004 Info: .ARM.exidx.text._ZN1AILi1EED2Ev Relocations: - Offset: 0x0000000000000000 Symbol: .text._ZN1AILi1EED2Ev Type: R_ARM_PREL31 - Offset: 0x0000000000000000 Symbol: __aeabi_unwind_cpp_pr1 Type: R_ARM_NONE - Offset: 0x0000000000000004 Symbol: .ARM.extab.text._ZN1AILi1EED2Ev Type: R_ARM_PREL31 Symbols: Local: - Name: .text Type: STT_SECTION Section: .text - Name: '$t.1' Section: .text - Name: .ARM.extab Type: STT_SECTION Section: .ARM.extab - Name: .ARM.exidx Type: STT_SECTION Section: .ARM.exidx - Name: '$d.1' Section: .ARM.exidx - Name: '$d.2' Section: .ARM.extab - Name: .text._ZN1AILi1EEC2Ev Type: STT_SECTION Section: .text._ZN1AILi1EEC2Ev - Name: '$t.2' Section: .text._ZN1AILi1EEC2Ev - Name: .ARM.extab.text._ZN1AILi1EEC2Ev Type: STT_SECTION Section: .ARM.extab.text._ZN1AILi1EEC2Ev - Name: '$d.3' Section: .ARM.extab.text._ZN1AILi1EEC2Ev - Name: .ARM.exidx.text._ZN1AILi1EEC2Ev Type: STT_SECTION Section: .ARM.exidx.text._ZN1AILi1EEC2Ev - Name: '$d.4' Section: .ARM.exidx.text._ZN1AILi1EEC2Ev - Name: .text._ZN1AILi1EED2Ev Type: STT_SECTION Section: .text._ZN1AILi1EED2Ev - Name: '$t.3' Section: .text._ZN1AILi1EED2Ev - Name: .ARM.extab.text._ZN1AILi1EED2Ev Type: STT_SECTION Section: .ARM.extab.text._ZN1AILi1EED2Ev - Name: '$d.5' Section: .ARM.extab.text._ZN1AILi1EED2Ev - Name: .ARM.exidx.text._ZN1AILi1EED2Ev Type: STT_SECTION Section: .ARM.exidx.text._ZN1AILi1EED2Ev - Name: '$d.6' Section: .ARM.exidx.text._ZN1AILi1EED2Ev Global: - Name: __aeabi_unwind_cpp_pr0 Type: STT_FUNC Section: .text Value: 0x0000000000000001 Size: 0x0000000000000010 - Name: __aeabi_unwind_cpp_pr1 Type: STT_FUNC Section: .text Value: 0x0000000000000011 Size: 0x0000000000000010 - Name: _start Type: STT_FUNC Section: .text Value: 0x0000000000000021 Size: 0x000000000000001E Weak: - Name: _ZN1AILi1EEC1Ev Type: STT_FUNC Section: .text._ZN1AILi1EEC2Ev Value: 0x0000000000000001 Size: 0x0000000000000018 - Name: _ZN1AILi1EED1Ev Type: STT_FUNC Section: .text._ZN1AILi1EED2Ev Value: 0x0000000000000001 Size: 0x000000000000001A - Name: _ZN1AILi1EEC2Ev Type: STT_FUNC Section: .text._ZN1AILi1EEC2Ev Value: 0x0000000000000001 Size: 0x0000000000000018 - Name: f - Name: _ZN1AILi1EED2Ev Type: STT_FUNC Section: .text._ZN1AILi1EED2Ev Value: 0x0000000000000001 Size: 0x000000000000001A ...