xref: /llvm-project/llvm/test/ExecutionEngine/JITLink/AArch64/ELF_ehframe.test (revision fe216d211fa666b4a41e122e683a0dc574df3739)
1# RUN: yaml2obj -o %t.o %s
2# RUN: llvm-jitlink -noexec -check %s %t.o
3
4--- !ELF
5FileHeader:
6  Class:           ELFCLASS64
7  Data:            ELFDATA2LSB
8  Type:            ET_REL
9  Machine:         EM_AARCH64
10  SectionHeaderStringTable: .strtab
11Sections:
12  - Name:            .text
13    Type:            SHT_PROGBITS
14    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
15    AddressAlign:    0x4
16    Content:         E0031F2AC0035FD6
17  - Name:            .eh_frame
18    Type:            SHT_PROGBITS
19    Flags:           [ SHF_ALLOC ]
20    AddressAlign:    0x8
21    Content:         1000000000000000017A5200017C1E011B0C1F001000000018000000000000000800000000000000
22  - Name:            .rela.eh_frame
23    Type:            SHT_RELA
24    Flags:           [ SHF_INFO_LINK ]
25    Link:            .symtab
26    AddressAlign:    0x8
27    Info:            .eh_frame
28    Relocations:
29      - Offset:          0x1C
30        Symbol:          text
31        Type:            R_AARCH64_PREL32
32      - Offset:          0x20
33        Symbol:          text
34        Type:            R_AARCH64_PREL64
35  - Type:            SectionHeaderTable
36    Sections:
37      - Name:            .strtab
38      - Name:            .text
39      - Name:            .eh_frame
40      - Name:            .rela.eh_frame
41      - Name:            .symtab
42Symbols:
43  - Name:            text
44    Type:            STT_SECTION
45    Binding:         STB_GLOBAL
46    Section:         .text
47    Size:            0x8
48  - Name:            eh_frame
49    Type:            STT_SECTION
50    Binding:         STB_GLOBAL
51    Section:         .eh_frame
52    Size:            0x28
53  - Name:            main
54    Type:            STT_FUNC
55    Section:         .text
56    Binding:         STB_GLOBAL
57    Size:            0x8
58
59# jitlink-check: *{4}(eh_frame + 28) = (text + 0) - (eh_frame + 28)
60# jitlink-check: *{8}(eh_frame + 32) = (text + 0) - (eh_frame + 32)