xref: /llvm-project/llvm/test/Object/obj2yaml.test (revision 8545093715c4efcfe7069aa29e9372d32f9c7b36)
1# RUN: obj2yaml %p/Inputs/trivial-object-test.coff-i386 | FileCheck %s --check-prefix COFF-I386
2
3# COFF-I386: header:
4# COFF-I386-NEXT:  Machine: IMAGE_FILE_MACHINE_I386
5
6# COFF-I386: sections:
7# COFF-I386-NEXT:  - Name: .text
8# COFF-I386-NEXT:    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
9# COFF-I386-NEXT:    Alignment: 16
10# COFF-I386-NEXT:    SectionData:  83EC0CC744240800000000C7042400000000E800000000E8000000008B44240883C40CC3
11
12# COFF-I386:    Relocations:
13# COFF-I386-NEXT:      - VirtualAddress: 14
14# COFF-I386-NEXT:        SymbolName: L_.str
15# COFF-I386-NEXT:        Type: IMAGE_REL_I386_DIR32
16
17# COFF-I386:           - VirtualAddress: 19
18# COFF-I386-NEXT:        SymbolName: _puts
19# COFF-I386-NEXT:        Type: IMAGE_REL_I386_REL32
20
21# COFF-I386:           - VirtualAddress: 24
22# COFF-I386-NEXT:        SymbolName: _SomeOtherFunction
23# COFF-I386-NEXT:        Type: IMAGE_REL_I386_REL32
24
25# COFF-I386:       - Name: .data
26# COFF-I386-NEXT:    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
27# COFF-I386-NEXT:    Alignment: 1
28# COFF-I386-NEXT:    SectionData: 48656C6C6F20576F726C642100
29
30# COFF-I386: symbols:
31# COFF-I386-NEXT:  - Name: .text
32# COFF-I386-NEXT:    Value: 0
33# COFF-I386-NEXT:    SectionNumber: 1
34# COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
35# COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
36# COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC
37# COFF-I386-NEXT:    SectionDefinition:
38# COFF-I386-NEXT:      Length:          36
39# COFF-I386-NEXT:      NumberOfRelocations: 3
40# COFF-I386-NEXT:      NumberOfLinenumbers: 0
41# COFF-I386-NEXT:      CheckSum:        0
42# COFF-I386-NEXT:      Number:          1
43
44# COFF-I386:       - Name: .data
45# COFF-I386-NEXT:    Value: 0
46# COFF-I386-NEXT:    SectionNumber: 2
47# COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
48# COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
49# COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC
50# COFF-I386-NEXT:    SectionDefinition:
51# COFF-I386-NEXT:      Length:          13
52# COFF-I386-NEXT:      NumberOfRelocations: 0
53# COFF-I386-NEXT:      NumberOfLinenumbers: 0
54# COFF-I386-NEXT:      CheckSum:        0
55# COFF-I386-NEXT:      Number:          2
56
57# COFF-I386:       - Name: _main
58# COFF-I386-NEXT:    Value: 0
59# COFF-I386-NEXT:    SectionNumber: 1
60# COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
61# COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_FUNCTION
62# COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL
63
64# COFF-I386:       - Name: L_.str
65# COFF-I386-NEXT:    Value: 0
66# COFF-I386-NEXT:    SectionNumber: 2
67# COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
68# COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
69# COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_STATIC
70
71# COFF-I386:       - Name: _puts
72# COFF-I386-NEXT:    Value: 0
73# COFF-I386-NEXT:    SectionNumber: 0
74# COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
75# COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
76# COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL
77
78# COFF-I386:       - Name: _SomeOtherFunction
79# COFF-I386-NEXT:    Value: 0
80# COFF-I386-NEXT:    SectionNumber: 0
81# COFF-I386-NEXT:    SimpleType: IMAGE_SYM_TYPE_NULL
82# COFF-I386-NEXT:    ComplexType: IMAGE_SYM_DTYPE_NULL
83# COFF-I386-NEXT:    StorageClass: IMAGE_SYM_CLASS_EXTERNAL
84
85# RUN: obj2yaml %p/Inputs/trivial-object-test.coff-x86-64 | FileCheck %s --check-prefix COFF-X86-64
86
87# COFF-X86-64: header:
88# COFF-X86-64-NEXT:  Machine: IMAGE_FILE_MACHINE_AMD64
89
90# COFF-X86-64: sections:
91# COFF-X86-64-NEXT:   - Name: .text
92# COFF-X86-64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
93# COFF-X86-64-NEXT:     Alignment: 16
94# COFF-X86-64-NEXT:     SectionData: 4883EC28C744242400000000488D0D00000000E800000000E8000000008B4424244883C428C3
95
96# COFF-X86-64:     Relocations:
97# COFF-X86-64-NEXT:       - VirtualAddress: 15
98# COFF-X86-64-NEXT:         SymbolName: L.str
99# COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
100
101# COFF-X86-64:            - VirtualAddress: 20
102# COFF-X86-64-NEXT:         SymbolName: puts
103# COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
104
105# COFF-X86-64:            - VirtualAddress: 25
106# COFF-X86-64-NEXT:         SymbolName: SomeOtherFunction
107# COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_REL32
108
109# COFF-X86-64:        - Name: .data
110# COFF-X86-64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
111# COFF-X86-64-NEXT:     Alignment: 1
112# COFF-X86-64-NEXT:     SectionData: 48656C6C6F20576F726C642100
113
114# COFF-X86-64:        - Name: '.CRT$XCU'
115# COFF-X86-64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
116# COFF-X86-64-NEXT:     Alignment: 8
117# COFF-X86-64-NEXT:     SectionData:  '0000000000000000'
118
119# COFF-X86-64:     Relocations:
120# COFF-X86-64-NEXT:       - VirtualAddress: 0
121# COFF-X86-64-NEXT:         SymbolName: '??__Ex@@YAXXZ'
122# COFF-X86-64-NEXT:         Type: IMAGE_REL_AMD64_ADDR64
123
124# COFF-X86-64: symbols:
125# COFF-X86-64-NEXT:   - Name: .text
126# COFF-X86-64-NEXT:     Value: 0
127# COFF-X86-64-NEXT:     SectionNumber: 1
128# COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
129# COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
130# COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
131# COFF-X86-64-NEXT:    SectionDefinition:
132# COFF-X86-64-NEXT:      Length:          38
133# COFF-X86-64-NEXT:      NumberOfRelocations: 3
134# COFF-X86-64-NEXT:      NumberOfLinenumbers: 0
135# COFF-X86-64-NEXT:      CheckSum:        0
136# COFF-X86-64-NEXT:      Number:          1
137
138# COFF-X86-64:        - Name: .data
139# COFF-X86-64-NEXT:     Value: 0
140# COFF-X86-64-NEXT:     SectionNumber: 2
141# COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
142# COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
143# COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
144# COFF-X86-64-NEXT:    SectionDefinition:
145# COFF-X86-64-NEXT:      Length:          13
146# COFF-X86-64-NEXT:      NumberOfRelocations: 0
147# COFF-X86-64-NEXT:      NumberOfLinenumbers: 0
148# COFF-X86-64-NEXT:      CheckSum:        0
149# COFF-X86-64-NEXT:      Number:          2
150
151# COFF-X86-64:        - Name: main
152# COFF-X86-64-NEXT:     Value: 0
153# COFF-X86-64-NEXT:     SectionNumber: 1
154# COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
155# COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_FUNCTION
156# COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
157
158# COFF-X86-64:        - Name: L.str
159# COFF-X86-64-NEXT:     Value: 0
160# COFF-X86-64-NEXT:     SectionNumber: 2
161# COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
162# COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
163# COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
164
165# COFF-X86-64:        - Name: puts
166# COFF-X86-64-NEXT:     Value: 0
167# COFF-X86-64-NEXT:     SectionNumber: 0
168# COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
169# COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
170# COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
171
172# COFF-X86-64:        - Name: SomeOtherFunction
173# COFF-X86-64-NEXT:     Value: 0
174# COFF-X86-64-NEXT:     SectionNumber: 0
175# COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
176# COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
177# COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
178
179# COFF-X86-64:        - Name: '??__Ex@@YAXXZ'
180# COFF-X86-64-NEXT:     Value: 0
181# COFF-X86-64-NEXT:     SectionNumber: 3
182# COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
183# COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_FUNCTION
184# COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
185
186# RUN: obj2yaml %p/Inputs/trivial-object-test.coff-armnt | FileCheck %s --check-prefix COFF-ARMNT
187
188# COFF-ARMNT: header:
189# COFF-ARMNT-NEXT:  Machine: IMAGE_FILE_MACHINE_ARMNT
190
191# COFF-ARMNT: sections:
192# COFF-ARMNT-NEXT:   - Name: .text
193# COFF-ARMNT-NEXT:     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_PURGEABLE, IMAGE_SCN_MEM_16BIT, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
194# COFF-ARMNT-NEXT:     Alignment: 4
195# COFF-ARMNT-NEXT:     SectionData: 00F000F87047
196
197# COFF-ARMNT:     Relocations:
198# COFF-ARMNT-NEXT:       - VirtualAddress: 0
199# COFF-ARMNT-NEXT:         SymbolName: otherFunc
200# COFF-ARMNT-NEXT:         Type: IMAGE_REL_ARM_BLX23T
201
202# COFF-ARMNT:        - Name: .data
203# COFF-ARMNT-NEXT:     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
204# COFF-ARMNT-NEXT:     Alignment: 4
205# COFF-ARMNT-NEXT:     SectionData: ''
206
207# COFF-ARMNT:        - Name: .bss
208# COFF-ARMNT-NEXT:     Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
209# COFF-ARMNT-NEXT:     Alignment: 4
210# COFF-ARMNT-NEXT:     SectionData: ''
211
212# COFF-ARMNT: symbols:
213# COFF-ARMNT-NEXT:   - Name: .text
214# COFF-ARMNT-NEXT:     Value: 0
215# COFF-ARMNT-NEXT:     SectionNumber: 1
216# COFF-ARMNT-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
217# COFF-ARMNT-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
218# COFF-ARMNT-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
219# COFF-ARMNT-NEXT:     SectionDefinition:
220# COFF-ARMNT-NEXT:       Length:          6
221# COFF-ARMNT-NEXT:       NumberOfRelocations: 1
222# COFF-ARMNT-NEXT:       NumberOfLinenumbers: 0
223# COFF-ARMNT-NEXT:       CheckSum:        879026160
224# COFF-ARMNT-NEXT:       Number:          1
225
226# COFF-ARMNT:        - Name: .data
227# COFF-ARMNT-NEXT:     Value: 0
228# COFF-ARMNT-NEXT:     SectionNumber: 2
229# COFF-ARMNT-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
230# COFF-ARMNT-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
231# COFF-ARMNT-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
232# COFF-ARMNT-NEXT:     SectionDefinition:
233# COFF-ARMNT-NEXT:       Length:          0
234# COFF-ARMNT-NEXT:       NumberOfRelocations: 0
235# COFF-ARMNT-NEXT:       NumberOfLinenumbers: 0
236# COFF-ARMNT-NEXT:       CheckSum:        0
237# COFF-ARMNT-NEXT:       Number:          2
238
239# COFF-ARMNT:        - Name: .bss
240# COFF-ARMNT-NEXT:     Value: 0
241# COFF-ARMNT-NEXT:     SectionNumber: 3
242# COFF-ARMNT-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
243# COFF-ARMNT-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
244# COFF-ARMNT-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
245# COFF-ARMNT-NEXT:     SectionDefinition:
246# COFF-ARMNT-NEXT:       Length:          0
247# COFF-ARMNT-NEXT:       NumberOfRelocations: 0
248# COFF-ARMNT-NEXT:       NumberOfLinenumbers: 0
249# COFF-ARMNT-NEXT:       CheckSum:        0
250# COFF-ARMNT-NEXT:       Number:          3
251
252# COFF-ARMNT:        - Name: main
253# COFF-ARMNT-NEXT:     Value: 0
254# COFF-ARMNT-NEXT:     SectionNumber: 1
255# COFF-ARMNT-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
256# COFF-ARMNT-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
257# COFF-ARMNT-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
258
259# COFF-ARMNT:        - Name: otherFunc
260# COFF-ARMNT-NEXT:     Value: 0
261# COFF-ARMNT-NEXT:     SectionNumber: 0
262# COFF-ARMNT-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
263# COFF-ARMNT-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
264# COFF-ARMNT-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
265
266# RUN: obj2yaml %p/Inputs/trivial-object-test.coff-arm64 | FileCheck %s --check-prefix COFF-ARM64
267
268# COFF-ARM64: header:
269# COFF-ARM64-NEXT:  Machine: IMAGE_FILE_MACHINE_ARM64
270
271# COFF-ARM64: sections:
272# COFF-ARM64-NEXT:   - Name: .text
273# COFF-ARM64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
274# COFF-ARM64-NEXT:     Alignment: 4
275# COFF-ARM64-NEXT:     SectionData: 00000094C0035FD6
276
277# COFF-ARM64:     Relocations:
278# COFF-ARM64-NEXT:       - VirtualAddress: 0
279# COFF-ARM64-NEXT:         SymbolName: otherFunc
280# COFF-ARM64-NEXT:         Type: IMAGE_REL_ARM64_BRANCH26
281
282# COFF-ARM64:        - Name: .data
283# COFF-ARM64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
284# COFF-ARM64-NEXT:     Alignment: 4
285# COFF-ARM64-NEXT:     SectionData: ''
286
287# COFF-ARM64:        - Name: .bss
288# COFF-ARM64-NEXT:     Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
289# COFF-ARM64-NEXT:     Alignment: 4
290# COFF-ARM64-NEXT:     SectionData: ''
291
292# COFF-ARM64: symbols:
293# COFF-ARM64-NEXT:   - Name: .text
294# COFF-ARM64-NEXT:     Value: 0
295# COFF-ARM64-NEXT:     SectionNumber: 1
296# COFF-ARM64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
297# COFF-ARM64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
298# COFF-ARM64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
299# COFF-ARM64-NEXT:     SectionDefinition:
300# COFF-ARM64-NEXT:       Length:          8
301# COFF-ARM64-NEXT:       NumberOfRelocations: 1
302# COFF-ARM64-NEXT:       NumberOfLinenumbers: 0
303# COFF-ARM64-NEXT:       CheckSum:        35579893
304# COFF-ARM64-NEXT:       Number:          1
305
306# COFF-ARM64:        - Name: .data
307# COFF-ARM64-NEXT:     Value: 0
308# COFF-ARM64-NEXT:     SectionNumber: 2
309# COFF-ARM64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
310# COFF-ARM64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
311# COFF-ARM64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
312# COFF-ARM64-NEXT:     SectionDefinition:
313# COFF-ARM64-NEXT:       Length:          0
314# COFF-ARM64-NEXT:       NumberOfRelocations: 0
315# COFF-ARM64-NEXT:       NumberOfLinenumbers: 0
316# COFF-ARM64-NEXT:       CheckSum:        0
317# COFF-ARM64-NEXT:       Number:          2
318
319# COFF-ARM64:        - Name: .bss
320# COFF-ARM64-NEXT:     Value: 0
321# COFF-ARM64-NEXT:     SectionNumber: 3
322# COFF-ARM64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
323# COFF-ARM64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
324# COFF-ARM64-NEXT:     StorageClass: IMAGE_SYM_CLASS_STATIC
325# COFF-ARM64-NEXT:     SectionDefinition:
326# COFF-ARM64-NEXT:       Length:          0
327# COFF-ARM64-NEXT:       NumberOfRelocations: 0
328# COFF-ARM64-NEXT:       NumberOfLinenumbers: 0
329# COFF-ARM64-NEXT:       CheckSum:        0
330# COFF-ARM64-NEXT:       Number:          3
331
332# COFF-ARM64:        - Name: main
333# COFF-ARM64-NEXT:     Value: 0
334# COFF-ARM64-NEXT:     SectionNumber: 1
335# COFF-ARM64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
336# COFF-ARM64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
337# COFF-ARM64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
338
339# COFF-ARM64:        - Name: otherFunc
340# COFF-ARM64-NEXT:     Value: 0
341# COFF-ARM64-NEXT:     SectionNumber: 0
342# COFF-ARM64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
343# COFF-ARM64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
344# COFF-ARM64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
345
346# RUN: obj2yaml %p/Inputs/trivial-object-test.elf-mipsel | FileCheck %s --check-prefix ELF-MIPSEL
347
348# ELF-MIPSEL:      FileHeader:
349# ELF-MIPSEL-NEXT:   Class:           ELFCLASS32
350# ELF-MIPSEL-NEXT:   Data:            ELFDATA2LSB
351# ELF-MIPSEL-NEXT:   OSABI:           ELFOSABI_GNU
352# ELF-MIPSEL-NEXT:   Type:            ET_REL
353# ELF-MIPSEL-NEXT:   Machine:         EM_MIPS
354# ELF-MIPSEL-NEXT:   Flags:           [ EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ]
355# ELF-MIPSEL-NEXT: Sections:
356# ELF-MIPSEL-NEXT:   - Name:            .text
357# ELF-MIPSEL-NEXT:     Type:            SHT_PROGBITS
358# ELF-MIPSEL-NEXT:     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
359# ELF-MIPSEL-NEXT:     AddressAlign:    0x4
360# ELF-MIPSEL-NEXT:     Content:         0000023C00004224E8FFBD271400BFAF1000B0AF218059000000018E000024240000198E09F8200321E000020000198E09F8200321E00002000002241000B08F1400BF8F0800E0031800BD27
361# ELF-MIPSEL-NEXT:   - Name:            .data
362# ELF-MIPSEL-NEXT:     Type:            SHT_PROGBITS
363# ELF-MIPSEL-NEXT:     Flags:           [ SHF_WRITE, SHF_ALLOC ]
364# ELF-MIPSEL-NEXT:     AddressAlign:    0x4
365# ELF-MIPSEL-NEXT:   - Name:            .bss
366# ELF-MIPSEL-NEXT:     Type:            SHT_NOBITS
367# ELF-MIPSEL-NEXT:     Flags:           [ SHF_WRITE, SHF_ALLOC ]
368# ELF-MIPSEL-NEXT:     AddressAlign:    0x4
369# ELF-MIPSEL-NEXT:     Size:            0x4
370# ELF-MIPSEL-NEXT:   - Name:            .mdebug.abi32
371# ELF-MIPSEL-NEXT:     Type:            SHT_PROGBITS
372# ELF-MIPSEL-NEXT:     AddressAlign:    0x1
373# ELF-MIPSEL-NEXT:   - Name:            .rodata.str1.1
374# ELF-MIPSEL-NEXT:     Type:            SHT_PROGBITS
375# ELF-MIPSEL-NEXT:     Flags:           [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
376# ELF-MIPSEL-NEXT:     AddressAlign:    0x1
377# ELF-MIPSEL-NEXT:     EntSize:         0x1
378# ELF-MIPSEL-NEXT:     Content:         48656C6C6F20576F726C640A00
379# ELF-MIPSEL-NEXT:   - Name:            .reginfo
380# ELF-MIPSEL-NEXT:     Type:            SHT_MIPS_REGINFO
381# ELF-MIPSEL-NEXT:     Flags:           [ SHF_ALLOC ]
382# ELF-MIPSEL-NEXT:     AddressAlign:    0x1
383# ELF-MIPSEL-NEXT:     Content:         '000000000000000000000000000000000000000000000000'
384# ELF-MIPSEL-NEXT:   - Name:            .MIPS.abiflags
385# ELF-MIPSEL-NEXT:     Type:            SHT_MIPS_ABIFLAGS
386# ELF-MIPSEL-NEXT:     Flags:           [ SHF_ALLOC ]
387# ELF-MIPSEL-NEXT:     AddressAlign:    0x8
388# ELF-MIPSEL-NEXT:     EntSize:         0x0
389# ELF-MIPSEL-NEXT:     ISA:             MIPS32
390# ELF-MIPSEL-NEXT:     ISARevision:     0x1
391# ELF-MIPSEL-NEXT:     FpABI:           FP_DOUBLE
392# ELF-MIPSEL-NEXT:     GPRSize:         REG_32
393# ELF-MIPSEL-NEXT:     CPR1Size:        REG_32
394# ELF-MIPSEL-NEXT:     Flags1:          [ ODDSPREG ]
395# ELF-MIPSEL-NEXT:   - Name:            .rel.text
396# ELF-MIPSEL-NEXT:     Type:            SHT_REL
397# ELF-MIPSEL-NEXT:     Link:            .symtab
398# ELF-MIPSEL-NEXT:     AddressAlign:    0x4
399# ELF-MIPSEL-NEXT:     Info:            .text
400# ELF-MIPSEL-NEXT:     Relocations:
401# ELF-MIPSEL-NEXT:       - Symbol:          _gp_disp
402# ELF-MIPSEL-NEXT:         Type:            R_MIPS_HI16
403# ELF-MIPSEL-NEXT:       - Offset:          0x4
404# ELF-MIPSEL-NEXT:         Symbol:          _gp_disp
405# ELF-MIPSEL-NEXT:         Type:            R_MIPS_LO16
406# ELF-MIPSEL-NEXT:       - Offset:          0x18
407# ELF-MIPSEL-NEXT:         Symbol:          '$.str'
408# ELF-MIPSEL-NEXT:         Type:            R_MIPS_GOT16
409# ELF-MIPSEL-NEXT:       - Offset:          0x1C
410# ELF-MIPSEL-NEXT:         Symbol:          '$.str'
411# ELF-MIPSEL-NEXT:         Type:            R_MIPS_LO16
412# ELF-MIPSEL-NEXT:       - Offset:          0x20
413# ELF-MIPSEL-NEXT:         Symbol:          puts
414# ELF-MIPSEL-NEXT:         Type:            R_MIPS_CALL16
415# ELF-MIPSEL-NEXT:       - Offset:          0x2C
416# ELF-MIPSEL-NEXT:         Symbol:          SomeOtherFunction
417# ELF-MIPSEL-NEXT:         Type:            R_MIPS_CALL16
418# ELF-MIPSEL-NEXT:   - Type: SectionHeaderTable
419# ELF-MIPSEL-NEXT:     Sections:
420# ELF-MIPSEL-NEXT:       - Name: .text
421# ELF-MIPSEL-NEXT:       - Name: .rel.text
422# ELF-MIPSEL-NEXT:       - Name: .data
423# ELF-MIPSEL-NEXT:       - Name: .bss
424# ELF-MIPSEL-NEXT:       - Name: .mdebug.abi32
425# ELF-MIPSEL-NEXT:       - Name: .rodata.str1.1
426# ELF-MIPSEL-NEXT:       - Name: .reginfo
427# ELF-MIPSEL-NEXT:       - Name: .MIPS.abiflags
428# ELF-MIPSEL-NEXT:       - Name: .shstrtab
429# ELF-MIPSEL-NEXT:       - Name: .symtab
430# ELF-MIPSEL-NEXT:       - Name: .strtab
431# ELF-MIPSEL-NEXT: Symbols:
432# ELF-MIPSEL-NEXT:     - Name:            trivial.ll
433# ELF-MIPSEL-NEXT:       Type:            STT_FILE
434# ELF-MIPSEL-NEXT:       Index:           SHN_ABS
435# ELF-MIPSEL-NEXT:     - Name:            '$.str'
436# ELF-MIPSEL-NEXT:       Type:            STT_OBJECT
437# ELF-MIPSEL-NEXT:       Section:         .rodata.str1.1
438# ELF-MIPSEL-NEXT:       Size:            0xD
439# ELF-MIPSEL-NEXT:     - Name:            .text
440# ELF-MIPSEL-NEXT:       Type:            STT_SECTION
441# ELF-MIPSEL-NEXT:       Section:         .text
442# ELF-MIPSEL-NEXT:     - Name:            .data
443# ELF-MIPSEL-NEXT:       Type:            STT_SECTION
444# ELF-MIPSEL-NEXT:       Section:         .data
445# ELF-MIPSEL-NEXT:     - Name:            .bss
446# ELF-MIPSEL-NEXT:       Type:            STT_SECTION
447# ELF-MIPSEL-NEXT:       Section:         .bss
448# ELF-MIPSEL-NEXT:     - Name:            .mdebug.abi32
449# ELF-MIPSEL-NEXT:       Type:            STT_SECTION
450# ELF-MIPSEL-NEXT:       Section:         .mdebug.abi32
451# ELF-MIPSEL-NEXT:     - Name:            .rodata.str1.1
452# ELF-MIPSEL-NEXT:       Type:            STT_SECTION
453# ELF-MIPSEL-NEXT:       Section:         .rodata.str1.1
454# ELF-MIPSEL-NEXT:     - Name:            .reginfo
455# ELF-MIPSEL-NEXT:       Type:            STT_SECTION
456# ELF-MIPSEL-NEXT:       Section:         .reginfo
457# ELF-MIPSEL-NEXT:     - Name:            .MIPS.abiflags
458# ELF-MIPSEL-NEXT:       Type:            STT_SECTION
459# ELF-MIPSEL-NEXT:       Section:         .MIPS.abiflags
460# ELF-MIPSEL-NEXT:     - Name:            main
461# ELF-MIPSEL-NEXT:       Type:            STT_FUNC
462# ELF-MIPSEL-NEXT:       Section:         .text
463# ELF-MIPSEL-NEXT:       Binding:         STB_GLOBAL
464# ELF-MIPSEL-NEXT:       Size:            0x4C
465# ELF-MIPSEL-NEXT:     - Name:            var
466# ELF-MIPSEL-NEXT:       Type:            STT_OBJECT
467# ELF-MIPSEL-NEXT:       Section:         .bss
468# ELF-MIPSEL-NEXT:       Binding:         STB_GLOBAL
469# ELF-MIPSEL-NEXT:       Size:            0x4
470# ELF-MIPSEL-NEXT:     - Name:            SomeOtherFunction
471# ELF-MIPSEL-NEXT:       Binding:         STB_GLOBAL
472# ELF-MIPSEL-NEXT:     - Name:            _gp_disp
473# ELF-MIPSEL-NEXT:       Binding:         STB_GLOBAL
474# ELF-MIPSEL-NEXT:     - Name:            puts
475# ELF-MIPSEL-NEXT:       Binding:         STB_GLOBAL
476# ELF-MIPSEL-NEXT: ...
477
478# RUN: obj2yaml %p/Inputs/trivial-object-test.elf-mips64el | FileCheck %s --check-prefix ELF-MIPS64EL
479
480# ELF-MIPS64EL:      FileHeader:
481# ELF-MIPS64EL-NEXT:   Class:           ELFCLASS64
482# ELF-MIPS64EL-NEXT:   Data:            ELFDATA2LSB
483# ELF-MIPS64EL-NEXT:   Type:            ET_REL
484# ELF-MIPS64EL-NEXT:   Machine:         EM_MIPS
485# ELF-MIPS64EL-NEXT:   Flags:           [ EF_MIPS_ARCH_3 ]
486# ELF-MIPS64EL-NEXT: Sections:
487# ELF-MIPS64EL-NEXT:   - Name:            .text
488# ELF-MIPS64EL-NEXT:     Type:            SHT_PROGBITS
489# ELF-MIPS64EL-NEXT:     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
490# ELF-MIPS64EL-NEXT:     AddressAlign:    0x10
491# ELF-MIPS64EL-NEXT:   - Name:            .data
492# ELF-MIPS64EL-NEXT:     Type:            SHT_PROGBITS
493# ELF-MIPS64EL-NEXT:     Flags:           [ SHF_WRITE, SHF_ALLOC ]
494# ELF-MIPS64EL-NEXT:     AddressAlign:    0x10
495# ELF-MIPS64EL-NEXT:     Content:         '00000000000000000000000000000000'
496# ELF-MIPS64EL-NEXT:   - Name:            .bss
497# ELF-MIPS64EL-NEXT:     Type:            SHT_NOBITS
498# ELF-MIPS64EL-NEXT:     Flags:           [ SHF_WRITE, SHF_ALLOC ]
499# ELF-MIPS64EL-NEXT:     AddressAlign:    0x10
500# ELF-MIPS64EL-NEXT:   - Name:            .MIPS.options
501# ELF-MIPS64EL-NEXT:     Type:            SHT_MIPS_OPTIONS
502# ELF-MIPS64EL-NEXT:     Flags:           [ SHF_ALLOC, SHF_MIPS_NOSTRIP ]
503# ELF-MIPS64EL-NEXT:     AddressAlign:    0x8
504# ELF-MIPS64EL-NEXT:     EntSize:         0x1
505# ELF-MIPS64EL-NEXT:     Content:         '01280000000000000000000000000000000000000000000000000000000000000000000000000000'
506# ELF-MIPS64EL-NEXT:   - Name:            .pdr
507# ELF-MIPS64EL-NEXT:     Type:            SHT_PROGBITS
508# ELF-MIPS64EL-NEXT:     AddressAlign:    0x4
509# ELF-MIPS64EL-NEXT:   - Name:            .rela.data
510# ELF-MIPS64EL-NEXT:     Type:            SHT_RELA
511# ELF-MIPS64EL-NEXT:     Link:            .symtab
512# ELF-MIPS64EL-NEXT:     AddressAlign:    0x8
513# ELF-MIPS64EL-NEXT:     Info:            .data
514# ELF-MIPS64EL-NEXT:     Relocations:
515# ELF-MIPS64EL-NEXT:       - Symbol:          zed
516# ELF-MIPS64EL-NEXT:         Type:            R_MIPS_64
517# ELF-MIPS64EL-NEXT:   - Type: SectionHeaderTable
518# ELF-MIPS64EL-NEXT:     Sections:
519# ELF-MIPS64EL-NEXT:       - Name: .text
520# ELF-MIPS64EL-NEXT:       - Name: .data
521# ELF-MIPS64EL-NEXT:       - Name: .rela.data
522# ELF-MIPS64EL-NEXT:       - Name: .bss
523# ELF-MIPS64EL-NEXT:       - Name: .MIPS.options
524# ELF-MIPS64EL-NEXT:       - Name: .pdr
525# ELF-MIPS64EL-NEXT:       - Name: .shstrtab
526# ELF-MIPS64EL-NEXT:       - Name: .symtab
527# ELF-MIPS64EL-NEXT:       - Name: .strtab
528# ELF-MIPS64EL-NEXT: Symbols:
529# ELF-MIPS64EL-NEXT:     - Name:            .text
530# ELF-MIPS64EL-NEXT:       Type:            STT_SECTION
531# ELF-MIPS64EL-NEXT:       Section:         .text
532# ELF-MIPS64EL-NEXT:     - Name:            .data
533# ELF-MIPS64EL-NEXT:       Type:            STT_SECTION
534# ELF-MIPS64EL-NEXT:       Section:         .data
535# ELF-MIPS64EL-NEXT:     - Name:            .bss
536# ELF-MIPS64EL-NEXT:       Type:            STT_SECTION
537# ELF-MIPS64EL-NEXT:       Section:         .bss
538# ELF-MIPS64EL-NEXT:     - Name:            bar
539# ELF-MIPS64EL-NEXT:       Section:         .data
540# ELF-MIPS64EL-NEXT:     - Name:            .MIPS.options
541# ELF-MIPS64EL-NEXT:       Type:            STT_SECTION
542# ELF-MIPS64EL-NEXT:       Section:         .MIPS.options
543# ELF-MIPS64EL-NEXT:     - Name:            .pdr
544# ELF-MIPS64EL-NEXT:       Type:            STT_SECTION
545# ELF-MIPS64EL-NEXT:       Section:         .pdr
546# ELF-MIPS64EL-NEXT:     - Name:            zed
547# ELF-MIPS64EL-NEXT:       Binding:         STB_GLOBAL
548# ELF-MIPS64EL-NEXT: ...
549
550# RUN: yaml2obj --docnum=1 %s -o %t-x86-64
551# RUN: obj2yaml %t-x86-64 | FileCheck %s --check-prefix ELF-X86-64
552
553# ELF-X86-64:      FileHeader:
554# ELF-X86-64-NEXT:   Class:           ELFCLASS64
555# ELF-X86-64-NEXT:   Data:            ELFDATA2LSB
556# ELF-X86-64-NEXT:   OSABI:           ELFOSABI_GNU
557# ELF-X86-64-NEXT:   Type:            ET_REL
558# ELF-X86-64-NEXT:   Machine:         EM_X86_64
559# ELF-X86-64-NEXT: Sections:
560# ELF-X86-64-NEXT:   - Name:            .text
561# ELF-X86-64-NEXT:     Type:            SHT_PROGBITS
562# ELF-X86-64-NEXT:     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
563# ELF-X86-64-NEXT:     AddressAlign:    0x10
564# ELF-X86-64-NEXT:     Content:         4883EC08C744240400000000BF00000000E80000000030C0E8000000008B4424044883C408C3
565# ELF-X86-64-NEXT:   - Name:            .rodata.str1.1
566# ELF-X86-64-NEXT:     Type:            SHT_PROGBITS
567# ELF-X86-64-NEXT:     Flags:           [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
568# ELF-X86-64-NEXT:     Address:         0x26
569# ELF-X86-64-NEXT:     AddressAlign:    0x1
570# ELF-X86-64-NEXT:     Content:         48656C6C6F20576F726C642100
571# ELF-X86-64-NEXT:   - Name:            .note.GNU-stack
572# ELF-X86-64-NEXT:     Type:            SHT_PROGBITS
573# ELF-X86-64-NEXT:     Address:         0x33
574# ELF-X86-64-NEXT:     AddressAlign:    0x1
575# ELF-X86-64-NEXT:   - Name:            .rela.text
576# ELF-X86-64-NEXT:     Type:            SHT_RELA
577# ELF-X86-64-NEXT:     Address:         0x38
578# ELF-X86-64-NEXT:     Link:            .symtab
579# ELF-X86-64-NEXT:     AddressAlign:    0x8
580# ELF-X86-64-NEXT:     Info:            .text
581# ELF-X86-64-NEXT:     Relocations:
582# ELF-X86-64-NEXT:       - Offset:          0xD
583# ELF-X86-64-NEXT:         Symbol:          .rodata.str1.1
584# ELF-X86-64-NEXT:         Type:            R_X86_64_32S
585# ELF-X86-64-NEXT:       - Offset:          0x12
586# ELF-X86-64-NEXT:         Symbol:          puts
587# ELF-X86-64-NEXT:         Type:            R_X86_64_PC32
588# ELF-X86-64-NEXT:         Addend:          -4
589# ELF-X86-64-NEXT:       - Offset:          0x19
590# ELF-X86-64-NEXT:         Symbol:          SomeOtherFunction
591# ELF-X86-64-NEXT:         Type:            R_X86_64_PC32
592# ELF-X86-64-NEXT:         Addend:          -4
593# ELF-X86-64-NEXT: Symbols:
594# ELF-X86-64-NEXT:     - Name:            trivial-object-test.s
595# ELF-X86-64-NEXT:       Type:            STT_FILE
596# ELF-X86-64-NEXT:       Index:           SHN_ABS
597# ELF-X86-64-NEXT:     - Name:            .text
598# ELF-X86-64-NEXT:       Type:            STT_SECTION
599# ELF-X86-64-NEXT:       Section:         .text
600# ELF-X86-64-NEXT:     - Name:            .rodata.str1.1
601# ELF-X86-64-NEXT:       Type:            STT_SECTION
602# ELF-X86-64-NEXT:       Section:         .rodata.str1.1
603# ELF-X86-64-NEXT:     - Name:            .note.GNU-stack
604# ELF-X86-64-NEXT:       Type:            STT_SECTION
605# ELF-X86-64-NEXT:       Section:         .note.GNU-stack
606# ELF-X86-64-NEXT:     - Name:            main
607# ELF-X86-64-NEXT:       Type:            STT_FUNC
608# ELF-X86-64-NEXT:       Section:         .text
609# ELF-X86-64-NEXT:       Binding:         STB_GLOBAL
610# ELF-X86-64-NEXT:       Size:            0x26
611# ELF-X86-64-NEXT:     - Name:            SomeOtherFunction
612# ELF-X86-64-NEXT:       Binding:         STB_GLOBAL
613# ELF-X86-64-NEXT:     - Name:            puts
614# ELF-X86-64-NEXT:       Binding:         STB_GLOBAL
615
616--- !ELF
617FileHeader:
618  Class:   ELFCLASS64
619  Data:    ELFDATA2LSB
620  OSABI:   ELFOSABI_GNU
621  Type:    ET_REL
622  Machine: EM_X86_64
623Sections:
624  - Name:         .text
625    Type:         SHT_PROGBITS
626    Flags:        [ SHF_ALLOC, SHF_EXECINSTR ]
627    AddressAlign: 0x10
628    Content:      4883EC08C744240400000000BF00000000E80000000030C0E8000000008B4424044883C408C3
629  - Name:         .rodata.str1.1
630    Type:         SHT_PROGBITS
631    Flags:        [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
632    Address:      0x26
633    AddressAlign: 0x1
634    Content:      48656C6C6F20576F726C642100
635  - Name:         .note.GNU-stack
636    Type:         SHT_PROGBITS
637    Address:      0x33
638    AddressAlign: 0x1
639  - Name:         .rela.text
640    Type:         SHT_RELA
641    Address:      0x38
642    Link:         .symtab
643    AddressAlign: 0x8
644    EntSize:      0x18
645    Info:         .text
646    Relocations:
647      - Offset: 0xD
648        Symbol: .rodata.str1.1
649        Type:   R_X86_64_32S
650      - Offset: 0x12
651        Symbol: puts
652        Type:   R_X86_64_PC32
653        Addend: -4
654      - Offset: 0x19
655        Symbol: SomeOtherFunction
656        Type:   R_X86_64_PC32
657        Addend: -4
658Symbols:
659  - Name:    trivial-object-test.s
660    Type:    STT_FILE
661    Index:   SHN_ABS
662  - Name:    .text
663    Type:    STT_SECTION
664    Section: .text
665  - Name:    .rodata.str1.1
666    Type:    STT_SECTION
667    Section: .rodata.str1.1
668  - Name:    .note.GNU-stack
669    Type:    STT_SECTION
670    Section: .note.GNU-stack
671  - Name:    main
672    Type:    STT_FUNC
673    Section: .text
674    Binding: STB_GLOBAL
675    Size:    0x26
676  - Name:    SomeOtherFunction
677    Binding: STB_GLOBAL
678  - Name:    puts
679    Binding: STB_GLOBAL
680
681# RUN: yaml2obj --docnum=2 %s -o %t-xtensa
682# RUN: obj2yaml %t-xtensa | FileCheck %s --check-prefix ELF-XTENSA
683
684# ELF-XTENSA:      FileHeader:
685# ELF-XTENSA-NEXT:   Class:           ELFCLASS32
686# ELF-XTENSA-NEXT:   Data:            ELFDATA2LSB
687# ELF-XTENSA-NEXT:   Type:            ET_EXEC
688# ELF-XTENSA-NEXT:   Machine:         EM_XTENSA
689## As EF_XTENSA_MACH_NONE == 0, it is always printed by obj2yaml.
690# ELF-XTENSA-NEXT:   Flags:           [ EF_XTENSA_XT_INSN, EF_XTENSA_MACH_NONE, EF_XTENSA_XT_LIT ]
691
692--- !ELF
693FileHeader:
694  Class:           ELFCLASS32
695  Data:            ELFDATA2LSB
696  Type:            ET_EXEC
697  Machine:         EM_XTENSA
698  Flags:           [ EF_XTENSA_XT_INSN, EF_XTENSA_XT_LIT ]
699
700# RUN: obj2yaml %p/Inputs/trivial-object-test.elf-avr | FileCheck %s --check-prefix ELF-AVR
701
702# ELF-AVR:      FileHeader:
703# ELF-AVR-NEXT:   Class:           ELFCLASS32
704# ELF-AVR-NEXT:   Data:            ELFDATA2LSB
705# ELF-AVR-NEXT:   Type:            ET_EXEC
706# ELF-AVR-NEXT:   Machine:         EM_AVR
707# ELF-AVR-NEXT:   Flags:           [ EF_AVR_ARCH_AVR2, EF_AVR_LINKRELAX_PREPARED ]
708# ELF-AVR-NEXT: ProgramHeaders:
709# ELF-AVR-NEXT:  - Type:     PT_LOAD
710# ELF-AVR-NEXT:    Flags:    [ PF_X, PF_R ]
711# ELF-AVR-NEXT:    FirstSec: .text
712# ELF-AVR-NEXT:    LastSec:  .text
713# ELF-AVR-NEXT:    Align:    0x2
714# ELF-AVR-NEXT:    Offset:   0x74
715# ELF-AVR-NEXT:  - Type:     PT_LOAD
716# ELF-AVR-NEXT:    Flags:    [ PF_W, PF_R ]
717# ELF-AVR-NEXT:    FirstSec: .data
718# ELF-AVR-NEXT:    LastSec:  .data
719# ELF-AVR-NEXT:    VAddr:    0x800060
720# ELF-AVR-NEXT:    PAddr:    0x4
721# ELF-AVR-NEXT:    Offset:   0x78
722# ELF-AVR-NEXT: Sections:
723# ELF-AVR-NEXT:   - Name:            .text
724# ELF-AVR-NEXT:     Type:            SHT_PROGBITS
725# ELF-AVR-NEXT:     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
726# ELF-AVR-NEXT:     AddressAlign:    0x2
727# ELF-AVR-NEXT:     Content:         C20E0895
728# ELF-AVR-NEXT:   - Name:            .data
729# ELF-AVR-NEXT:     Type:            SHT_PROGBITS
730# ELF-AVR-NEXT:     Flags:           [ SHF_WRITE, SHF_ALLOC ]
731# ELF-AVR-NEXT:     Address:         0x800060
732# ELF-AVR-NEXT:     AddressAlign:    0x1
733# ELF-AVR-NEXT: Symbols:
734# ELF-AVR-NEXT:     - Name:           .text
735# ELF-AVR-NEXT:       Type:            STT_SECTION
736# ELF-AVR-NEXT:       Section:         .text
737# ELF-AVR-NEXT:     - Name:           .data
738# ELF-AVR-NEXT:       Type:            STT_SECTION
739# ELF-AVR-NEXT:       Section:         .data
740# ELF-AVR-NEXT:       Value:           0x800060
741# ELF-AVR-NEXT:     - Name:            a.o
742# ELF-AVR-NEXT:       Type:            STT_FILE
743# ELF-AVR-NEXT:       Index:           SHN_ABS
744# ELF-AVR-NEXT:     - Name:            main
745# ELF-AVR-NEXT:       Section:         .text
746# ELF-AVR-NEXT:     - Name:            __trampolines_start
747# ELF-AVR-NEXT:       Section:         .text
748# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
749# ELF-AVR-NEXT:     - Name:            _etext
750# ELF-AVR-NEXT:       Section:         .text
751# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
752# ELF-AVR-NEXT:       Value:           0x4
753# ELF-AVR-NEXT:     - Name:            __data_load_end
754# ELF-AVR-NEXT:       Index:           SHN_ABS
755# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
756# ELF-AVR-NEXT:       Value:           0x4
757# ELF-AVR-NEXT:     - Name:            __trampolines_end
758# ELF-AVR-NEXT:       Section:         .text
759# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
760# ELF-AVR-NEXT:     - Name:            __data_load_start
761# ELF-AVR-NEXT:       Index:           SHN_ABS
762# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
763# ELF-AVR-NEXT:       Value:           0x4
764# ELF-AVR-NEXT:     - Name:            __dtors_end
765# ELF-AVR-NEXT:       Section:         .text
766# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
767# ELF-AVR-NEXT:     - Name:            __eeprom_end
768# ELF-AVR-NEXT:       Section:         .data
769# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
770# ELF-AVR-NEXT:       Value:           0x810000
771# ELF-AVR-NEXT:     - Name:            __ctors_start
772# ELF-AVR-NEXT:       Section:         .text
773# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
774# ELF-AVR-NEXT:     - Name:            __dtors_start
775# ELF-AVR-NEXT:       Section:         .text
776# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
777# ELF-AVR-NEXT:     - Name:            __ctors_end
778# ELF-AVR-NEXT:       Section:         .text
779# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
780# ELF-AVR-NEXT:     - Name:            _edata
781# ELF-AVR-NEXT:       Section:         .data
782# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
783# ELF-AVR-NEXT:       Value:           0x800060
784# ELF-AVR-NEXT:     - Name:            _end
785# ELF-AVR-NEXT:       Section:         .data
786# ELF-AVR-NEXT:       Binding:         STB_GLOBAL
787# ELF-AVR-NEXT:       Value:           0x800060
788
789# RUN: obj2yaml %p/Inputs/trivial-object-test.wasm | FileCheck %s --check-prefix WASM
790
791# WASM:      --- !WASM
792# WASM-NEXT: FileHeader:
793# WASM-NEXT:   Version:         0x1
794# WASM:        - Type:            CUSTOM
795# WASM-NEXT:     Name:            linking
796# WASM-NEXT:     Version:         2
797# WASM-NEXT:     SymbolTable:
798# WASM-NEXT:       - Index:           0
799# WASM-NEXT:         Kind:            FUNCTION
800# WASM-NEXT:         Name:            main
801# WASM-NEXT:         Flags:           [  ]
802# WASM-NEXT:         Function:        2
803# WASM-NEXT:       - Index:           1
804# WASM-NEXT:         Kind:            DATA
805# WASM-NEXT:         Name:            .L.str
806# WASM-NEXT:         Flags:           [ BINDING_LOCAL ]
807# WASM-NEXT:         Segment:         0
808# WASM-NEXT:         Size:            13
809# WASM-NEXT:       - Index:           2
810# WASM:              Name:            puts
811# WASM:            - Index:           3
812# WASM:              Name:            .LSomeOtherFunction_bitcast
813# WASM:            - Index:           4
814# WASM:              Name:            SomeOtherFunction
815# WASM:            - Index:           5
816# WASM:              Name:            var
817# WASM:          SegmentInfo:
818# WASM-NEXT:       - Index:           0
819# WASM-NEXT:         Name:            .rodata..L.str
820# WASM-NEXT:         Alignment:       0
821# WASM-NEXT:         Flags:           [  ]
822# WASM-NEXT:       - Index:           1
823# WASM:      ...
824