1 ; RUN: llc -mcpu=mvp -filetype=obj %p/Inputs/locals-duplicate1.ll -o %t1.o
2 ; RUN: llc -mcpu=mvp -filetype=obj %p/Inputs/locals-duplicate2.ll -o %t2.o
3 ; RUN: wasm-ld --export-dynamic --no-entry -o %t.wasm %t1.o %t2.o
4 ; RUN: obj2yaml %t.wasm | FileCheck %s
7 ; CHECK-NEXT: FileHeader:
8 ; CHECK-NEXT: Version: 0x1
9 ; CHECK-NEXT: Sections:
10 ; CHECK-NEXT: - Type: TYPE
11 ; CHECK-NEXT: Signatures:
12 ; CHECK-NEXT: - Index: 0
13 ; CHECK-NEXT: ParamTypes: []
14 ; CHECK-NEXT: ReturnTypes:
16 ; CHECK-NEXT: - Type: FUNCTION
17 ; CHECK-NEXT: FunctionTypes: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19 ; CHECK-NEXT: - Type: TABLE
21 ; CHECK-NEXT: - Index: 0
22 ; CHECK-NEXT: ElemType: FUNCREF
24 ; CHECK-NEXT: Flags: [ HAS_MAX ]
25 ; CHECK-NEXT: Minimum: 0x7
26 ; CHECK-NEXT: Maximum: 0x7
27 ; CHECK-NEXT: - Type: MEMORY
28 ; CHECK-NEXT: Memories:
29 ; CHECK-NEXT: - Minimum: 0x2
30 ; CHECK-NEXT: - Type: GLOBAL
31 ; CHECK-NEXT: Globals:
32 ; CHECK-NEXT: - Index: 0
33 ; CHECK-NEXT: Type: I32
34 ; CHECK-NEXT: Mutable: true
35 ; CHECK-NEXT: InitExpr:
36 ; CHECK-NEXT: Opcode: I32_CONST
37 ; CHECK-NEXT: Value: 66592
38 ; CHECK-NEXT: - Index: 1
39 ; CHECK-NEXT: Type: I32
40 ; CHECK-NEXT: Mutable: false
41 ; CHECK-NEXT: InitExpr:
42 ; CHECK-NEXT: Opcode: I32_CONST
43 ; CHECK-NEXT: Value: 1028
44 ; CHECK-NEXT: - Index: 2
45 ; CHECK-NEXT: Type: I32
46 ; CHECK-NEXT: Mutable: false
47 ; CHECK-NEXT: InitExpr:
48 ; CHECK-NEXT: Opcode: I32_CONST
49 ; CHECK-NEXT: Value: 1036
50 ; CHECK-NEXT: - Type: EXPORT
51 ; CHECK-NEXT: Exports:
52 ; CHECK-NEXT: - Name: memory
53 ; CHECK-NEXT: Kind: MEMORY
54 ; CHECK-NEXT: Index: 0
55 ; CHECK-NEXT: - Name: colliding_func2
56 ; CHECK-NEXT: Kind: FUNCTION
57 ; CHECK-NEXT: Index: 1
58 ; CHECK-NEXT: - Name: get_global1A
59 ; CHECK-NEXT: Kind: FUNCTION
60 ; CHECK-NEXT: Index: 3
61 ; CHECK-NEXT: - Name: get_global2A
62 ; CHECK-NEXT: Kind: FUNCTION
63 ; CHECK-NEXT: Index: 4
64 ; CHECK-NEXT: - Name: colliding_global2
65 ; CHECK-NEXT: Kind: GLOBAL
66 ; CHECK-NEXT: Index: 1
67 ; CHECK-NEXT: - Name: get_global3A
68 ; CHECK-NEXT: Kind: FUNCTION
69 ; CHECK-NEXT: Index: 5
70 ; CHECK-NEXT: - Name: get_func1A
71 ; CHECK-NEXT: Kind: FUNCTION
72 ; CHECK-NEXT: Index: 6
73 ; CHECK-NEXT: - Name: get_func2A
74 ; CHECK-NEXT: Kind: FUNCTION
75 ; CHECK-NEXT: Index: 7
76 ; CHECK-NEXT: - Name: get_func3A
77 ; CHECK-NEXT: Kind: FUNCTION
78 ; CHECK-NEXT: Index: 8
79 ; CHECK-NEXT: - Name: colliding_func1
80 ; CHECK-NEXT: Kind: FUNCTION
81 ; CHECK-NEXT: Index: 9
82 ; CHECK-NEXT: - Name: get_global1B
83 ; CHECK-NEXT: Kind: FUNCTION
84 ; CHECK-NEXT: Index: 12
85 ; CHECK-NEXT: - Name: colliding_global1
86 ; CHECK-NEXT: Kind: GLOBAL
87 ; CHECK-NEXT: Index: 2
88 ; CHECK-NEXT: - Name: get_global2B
89 ; CHECK-NEXT: Kind: FUNCTION
90 ; CHECK-NEXT: Index: 13
91 ; CHECK-NEXT: - Name: get_global3B
92 ; CHECK-NEXT: Kind: FUNCTION
93 ; CHECK-NEXT: Index: 14
94 ; CHECK-NEXT: - Name: get_func1B
95 ; CHECK-NEXT: Kind: FUNCTION
96 ; CHECK-NEXT: Index: 15
97 ; CHECK-NEXT: - Name: get_func2B
98 ; CHECK-NEXT: Kind: FUNCTION
99 ; CHECK-NEXT: Index: 16
100 ; CHECK-NEXT: - Name: get_func3B
101 ; CHECK-NEXT: Kind: FUNCTION
102 ; CHECK-NEXT: Index: 17
103 ; CHECK-NEXT: - Type: ELEM
104 ; CHECK-NEXT: Segments:
105 ; CHECK-NEXT: - Offset:
106 ; CHECK-NEXT: Opcode: I32_CONST
107 ; CHECK-NEXT: Value: 1
108 ; CHECK-NEXT: Functions: [ 0, 1, 2, 9, 10, 11 ]
109 ; CHECK-NEXT: - Type: CODE
110 ; CHECK-NEXT: Functions:
111 ; CHECK-NEXT: - Index: 0
112 ; CHECK-NEXT: Locals:
113 ; CHECK-NEXT: Body: 41020B
114 ; CHECK-NEXT: - Index: 1
115 ; CHECK-NEXT: Locals:
116 ; CHECK-NEXT: Body: 41020B
117 ; CHECK-NEXT: - Index: 2
118 ; CHECK-NEXT: Locals:
119 ; CHECK-NEXT: Body: 41020B
120 ; CHECK-NEXT: - Index: 3
121 ; CHECK-NEXT: Locals:
122 ; CHECK-NEXT: Body: 4180888080000B
123 ; CHECK-NEXT: - Index: 4
124 ; CHECK-NEXT: Locals:
125 ; CHECK-NEXT: Body: 4184888080000B
126 ; CHECK-NEXT: - Index: 5
127 ; CHECK-NEXT: Locals:
128 ; CHECK-NEXT: Body: 4188888080000B
129 ; CHECK-NEXT: - Index: 6
130 ; CHECK-NEXT: Locals:
131 ; CHECK-NEXT: Body: 4181808080000B
132 ; CHECK-NEXT: - Index: 7
133 ; CHECK-NEXT: Locals:
134 ; CHECK-NEXT: Body: 4182808080000B
135 ; CHECK-NEXT: - Index: 8
136 ; CHECK-NEXT: Locals:
137 ; CHECK-NEXT: Body: 4183808080000B
138 ; CHECK-NEXT: - Index: 9
139 ; CHECK-NEXT: Locals:
140 ; CHECK-NEXT: Body: 41020B
141 ; CHECK-NEXT: - Index: 10
142 ; CHECK-NEXT: Locals:
143 ; CHECK-NEXT: Body: 41020B
144 ; CHECK-NEXT: - Index: 11
145 ; CHECK-NEXT: Locals:
146 ; CHECK-NEXT: Body: 41020B
147 ; CHECK-NEXT: - Index: 12
148 ; CHECK-NEXT: Locals:
149 ; CHECK-NEXT: Body: 418C888080000B
150 ; CHECK-NEXT: - Index: 13
151 ; CHECK-NEXT: Locals:
152 ; CHECK-NEXT: Body: 4190888080000B
153 ; CHECK-NEXT: - Index: 14
154 ; CHECK-NEXT: Locals:
155 ; CHECK-NEXT: Body: 4194888080000B
156 ; CHECK-NEXT: - Index: 15
157 ; CHECK-NEXT: Locals:
158 ; CHECK-NEXT: Body: 4184808080000B
159 ; CHECK-NEXT: - Index: 16
160 ; CHECK-NEXT: Locals:
161 ; CHECK-NEXT: Body: 4185808080000B
162 ; CHECK-NEXT: - Index: 17
163 ; CHECK-NEXT: Locals:
164 ; CHECK-NEXT: Body: 4186808080000B
165 ; CHECK-NEXT: - Type: DATA
166 ; CHECK-NEXT: Segments:
167 ; CHECK-NEXT: - SectionOffset: 7
168 ; CHECK-NEXT: InitFlags: 0
169 ; CHECK-NEXT: Offset:
170 ; CHECK-NEXT: Opcode: I32_CONST
171 ; CHECK-NEXT: Value: 1024
172 ; CHECK-NEXT: Content: '010000000100000001000000010000000100000001000000'
173 ; CHECK-NEXT: - Type: CUSTOM
174 ; CHECK-NEXT: Name: name
175 ; CHECK-NEXT: FunctionNames:
176 ; CHECK-NEXT: - Index: 0
177 ; CHECK-NEXT: Name: colliding_func1
178 ; CHECK-NEXT: - Index: 1
179 ; CHECK-NEXT: Name: colliding_func2
180 ; CHECK-NEXT: - Index: 2
181 ; CHECK-NEXT: Name: colliding_func3
182 ; CHECK-NEXT: - Index: 3
183 ; CHECK-NEXT: Name: get_global1A
184 ; CHECK-NEXT: - Index: 4
185 ; CHECK-NEXT: Name: get_global2A
186 ; CHECK-NEXT: - Index: 5
187 ; CHECK-NEXT: Name: get_global3A
188 ; CHECK-NEXT: - Index: 6
189 ; CHECK-NEXT: Name: get_func1A
190 ; CHECK-NEXT: - Index: 7
191 ; CHECK-NEXT: Name: get_func2A
192 ; CHECK-NEXT: - Index: 8
193 ; CHECK-NEXT: Name: get_func3A
194 ; CHECK-NEXT: - Index: 9
195 ; CHECK-NEXT: Name: colliding_func1
196 ; CHECK-NEXT: - Index: 10
197 ; CHECK-NEXT: Name: colliding_func2
198 ; CHECK-NEXT: - Index: 11
199 ; CHECK-NEXT: Name: colliding_func3
200 ; CHECK-NEXT: - Index: 12
201 ; CHECK-NEXT: Name: get_global1B
202 ; CHECK-NEXT: - Index: 13
203 ; CHECK-NEXT: Name: get_global2B
204 ; CHECK-NEXT: - Index: 14
205 ; CHECK-NEXT: Name: get_global3B
206 ; CHECK-NEXT: - Index: 15
207 ; CHECK-NEXT: Name: get_func1B
208 ; CHECK-NEXT: - Index: 16
209 ; CHECK-NEXT: Name: get_func2B
210 ; CHECK-NEXT: - Index: 17
211 ; CHECK-NEXT: Name: get_func3B
212 ; CHECK-NEXT: GlobalNames:
213 ; CHECK-NEXT: - Index: 0
214 ; CHECK-NEXT: Name: __stack_pointer
215 ; CHECK-NEXT: DataSegmentNames:
216 ; CHECK-NEXT: - Index: 0
217 ; CHECK-NEXT: Name: .data
221 ; RUN: wasm-ld -r --no-entry -o %t.reloc.wasm %t1.o %t2.o
222 ; RUN: obj2yaml %t.reloc.wasm | FileCheck -check-prefix=RELOC %s
225 ; RELOC-NEXT: FileHeader:
226 ; RELOC-NEXT: Version: 0x1
227 ; RELOC-NEXT: Sections:
228 ; RELOC-NEXT: - Type: TYPE
229 ; RELOC-NEXT: Signatures:
230 ; RELOC-NEXT: - Index: 0
231 ; RELOC-NEXT: ParamTypes: []
232 ; RELOC-NEXT: ReturnTypes:
234 ; RELOC-NEXT: - Type: IMPORT
235 ; RELOC-NEXT: Imports:
236 ; RELOC-NEXT: - Module: env
237 ; RELOC-NEXT: Field: __indirect_function_table
238 ; RELOC-NEXT: Kind: TABLE
240 ; RELOC-NEXT: Index: 0
241 ; RELOC-NEXT: ElemType: FUNCREF
242 ; RELOC-NEXT: Limits:
243 ; RELOC-NEXT: Minimum: 0x7
244 ; RELOC-NEXT: - Type: FUNCTION
245 ; RELOC-NEXT: FunctionTypes: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
247 ; RELOC-NEXT: - Type: MEMORY
248 ; RELOC-NEXT: Memories:
249 ; RELOC-NEXT: - Minimum: 0x1
250 ; RELOC-NEXT: - Type: ELEM
251 ; RELOC-NEXT: Segments:
252 ; RELOC-NEXT: - Offset:
253 ; RELOC-NEXT: Opcode: I32_CONST
254 ; RELOC-NEXT: Value: 1
255 ; RELOC-NEXT: Functions: [ 0, 1, 2, 9, 10, 11 ]
256 ; RELOC-NEXT: - Type: CODE
257 ; RELOC-NEXT: Relocations:
258 ; RELOC-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB
259 ; RELOC-NEXT: Index: 19
260 ; RELOC-NEXT: Offset: 0x13
261 ; RELOC-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB
262 ; RELOC-NEXT: Index: 3
263 ; RELOC-NEXT: Offset: 0x1C
264 ; RELOC-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB
265 ; RELOC-NEXT: Index: 20
266 ; RELOC-NEXT: Offset: 0x25
267 ; RELOC-NEXT: - Type: R_WASM_TABLE_INDEX_SLEB
268 ; RELOC-NEXT: Index: 17
269 ; RELOC-NEXT: Offset: 0x2E
270 ; RELOC-NEXT: - Type: R_WASM_TABLE_INDEX_SLEB
271 ; RELOC-NEXT: Index: 0
272 ; RELOC-NEXT: Offset: 0x37
273 ; RELOC-NEXT: - Type: R_WASM_TABLE_INDEX_SLEB
274 ; RELOC-NEXT: Index: 18
275 ; RELOC-NEXT: Offset: 0x40
276 ; RELOC-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB
277 ; RELOC-NEXT: Index: 11
278 ; RELOC-NEXT: Offset: 0x58
279 ; RELOC-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB
280 ; RELOC-NEXT: Index: 23
281 ; RELOC-NEXT: Offset: 0x61
282 ; RELOC-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB
283 ; RELOC-NEXT: Index: 24
284 ; RELOC-NEXT: Offset: 0x6A
285 ; RELOC-NEXT: - Type: R_WASM_TABLE_INDEX_SLEB
286 ; RELOC-NEXT: Index: 9
287 ; RELOC-NEXT: Offset: 0x73
288 ; RELOC-NEXT: - Type: R_WASM_TABLE_INDEX_SLEB
289 ; RELOC-NEXT: Index: 21
290 ; RELOC-NEXT: Offset: 0x7C
291 ; RELOC-NEXT: - Type: R_WASM_TABLE_INDEX_SLEB
292 ; RELOC-NEXT: Index: 22
293 ; RELOC-NEXT: Offset: 0x85
294 ; RELOC-NEXT: Functions:
295 ; RELOC-NEXT: - Index: 0
296 ; RELOC-NEXT: Locals:
297 ; RELOC-NEXT: Body: 41020B
298 ; RELOC-NEXT: - Index: 1
299 ; RELOC-NEXT: Locals:
300 ; RELOC-NEXT: Body: 41020B
301 ; RELOC-NEXT: - Index: 2
302 ; RELOC-NEXT: Locals:
303 ; RELOC-NEXT: Body: 41020B
304 ; RELOC-NEXT: - Index: 3
305 ; RELOC-NEXT: Locals:
306 ; RELOC-NEXT: Body: 4180808080000B
307 ; RELOC-NEXT: - Index: 4
308 ; RELOC-NEXT: Locals:
309 ; RELOC-NEXT: Body: 4188808080000B
310 ; RELOC-NEXT: - Index: 5
311 ; RELOC-NEXT: Locals:
312 ; RELOC-NEXT: Body: 4190808080000B
313 ; RELOC-NEXT: - Index: 6
314 ; RELOC-NEXT: Locals:
315 ; RELOC-NEXT: Body: 4181808080000B
316 ; RELOC-NEXT: - Index: 7
317 ; RELOC-NEXT: Locals:
318 ; RELOC-NEXT: Body: 4182808080000B
319 ; RELOC-NEXT: - Index: 8
320 ; RELOC-NEXT: Locals:
321 ; RELOC-NEXT: Body: 4183808080000B
322 ; RELOC-NEXT: - Index: 9
323 ; RELOC-NEXT: Locals:
324 ; RELOC-NEXT: Body: 41020B
325 ; RELOC-NEXT: - Index: 10
326 ; RELOC-NEXT: Locals:
327 ; RELOC-NEXT: Body: 41020B
328 ; RELOC-NEXT: - Index: 11
329 ; RELOC-NEXT: Locals:
330 ; RELOC-NEXT: Body: 41020B
331 ; RELOC-NEXT: - Index: 12
332 ; RELOC-NEXT: Locals:
333 ; RELOC-NEXT: Body: 4184808080000B
334 ; RELOC-NEXT: - Index: 13
335 ; RELOC-NEXT: Locals:
336 ; RELOC-NEXT: Body: 418C808080000B
337 ; RELOC-NEXT: - Index: 14
338 ; RELOC-NEXT: Locals:
339 ; RELOC-NEXT: Body: 4194808080000B
340 ; RELOC-NEXT: - Index: 15
341 ; RELOC-NEXT: Locals:
342 ; RELOC-NEXT: Body: 4184808080000B
343 ; RELOC-NEXT: - Index: 16
344 ; RELOC-NEXT: Locals:
345 ; RELOC-NEXT: Body: 4185808080000B
346 ; RELOC-NEXT: - Index: 17
347 ; RELOC-NEXT: Locals:
348 ; RELOC-NEXT: Body: 4186808080000B
349 ; RELOC-NEXT: - Type: DATA
350 ; RELOC-NEXT: Segments:
351 ; RELOC-NEXT: - SectionOffset: 6
352 ; RELOC-NEXT: InitFlags: 0
353 ; RELOC-NEXT: Offset:
354 ; RELOC-NEXT: Opcode: I32_CONST
355 ; RELOC-NEXT: Value: 0
356 ; RELOC-NEXT: Content: '0100000001000000'
357 ; RELOC-NEXT: - SectionOffset: 19
358 ; RELOC-NEXT: InitFlags: 0
359 ; RELOC-NEXT: Offset:
360 ; RELOC-NEXT: Opcode: I32_CONST
361 ; RELOC-NEXT: Value: 8
362 ; RELOC-NEXT: Content: '0100000001000000'
363 ; RELOC-NEXT: - SectionOffset: 32
364 ; RELOC-NEXT: InitFlags: 0
365 ; RELOC-NEXT: Offset:
366 ; RELOC-NEXT: Opcode: I32_CONST
367 ; RELOC-NEXT: Value: 16
368 ; RELOC-NEXT: Content: '0100000001000000'
369 ; RELOC-NEXT: - Type: CUSTOM
370 ; RELOC-NEXT: Name: linking
371 ; RELOC-NEXT: Version: 2
372 ; RELOC-NEXT: SymbolTable:
373 ; RELOC-NEXT: - Index: 0
374 ; RELOC-NEXT: Kind: FUNCTION
375 ; RELOC-NEXT: Name: colliding_func2
376 ; RELOC-NEXT: Flags: [ ]
377 ; RELOC-NEXT: Function: 1
378 ; RELOC-NEXT: - Index: 1
379 ; RELOC-NEXT: Kind: FUNCTION
380 ; RELOC-NEXT: Name: get_global1A
381 ; RELOC-NEXT: Flags: [ ]
382 ; RELOC-NEXT: Function: 3
383 ; RELOC-NEXT: - Index: 2
384 ; RELOC-NEXT: Kind: FUNCTION
385 ; RELOC-NEXT: Name: get_global2A
386 ; RELOC-NEXT: Flags: [ ]
387 ; RELOC-NEXT: Function: 4
388 ; RELOC-NEXT: - Index: 3
389 ; RELOC-NEXT: Kind: DATA
390 ; RELOC-NEXT: Name: colliding_global2
391 ; RELOC-NEXT: Flags: [ ]
392 ; RELOC-NEXT: Segment: 1
393 ; RELOC-NEXT: Size: 4
394 ; RELOC-NEXT: - Index: 4
395 ; RELOC-NEXT: Kind: FUNCTION
396 ; RELOC-NEXT: Name: get_global3A
397 ; RELOC-NEXT: Flags: [ ]
398 ; RELOC-NEXT: Function: 5
399 ; RELOC-NEXT: - Index: 5
400 ; RELOC-NEXT: Kind: FUNCTION
401 ; RELOC-NEXT: Name: get_func1A
402 ; RELOC-NEXT: Flags: [ ]
403 ; RELOC-NEXT: Function: 6
404 ; RELOC-NEXT: - Index: 6
405 ; RELOC-NEXT: Kind: FUNCTION
406 ; RELOC-NEXT: Name: get_func2A
407 ; RELOC-NEXT: Flags: [ ]
408 ; RELOC-NEXT: Function: 7
409 ; RELOC-NEXT: - Index: 7
410 ; RELOC-NEXT: Kind: FUNCTION
411 ; RELOC-NEXT: Name: get_func3A
412 ; RELOC-NEXT: Flags: [ ]
413 ; RELOC-NEXT: Function: 8
414 ; RELOC-NEXT: - Index: 8
415 ; RELOC-NEXT: Kind: TABLE
416 ; RELOC-NEXT: Name: __indirect_function_table
417 ; RELOC-NEXT: Flags: [ UNDEFINED, NO_STRIP ]
418 ; RELOC-NEXT: Table: 0
419 ; RELOC-NEXT: - Index: 9
420 ; RELOC-NEXT: Kind: FUNCTION
421 ; RELOC-NEXT: Name: colliding_func1
422 ; RELOC-NEXT: Flags: [ ]
423 ; RELOC-NEXT: Function: 9
424 ; RELOC-NEXT: - Index: 10
425 ; RELOC-NEXT: Kind: FUNCTION
426 ; RELOC-NEXT: Name: get_global1B
427 ; RELOC-NEXT: Flags: [ ]
428 ; RELOC-NEXT: Function: 12
429 ; RELOC-NEXT: - Index: 11
430 ; RELOC-NEXT: Kind: DATA
431 ; RELOC-NEXT: Name: colliding_global1
432 ; RELOC-NEXT: Flags: [ ]
433 ; RELOC-NEXT: Segment: 0
434 ; RELOC-NEXT: Offset: 4
435 ; RELOC-NEXT: Size: 4
436 ; RELOC-NEXT: - Index: 12
437 ; RELOC-NEXT: Kind: FUNCTION
438 ; RELOC-NEXT: Name: get_global2B
439 ; RELOC-NEXT: Flags: [ ]
440 ; RELOC-NEXT: Function: 13
441 ; RELOC-NEXT: - Index: 13
442 ; RELOC-NEXT: Kind: FUNCTION
443 ; RELOC-NEXT: Name: get_global3B
444 ; RELOC-NEXT: Flags: [ ]
445 ; RELOC-NEXT: Function: 14
446 ; RELOC-NEXT: - Index: 14
447 ; RELOC-NEXT: Kind: FUNCTION
448 ; RELOC-NEXT: Name: get_func1B
449 ; RELOC-NEXT: Flags: [ ]
450 ; RELOC-NEXT: Function: 15
451 ; RELOC-NEXT: - Index: 15
452 ; RELOC-NEXT: Kind: FUNCTION
453 ; RELOC-NEXT: Name: get_func2B
454 ; RELOC-NEXT: Flags: [ ]
455 ; RELOC-NEXT: Function: 16
456 ; RELOC-NEXT: - Index: 16
457 ; RELOC-NEXT: Kind: FUNCTION
458 ; RELOC-NEXT: Name: get_func3B
459 ; RELOC-NEXT: Flags: [ ]
460 ; RELOC-NEXT: Function: 17
461 ; RELOC-NEXT: - Index: 17
462 ; RELOC-NEXT: Kind: FUNCTION
463 ; RELOC-NEXT: Name: colliding_func1
464 ; RELOC-NEXT: Flags: [ BINDING_LOCAL ]
465 ; RELOC-NEXT: Function: 0
466 ; RELOC-NEXT: - Index: 18
467 ; RELOC-NEXT: Kind: FUNCTION
468 ; RELOC-NEXT: Name: colliding_func3
469 ; RELOC-NEXT: Flags: [ BINDING_LOCAL ]
470 ; RELOC-NEXT: Function: 2
471 ; RELOC-NEXT: - Index: 19
472 ; RELOC-NEXT: Kind: DATA
473 ; RELOC-NEXT: Name: colliding_global1
474 ; RELOC-NEXT: Flags: [ BINDING_LOCAL ]
475 ; RELOC-NEXT: Segment: 0
476 ; RELOC-NEXT: Size: 4
477 ; RELOC-NEXT: - Index: 20
478 ; RELOC-NEXT: Kind: DATA
479 ; RELOC-NEXT: Name: colliding_global3
480 ; RELOC-NEXT: Flags: [ BINDING_LOCAL ]
481 ; RELOC-NEXT: Segment: 2
482 ; RELOC-NEXT: Size: 4
483 ; RELOC-NEXT: - Index: 21
484 ; RELOC-NEXT: Kind: FUNCTION
485 ; RELOC-NEXT: Name: colliding_func2
486 ; RELOC-NEXT: Flags: [ BINDING_LOCAL ]
487 ; RELOC-NEXT: Function: 10
488 ; RELOC-NEXT: - Index: 22
489 ; RELOC-NEXT: Kind: FUNCTION
490 ; RELOC-NEXT: Name: colliding_func3
491 ; RELOC-NEXT: Flags: [ BINDING_LOCAL ]
492 ; RELOC-NEXT: Function: 11
493 ; RELOC-NEXT: - Index: 23
494 ; RELOC-NEXT: Kind: DATA
495 ; RELOC-NEXT: Name: colliding_global2
496 ; RELOC-NEXT: Flags: [ BINDING_LOCAL ]
497 ; RELOC-NEXT: Segment: 1
498 ; RELOC-NEXT: Offset: 4
499 ; RELOC-NEXT: Size: 4
500 ; RELOC-NEXT: - Index: 24
501 ; RELOC-NEXT: Kind: DATA
502 ; RELOC-NEXT: Name: colliding_global3
503 ; RELOC-NEXT: Flags: [ BINDING_LOCAL ]
504 ; RELOC-NEXT: Segment: 2
505 ; RELOC-NEXT: Offset: 4
506 ; RELOC-NEXT: Size: 4
507 ; RELOC-NEXT: SegmentInfo:
508 ; RELOC-NEXT: - Index: 0
509 ; RELOC-NEXT: Name: .data.colliding_global1
510 ; RELOC-NEXT: Alignment: 2
511 ; RELOC-NEXT: Flags: [ ]
512 ; RELOC-NEXT: - Index: 1
513 ; RELOC-NEXT: Name: .data.colliding_global2
514 ; RELOC-NEXT: Alignment: 2
515 ; RELOC-NEXT: Flags: [ ]
516 ; RELOC-NEXT: - Index: 2
517 ; RELOC-NEXT: Name: .data.colliding_global3
518 ; RELOC-NEXT: Alignment: 2
519 ; RELOC-NEXT: Flags: [ ]
520 ; RELOC-NEXT: - Type: CUSTOM
521 ; RELOC-NEXT: Name: name
522 ; RELOC-NEXT: FunctionNames:
523 ; RELOC-NEXT: - Index: 0
524 ; RELOC-NEXT: Name: colliding_func1
525 ; RELOC-NEXT: - Index: 1
526 ; RELOC-NEXT: Name: colliding_func2
527 ; RELOC-NEXT: - Index: 2
528 ; RELOC-NEXT: Name: colliding_func3
529 ; RELOC-NEXT: - Index: 3
530 ; RELOC-NEXT: Name: get_global1A
531 ; RELOC-NEXT: - Index: 4
532 ; RELOC-NEXT: Name: get_global2A
533 ; RELOC-NEXT: - Index: 5
534 ; RELOC-NEXT: Name: get_global3A
535 ; RELOC-NEXT: - Index: 6
536 ; RELOC-NEXT: Name: get_func1A
537 ; RELOC-NEXT: - Index: 7
538 ; RELOC-NEXT: Name: get_func2A
539 ; RELOC-NEXT: - Index: 8
540 ; RELOC-NEXT: Name: get_func3A
541 ; RELOC-NEXT: - Index: 9
542 ; RELOC-NEXT: Name: colliding_func1
543 ; RELOC-NEXT: - Index: 10
544 ; RELOC-NEXT: Name: colliding_func2
545 ; RELOC-NEXT: - Index: 11
546 ; RELOC-NEXT: Name: colliding_func3
547 ; RELOC-NEXT: - Index: 12
548 ; RELOC-NEXT: Name: get_global1B
549 ; RELOC-NEXT: - Index: 13
550 ; RELOC-NEXT: Name: get_global2B
551 ; RELOC-NEXT: - Index: 14
552 ; RELOC-NEXT: Name: get_global3B
553 ; RELOC-NEXT: - Index: 15
554 ; RELOC-NEXT: Name: get_func1B
555 ; RELOC-NEXT: - Index: 16
556 ; RELOC-NEXT: Name: get_func2B
557 ; RELOC-NEXT: - Index: 17
558 ; RELOC-NEXT: Name: get_func3B
559 ; RELOC-NEXT: DataSegmentNames:
560 ; RELOC-NEXT: - Index: 0
561 ; RELOC-NEXT: Name: .data.colliding_global1
562 ; RELOC-NEXT: - Index: 1
563 ; RELOC-NEXT: Name: .data.colliding_global2
564 ; RELOC-NEXT: - Index: 2
565 ; RELOC-NEXT: Name: .data.colliding_global3