1# RUN: yaml2obj %s -o - | \ 2# RUN: llvm-dwarfdump -debug-frame - | \ 3# RUN: FileCheck %s 4 5## This checks that we resolve relocations when reading CIE pointers. 6## The second FDE references the second CIE. The value for the CIE pointer 7## field in the raw section data is 0, thus, to recover the real reference, 8## it is required to read the addend from the corresponding RELA relocation. 9 10# CHECK: .debug_frame contents: 11# CHECK: 00000000 0000000c ffffffff CIE 12# CHECK: 00000010 00000014 00000000 FDE cie=00000000 pc=00000000...00000001 13# CHECK: 00000028 0000000c ffffffff CIE 14# CHECK: 00000038 00000014 00000028 FDE cie=00000028 pc=00000010...00000011 15 16--- !ELF 17FileHeader: 18 Class: ELFCLASS64 19 Data: ELFDATA2LSB 20 Type: ET_REL 21 Machine: EM_X86_64 22Sections: 23 - Name: .debug_frame 24 Type: SHT_PROGBITS 25 Content: 0C000000FFFFFFFF02000178100000001400000000000000000000000000000001000000000000000C000000FFFFFFFF0200017810000000140000000000000010000000000000000100000000000000 26 - Name: .rela.debug_frame 27 Type: SHT_RELA 28 Info: .debug_frame 29 Relocations: 30 - Offset: 0x0000000000000014 31 Symbol: .debug_frame 32 Type: R_X86_64_32 33 - Offset: 0x000000000000003C 34 Symbol: .debug_frame 35 Type: R_X86_64_32 36 Addend: 0x28 37Symbols: 38 - Name: .debug_frame 39 Type: STT_SECTION 40 Section: .debug_frame 41... 42