1 # RUN: obj2yaml %p/Inputs/trivial-object-test.coff-i386 | FileCheck %s --check-prefix COFF-I386
4 # COFF-I386-NEXT: Machine: IMAGE_FILE_MACHINE_I386
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
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
17 # COFF-I386: - VirtualAddress: 19
18 # COFF-I386-NEXT: SymbolName: _puts
19 # COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32
21 # COFF-I386: - VirtualAddress: 24
22 # COFF-I386-NEXT: SymbolName: _SomeOtherFunction
23 # COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32
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
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
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
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
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
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
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
85 # RUN: obj2yaml %p/Inputs/trivial-object-test.coff-x86-64 | FileCheck %s --check-prefix COFF-X86-64
87 # COFF-X86-64: header:
88 # COFF-X86-64-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64
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
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
101 # COFF-X86-64: - VirtualAddress: 20
102 # COFF-X86-64-NEXT: SymbolName: puts
103 # COFF-X86-64-NEXT: Type: IMAGE_REL_AMD64_REL32
105 # COFF-X86-64: - VirtualAddress: 25
106 # COFF-X86-64-NEXT: SymbolName: SomeOtherFunction
107 # COFF-X86-64-NEXT: Type: IMAGE_REL_AMD64_REL32
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
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'
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
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
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
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
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
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
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
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
186 # RUN: obj2yaml %p/Inputs/trivial-object-test.coff-armnt | FileCheck %s --check-prefix COFF-ARMNT
188 # COFF-ARMNT: header:
189 # COFF-ARMNT-NEXT: Machine: IMAGE_FILE_MACHINE_ARMNT
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
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
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: ''
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: ''
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
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
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
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
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
266 # RUN: obj2yaml %p/Inputs/trivial-object-test.coff-arm64 | FileCheck %s --check-prefix COFF-ARM64
268 # COFF-ARM64: header:
269 # COFF-ARM64-NEXT: Machine: IMAGE_FILE_MACHINE_ARM64
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
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
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: ''
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: ''
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
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
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
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
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
346 # RUN: obj2yaml %p/Inputs/trivial-object-test.elf-mipsel | FileCheck %s --check-prefix ELF-MIPSEL
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: 0x0000000000000004
360 # ELF-MIPSEL-NEXT: Content: 0000023C00004224E8FFBD271400BFAF1000B0AF218059000000018E000024240000198E09F8200321E000020000198E09F8200321E00002000002241000B08F1400BF8F0800E0031800BD27
361 # ELF-MIPSEL-NEXT: - Name: .rel.text
362 # ELF-MIPSEL-NEXT: Type: SHT_REL
363 # ELF-MIPSEL-NEXT: Link: .symtab
364 # ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000004
365 # ELF-MIPSEL-NEXT: EntSize: 0x0000000000000008
366 # ELF-MIPSEL-NEXT: Info: .text
367 # ELF-MIPSEL-NEXT: Relocations:
368 # ELF-MIPSEL-NEXT: - Offset: 0x0000000000000000
369 # ELF-MIPSEL-NEXT: Symbol: _gp_disp
370 # ELF-MIPSEL-NEXT: Type: R_MIPS_HI16
371 # ELF-MIPSEL-NEXT: - Offset: 0x0000000000000004
372 # ELF-MIPSEL-NEXT: Symbol: _gp_disp
373 # ELF-MIPSEL-NEXT: Type: R_MIPS_LO16
374 # ELF-MIPSEL-NEXT: - Offset: 0x0000000000000018
375 # ELF-MIPSEL-NEXT: Symbol: '$.str'
376 # ELF-MIPSEL-NEXT: Type: R_MIPS_GOT16
377 # ELF-MIPSEL-NEXT: - Offset: 0x000000000000001C
378 # ELF-MIPSEL-NEXT: Symbol: '$.str'
379 # ELF-MIPSEL-NEXT: Type: R_MIPS_LO16
380 # ELF-MIPSEL-NEXT: - Offset: 0x0000000000000020
381 # ELF-MIPSEL-NEXT: Symbol: puts
382 # ELF-MIPSEL-NEXT: Type: R_MIPS_CALL16
383 # ELF-MIPSEL-NEXT: - Offset: 0x000000000000002C
384 # ELF-MIPSEL-NEXT: Symbol: SomeOtherFunction
385 # ELF-MIPSEL-NEXT: Type: R_MIPS_CALL16
386 # ELF-MIPSEL-NEXT: - Name: .data
387 # ELF-MIPSEL-NEXT: Type: SHT_PROGBITS
388 # ELF-MIPSEL-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
389 # ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000004
390 # ELF-MIPSEL-NEXT: - Name: .bss
391 # ELF-MIPSEL-NEXT: Type: SHT_NOBITS
392 # ELF-MIPSEL-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
393 # ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000004
394 # ELF-MIPSEL-NEXT: Size: 0x0000000000000004
395 # ELF-MIPSEL-NEXT: - Name: .mdebug.abi32
396 # ELF-MIPSEL-NEXT: Type: SHT_PROGBITS
397 # ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000001
398 # ELF-MIPSEL-NEXT: - Name: .rodata.str1.1
399 # ELF-MIPSEL-NEXT: Type: SHT_PROGBITS
400 # ELF-MIPSEL-NEXT: Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
401 # ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000001
402 # ELF-MIPSEL-NEXT: EntSize: 0x0000000000000001
403 # ELF-MIPSEL-NEXT: Content: 48656C6C6F20576F726C640A00
404 # ELF-MIPSEL-NEXT: - Name: .reginfo
405 # ELF-MIPSEL-NEXT: Type: SHT_MIPS_REGINFO
406 # ELF-MIPSEL-NEXT: Flags: [ SHF_ALLOC ]
407 # ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000001
408 # ELF-MIPSEL-NEXT: Content: '000000000000000000000000000000000000000000000000'
409 # ELF-MIPSEL-NEXT: - Name: .MIPS.abiflags
410 # ELF-MIPSEL-NEXT: Type: SHT_MIPS_ABIFLAGS
411 # ELF-MIPSEL-NEXT: Flags: [ SHF_ALLOC ]
412 # ELF-MIPSEL-NEXT: AddressAlign: 0x0000000000000008
413 # ELF-MIPSEL-NEXT: ISA: MIPS32
414 # ELF-MIPSEL-NEXT: ISARevision: 0x01
415 # ELF-MIPSEL-NEXT: FpABI: FP_DOUBLE
416 # ELF-MIPSEL-NEXT: GPRSize: REG_32
417 # ELF-MIPSEL-NEXT: CPR1Size: REG_32
418 # ELF-MIPSEL-NEXT: Flags1: [ ODDSPREG ]
419 # ELF-MIPSEL-NEXT: Symbols:
420 # ELF-MIPSEL-NEXT: - Name: trivial.ll
421 # ELF-MIPSEL-NEXT: Type: STT_FILE
422 # ELF-MIPSEL-NEXT: Index: SHN_ABS
423 # ELF-MIPSEL-NEXT: - Name: '$.str'
424 # ELF-MIPSEL-NEXT: Type: STT_OBJECT
425 # ELF-MIPSEL-NEXT: Section: .rodata.str1.1
426 # ELF-MIPSEL-NEXT: Size: 0x000000000000000D
427 # ELF-MIPSEL-NEXT: - Name: .text
428 # ELF-MIPSEL-NEXT: Type: STT_SECTION
429 # ELF-MIPSEL-NEXT: Section: .text
430 # ELF-MIPSEL-NEXT: - Name: .data
431 # ELF-MIPSEL-NEXT: Type: STT_SECTION
432 # ELF-MIPSEL-NEXT: Section: .data
433 # ELF-MIPSEL-NEXT: - Name: .bss
434 # ELF-MIPSEL-NEXT: Type: STT_SECTION
435 # ELF-MIPSEL-NEXT: Section: .bss
436 # ELF-MIPSEL-NEXT: - Name: .mdebug.abi32
437 # ELF-MIPSEL-NEXT: Type: STT_SECTION
438 # ELF-MIPSEL-NEXT: Section: .mdebug.abi32
439 # ELF-MIPSEL-NEXT: - Name: .rodata.str1.1
440 # ELF-MIPSEL-NEXT: Type: STT_SECTION
441 # ELF-MIPSEL-NEXT: Section: .rodata.str1.1
442 # ELF-MIPSEL-NEXT: - Name: .reginfo
443 # ELF-MIPSEL-NEXT: Type: STT_SECTION
444 # ELF-MIPSEL-NEXT: Section: .reginfo
445 # ELF-MIPSEL-NEXT: - Name: .MIPS.abiflags
446 # ELF-MIPSEL-NEXT: Type: STT_SECTION
447 # ELF-MIPSEL-NEXT: Section: .MIPS.abiflags
448 # ELF-MIPSEL-NEXT: - Name: main
449 # ELF-MIPSEL-NEXT: Type: STT_FUNC
450 # ELF-MIPSEL-NEXT: Section: .text
451 # ELF-MIPSEL-NEXT: Binding: STB_GLOBAL
452 # ELF-MIPSEL-NEXT: Size: 0x000000000000004C
453 # ELF-MIPSEL-NEXT: - Name: var
454 # ELF-MIPSEL-NEXT: Type: STT_OBJECT
455 # ELF-MIPSEL-NEXT: Section: .bss
456 # ELF-MIPSEL-NEXT: Binding: STB_GLOBAL
457 # ELF-MIPSEL-NEXT: Size: 0x0000000000000004
458 # ELF-MIPSEL-NEXT: - Name: SomeOtherFunction
459 # ELF-MIPSEL-NEXT: Binding: STB_GLOBAL
460 # ELF-MIPSEL-NEXT: - Name: _gp_disp
461 # ELF-MIPSEL-NEXT: Binding: STB_GLOBAL
462 # ELF-MIPSEL-NEXT: - Name: puts
463 # ELF-MIPSEL-NEXT: Binding: STB_GLOBAL
465 # RUN: obj2yaml %p/Inputs/trivial-object-test.elf-mips64el | FileCheck %s --check-prefix ELF-MIPS64EL
467 # ELF-MIPS64EL: FileHeader:
468 # ELF-MIPS64EL-NEXT: Class: ELFCLASS64
469 # ELF-MIPS64EL-NEXT: Data: ELFDATA2LSB
470 # ELF-MIPS64EL-NEXT: Type: ET_REL
471 # ELF-MIPS64EL-NEXT: Machine: EM_MIPS
472 # ELF-MIPS64EL-NEXT: Flags: [ EF_MIPS_ARCH_3 ]
473 # ELF-MIPS64EL-NEXT: Sections:
474 # ELF-MIPS64EL-NEXT: - Name: .text
475 # ELF-MIPS64EL-NEXT: Type: SHT_PROGBITS
476 # ELF-MIPS64EL-NEXT: Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
477 # ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000010
478 # ELF-MIPS64EL-NEXT: - Name: .data
479 # ELF-MIPS64EL-NEXT: Type: SHT_PROGBITS
480 # ELF-MIPS64EL-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
481 # ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000010
482 # ELF-MIPS64EL-NEXT: Content: '00000000000000000000000000000000'
483 # ELF-MIPS64EL-NEXT: - Name: .rela.data
484 # ELF-MIPS64EL-NEXT: Type: SHT_RELA
485 # ELF-MIPS64EL-NEXT: Link: .symtab
486 # ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000008
487 # ELF-MIPS64EL-NEXT: EntSize: 0x0000000000000018
488 # ELF-MIPS64EL-NEXT: Info: .data
489 # ELF-MIPS64EL-NEXT: Relocations:
490 # ELF-MIPS64EL-NEXT: - Offset: 0
491 # ELF-MIPS64EL-NEXT: Symbol: zed
492 # ELF-MIPS64EL-NEXT: Type: R_MIPS_64
493 # ELF-MIPS64EL-NEXT: - Name: .bss
494 # ELF-MIPS64EL-NEXT: Type: SHT_NOBITS
495 # ELF-MIPS64EL-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
496 # ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000010
497 # ELF-MIPS64EL-NEXT: - Name: .MIPS.options
498 # ELF-MIPS64EL-NEXT: Type: SHT_MIPS_OPTIONS
499 # ELF-MIPS64EL-NEXT: Flags: [ SHF_ALLOC, SHF_MIPS_NOSTRIP ]
500 # ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000008
501 # ELF-MIPS64EL-NEXT: EntSize: 0x0000000000000001
502 # ELF-MIPS64EL-NEXT: Content: '01280000000000000000000000000000000000000000000000000000000000000000000000000000'
503 # ELF-MIPS64EL-NEXT: - Name: .pdr
504 # ELF-MIPS64EL-NEXT: Type: SHT_PROGBITS
505 # ELF-MIPS64EL-NEXT: AddressAlign: 0x0000000000000004
506 # ELF-MIPS64EL-NEXT: Symbols:
507 # ELF-MIPS64EL-NEXT: - Name: .text
508 # ELF-MIPS64EL-NEXT: Type: STT_SECTION
509 # ELF-MIPS64EL-NEXT: Section: .text
510 # ELF-MIPS64EL-NEXT: - Name: .data
511 # ELF-MIPS64EL-NEXT: Type: STT_SECTION
512 # ELF-MIPS64EL-NEXT: Section: .data
513 # ELF-MIPS64EL-NEXT: - Name: .bss
514 # ELF-MIPS64EL-NEXT: Type: STT_SECTION
515 # ELF-MIPS64EL-NEXT: Section: .bss
516 # ELF-MIPS64EL-NEXT: - Name: bar
517 # ELF-MIPS64EL-NEXT: Section: .data
518 # ELF-MIPS64EL-NEXT: - Name: .MIPS.options
519 # ELF-MIPS64EL-NEXT: Type: STT_SECTION
520 # ELF-MIPS64EL-NEXT: Section: .MIPS.options
521 # ELF-MIPS64EL-NEXT: - Name: .pdr
522 # ELF-MIPS64EL-NEXT: Type: STT_SECTION
523 # ELF-MIPS64EL-NEXT: Section: .pdr
524 # ELF-MIPS64EL-NEXT: - Name: zed
525 # ELF-MIPS64EL-NEXT: Binding: STB_GLOBAL
527 # RUN: yaml2obj %s > %t-x86-64
528 # RUN: obj2yaml %t-x86-64 | FileCheck %s --check-prefix ELF-X86-64
530 # ELF-X86-64: FileHeader:
531 # ELF-X86-64-NEXT: Class: ELFCLASS64
532 # ELF-X86-64-NEXT: Data: ELFDATA2LSB
533 # ELF-X86-64-NEXT: OSABI: ELFOSABI_GNU
534 # ELF-X86-64-NEXT: Type: ET_REL
535 # ELF-X86-64-NEXT: Machine: EM_X86_64
536 # ELF-X86-64-NEXT: Sections:
537 # ELF-X86-64-NEXT: - Name: .text
538 # ELF-X86-64-NEXT: Type: SHT_PROGBITS
539 # ELF-X86-64-NEXT: Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
540 # ELF-X86-64-NEXT: AddressAlign: 0x0000000000000010
541 # ELF-X86-64-NEXT: Content: 4883EC08C744240400000000BF00000000E80000000030C0E8000000008B4424044883C408C3
542 # ELF-X86-64-NEXT: - Name: .rodata.str1.1
543 # ELF-X86-64-NEXT: Type: SHT_PROGBITS
544 # ELF-X86-64-NEXT: Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
545 # ELF-X86-64-NEXT: Address: 0x0000000000000026
546 # ELF-X86-64-NEXT: AddressAlign: 0x0000000000000001
547 # ELF-X86-64-NEXT: Content: 48656C6C6F20576F726C642100
548 # ELF-X86-64-NEXT: - Name: .note.GNU-stack
549 # ELF-X86-64-NEXT: Type: SHT_PROGBITS
550 # ELF-X86-64-NEXT: Address: 0x0000000000000033
551 # ELF-X86-64-NEXT: AddressAlign: 0x0000000000000001
552 # ELF-X86-64-NEXT: - Name: .rela.text
553 # ELF-X86-64-NEXT: Type: SHT_RELA
554 # ELF-X86-64-NEXT: Address: 0x0000000000000038
555 # ELF-X86-64-NEXT: Link: .symtab
556 # ELF-X86-64-NEXT: AddressAlign: 0x0000000000000008
557 # ELF-X86-64-NEXT: EntSize: 0x0000000000000018
558 # ELF-X86-64-NEXT: Info: .text
559 # ELF-X86-64-NEXT: Relocations:
560 # ELF-X86-64-NEXT: - Offset: 0x000000000000000D
561 # ELF-X86-64-NEXT: Symbol: .rodata.str1.1
562 # ELF-X86-64-NEXT: Type: R_X86_64_32S
563 # ELF-X86-64-NEXT: - Offset: 0x0000000000000012
564 # ELF-X86-64-NEXT: Symbol: puts
565 # ELF-X86-64-NEXT: Type: R_X86_64_PC32
566 # ELF-X86-64-NEXT: Addend: -4
567 # ELF-X86-64-NEXT: - Offset: 0x0000000000000019
568 # ELF-X86-64-NEXT: Symbol: SomeOtherFunction
569 # ELF-X86-64-NEXT: Type: R_X86_64_PC32
570 # ELF-X86-64-NEXT: Addend: -4
571 # ELF-X86-64-NEXT: Symbols:
572 # ELF-X86-64-NEXT: - Name: trivial-object-test.s
573 # ELF-X86-64-NEXT: Type: STT_FILE
574 # ELF-X86-64-NEXT: Index: SHN_ABS
575 # ELF-X86-64-NEXT: - Name: .text
576 # ELF-X86-64-NEXT: Type: STT_SECTION
577 # ELF-X86-64-NEXT: Section: .text
578 # ELF-X86-64-NEXT: - Name: .rodata.str1.1
579 # ELF-X86-64-NEXT: Type: STT_SECTION
580 # ELF-X86-64-NEXT: Section: .rodata.str1.1
581 # ELF-X86-64-NEXT: - Name: .note.GNU-stack
582 # ELF-X86-64-NEXT: Type: STT_SECTION
583 # ELF-X86-64-NEXT: Section: .note.GNU-stack
584 # ELF-X86-64-NEXT: - Name: main
585 # ELF-X86-64-NEXT: Type: STT_FUNC
586 # ELF-X86-64-NEXT: Section: .text
587 # ELF-X86-64-NEXT: Binding: STB_GLOBAL
588 # ELF-X86-64-NEXT: Size: 0x0000000000000026
589 # ELF-X86-64-NEXT: - Name: SomeOtherFunction
590 # ELF-X86-64-NEXT: Binding: STB_GLOBAL
591 # ELF-X86-64-NEXT: - Name: puts
592 # ELF-X86-64-NEXT: Binding: STB_GLOBAL
604 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
605 AddressAlign: 0x0000000000000010
606 Content: 4883EC08C744240400000000BF00000000E80000000030C0E8000000008B4424044883C408C3
607 - Name: .rodata.str1.1
609 Flags: [ SHF_ALLOC, SHF_MERGE, SHF_STRINGS ]
610 Address: 0x0000000000000026
611 AddressAlign: 0x0000000000000001
612 Content: 48656C6C6F20576F726C642100
613 - Name: .note.GNU-stack
615 Address: 0x0000000000000033
616 AddressAlign: 0x0000000000000001
619 Address: 0x0000000000000038
621 AddressAlign: 0x0000000000000008
622 EntSize: 0x0000000000000018
625 - Offset: 0x000000000000000D
626 Symbol: .rodata.str1.1
628 - Offset: 0x0000000000000012
632 - Offset: 0x0000000000000019
633 Symbol: SomeOtherFunction
637 - Name: trivial-object-test.s
643 - Name: .rodata.str1.1
645 Section: .rodata.str1.1
646 - Name: .note.GNU-stack
648 Section: .note.GNU-stack
653 Size: 0x0000000000000026
654 - Name: SomeOtherFunction
659 # RUN: obj2yaml %p/Inputs/trivial-object-test.elf-avr | FileCheck %s --check-prefix ELF-AVR
661 # ELF-AVR: FileHeader:
662 # ELF-AVR-NEXT: Class: ELFCLASS32
663 # ELF-AVR-NEXT: Data: ELFDATA2LSB
664 # ELF-AVR-NEXT: Type: ET_EXEC
665 # ELF-AVR-NEXT: Machine: EM_AVR
666 # ELF-AVR-NEXT: Flags: [ EF_AVR_ARCH_AVR2 ]
667 # ELF-AVR-NEXT: Sections:
668 # ELF-AVR-NEXT: - Name: .text
669 # ELF-AVR-NEXT: Type: SHT_PROGBITS
670 # ELF-AVR-NEXT: Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
671 # ELF-AVR-NEXT: AddressAlign: 0x0000000000000002
672 # ELF-AVR-NEXT: Content: C20E0895
673 # ELF-AVR-NEXT: - Name: .data
674 # ELF-AVR-NEXT: Type: SHT_PROGBITS
675 # ELF-AVR-NEXT: Flags: [ SHF_WRITE, SHF_ALLOC ]
676 # ELF-AVR-NEXT: Address: 0x0000000000800060
677 # ELF-AVR-NEXT: AddressAlign: 0x0000000000000001
678 # ELF-AVR-NEXT: Symbols:
679 # ELF-AVR-NEXT: - Name: .text
680 # ELF-AVR-NEXT: Type: STT_SECTION
681 # ELF-AVR-NEXT: Section: .text
682 # ELF-AVR-NEXT: - Name: .data
683 # ELF-AVR-NEXT: Type: STT_SECTION
684 # ELF-AVR-NEXT: Section: .data
685 # ELF-AVR-NEXT: Value: 0x0000000000800060
686 # ELF-AVR-NEXT: - Name: a.o
687 # ELF-AVR-NEXT: Type: STT_FILE
688 # ELF-AVR-NEXT: Index: SHN_ABS
689 # ELF-AVR-NEXT: - Name: main
690 # ELF-AVR-NEXT: Section: .text
691 # ELF-AVR-NEXT: - Name: __trampolines_start
692 # ELF-AVR-NEXT: Section: .text
693 # ELF-AVR-NEXT: Binding: STB_GLOBAL
694 # ELF-AVR-NEXT: - Name: _etext
695 # ELF-AVR-NEXT: Section: .text
696 # ELF-AVR-NEXT: Binding: STB_GLOBAL
697 # ELF-AVR-NEXT: Value: 0x0000000000000004
698 # ELF-AVR-NEXT: - Name: __data_load_end
699 # ELF-AVR-NEXT: Index: SHN_ABS
700 # ELF-AVR-NEXT: Binding: STB_GLOBAL
701 # ELF-AVR-NEXT: Value: 0x0000000000000004
702 # ELF-AVR-NEXT: - Name: __trampolines_end
703 # ELF-AVR-NEXT: Section: .text
704 # ELF-AVR-NEXT: Binding: STB_GLOBAL
705 # ELF-AVR-NEXT: - Name: __data_load_start
706 # ELF-AVR-NEXT: Index: SHN_ABS
707 # ELF-AVR-NEXT: Binding: STB_GLOBAL
708 # ELF-AVR-NEXT: Value: 0x0000000000000004
709 # ELF-AVR-NEXT: - Name: __dtors_end
710 # ELF-AVR-NEXT: Section: .text
711 # ELF-AVR-NEXT: Binding: STB_GLOBAL
712 # ELF-AVR-NEXT: - Name: __eeprom_end
713 # ELF-AVR-NEXT: Section: .data
714 # ELF-AVR-NEXT: Binding: STB_GLOBAL
715 # ELF-AVR-NEXT: Value: 0x0000000000810000
716 # ELF-AVR-NEXT: - Name: __ctors_start
717 # ELF-AVR-NEXT: Section: .text
718 # ELF-AVR-NEXT: Binding: STB_GLOBAL
719 # ELF-AVR-NEXT: - Name: __dtors_start
720 # ELF-AVR-NEXT: Section: .text
721 # ELF-AVR-NEXT: Binding: STB_GLOBAL
722 # ELF-AVR-NEXT: - Name: __ctors_end
723 # ELF-AVR-NEXT: Section: .text
724 # ELF-AVR-NEXT: Binding: STB_GLOBAL
725 # ELF-AVR-NEXT: - Name: _edata
726 # ELF-AVR-NEXT: Section: .data
727 # ELF-AVR-NEXT: Binding: STB_GLOBAL
728 # ELF-AVR-NEXT: Value: 0x0000000000800060
729 # ELF-AVR-NEXT: - Name: _end
730 # ELF-AVR-NEXT: Section: .data
731 # ELF-AVR-NEXT: Binding: STB_GLOBAL
732 # ELF-AVR-NEXT: Value: 0x0000000000800060
734 # RUN: obj2yaml %p/Inputs/trivial-object-test.wasm | FileCheck %s --check-prefix WASM
737 # WASM-NEXT: FileHeader:
738 # WASM-NEXT: Version: 0x00000001
739 # WASM: - Type: CUSTOM
740 # WASM-NEXT: Name: linking
741 # WASM-NEXT: Version: 2
742 # WASM-NEXT: SymbolTable:
743 # WASM-NEXT: - Index: 0
744 # WASM-NEXT: Kind: FUNCTION
745 # WASM-NEXT: Name: main
746 # WASM-NEXT: Flags: [ ]
747 # WASM-NEXT: Function: 2
748 # WASM-NEXT: - Index: 1
749 # WASM-NEXT: Kind: DATA
750 # WASM-NEXT: Name: .L.str
751 # WASM-NEXT: Flags: [ BINDING_LOCAL ]
752 # WASM-NEXT: Segment: 0
753 # WASM-NEXT: Size: 13
754 # WASM-NEXT: - Index: 2
757 # WASM: Name: .LSomeOtherFunction_bitcast
759 # WASM: Name: SomeOtherFunction
763 # WASM-NEXT: - Index: 0
764 # WASM-NEXT: Name: .rodata..L.str
765 # WASM-NEXT: Alignment: 0
766 # WASM-NEXT: Flags: [ ]
767 # WASM-NEXT: - Index: 1