xref: /llvm-project/llvm/test/tools/llvm-readobj/ELF/all.test (revision 51f4958057d6c246e85c3fbc65353bc0d7c1049b)
1# RUN: yaml2obj %s -o %t.o
2# RUN: llvm-readobj -a %t.o | FileCheck %s --check-prefix LLVM-ALL
3# RUN: llvm-readobj --all %t.o | FileCheck %s --check-prefix LLVM-ALL
4
5# LLVM-ALL: Format: elf32-i386
6# LLVM-ALL: Arch: i386
7# LLVM-ALL: AddressSize: 32bit
8# LLVM-ALL: LoadName:
9# LLVM-ALL: ElfHeader {
10# LLVM-ALL: Sections [
11# LLVM-ALL: ProgramHeaders [
12# LLVM-ALL: Relocations [
13# LLVM-ALL: EHFrameHeader {
14# LLVM-ALL: .eh_frame section at offset 0x1128 address 0x0:
15# LLVM-ALL: Symbols [
16# LLVM-ALL: VersionSymbols [
17# LLVM-ALL: VersionDefinitions [
18# LLVM-ALL: VersionRequirements [
19# LLVM-ALL: Addrsig [
20# LLVM-ALL: Notes [
21# LLVM-ALL: StackSizes [
22
23# RUN: llvm-readelf -a %t.o | FileCheck %s --check-prefix GNU-ALL
24# RUN: llvm-readelf --all %t.o | FileCheck %s --check-prefix GNU-ALL
25
26# GNU-ALL: ELF Header:
27# GNU-ALL: There are {{.*}} section headers, starting at offset {{.*}}:
28# GNU-ALL: Program Headers:
29# GNU-ALL: Dynamic section at offset {{.*}} contains {{.*}} entries:
30# GNU-ALL: Relocation section '.rela.data' at offset {{.*}} contains {{.*}} entries:
31# GNU-ALL: EHFrameHeader {
32# GNU-ALL: .eh_frame section at offset {{.*}} address 0x0:
33# GNU-ALL: Symbol table '.symtab' contains {{.*}} entries:
34# GNU-ALL: Version symbols section '.gnu.version' contains {{.*}} entries:
35# GNU-ALL: Version definition section '.gnu.version_d' contains {{.*}} entries:
36# GNU-ALL: Version needs section '.gnu.version_r' contains {{.*}} entries:
37# GNU-ALL: There are no section groups in this file.
38# GNU-ALL: Histogram for bucket list length (total of 1 buckets)
39# GNU-ALL: Displaying notes found
40
41--- !ELF
42FileHeader:
43  Class:   ELFCLASS32
44  Data:    ELFDATA2LSB
45  Type:    ET_REL
46  Machine: EM_386
47Sections:
48  - Name: .data
49    Type: SHT_PROGBITS
50  - Name: .rela.data
51    Type: SHT_REL
52    Relocations:
53  - Name:    .gnu.version
54    Type:    SHT_GNU_versym
55    Entries: [ 0 ]
56  - Name:    .gnu.version_d
57    Type:    SHT_GNU_verdef
58    Entries: []
59  - Name: .gnu.version_r
60    Type: SHT_GNU_verneed
61    Dependencies:
62      - Version: 1
63        File:    verneed1.so.0
64        Entries: []
65  - Name:         .dynamic
66    Type:         SHT_DYNAMIC
67    Address:      0x1000
68    AddressAlign: 0x1000
69    Entries:
70      - Tag:   DT_HASH
71        Value: 0x1100
72      - Tag:   DT_NULL
73        Value: 0
74  - Name:         .hash
75    Type:         SHT_HASH
76    Link:         0
77    Bucket:       [ 1 ]
78    Chain:        [ 0, 0 ]
79    Address:      0x1100
80    AddressAlign: 0x100
81  - Name:    .eh_frame_hdr
82    Type:    SHT_PROGBITS
83## An arbitrary linker-generated valid content.
84    Content: 011b033b140000000100000000f0ffff30000000
85  - Name:         .eh_frame
86    Type:         SHT_PROGBITS
87    AddressAlign: 8
88## An arbitrary linker-generated valid content.
89    Content:      1400000000000000017a5200017810011b0c070890010000100000001c000000c8efffff0100000000000000
90  - Name:    .note.gnu.build-id
91    Type:    SHT_NOTE
92    Flags:   [ SHF_ALLOC ]
93    Address: 0x1500
94## An arbitrary linker-generated valid content.
95    Content: 040000001000000003000000474E55004FCB712AA6387724A9F465A32CD8C14B
96ProgramHeaders:
97  - Type:     PT_LOAD
98    VAddr:    0x1000
99    FirstSec: .dynamic
100    LastSec:  .hash
101  - Type:     PT_DYNAMIC
102    FirstSec: .dynamic
103    LastSec:  .dynamic
104  - Type:     PT_GNU_EH_FRAME
105    FirstSec: .eh_frame_hdr
106    LastSec:  .eh_frame_hdr
107  - Type:     PT_NOTE
108    FirstSec: .note.gnu.build-id
109    LastSec:  .note.gnu.build-id
110Symbols: []
111DynamicSymbols:
112  - Name: foo
113