[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Object / obj2yaml.test
blob05860471e9126292d4524d67e96448cab8e22b47
1 # RUN: obj2yaml %p/Inputs/trivial-object-test.coff-i386 | FileCheck %s --check-prefix COFF-I386
3 # COFF-I386: header:
4 # COFF-I386-NEXT:  Machine: IMAGE_FILE_MACHINE_I386
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
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
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
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:    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: ...
478 # RUN: obj2yaml %p/Inputs/trivial-object-test.elf-mips64el | FileCheck %s --check-prefix ELF-MIPS64EL
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: ...
550 # RUN: yaml2obj %s -o %t-x86-64
551 # RUN: obj2yaml %t-x86-64 | FileCheck %s --check-prefix ELF-X86-64
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
616 --- !ELF
617 FileHeader:
618   Class:   ELFCLASS64
619   Data:    ELFDATA2LSB
620   OSABI:   ELFOSABI_GNU
621   Type:    ET_REL
622   Machine: EM_X86_64
623 Sections:
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
658 Symbols:
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
681 # RUN: obj2yaml %p/Inputs/trivial-object-test.elf-avr | FileCheck %s --check-prefix ELF-AVR
683 # ELF-AVR:      FileHeader:
684 # ELF-AVR-NEXT:   Class:           ELFCLASS32
685 # ELF-AVR-NEXT:   Data:            ELFDATA2LSB
686 # ELF-AVR-NEXT:   Type:            ET_EXEC
687 # ELF-AVR-NEXT:   Machine:         EM_AVR
688 # ELF-AVR-NEXT:   Flags:           [ EF_AVR_ARCH_AVR2, EF_AVR_LINKRELAX_PREPARED ]
689 # ELF-AVR-NEXT: ProgramHeaders:
690 # ELF-AVR-NEXT:  - Type:     PT_LOAD
691 # ELF-AVR-NEXT:    Flags:    [ PF_X, PF_R ]
692 # ELF-AVR-NEXT:    FirstSec: .text
693 # ELF-AVR-NEXT:    LastSec:  .text
694 # ELF-AVR-NEXT:    Align:    0x2
695 # ELF-AVR-NEXT:  - Type:     PT_LOAD
696 # ELF-AVR-NEXT:    Flags:    [ PF_W, PF_R ]
697 # ELF-AVR-NEXT:    FirstSec: .data
698 # ELF-AVR-NEXT:    LastSec:  .data
699 # ELF-AVR-NEXT:    VAddr:    0x800060
700 # ELF-AVR-NEXT:    PAddr:    0x4
701 # ELF-AVR-NEXT: Sections:
702 # ELF-AVR-NEXT:   - Name:            .text
703 # ELF-AVR-NEXT:     Type:            SHT_PROGBITS
704 # ELF-AVR-NEXT:     Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
705 # ELF-AVR-NEXT:     AddressAlign:    0x2
706 # ELF-AVR-NEXT:     Content:         C20E0895
707 # ELF-AVR-NEXT:   - Name:            .data
708 # ELF-AVR-NEXT:     Type:            SHT_PROGBITS
709 # ELF-AVR-NEXT:     Flags:           [ SHF_WRITE, SHF_ALLOC ]
710 # ELF-AVR-NEXT:     Address:         0x800060
711 # ELF-AVR-NEXT:     AddressAlign:    0x1
712 # ELF-AVR-NEXT: Symbols:
713 # ELF-AVR-NEXT:     - Name:           .text
714 # ELF-AVR-NEXT:       Type:            STT_SECTION
715 # ELF-AVR-NEXT:       Section:         .text
716 # ELF-AVR-NEXT:     - Name:           .data
717 # ELF-AVR-NEXT:       Type:            STT_SECTION
718 # ELF-AVR-NEXT:       Section:         .data
719 # ELF-AVR-NEXT:       Value:           0x800060
720 # ELF-AVR-NEXT:     - Name:            a.o
721 # ELF-AVR-NEXT:       Type:            STT_FILE
722 # ELF-AVR-NEXT:       Index:           SHN_ABS
723 # ELF-AVR-NEXT:     - Name:            main
724 # ELF-AVR-NEXT:       Section:         .text
725 # ELF-AVR-NEXT:     - Name:            __trampolines_start
726 # ELF-AVR-NEXT:       Section:         .text
727 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
728 # ELF-AVR-NEXT:     - Name:            _etext
729 # ELF-AVR-NEXT:       Section:         .text
730 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
731 # ELF-AVR-NEXT:       Value:           0x4
732 # ELF-AVR-NEXT:     - Name:            __data_load_end
733 # ELF-AVR-NEXT:       Index:           SHN_ABS
734 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
735 # ELF-AVR-NEXT:       Value:           0x4
736 # ELF-AVR-NEXT:     - Name:            __trampolines_end
737 # ELF-AVR-NEXT:       Section:         .text
738 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
739 # ELF-AVR-NEXT:     - Name:            __data_load_start
740 # ELF-AVR-NEXT:       Index:           SHN_ABS
741 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
742 # ELF-AVR-NEXT:       Value:           0x4
743 # ELF-AVR-NEXT:     - Name:            __dtors_end
744 # ELF-AVR-NEXT:       Section:         .text
745 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
746 # ELF-AVR-NEXT:     - Name:            __eeprom_end
747 # ELF-AVR-NEXT:       Section:         .data
748 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
749 # ELF-AVR-NEXT:       Value:           0x810000
750 # ELF-AVR-NEXT:     - Name:            __ctors_start
751 # ELF-AVR-NEXT:       Section:         .text
752 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
753 # ELF-AVR-NEXT:     - Name:            __dtors_start
754 # ELF-AVR-NEXT:       Section:         .text
755 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
756 # ELF-AVR-NEXT:     - Name:            __ctors_end
757 # ELF-AVR-NEXT:       Section:         .text
758 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
759 # ELF-AVR-NEXT:     - Name:            _edata
760 # ELF-AVR-NEXT:       Section:         .data
761 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
762 # ELF-AVR-NEXT:       Value:           0x800060
763 # ELF-AVR-NEXT:     - Name:            _end
764 # ELF-AVR-NEXT:       Section:         .data
765 # ELF-AVR-NEXT:       Binding:         STB_GLOBAL
766 # ELF-AVR-NEXT:       Value:           0x800060
768 # RUN: obj2yaml %p/Inputs/trivial-object-test.wasm | FileCheck %s --check-prefix WASM
770 # WASM:      --- !WASM
771 # WASM-NEXT: FileHeader:
772 # WASM-NEXT:   Version:         0x1
773 # WASM:        - Type:            CUSTOM
774 # WASM-NEXT:     Name:            linking
775 # WASM-NEXT:     Version:         2
776 # WASM-NEXT:     SymbolTable:
777 # WASM-NEXT:       - Index:           0
778 # WASM-NEXT:         Kind:            FUNCTION
779 # WASM-NEXT:         Name:            main
780 # WASM-NEXT:         Flags:           [  ]
781 # WASM-NEXT:         Function:        2
782 # WASM-NEXT:       - Index:           1
783 # WASM-NEXT:         Kind:            DATA
784 # WASM-NEXT:         Name:            .L.str
785 # WASM-NEXT:         Flags:           [ BINDING_LOCAL ]
786 # WASM-NEXT:         Segment:         0
787 # WASM-NEXT:         Size:            13
788 # WASM-NEXT:       - Index:           2
789 # WASM:              Name:            puts
790 # WASM:            - Index:           3
791 # WASM:              Name:            .LSomeOtherFunction_bitcast
792 # WASM:            - Index:           4
793 # WASM:              Name:            SomeOtherFunction
794 # WASM:            - Index:           5
795 # WASM:              Name:            var
796 # WASM:          SegmentInfo:
797 # WASM-NEXT:       - Index:           0
798 # WASM-NEXT:         Name:            .rodata..L.str
799 # WASM-NEXT:         Alignment:       0
800 # WASM-NEXT:         Flags:           [  ]
801 # WASM-NEXT:       - Index:           1
802 # WASM:      ...