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