llvm-project
566 строк · 24.4 Кб
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
5
6; CHECK: --- !WASM
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:
15; CHECK-NEXT: - I32
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,
18; CHECK-NEXT: 0, 0 ]
19; CHECK-NEXT: - Type: TABLE
20; CHECK-NEXT: Tables:
21; CHECK-NEXT: - Index: 0
22; CHECK-NEXT: ElemType: FUNCREF
23; CHECK-NEXT: Limits:
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
218; CHECK-NEXT: ...
219
220
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
223
224; RELOC: --- !WASM
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:
233; RELOC-NEXT: - I32
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
239; RELOC-NEXT: 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,
246; RELOC-NEXT: 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
566; RELOC-NEXT: ...
567