xref: /aosp_15_r20/external/llvm/test/Object/yaml2obj-elf-section-basic.yaml (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: yaml2obj %s | llvm-readobj -sections -section-data - | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker# RUN: yaml2obj -o %t %s
3*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -sections -section-data %t | FileCheck %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker!ELF
6*9880d681SAndroid Build Coastguard WorkerFileHeader:
7*9880d681SAndroid Build Coastguard Worker  Class: ELFCLASS64
8*9880d681SAndroid Build Coastguard Worker  Data: ELFDATA2LSB
9*9880d681SAndroid Build Coastguard Worker  Type: ET_REL
10*9880d681SAndroid Build Coastguard Worker  Machine: EM_X86_64
11*9880d681SAndroid Build Coastguard WorkerSections:
12*9880d681SAndroid Build Coastguard Worker  - Name: .text
13*9880d681SAndroid Build Coastguard Worker    Type: SHT_PROGBITS
14*9880d681SAndroid Build Coastguard Worker    Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
15*9880d681SAndroid Build Coastguard Worker    Address: 0xCAFEBABE
16*9880d681SAndroid Build Coastguard Worker    Link: .text # Doesn't make sense for SHT_PROGBITS, but good enough for test.
17*9880d681SAndroid Build Coastguard Worker    Content: EBFE
18*9880d681SAndroid Build Coastguard Worker    AddressAlign: 2
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker  - Name: .data
21*9880d681SAndroid Build Coastguard Worker    Type: SHT_PROGBITS
22*9880d681SAndroid Build Coastguard Worker    Flags: [ SHF_ALLOC ]
23*9880d681SAndroid Build Coastguard Worker    Address: 0xCAFECAFE
24*9880d681SAndroid Build Coastguard Worker    Content: FEBF
25*9880d681SAndroid Build Coastguard Worker    Size: 8
26*9880d681SAndroid Build Coastguard Worker    AddressAlign: 2
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker# CHECK:        Section {
29*9880d681SAndroid Build Coastguard Worker# CHECK:          Index: 0
30*9880d681SAndroid Build Coastguard Worker# CHECK:          Type: SHT_NULL (0x0)
31*9880d681SAndroid Build Coastguard Worker#
32*9880d681SAndroid Build Coastguard Worker# CHECK:        Section {
33*9880d681SAndroid Build Coastguard Worker# CHECK:          Name: .text
34*9880d681SAndroid Build Coastguard Worker# CHECK:          Type: SHT_PROGBITS (0x1)
35*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Flags [ (0x6)
36*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:       SHF_ALLOC (0x2)
37*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:       SHF_EXECINSTR (0x4)
38*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     ]
39*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Address: 0xCAFEBABE
40*9880d681SAndroid Build Coastguard Worker# CHECK:          Size: 2
41*9880d681SAndroid Build Coastguard Worker# Check that Link != 0.
42*9880d681SAndroid Build Coastguard Worker# CHECK:          Link: {{[1-9][0-9]*}}
43*9880d681SAndroid Build Coastguard Worker# CHECK:          AddressAlignment: 2
44*9880d681SAndroid Build Coastguard Worker# CHECK:          SectionData (
45*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:       0000: EBFE
46*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     )
47*9880d681SAndroid Build Coastguard Worker#
48*9880d681SAndroid Build Coastguard Worker# CHECK:        Section {
49*9880d681SAndroid Build Coastguard Worker# CHECK:          Name: .data
50*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Type: SHT_PROGBITS (0x1)
51*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Flags [ (0x2)
52*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:       SHF_ALLOC (0x2)
53*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     ]
54*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Address: 0xCAFECAFE
55*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Offset: 0x{{[0-9A-F]+}}
56*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Size: 8
57*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Link: 0
58*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     Info: 0
59*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     AddressAlignment: 2
60*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     EntrySize: 0
61*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     SectionData (
62*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:       0000: FEBF0000 00000000 |........|
63*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT:     )
64*9880d681SAndroid Build Coastguard Worker#
65*9880d681SAndroid Build Coastguard Worker# CHECK:        Section {
66*9880d681SAndroid Build Coastguard Worker# CHECK:          Name: .symtab (25)
67*9880d681SAndroid Build Coastguard Worker# CHECK:          Type: SHT_SYMTAB (0x2)
68*9880d681SAndroid Build Coastguard Worker# CHECK:          AddressAlignment: 8
69*9880d681SAndroid Build Coastguard Worker# CHECK:        }
70*9880d681SAndroid Build Coastguard Worker# CHECK:        Section {
71*9880d681SAndroid Build Coastguard Worker# CHECK:          Name: .strtab (17)
72*9880d681SAndroid Build Coastguard Worker# CHECK:          Type: SHT_STRTAB (0x3)
73*9880d681SAndroid Build Coastguard Worker# CHECK:          AddressAlignment: 1
74*9880d681SAndroid Build Coastguard Worker# CHECK:        }
75*9880d681SAndroid Build Coastguard Worker# CHECK:        Section {
76*9880d681SAndroid Build Coastguard Worker# CHECK:          Name: .shstrtab (7)
77*9880d681SAndroid Build Coastguard Worker# CHECK:          Type: SHT_STRTAB (0x3)
78*9880d681SAndroid Build Coastguard Worker# CHECK:          AddressAlignment: 1
79*9880d681SAndroid Build Coastguard Worker# CHECK:        }
80