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