xref: /llvm-project/llvm/test/tools/llvm-objdump/ELF/relocations-in-nonreloc.test (revision f80a4321ef1bafcd8041884bcb85d9ba24335adb)
1## Check that llvm-objdump -r prints non-SHF_ALLOC relocations.
2
3## Non-SHF_ALLOC relocations may be due to ld --emit-relocs.
4# RUN: yaml2obj -DTYPE=ET_EXEC %s -o %t1
5# RUN: llvm-objdump -r %t1 | FileCheck %s -DFILE=%t1
6# RUN: yaml2obj -DTYPE=ET_DYN %s -o %t2
7# RUN: llvm-objdump -r %t2 | FileCheck %s -DFILE=%t2
8## Non-SHF_ALLOC relocations are usually generated by compilers.
9# RUN: yaml2obj -DTYPE=ET_REL %s -o %t3
10# RUN: llvm-objdump -r %t3 | FileCheck %s -DFILE=%t3
11
12# CHECK:      [[FILE]]: file format elf64-x86-64
13# CHECK-EMPTY:
14# CHECK-NEXT: RELOCATION RECORDS FOR [.text]:
15# CHECK-NEXT: OFFSET           TYPE                     VALUE
16# CHECK-NEXT: 0000000000000123 R_X86_64_NONE            *ABS*+0x141
17
18--- !ELF
19FileHeader:
20  Class:   ELFCLASS64
21  Data:    ELFDATA2LSB
22  Type:    [[TYPE]]
23  Machine: EM_X86_64
24Sections:
25  - Name:  .text
26    Type:  SHT_PROGBITS
27    Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
28  - Name:  .rela.text
29    Type:  SHT_RELA
30    Link:  .symtab
31    Info:  .text
32    Relocations:
33      - Offset: 0x123
34        Type:   R_X86_64_NONE
35        Addend: 321
36Symbols:
37  - Name:    .text
38    Type:    STT_SECTION
39    Section: .text
40