1; This file tests the codegen of initialized and common variables in AIX 2; assembly and XCOFF object files. 3 4; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | FileCheck --check-prefixes=CHECK,CHECK32 %s 5; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | FileCheck --check-prefixes=CHECK,CHECK64 %s 6 7; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s 8; RUN: llvm-readobj --section-headers --file-header %t.o | \ 9; RUN: FileCheck --check-prefix=OBJ %s 10; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYMS,SYMS32 %s 11 12; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t64.o < %s 13; RUN: llvm-readobj --section-headers --file-header %t64.o | \ 14; RUN: FileCheck --check-prefix=OBJ64 %s 15; RUN: llvm-readobj --syms %t64.o | FileCheck --check-prefixes=SYMS,SYMS64 %s 16 17@ivar = local_unnamed_addr global i32 35, align 4 18@llvar = local_unnamed_addr global i64 36, align 8 19@svar = local_unnamed_addr global i16 37, align 2 20@fvar = local_unnamed_addr global float 8.000000e+02, align 4 21@dvar = local_unnamed_addr global double 9.000000e+02, align 8 22@over_aligned = local_unnamed_addr global double 9.000000e+02, align 32 23@chrarray = local_unnamed_addr global [4 x i8] c"abcd", align 1 24@dblarr = local_unnamed_addr global [4 x double] [double 1.000000e+00, double 2.000000e+00, double 3.000000e+00, double 4.000000e+00], align 8 25@d_0 = global double 0.000000e+00, align 8 26@s_0 = global i16 0, align 2 27@f_0 = global float 0.000000e+00, align 4 28 29%struct.anon = type <{ i32, double }> 30@astruct = global [1 x %struct.anon] [%struct.anon <{ i32 1, double 7.000000e+00 }>], align 1 31 32%struct.anon2 = type { double, i32 } 33@bstruct = global [1 x %struct.anon2] [%struct.anon2 { double 7.000000e+00 , i32 1}], align 8 34 35@a = common global i32 0, align 4 36@b = common global i64 0, align 8 37@c = common global i16 0, align 2 38 39@d = common local_unnamed_addr global double 0.000000e+00, align 8 40@f = common local_unnamed_addr global float 0.000000e+00, align 4 41 42@over_aligned_comm = common local_unnamed_addr global double 0.000000e+00, align 32 43 44@array = common local_unnamed_addr global [33 x i8] zeroinitializer, align 1 45 46; CHECK-NOT: .toc 47 48; CHECK: .csect .text[PR],5 49; CHECK-NEXT: .file 50 51; CHECK: .csect .data[RW],5 52; CHECK-NEXT: .globl ivar 53; CHECK-NEXT: .align 2 54; CHECK-NEXT: ivar: 55; CHECK-NEXT: .vbyte 4, 35 56 57; CHECK: .globl llvar 58; CHECK-NEXT: .align 3 59; CHECK-NEXT: llvar: 60; CHECK32-NEXT: .vbyte 4, 0 61; CHECK32-NEXT: .vbyte 4, 36 62; CHECK64-NEXT: .vbyte 8, 36 63 64; CHECK: .globl svar 65; CHECK-NEXT: .align 1 66; CHECK-NEXT: svar: 67; CHECK-NEXT: .vbyte 2, 37 68 69; CHECK: .globl fvar 70; CHECK-NEXT: .align 2 71; CHECK-NEXT: fvar: 72; CHECK-NEXT: .vbyte 4, 0x44480000 73 74; CHECK: .globl dvar 75; CHECK-NEXT: .align 3 76; CHECK-NEXT: dvar: 77; CHECK32-NEXT: .vbyte 4, 1082925056 78; CHECK32-NEXT: .vbyte 4, 0 79; CHECK64-NEXT: .vbyte 8, 0x408c200000000000 80 81; CHECK: .globl over_aligned 82; CHECK-NEXT: .align 5 83; CHECK-NEXT: over_aligned: 84; CHECK32-NEXT: .vbyte 4, 1082925056 85; CHECK32-NEXT: .vbyte 4, 0 86; CHECK64-NEXT: .vbyte 8, 0x408c200000000000 87 88; CHECK: .globl chrarray 89; CHECK-NEXT: chrarray: 90; CHECK-NEXT: .byte "abcd" 91 92; CHECK: .globl dblarr 93; CHECK-NEXT: .align 3 94; CHECK-NEXT: dblarr: 95; CHECK32-NEXT: .vbyte 4, 1072693248 96; CHECK32-NEXT: .vbyte 4, 0 97; CHECK64-NEXT: .vbyte 8, 0x3ff0000000000000 98; CHECK32-NEXT: .vbyte 4, 1073741824 99; CHECK32-NEXT: .vbyte 4, 0 100; CHECK64-NEXT: .vbyte 8, 0x4000000000000000 101; CHECK32-NEXT: .vbyte 4, 1074266112 102; CHECK32-NEXT: .vbyte 4, 0 103; CHECK64-NEXT: .vbyte 8, 0x4008000000000000 104; CHECK32-NEXT: .vbyte 4, 1074790400 105; CHECK32-NEXT: .vbyte 4, 0 106; CHECK64-NEXT: .vbyte 8, 0x4010000000000000 107 108; CHECK: .globl d_0 109; CHECK-NEXT: .align 3 110; CHECK-NEXT: d_0: 111; CHECK32-NEXT: .vbyte 4, 0 112; CHECK32-NEXT: .vbyte 4, 0 113; CHECK64-NEXT: .vbyte 8, 0 114 115; CHECK: .globl s_0 116; CHECK-NEXT: .align 1 117; CHECK-NEXT: s_0: 118; CHECK-NEXT: .vbyte 2, 0 119 120; CHECK: .globl f_0 121; CHECK-NEXT: .align 2 122; CHECK-NEXT: f_0: 123; CHECK-NEXT: .vbyte 4, 0 124 125; CHECK: .globl astruct 126; CHECK-NEXT: astruct: 127; CHECK-NEXT: .vbyte 4, 1 128; CHECK32-NEXT: .vbyte 4, 1075576832 129; CHECK32-NEXT: .vbyte 4, 0 130; CHECK64-NEXT: .vbyte 8, 0x401c000000000000 131 132; CHECK: .globl bstruct 133; CHECK-NEXT: .align 3 134; CHECK-NEXT: bstruct: 135; CHECK32-NEXT: .vbyte 4, 1075576832 136; CHECK32-NEXT: .vbyte 4, 0 137; CHECK64-NEXT: .vbyte 8, 0x401c000000000000 138; CHECK-NEXT: .vbyte 4, 1 139; CHECK-NEXT: .space 4 140 141 142; CHECK-NEXT: .comm a[RW],4,2 143; CHECK-NEXT: .comm b[RW],8,3 144; CHECK-NEXT: .comm c[RW],2,1 145; CHECK-NEXT: .comm d[RW],8,3 146; CHECK-NEXT: .comm f[RW],4,2 147; CHECK-NEXT: .comm over_aligned_comm[RW],8,5 148; CHECK-NEXT: .comm array[RW],33,0 149 150; OBJ: File: {{.*}}aix-xcoff-data.ll.tmp.o 151; OBJ-NEXT: Format: aixcoff-rs6000 152; OBJ-NEXT: Arch: powerpc 153; OBJ-NEXT: AddressSize: 32bit 154; OBJ-NEXT: FileHeader { 155; OBJ-NEXT: Magic: 0x1DF 156; OBJ-NEXT: NumberOfSections: 3 157; OBJ-NEXT: TimeStamp: 158; OBJ-NEXT: SymbolTableOffset: 0x10C 159; OBJ-NEXT: SymbolTableEntries: 45 160; OBJ-NEXT: OptionalHeaderSize: 0x0 161; OBJ-NEXT: Flags: 0x0 162; OBJ-NEXT: } 163 164; OBJ: Sections [ 165; OBJ: Section { 166; OBJ-NEXT: Index: [[#OBJ_INDX:]] 167; OBJ-NEXT: Name: .text 168; OBJ-NEXT: PhysicalAddress: 0x0 169; OBJ-NEXT: VirtualAddress: 0x0 170; OBJ-NEXT: Size: 0x0 171; OBJ-NEXT: RawDataOffset: 0x8C 172; OBJ-NEXT: RelocationPointer: 0x0 173; OBJ-NEXT: LineNumberPointer: 0x0 174; OBJ-NEXT: NumberOfRelocations: 0 175; OBJ-NEXT: NumberOfLineNumbers: 0 176; OBJ-NEXT: Type: STYP_TEXT (0x20) 177; OBJ-NEXT: } 178 179; OBJ: Section { 180; OBJ-NEXT: Index: [[#OBJ_INDX+1]] 181; OBJ-NEXT: Name: .data 182; OBJ-NEXT: PhysicalAddress: 0x0 183; OBJ-NEXT: VirtualAddress: 0x0 184; OBJ-NEXT: Size: 0x80 185; OBJ-NEXT: RawDataOffset: 0x8C 186; OBJ-NEXT: RelocationPointer: 0x0 187; OBJ-NEXT: LineNumberPointer: 0x0 188; OBJ-NEXT: NumberOfRelocations: 0 189; OBJ-NEXT: NumberOfLineNumbers: 0 190; OBJ-NEXT: Type: STYP_DATA (0x40) 191; OBJ-NEXT: } 192 193; OBJ: Section { 194; OBJ-NEXT: Index: [[#OBJ_INDX+2]] 195; OBJ-NEXT: Name: .bss 196; OBJ-NEXT: PhysicalAddress: 0x80 197; OBJ-NEXT: VirtualAddress: 0x80 198; OBJ-NEXT: Size: 0x6C 199; OBJ-NEXT: RawDataOffset: 0x0 200; OBJ-NEXT: RelocationPointer: 0x0 201; OBJ-NEXT: LineNumberPointer: 0x0 202; OBJ-NEXT: NumberOfRelocations: 0 203; OBJ-NEXT: NumberOfLineNumbers: 0 204; OBJ-NEXT: Type: STYP_BSS (0x80) 205; OBJ-NEXT: } 206; OBJ: ] 207 208; SYMS: Symbols [ 209; SYMS-NEXT: Symbol { 210; SYMS-NEXT: Index: 0 211; SYMS-NEXT: Name: <stdin> 212; SYMS-NEXT: Value (SymbolTableIndex): 0x0 213; SYMS-NEXT: Section: N_DEBUG 214; SYMS-NEXT: Source Language ID: TB_C (0x0) 215; SYMS-NEXT: CPU Version ID: 0x0 216; SYMS-NEXT: StorageClass: C_FILE (0x67) 217; SYMS-NEXT: NumberOfAuxEntries: 0 218; SYMS-NEXT: } 219; SYMS-NEXT: Symbol { 220; SYMS-NEXT: Index: [[#INDX:]] 221; SYMS-NEXT: Name: .text 222; SYMS-NEXT: Value (RelocatableAddress): 0x0 223; SYMS-NEXT: Section: .text 224; SYMS-NEXT: Type: 0x0 225; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B) 226; SYMS-NEXT: NumberOfAuxEntries: 1 227; SYMS-NEXT: CSECT Auxiliary Entry { 228; SYMS-NEXT: Index: [[#INDX+1]] 229; SYMS-NEXT: SectionLen: 0 230; SYMS-NEXT: ParameterHashIndex: 0x0 231; SYMS-NEXT: TypeChkSectNum: 0x0 232; SYMS-NEXT: SymbolAlignmentLog2: 5 233; SYMS-NEXT: SymbolType: XTY_SD (0x1) 234; SYMS-NEXT: StorageMappingClass: XMC_PR (0x0) 235; SYMS32-NEXT: StabInfoIndex: 0x0 236; SYMS32-NEXT: StabSectNum: 0x0 237; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 238; SYMS-NEXT: } 239; SYMS-NEXT: } 240 241; SYMS: Symbol { 242; SYMS-NEXT: Index: [[#INDX+2]] 243; SYMS-NEXT: Name: .data 244; SYMS-NEXT: Value (RelocatableAddress): 0x0 245; SYMS-NEXT: Section: .data 246; SYMS-NEXT: Type: 0x0 247; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B) 248; SYMS-NEXT: NumberOfAuxEntries: 1 249; SYMS-NEXT: CSECT Auxiliary Entry { 250; SYMS-NEXT: Index: [[#INDX+3]] 251; SYMS-NEXT: SectionLen: 128 252; SYMS-NEXT: ParameterHashIndex: 0x0 253; SYMS-NEXT: TypeChkSectNum: 0x0 254; SYMS-NEXT: SymbolAlignmentLog2: 5 255; SYMS-NEXT: SymbolType: XTY_SD (0x1) 256; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 257; SYMS32-NEXT: StabInfoIndex: 0x0 258; SYMS32-NEXT: StabSectNum: 0x0 259; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 260; SYMS-NEXT: } 261; SYMS-NEXT: } 262 263; SYMS: Symbol { 264; SYMS-NEXT: Index: [[#INDX+4]] 265; SYMS-NEXT: Name: ivar 266; SYMS-NEXT: Value (RelocatableAddress): 0x0 267; SYMS-NEXT: Section: .data 268; SYMS-NEXT: Type: 0x0 269; SYMS-NEXT: StorageClass: C_EXT (0x2) 270; SYMS-NEXT: NumberOfAuxEntries: 1 271; SYMS-NEXT: CSECT Auxiliary Entry { 272; SYMS-NEXT: Index: [[#INDX+5]] 273; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 274; SYMS-NEXT: ParameterHashIndex: 0x0 275; SYMS-NEXT: TypeChkSectNum: 0x0 276; SYMS-NEXT: SymbolAlignmentLog2: 0 277; SYMS-NEXT: SymbolType: XTY_LD (0x2) 278; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 279; SYMS32-NEXT: StabInfoIndex: 0x0 280; SYMS32-NEXT: StabSectNum: 0x0 281; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 282; SYMS-NEXT: } 283; SYMS-NEXT: } 284 285; SYMS: Symbol { 286; SYMS-NEXT: Index: [[#INDX+6]] 287; SYMS-NEXT: Name: llvar 288; SYMS-NEXT: Value (RelocatableAddress): 0x8 289; SYMS-NEXT: Section: .data 290; SYMS-NEXT: Type: 0x0 291; SYMS-NEXT: StorageClass: C_EXT (0x2) 292; SYMS-NEXT: NumberOfAuxEntries: 1 293; SYMS-NEXT: CSECT Auxiliary Entry { 294; SYMS-NEXT: Index: [[#INDX+7]] 295; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 296; SYMS-NEXT: ParameterHashIndex: 0x0 297; SYMS-NEXT: TypeChkSectNum: 0x0 298; SYMS-NEXT: SymbolAlignmentLog2: 0 299; SYMS-NEXT: SymbolType: XTY_LD (0x2) 300; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 301; SYMS32-NEXT: StabInfoIndex: 0x0 302; SYMS32-NEXT: StabSectNum: 0x0 303; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 304; SYMS-NEXT: } 305; SYMS-NEXT: } 306 307; SYMS: Symbol { 308; SYMS-NEXT: Index: [[#INDX+8]] 309; SYMS-NEXT: Name: svar 310; SYMS-NEXT: Value (RelocatableAddress): 0x10 311; SYMS-NEXT: Section: .data 312; SYMS-NEXT: Type: 0x0 313; SYMS-NEXT: StorageClass: C_EXT (0x2) 314; SYMS-NEXT: NumberOfAuxEntries: 1 315; SYMS-NEXT: CSECT Auxiliary Entry { 316; SYMS-NEXT: Index: [[#INDX+9]] 317; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 318; SYMS-NEXT: ParameterHashIndex: 0x0 319; SYMS-NEXT: TypeChkSectNum: 0x0 320; SYMS-NEXT: SymbolAlignmentLog2: 0 321; SYMS-NEXT: SymbolType: XTY_LD (0x2) 322; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 323; SYMS32-NEXT: StabInfoIndex: 0x0 324; SYMS32-NEXT: StabSectNum: 0x0 325; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 326; SYMS-NEXT: } 327; SYMS-NEXT: } 328 329; SYMS: Symbol { 330; SYMS-NEXT: Index: [[#INDX+10]] 331; SYMS-NEXT: Name: fvar 332; SYMS-NEXT: Value (RelocatableAddress): 0x14 333; SYMS-NEXT: Section: .data 334; SYMS-NEXT: Type: 0x0 335; SYMS-NEXT: StorageClass: C_EXT (0x2) 336; SYMS-NEXT: NumberOfAuxEntries: 1 337; SYMS-NEXT: CSECT Auxiliary Entry { 338; SYMS-NEXT: Index: [[#INDX+11]] 339; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 340; SYMS-NEXT: ParameterHashIndex: 0x0 341; SYMS-NEXT: TypeChkSectNum: 0x0 342; SYMS-NEXT: SymbolAlignmentLog2: 0 343; SYMS-NEXT: SymbolType: XTY_LD (0x2) 344; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 345; SYMS32-NEXT: StabInfoIndex: 0x0 346; SYMS32-NEXT: StabSectNum: 0x0 347; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 348; SYMS-NEXT: } 349; SYMS-NEXT: } 350 351; SYMS: Symbol { 352; SYMS-NEXT: Index: [[#INDX+12]] 353; SYMS-NEXT: Name: dvar 354; SYMS-NEXT: Value (RelocatableAddress): 0x18 355; SYMS-NEXT: Section: .data 356; SYMS-NEXT: Type: 0x0 357; SYMS-NEXT: StorageClass: C_EXT (0x2) 358; SYMS-NEXT: NumberOfAuxEntries: 1 359; SYMS-NEXT: CSECT Auxiliary Entry { 360; SYMS-NEXT: Index: [[#INDX+13]] 361; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 362; SYMS-NEXT: ParameterHashIndex: 0x0 363; SYMS-NEXT: TypeChkSectNum: 0x0 364; SYMS-NEXT: SymbolAlignmentLog2: 0 365; SYMS-NEXT: SymbolType: XTY_LD (0x2) 366; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 367; SYMS32-NEXT: StabInfoIndex: 0x0 368; SYMS32-NEXT: StabSectNum: 0x0 369; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 370; SYMS-NEXT: } 371; SYMS-NEXT: } 372 373; SYMS: Symbol { 374; SYMS-NEXT: Index: [[#INDX+14]] 375; SYMS-NEXT: Name: over_aligned 376; SYMS-NEXT: Value (RelocatableAddress): 0x20 377; SYMS-NEXT: Section: .data 378; SYMS-NEXT: Type: 0x0 379; SYMS-NEXT: StorageClass: C_EXT (0x2) 380; SYMS-NEXT: NumberOfAuxEntries: 1 381; SYMS-NEXT: CSECT Auxiliary Entry { 382; SYMS-NEXT: Index: [[#INDX+15]] 383; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 384; SYMS-NEXT: ParameterHashIndex: 0x0 385; SYMS-NEXT: TypeChkSectNum: 0x0 386; SYMS-NEXT: SymbolAlignmentLog2: 0 387; SYMS-NEXT: SymbolType: XTY_LD (0x2) 388; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 389; SYMS32-NEXT: StabInfoIndex: 0x0 390; SYMS32-NEXT: StabSectNum: 0x0 391; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 392; SYMS-NEXT: } 393; SYMS-NEXT: } 394 395; SYMS: Symbol { 396; SYMS-NEXT: Index: [[#INDX+16]] 397; SYMS-NEXT: Name: chrarray 398; SYMS-NEXT: Value (RelocatableAddress): 0x28 399; SYMS-NEXT: Section: .data 400; SYMS-NEXT: Type: 0x0 401; SYMS-NEXT: StorageClass: C_EXT (0x2) 402; SYMS-NEXT: NumberOfAuxEntries: 1 403; SYMS-NEXT: CSECT Auxiliary Entry { 404; SYMS-NEXT: Index: [[#INDX+17]] 405; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 406; SYMS-NEXT: ParameterHashIndex: 0x0 407; SYMS-NEXT: TypeChkSectNum: 0x0 408; SYMS-NEXT: SymbolAlignmentLog2: 0 409; SYMS-NEXT: SymbolType: XTY_LD (0x2) 410; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 411; SYMS32-NEXT: StabInfoIndex: 0x0 412; SYMS32-NEXT: StabSectNum: 0x0 413; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 414; SYMS-NEXT: } 415; SYMS-NEXT: } 416 417; SYMS: Symbol { 418; SYMS-NEXT: Index: [[#INDX+18]] 419; SYMS-NEXT: Name: dblarr 420; SYMS-NEXT: Value (RelocatableAddress): 0x30 421; SYMS-NEXT: Section: .data 422; SYMS-NEXT: Type: 0x0 423; SYMS-NEXT: StorageClass: C_EXT (0x2) 424; SYMS-NEXT: NumberOfAuxEntries: 1 425; SYMS-NEXT: CSECT Auxiliary Entry { 426; SYMS-NEXT: Index: [[#INDX+19]] 427; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 428; SYMS-NEXT: ParameterHashIndex: 0x0 429; SYMS-NEXT: TypeChkSectNum: 0x0 430; SYMS-NEXT: SymbolAlignmentLog2: 0 431; SYMS-NEXT: SymbolType: XTY_LD (0x2) 432; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 433; SYMS32-NEXT: StabInfoIndex: 0x0 434; SYMS32-NEXT: StabSectNum: 0x0 435; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 436; SYMS-NEXT: } 437; SYMS-NEXT: } 438 439; SYMS: Symbol { 440; SYMS-NEXT: Index: [[#INDX+20]] 441; SYMS-NEXT: Name: d_0 442; SYMS-NEXT: Value (RelocatableAddress): 0x50 443; SYMS-NEXT: Section: .data 444; SYMS-NEXT: Type: 0x0 445; SYMS-NEXT: StorageClass: C_EXT (0x2) 446; SYMS-NEXT: NumberOfAuxEntries: 1 447; SYMS-NEXT: CSECT Auxiliary Entry { 448; SYMS-NEXT: Index: [[#INDX+21]] 449; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 450; SYMS-NEXT: ParameterHashIndex: 0x0 451; SYMS-NEXT: TypeChkSectNum: 0x0 452; SYMS-NEXT: SymbolAlignmentLog2: 0 453; SYMS-NEXT: SymbolType: XTY_LD (0x2) 454; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 455; SYMS32-NEXT: StabInfoIndex: 0x0 456; SYMS32-NEXT: StabSectNum: 0x0 457; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 458; SYMS-NEXT: } 459; SYMS-NEXT: } 460 461; SYMS: Symbol { 462; SYMS-NEXT: Index: [[#INDX+22]] 463; SYMS-NEXT: Name: s_0 464; SYMS-NEXT: Value (RelocatableAddress): 0x58 465; SYMS-NEXT: Section: .data 466; SYMS-NEXT: Type: 0x0 467; SYMS-NEXT: StorageClass: C_EXT (0x2) 468; SYMS-NEXT: NumberOfAuxEntries: 1 469; SYMS-NEXT: CSECT Auxiliary Entry { 470; SYMS-NEXT: Index: [[#INDX+23]] 471; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 472; SYMS-NEXT: ParameterHashIndex: 0x0 473; SYMS-NEXT: TypeChkSectNum: 0x0 474; SYMS-NEXT: SymbolAlignmentLog2: 0 475; SYMS-NEXT: SymbolType: XTY_LD (0x2) 476; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 477; SYMS32-NEXT: StabInfoIndex: 0x0 478; SYMS32-NEXT: StabSectNum: 0x0 479; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 480; SYMS-NEXT: } 481; SYMS-NEXT: } 482 483; SYMS: Symbol { 484; SYMS-NEXT: Index: [[#INDX+24]] 485; SYMS-NEXT: Name: f_0 486; SYMS-NEXT: Value (RelocatableAddress): 0x5C 487; SYMS-NEXT: Section: .data 488; SYMS-NEXT: Type: 0x0 489; SYMS-NEXT: StorageClass: C_EXT (0x2) 490; SYMS-NEXT: NumberOfAuxEntries: 1 491; SYMS-NEXT: CSECT Auxiliary Entry { 492; SYMS-NEXT: Index: [[#INDX+25]] 493; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 494; SYMS-NEXT: ParameterHashIndex: 0x0 495; SYMS-NEXT: TypeChkSectNum: 0x0 496; SYMS-NEXT: SymbolAlignmentLog2: 0 497; SYMS-NEXT: SymbolType: XTY_LD (0x2) 498; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 499; SYMS32-NEXT: StabInfoIndex: 0x0 500; SYMS32-NEXT: StabSectNum: 0x0 501; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 502; SYMS-NEXT: } 503; SYMS-NEXT: } 504 505; SYMS: Symbol { 506; SYMS-NEXT: Index: [[#INDX+26]] 507; SYMS-NEXT: Name: astruct 508; SYMS-NEXT: Value (RelocatableAddress): 0x60 509; SYMS-NEXT: Section: .data 510; SYMS-NEXT: Type: 0x0 511; SYMS-NEXT: StorageClass: C_EXT (0x2) 512; SYMS-NEXT: NumberOfAuxEntries: 1 513; SYMS-NEXT: CSECT Auxiliary Entry { 514; SYMS-NEXT: Index: [[#INDX+27]] 515; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 516; SYMS-NEXT: ParameterHashIndex: 0x0 517; SYMS-NEXT: TypeChkSectNum: 0x0 518; SYMS-NEXT: SymbolAlignmentLog2: 0 519; SYMS-NEXT: SymbolType: XTY_LD (0x2) 520; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 521; SYMS32-NEXT: StabInfoIndex: 0x0 522; SYMS32-NEXT: StabSectNum: 0x0 523; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 524; SYMS-NEXT: } 525; SYMS-NEXT: } 526 527; SYMS: Symbol { 528; SYMS-NEXT: Index: [[#INDX+28]] 529; SYMS-NEXT: Name: bstruct 530; SYMS-NEXT: Value (RelocatableAddress): 0x70 531; SYMS-NEXT: Section: .data 532; SYMS-NEXT: Type: 0x0 533; SYMS-NEXT: StorageClass: C_EXT (0x2) 534; SYMS-NEXT: NumberOfAuxEntries: 1 535; SYMS-NEXT: CSECT Auxiliary Entry { 536; SYMS-NEXT: Index: [[#INDX+29]] 537; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 538; SYMS-NEXT: ParameterHashIndex: 0x0 539; SYMS-NEXT: TypeChkSectNum: 0x0 540; SYMS-NEXT: SymbolAlignmentLog2: 0 541; SYMS-NEXT: SymbolType: XTY_LD (0x2) 542; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 543; SYMS32-NEXT: StabInfoIndex: 0x0 544; SYMS32-NEXT: StabSectNum: 0x0 545; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 546; SYMS-NEXT: } 547; SYMS-NEXT: } 548 549; SYMS: Symbol { 550; SYMS-NEXT: Index: [[#INDX+30]] 551; SYMS-NEXT: Name: a 552; SYMS-NEXT: Value (RelocatableAddress): 0x80 553; SYMS-NEXT: Section: .bss 554; SYMS-NEXT: Type: 0x0 555; SYMS-NEXT: StorageClass: C_EXT (0x2) 556; SYMS-NEXT: NumberOfAuxEntries: 1 557; SYMS-NEXT: CSECT Auxiliary Entry { 558; SYMS-NEXT: Index: [[#INDX+31]] 559; SYMS-NEXT: SectionLen: 4 560; SYMS-NEXT: ParameterHashIndex: 0x0 561; SYMS-NEXT: TypeChkSectNum: 0x0 562; SYMS-NEXT: SymbolAlignmentLog2: 2 563; SYMS-NEXT: SymbolType: XTY_CM (0x3) 564; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 565; SYMS32-NEXT: StabInfoIndex: 0x0 566; SYMS32-NEXT: StabSectNum: 0x0 567; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 568; SYMS-NEXT: } 569; SYMS-NEXT: } 570 571; SYMS: Symbol { 572; SYMS-NEXT: Index: [[#INDX+32]] 573; SYMS-NEXT: Name: b 574; SYMS-NEXT: Value (RelocatableAddress): 0x88 575; SYMS-NEXT: Section: .bss 576; SYMS-NEXT: Type: 0x0 577; SYMS-NEXT: StorageClass: C_EXT (0x2) 578; SYMS-NEXT: NumberOfAuxEntries: 1 579; SYMS-NEXT: CSECT Auxiliary Entry { 580; SYMS-NEXT: Index: [[#INDX+33]] 581; SYMS-NEXT: SectionLen: 8 582; SYMS-NEXT: ParameterHashIndex: 0x0 583; SYMS-NEXT: TypeChkSectNum: 0x0 584; SYMS-NEXT: SymbolAlignmentLog2: 3 585; SYMS-NEXT: SymbolType: XTY_CM (0x3) 586; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 587; SYMS32-NEXT: StabInfoIndex: 0x0 588; SYMS32-NEXT: StabSectNum: 0x0 589; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 590; SYMS-NEXT: } 591; SYMS-NEXT: } 592 593; SYMS: Symbol { 594; SYMS-NEXT: Index: [[#INDX+34]] 595; SYMS-NEXT: Name: c 596; SYMS-NEXT: Value (RelocatableAddress): 0x90 597; SYMS-NEXT: Section: .bss 598; SYMS-NEXT: Type: 0x0 599; SYMS-NEXT: StorageClass: C_EXT (0x2) 600; SYMS-NEXT: NumberOfAuxEntries: 1 601; SYMS-NEXT: CSECT Auxiliary Entry { 602; SYMS-NEXT: Index: [[#INDX+35]] 603; SYMS-NEXT: SectionLen: 2 604; SYMS-NEXT: ParameterHashIndex: 0x0 605; SYMS-NEXT: TypeChkSectNum: 0x0 606; SYMS-NEXT: SymbolAlignmentLog2: 1 607; SYMS-NEXT: SymbolType: XTY_CM (0x3) 608; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 609; SYMS32-NEXT: StabInfoIndex: 0x0 610; SYMS32-NEXT: StabSectNum: 0x0 611; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 612; SYMS-NEXT: } 613; SYMS-NEXT: } 614 615; SYMS: Symbol { 616; SYMS-NEXT: Index: [[#INDX+36]] 617; SYMS-NEXT: Name: d 618; SYMS-NEXT: Value (RelocatableAddress): 0x98 619; SYMS-NEXT: Section: .bss 620; SYMS-NEXT: Type: 0x0 621; SYMS-NEXT: StorageClass: C_EXT (0x2) 622; SYMS-NEXT: NumberOfAuxEntries: 1 623; SYMS-NEXT: CSECT Auxiliary Entry { 624; SYMS-NEXT: Index: [[#INDX+37]] 625; SYMS-NEXT: SectionLen: 8 626; SYMS-NEXT: ParameterHashIndex: 0x0 627; SYMS-NEXT: TypeChkSectNum: 0x0 628; SYMS-NEXT: SymbolAlignmentLog2: 3 629; SYMS-NEXT: SymbolType: XTY_CM (0x3) 630; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 631; SYMS32-NEXT: StabInfoIndex: 0x0 632; SYMS32-NEXT: StabSectNum: 0x0 633; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 634; SYMS-NEXT: } 635; SYMS-NEXT: } 636 637; SYMS: Symbol { 638; SYMS-NEXT: Index: [[#INDX+38]] 639; SYMS-NEXT: Name: f 640; SYMS-NEXT: Value (RelocatableAddress): 0xA0 641; SYMS-NEXT: Section: .bss 642; SYMS-NEXT: Type: 0x0 643; SYMS-NEXT: StorageClass: C_EXT (0x2) 644; SYMS-NEXT: NumberOfAuxEntries: 1 645; SYMS-NEXT: CSECT Auxiliary Entry { 646; SYMS-NEXT: Index: [[#INDX+39]] 647; SYMS-NEXT: SectionLen: 4 648; SYMS-NEXT: ParameterHashIndex: 0x0 649; SYMS-NEXT: TypeChkSectNum: 0x0 650; SYMS-NEXT: SymbolAlignmentLog2: 2 651; SYMS-NEXT: SymbolType: XTY_CM (0x3) 652; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 653; SYMS32-NEXT: StabInfoIndex: 0x0 654; SYMS32-NEXT: StabSectNum: 0x0 655; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 656; SYMS-NEXT: } 657; SYMS-NEXT: } 658 659; SYMS: Symbol { 660; SYMS-NEXT: Index: [[#INDX+40]] 661; SYMS-NEXT: Name: over_aligned_comm 662; SYMS-NEXT: Value (RelocatableAddress): 0xC0 663; SYMS-NEXT: Section: .bss 664; SYMS-NEXT: Type: 0x0 665; SYMS-NEXT: StorageClass: C_EXT (0x2) 666; SYMS-NEXT: NumberOfAuxEntries: 1 667; SYMS-NEXT: CSECT Auxiliary Entry { 668; SYMS-NEXT: Index: [[#INDX+41]] 669; SYMS-NEXT: SectionLen: 8 670; SYMS-NEXT: ParameterHashIndex: 0x0 671; SYMS-NEXT: TypeChkSectNum: 0x0 672; SYMS-NEXT: SymbolAlignmentLog2: 5 673; SYMS-NEXT: SymbolType: XTY_CM (0x3) 674; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 675; SYMS32-NEXT: StabInfoIndex: 0x0 676; SYMS32-NEXT: StabSectNum: 0x0 677; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 678; SYMS-NEXT: } 679; SYMS-NEXT: } 680 681; SYMS: Symbol { 682; SYMS-NEXT: Index: [[#INDX+42]] 683; SYMS-NEXT: Name: array 684; SYMS-NEXT: Value (RelocatableAddress): 0xC8 685; SYMS-NEXT: Section: .bss 686; SYMS-NEXT: Type: 0x0 687; SYMS-NEXT: StorageClass: C_EXT (0x2) 688; SYMS-NEXT: NumberOfAuxEntries: 1 689; SYMS-NEXT: CSECT Auxiliary Entry { 690; SYMS-NEXT: Index: [[#INDX+43]] 691; SYMS-NEXT: SectionLen: 33 692; SYMS-NEXT: ParameterHashIndex: 0x0 693; SYMS-NEXT: TypeChkSectNum: 0x0 694; SYMS-NEXT: SymbolAlignmentLog2: 0 695; SYMS-NEXT: SymbolType: XTY_CM (0x3) 696; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5) 697; SYMS32-NEXT: StabInfoIndex: 0x0 698; SYMS32-NEXT: StabSectNum: 0x0 699; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 700; SYMS-NEXT: } 701; SYMS-NEXT: } 702; SYMS: ] 703 704; OBJ64: Format: aix5coff64-rs6000 705; OBJ64-NEXT: Arch: powerpc64 706; OBJ64-NEXT: AddressSize: 64bit 707; OBJ64-NEXT: FileHeader { 708; OBJ64-NEXT: Magic: 0x1F7 709; OBJ64-NEXT: NumberOfSections: 3 710; OBJ64-NEXT: TimeStamp: None (0x0) 711; OBJ64-NEXT: SymbolTableOffset: 0x170 712; OBJ64-NEXT: SymbolTableEntries: 45 713; OBJ64-NEXT: OptionalHeaderSize: 0x0 714; OBJ64-NEXT: Flags: 0x0 715; OBJ64-NEXT: } 716 717; OBJ64: Sections [ 718; OBJ64-NEXT: Section { 719; OBJ64-NEXT: Index: [[#OBJ64_INDX:]] 720; OBJ64-NEXT: Name: .text 721; OBJ64-NEXT: PhysicalAddress: 0x0 722; OBJ64-NEXT: VirtualAddress: 0x0 723; OBJ64-NEXT: Size: 0x0 724; OBJ64-NEXT: RawDataOffset: 0xF0 725; OBJ64-NEXT: RelocationPointer: 0x0 726; OBJ64-NEXT: LineNumberPointer: 0x0 727; OBJ64-NEXT: NumberOfRelocations: 0 728; OBJ64-NEXT: NumberOfLineNumbers: 0 729; OBJ64-NEXT: Type: STYP_TEXT (0x20) 730; OBJ64-NEXT: } 731; OBJ64-NEXT: Section { 732; OBJ64-NEXT: Index: [[#OBJ64_INDX+1]] 733; OBJ64-NEXT: Name: .data 734; OBJ64-NEXT: PhysicalAddress: 0x0 735; OBJ64-NEXT: VirtualAddress: 0x0 736; OBJ64-NEXT: Size: 0x80 737; OBJ64-NEXT: RawDataOffset: 0xF0 738; OBJ64-NEXT: RelocationPointer: 0x0 739; OBJ64-NEXT: LineNumberPointer: 0x0 740; OBJ64-NEXT: NumberOfRelocations: 0 741; OBJ64-NEXT: NumberOfLineNumbers: 0 742; OBJ64-NEXT: Type: STYP_DATA (0x40) 743; OBJ64-NEXT: } 744; OBJ64-NEXT: Section { 745; OBJ64-NEXT: Index: [[#OBJ64_INDX+2]] 746; OBJ64-NEXT: Name: .bss 747; OBJ64-NEXT: PhysicalAddress: 0x80 748; OBJ64-NEXT: VirtualAddress: 0x80 749; OBJ64-NEXT: Size: 0x6C 750; OBJ64-NEXT: RawDataOffset: 0x0 751; OBJ64-NEXT: RelocationPointer: 0x0 752; OBJ64-NEXT: LineNumberPointer: 0x0 753; OBJ64-NEXT: NumberOfRelocations: 0 754; OBJ64-NEXT: NumberOfLineNumbers: 0 755; OBJ64-NEXT: Type: STYP_BSS (0x80) 756; OBJ64-NEXT: } 757; OBJ64-NEXT: ] 758