xref: /llvm-project/llvm/test/tools/llvm-objdump/ELF/private-headers.test (revision 423af54cbef7b90199e01162dcea6d3e62539e8c)
1## Check that with ELF input --private-headers outputs the program header,
2## dynamic section and version definitions.
3# RUN: yaml2obj %s -o %t
4# RUN: llvm-objdump --private-headers %t | FileCheck %s
5
6# CHECK:      Program Header:
7# CHECK-NEXT: LOAD off    0x00000000000000b0 vaddr 0x0000000000001000 paddr 0x0000000000001000 align 2**0
8# CHECK-NEXT: filesz 0x000000000000003d memsz 0x000000000000003d flags ---
9# CHECK-NEXT: DYNAMIC off 0x00000000000000cd vaddr 0x000000000000101d paddr 0x000000000000101d align 2**0
10# CHECK-NEXT: filesz 0x0000000000000020 memsz 0x0000000000000020 flags ---
11# CHECK:      Dynamic Section:
12# CHECK-NEXT:  NEEDED bar
13# CHECK:      Version definitions:
14# CHECK-NEXT: 1 0x01 0x075bcd15 foo
15# CHECK-NEXT: 2 0x02 0x3ade68b1 VERSION_1
16# CHECK-NEXT:                   VERSION_2
17
18--- !ELF
19FileHeader:
20  Class:   ELFCLASS64
21  Data:    ELFDATA2LSB
22  Type:    ET_EXEC
23  Machine: EM_X86_64
24Sections:
25  - Name:    .dynstr
26    Type:    SHT_STRTAB
27    Address: 0x1000
28    Content: "0062617200666F6F0056455253494F4E5F320056455253494F4E5F3100"
29    # Content is: bar, foo, VERSION_2, VERSION_1
30  - Name:    .dynamic
31    Type:    SHT_DYNAMIC
32    Flags:   [ SHF_ALLOC ]
33    Entries:
34     - Tag:   DT_NEEDED
35       Value: 0x1
36     - Tag:   DT_NULL
37       Value: 0x0
38  - Name:            .gnu.version_d
39    Type:            SHT_GNU_verdef
40    Entries:
41      - Version:         1
42        Flags:           1
43        VersionNdx:      1
44        Hash:            123456789
45        Names:
46          - foo
47      - Version:         1
48        Flags:           2
49        VersionNdx:      2
50        Hash:            987654321
51        Names:
52          - VERSION_1
53          - VERSION_2
54ProgramHeaders:
55  - Type:     PT_LOAD
56    VAddr:    0x1000
57    FirstSec: .dynstr
58    LastSec:  .dynamic
59  - Type:     PT_DYNAMIC
60    VAddr:    0x101D
61    FirstSec: .dynamic
62    LastSec:  .dynamic
63DynamicSymbols:
64  - Name:    bar
65    Binding: STB_GLOBAL
66