1; This file tests the codegen of tls variables in AIX XCOFF object files 2 3; RUN: llc -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s 4; RUN: llvm-readobj --section-headers %t.o | FileCheck --check-prefix=SECTION %s 5; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYMS,SYMS-DATASECT %s 6; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefixes=OBJDUMP-DATASECT %s 7 8; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s 9; RUN: llvm-readobj --section-headers %t.o | FileCheck --check-prefix=SECTION %s 10; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYMS,SYMS-NODATASECT %s 11; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefixes=OBJDUMP-NODATASECT %s 12 13;; FIXME: currently only fileHeader and sectionHeaders are supported in XCOFF64. 14 15; SECTION: File: 16; SECTION-NEXT: Format: aixcoff-rs6000 17; SECTION-NEXT: Arch: powerpc 18; SECTION-NEXT: AddressSize: 32bit 19; SECTION-NEXT: Sections [ 20; SECTION-NEXT: Section { 21; SECTION-NEXT: Index: 1 22; SECTION-NEXT: Name: 23; SECTION-NEXT: PhysicalAddress: 0x0 24; SECTION-NEXT: VirtualAddress: 0x0 25; SECTION-NEXT: Size: 0x4 26; SECTION-NEXT: RawDataOffset: 0x8C 27; SECTION-NEXT: RelocationPointer: 0x0 28; SECTION-NEXT: LineNumberPointer: 0x0 29; SECTION-NEXT: NumberOfRelocations: 0 30; SECTION-NEXT: NumberOfLineNumbers: 0 31; SECTION-NEXT: Type: STYP_TEXT (0x20) 32; SECTION-NEXT: } 33; SECTION-NEXT: Section { 34; SECTION-NEXT: Index: 2 35; SECTION-NEXT: Name: .tdata 36; SECTION-NEXT: PhysicalAddress: 0x0 37; SECTION-NEXT: VirtualAddress: 0x0 38; SECTION-NEXT: Size: 0x30 39; SECTION-NEXT: RawDataOffset: 0x90 40; SECTION-NEXT: RelocationPointer: 0x0 41; SECTION-NEXT: LineNumberPointer: 0x0 42; SECTION-NEXT: NumberOfRelocations: 0 43; SECTION-NEXT: NumberOfLineNumbers: 0 44; SECTION-NEXT: Type: STYP_TDATA (0x400) 45; SECTION-NEXT: } 46; SECTION-NEXT: Section { 47; SECTION-NEXT: Index: 3 48; SECTION-NEXT: Name: .tbss 49; SECTION-NEXT: PhysicalAddress: 0x30 50; SECTION-NEXT: VirtualAddress: 0x30 51; SECTION-NEXT: Size: 0x18 52; SECTION-NEXT: RawDataOffset: 0x0 53; SECTION-NEXT: RelocationPointer: 0x0 54; SECTION-NEXT: LineNumberPointer: 0x0 55; SECTION-NEXT: NumberOfRelocations: 0 56; SECTION-NEXT: NumberOfLineNumbers: 0 57; SECTION-NEXT: Type: STYP_TBSS (0x800) 58; SECTION-NEXT: } 59; SECTION-NEXT: ] 60 61 62; SYMS: File: 63; SYMS-NEXT: Format: aixcoff-rs6000 64; SYMS-NEXT: Arch: powerpc 65; SYMS-NEXT: AddressSize: 32bit 66; SYMS-NEXT: Symbols [ 67; SYMS-NEXT: Symbol { 68; SYMS-NEXT: Index: 0 69; SYMS-NEXT: Name: .file 70; SYMS-NEXT: Value (SymbolTableIndex): 0x0 71; SYMS-NEXT: Section: N_DEBUG 72; SYMS-NEXT: Source Language ID: TB_CPLUSPLUS (0x9) 73; SYMS-NEXT: CPU Version ID: TCPU_PWR7 (0x18) 74; SYMS-NEXT: StorageClass: C_FILE (0x67) 75; SYMS-NEXT: NumberOfAuxEntries: 2 76; SYMS: Symbol { 77; SYMS-NEXT: Index: [[#INDX:]] 78; SYMS-NEXT: Name: tls_global_int_external_uninitialized 79; SYMS-NEXT: Value (RelocatableAddress): 0x0 80; SYMS-NEXT: Section: N_UNDEF 81; SYMS-NEXT: Type: 0x0 82; SYMS-NEXT: StorageClass: C_EXT (0x2) 83; SYMS-NEXT: NumberOfAuxEntries: 1 84; SYMS-NEXT: CSECT Auxiliary Entry { 85; SYMS-NEXT: Index: [[#INDX+1]] 86; SYMS-NEXT: SectionLen: 0 87; SYMS-NEXT: ParameterHashIndex: 0x0 88; SYMS-NEXT: TypeChkSectNum: 0x0 89; SYMS-NEXT: SymbolAlignmentLog2: 0 90; SYMS-NEXT: SymbolType: XTY_ER (0x0) 91; SYMS-NEXT: StorageMappingClass: XMC_UL (0x15) 92; SYMS-NEXT: StabInfoIndex: 0x0 93; SYMS-NEXT: StabSectNum: 0x0 94; SYMS-NEXT: } 95; SYMS-NEXT: } 96; SYMS-NEXT: Symbol { 97; SYMS-NEXT: Index: [[#INDX+2]] 98; SYMS-NEXT: Name: tls_global_double_external_uninitialized 99; SYMS-NEXT: Value (RelocatableAddress): 0x0 100; SYMS-NEXT: Section: N_UNDEF 101; SYMS-NEXT: Type: 0x0 102; SYMS-NEXT: StorageClass: C_EXT (0x2) 103; SYMS-NEXT: NumberOfAuxEntries: 1 104; SYMS-NEXT: CSECT Auxiliary Entry { 105; SYMS-NEXT: Index: [[#INDX+3]] 106; SYMS-NEXT: SectionLen: 0 107; SYMS-NEXT: ParameterHashIndex: 0x0 108; SYMS-NEXT: TypeChkSectNum: 0x0 109; SYMS-NEXT: SymbolAlignmentLog2: 0 110; SYMS-NEXT: SymbolType: XTY_ER (0x0) 111; SYMS-NEXT: StorageMappingClass: XMC_UL (0x15) 112; SYMS-NEXT: StabInfoIndex: 0x0 113; SYMS-NEXT: StabSectNum: 0x0 114; SYMS-NEXT: } 115; SYMS-NEXT: } 116 117; SYMS-NEXT: Symbol { 118; SYMS-NEXT: Index: [[#INDX+4]] 119; SYMS-NEXT: Name: 120; SYMS-NEXT: Value (RelocatableAddress): 0x0 121; SYMS-NEXT: Section: .text 122; SYMS-NEXT: Type: 0x0 123; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B) 124; SYMS-NEXT: NumberOfAuxEntries: 1 125; SYMS-NEXT: CSECT Auxiliary Entry { 126; SYMS-NEXT: Index: [[#INDX+5]] 127; SYMS-NEXT: SectionLen: 0 128; SYMS-NEXT: ParameterHashIndex: 0x0 129; SYMS-NEXT: TypeChkSectNum: 0x0 130; SYMS-NEXT: SymbolAlignmentLog2: 5 131; SYMS-NEXT: SymbolType: XTY_SD (0x1) 132; SYMS-NEXT: StorageMappingClass: XMC_PR (0x0) 133; SYMS-NEXT: StabInfoIndex: 0x0 134; SYMS-NEXT: StabSectNum: 0x0 135; SYMS-NEXT: } 136; SYMS-NEXT: } 137 138; SYMS-NODATASECT: Symbol { 139; SYMS-NODATASECT-NEXT: Index: [[#INDX+6]] 140; SYMS-NODATASECT-NEXT: Name: .rodata 141; SYMS-NODATASECT-NEXT: Value (RelocatableAddress): 0x0 142; SYMS-NODATASECT-NEXT: Section: .text 143; SYMS-NODATASECT-NEXT: Type: 0x0 144; SYMS-NODATASECT-NEXT: StorageClass: C_HIDEXT (0x6B) 145; SYMS-NODATASECT-NEXT: NumberOfAuxEntries: 1 146; SYMS-NODATASECT-NEXT: CSECT Auxiliary Entry { 147; SYMS-NODATASECT-NEXT: Index: [[#INDX+7]] 148; SYMS-NODATASECT-NEXT: SectionLen: 4 149; SYMS-NODATASECT-NEXT: ParameterHashIndex: 0x0 150; SYMS-NODATASECT-NEXT: TypeChkSectNum: 0x0 151; SYMS-NODATASECT-NEXT: SymbolAlignmentLog2: 2 152; SYMS-NODATASECT-NEXT: SymbolType: XTY_SD (0x1) 153; SYMS-NODATASECT-NEXT: StorageMappingClass: XMC_RO (0x1) 154; SYMS-NODATASECT-NEXT: StabInfoIndex: 0x0 155; SYMS-NODATASECT-NEXT: StabSectNum: 0x0 156; SYMS-NODATASECT-NEXT: } 157; SYMS-NODATASECT-NEXT: } 158 159; SYMS: Symbol { 160; SYMS-DATASECT: Index: [[#INDX+6]] 161; SYMS-NODATASECT: Index: [[#INDX+8]] 162; SYMS-NEXT: Name: const_ivar 163; SYMS-NEXT: Value (RelocatableAddress): 0x0 164; SYMS-NEXT: Section: .text 165; SYMS-NEXT: Type: 0x0 166; SYMS-NEXT: StorageClass: C_EXT (0x2) 167; SYMS-NEXT: NumberOfAuxEntries: 1 168; SYMS-NEXT: CSECT Auxiliary Entry { 169; SYMS-DATASECT: Index: [[#INDX+7]] 170; SYMS-DATASECT-NEXT: SectionLen: 4 171; SYMS-NODATASECT: Index: [[#INDX+9]] 172; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+6]] 173; SYMS: ParameterHashIndex: 0x0 174; SYMS-NEXT: TypeChkSectNum: 0x0 175; SYMS-DATASECT: SymbolAlignmentLog2: 2 176; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 177; SYMS-NODATASECT: SymbolAlignmentLog2: 0 178; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 179; SYMS: StorageMappingClass: XMC_RO (0x1) 180; SYMS-NEXT: StabInfoIndex: 0x0 181; SYMS-NEXT: StabSectNum: 0x0 182; SYMS-NEXT: } 183; SYMS-NEXT: } 184 185; SYMS-NODATASECT: Symbol { 186; SYMS-NODATASECT-NEXT: Index: [[#INDX+10]] 187; SYMS-NODATASECT-NEXT: Name: .tdata 188; SYMS-NODATASECT-NEXT: Value (RelocatableAddress): 0x0 189; SYMS-NODATASECT-NEXT: Section: .tdata 190; SYMS-NODATASECT-NEXT: Type: 0x0 191; SYMS-NODATASECT-NEXT: StorageClass: C_HIDEXT (0x6B) 192; SYMS-NODATASECT-NEXT: NumberOfAuxEntries: 1 193; SYMS-NODATASECT-NEXT: CSECT Auxiliary Entry { 194; SYMS-NODATASECT-NEXT: Index: [[#INDX+11]] 195; SYMS-NODATASECT-NEXT: SectionLen: 48 196; SYMS-NODATASECT-NEXT: ParameterHashIndex: 0x0 197; SYMS-NODATASECT-NEXT: TypeChkSectNum: 0x0 198; SYMS-NODATASECT-NEXT: SymbolAlignmentLog2: 3 199; SYMS-NODATASECT-NEXT: SymbolType: XTY_SD (0x1) 200; SYMS-NODATASECT-NEXT: StorageMappingClass: XMC_TL (0x14) 201; SYMS-NODATASECT-NEXT: StabInfoIndex: 0x0 202; SYMS-NODATASECT-NEXT: StabSectNum: 0x0 203; SYMS-NODATASECT-NEXT: } 204; SYMS-NODATASECT-NEXT: } 205 206; SYMS: Symbol { 207; SYMS-DATASECT: Index: [[#INDX+8]] 208; SYMS-NODATASECT: Index: [[#INDX+12]] 209; SYMS: Name: tls_global_int_external_val_initialized 210; SYMS-NEXT: Value (RelocatableAddress): 0x0 211; SYMS-NEXT: Section: .tdata 212; SYMS-NEXT: Type: 0x0 213; SYMS-NEXT: StorageClass: C_EXT (0x2) 214; SYMS-NEXT: NumberOfAuxEntries: 1 215; SYMS-NEXT: CSECT Auxiliary Entry { 216; SYMS-DATASECT: Index: [[#INDX+9]] 217; SYMS-DATASECT-NEXT: SectionLen: 4 218; SYMS-NODATASECT: Index: [[#INDX+13]] 219; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 220; SYMS: ParameterHashIndex: 0x0 221; SYMS-NEXT: TypeChkSectNum: 0x0 222; SYMS-DATASECT: SymbolAlignmentLog2: 2 223; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 224; SYMS-NODATASECT: SymbolAlignmentLog2: 0 225; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 226; SYMS: StorageMappingClass: XMC_TL (0x14) 227; SYMS-NEXT: StabInfoIndex: 0x0 228; SYMS-NEXT: StabSectNum: 0x0 229; SYMS-NEXT: } 230; SYMS-NEXT: } 231 232; SYMS: Symbol { 233; SYMS-DATASECT: Index: [[#INDX+10]] 234; SYMS-NODATASECT: Index: [[#INDX+14]] 235; SYMS: Name: tls_global_alias_int_external_val_initialized 236; SYMS-NEXT: Value (RelocatableAddress): 0x0 237; SYMS-NEXT: Section: .tdata 238; SYMS-NEXT: Type: 0x0 239; SYMS-NEXT: StorageClass: C_EXT (0x2) 240; SYMS-NEXT: NumberOfAuxEntries: 1 241; SYMS-NEXT: CSECT Auxiliary Entry { 242; SYMS-DATASECT: Index: [[#INDX+11]] 243; SYMS-DATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+8]] 244; SYMS-NODATASECT: Index: [[#INDX+15]] 245; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 246; SYMS: ParameterHashIndex: 0x0 247; SYMS-NEXT: TypeChkSectNum: 0x0 248; SYMS-NEXT: SymbolAlignmentLog2: 0 249; SYMS-NEXT: SymbolType: XTY_LD (0x2) 250; SYMS-NEXT: StorageMappingClass: XMC_TL (0x14) 251; SYMS-NEXT: StabInfoIndex: 0x0 252; SYMS-NEXT: StabSectNum: 0x0 253; SYMS-NEXT: } 254; SYMS-NEXT: } 255 256; SYMS: Symbol { 257; SYMS-DATASECT: Index: [[#INDX+12]] 258; SYMS-NODATASECT: Index: [[#INDX+16]] 259; SYMS: Name: tls_global_int_external_zero_initialized 260; SYMS-NEXT: Value (RelocatableAddress): 0x4 261; SYMS-NEXT: Section: .tdata 262; SYMS-NEXT: Type: 0x0 263; SYMS-NEXT: StorageClass: C_EXT (0x2) 264; SYMS-NEXT: NumberOfAuxEntries: 1 265; SYMS-NEXT: CSECT Auxiliary Entry { 266; SYMS-DATASECT: Index: [[#INDX+13]] 267; SYMS-DATASECT-NEXT: SectionLen: 4 268; SYMS-NODATASECT: Index: [[#INDX+17]] 269; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 270; SYMS: ParameterHashIndex: 0x0 271; SYMS-NEXT: TypeChkSectNum: 0x0 272; SYMS-DATASECT: SymbolAlignmentLog2: 2 273; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 274; SYMS-NODATASECT: SymbolAlignmentLog2: 0 275; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 276; SYMS: StorageMappingClass: XMC_TL (0x14) 277; SYMS-NEXT: StabInfoIndex: 0x0 278; SYMS-NEXT: StabSectNum: 0x0 279; SYMS-NEXT: } 280; SYMS-NEXT: } 281 282; SYMS: Symbol { 283; SYMS-DATASECT: Index: [[#INDX+14]] 284; SYMS-NODATASECT: Index: [[#INDX+18]] 285; SYMS: Name: tls_global_int_local_val_initialized 286; SYMS-NEXT: Value (RelocatableAddress): 0x8 287; SYMS-NEXT: Section: .tdata 288; SYMS-NEXT: Type: 0x0 289; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B) 290; SYMS-NEXT: NumberOfAuxEntries: 1 291; SYMS-NEXT: CSECT Auxiliary Entry { 292; SYMS-DATASECT: Index: [[#INDX+15]] 293; SYMS-DATASECT-NEXT: SectionLen: 4 294; SYMS-NODATASECT: Index: [[#INDX+19]] 295; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 296; SYMS: ParameterHashIndex: 0x0 297; SYMS-NEXT: TypeChkSectNum: 0x0 298; SYMS-DATASECT: SymbolAlignmentLog2: 2 299; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 300; SYMS-NODATASECT: SymbolAlignmentLog2: 0 301; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 302; SYMS: StorageMappingClass: XMC_TL (0x14) 303; SYMS-NEXT: StabInfoIndex: 0x0 304; SYMS-NEXT: StabSectNum: 0x0 305; SYMS-NEXT: } 306; SYMS-NEXT: } 307 308; SYMS: Symbol { 309; SYMS-DATASECT: Index: [[#INDX+16]] 310; SYMS-NODATASECT: Index: [[#INDX+20]] 311; SYMS: Name: tls_global_int_weak_zero_initialized 312; SYMS-NEXT: Value (RelocatableAddress): 0xC 313; SYMS-NEXT: Section: .tdata 314; SYMS-NEXT: Type: 0x0 315; SYMS-NEXT: StorageClass: C_WEAKEXT (0x6F) 316; SYMS-NEXT: NumberOfAuxEntries: 1 317; SYMS-NEXT: CSECT Auxiliary Entry { 318; SYMS-DATASECT: Index: [[#INDX+17]] 319; SYMS-DATASECT-NEXT: SectionLen: 4 320; SYMS-NODATASECT: Index: [[#INDX+21]] 321; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 322; SYMS: ParameterHashIndex: 0x0 323; SYMS-NEXT: TypeChkSectNum: 0x0 324; SYMS-DATASECT: SymbolAlignmentLog2: 2 325; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 326; SYMS-NODATASECT: SymbolAlignmentLog2: 0 327; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 328; SYMS: StorageMappingClass: XMC_TL (0x14) 329; SYMS-NEXT: StabInfoIndex: 0x0 330; SYMS-NEXT: StabSectNum: 0x0 331; SYMS-NEXT: } 332; SYMS-NEXT: } 333 334; SYMS: Symbol { 335; SYMS-DATASECT: Index: [[#INDX+18]] 336; SYMS-NODATASECT: Index: [[#INDX+22]] 337; SYMS: Name: tls_global_int_weak_val_initialized 338; SYMS-NEXT: Value (RelocatableAddress): 0x10 339; SYMS-NEXT: Section: .tdata 340; SYMS-NEXT: Type: 0x0 341; SYMS-NEXT: StorageClass: C_WEAKEXT (0x6F) 342; SYMS-NEXT: NumberOfAuxEntries: 1 343; SYMS-NEXT: CSECT Auxiliary Entry { 344; SYMS-DATASECT: Index: [[#INDX+19]] 345; SYMS-DATASECT-NEXT: SectionLen: 4 346; SYMS-NODATASECT: Index: [[#INDX+23]] 347; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 348; SYMS: ParameterHashIndex: 0x0 349; SYMS-NEXT: TypeChkSectNum: 0x0 350; SYMS-DATASECT: SymbolAlignmentLog2: 2 351; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 352; SYMS-NODATASECT: SymbolAlignmentLog2: 0 353; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 354; SYMS: StorageMappingClass: XMC_TL (0x14) 355; SYMS-NEXT: StabInfoIndex: 0x0 356; SYMS-NEXT: StabSectNum: 0x0 357; SYMS-NEXT: } 358; SYMS-NEXT: } 359 360; SYMS: Symbol { 361; SYMS-DATASECT: Index: [[#INDX+20]] 362; SYMS-NODATASECT: Index: [[#INDX+24]] 363; SYMS: Name: tls_global_long_long_internal_val_initialized 364; SYMS-NEXT: Value (RelocatableAddress): 0x18 365; SYMS-NEXT: Section: .tdata 366; SYMS-NEXT: Type: 0x0 367; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B) 368; SYMS-NEXT: NumberOfAuxEntries: 1 369; SYMS-NEXT: CSECT Auxiliary Entry { 370; SYMS-DATASECT: Index: [[#INDX+21]] 371; SYMS-DATASECT-NEXT: SectionLen: 8 372; SYMS-NODATASECT: Index: [[#INDX+25]] 373; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 374; SYMS: ParameterHashIndex: 0x0 375; SYMS-NEXT: TypeChkSectNum: 0x0 376; SYMS-DATASECT: SymbolAlignmentLog2: 3 377; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 378; SYMS-NODATASECT: SymbolAlignmentLog2: 0 379; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 380; SYMS: StorageMappingClass: XMC_TL (0x14) 381; SYMS-NEXT: StabInfoIndex: 0x0 382; SYMS-NEXT: StabSectNum: 0x0 383; SYMS-NEXT: } 384; SYMS-NEXT: } 385 386; SYMS: Symbol { 387; SYMS-DATASECT: Index: [[#INDX+22]] 388; SYMS-NODATASECT: Index: [[#INDX+26]] 389; SYMS: Name: tls_global_long_long_weak_val_initialized 390; SYMS-NEXT: Value (RelocatableAddress): 0x20 391; SYMS-NEXT: Section: .tdata 392; SYMS-NEXT: Type: 0x0 393; SYMS-NEXT: StorageClass: C_WEAKEXT (0x6F) 394; SYMS-NEXT: NumberOfAuxEntries: 1 395; SYMS-NEXT: CSECT Auxiliary Entry { 396; SYMS-DATASECT: Index: [[#INDX+23]] 397; SYMS-DATASECT-NEXT: SectionLen: 8 398; SYMS-NODATASECT: Index: [[#INDX+27]] 399; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 400; SYMS: ParameterHashIndex: 0x0 401; SYMS-NEXT: TypeChkSectNum: 0x0 402; SYMS-DATASECT: SymbolAlignmentLog2: 3 403; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 404; SYMS-NODATASECT: SymbolAlignmentLog2: 0 405; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 406; SYMS: StorageMappingClass: XMC_TL (0x14) 407; SYMS-NEXT: StabInfoIndex: 0x0 408; SYMS-NEXT: StabSectNum: 0x0 409; SYMS-NEXT: } 410; SYMS-NEXT: } 411 412; SYMS: Symbol { 413; SYMS-DATASECT: Index: [[#INDX+24]] 414; SYMS-NODATASECT: Index: [[#INDX+28]] 415; SYMS: Name: tls_global_long_long_weak_zero_initialized 416; SYMS-NEXT: Value (RelocatableAddress): 0x28 417; SYMS-NEXT: Section: .tdata 418; SYMS-NEXT: Type: 0x0 419; SYMS-NEXT: StorageClass: C_WEAKEXT (0x6F) 420; SYMS-NEXT: NumberOfAuxEntries: 1 421; SYMS-NEXT: CSECT Auxiliary Entry { 422; SYMS-DATASECT: Index: [[#INDX+25]] 423; SYMS-DATASECT-NEXT: SectionLen: 8 424; SYMS-NODATASECT: Index: [[#INDX+29]] 425; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]] 426; SYMS: ParameterHashIndex: 0x0 427; SYMS-NEXT: TypeChkSectNum: 0x0 428; SYMS-DATASECT: SymbolAlignmentLog2: 3 429; SYMS-DATASECT-NEXT: SymbolType: XTY_SD (0x1) 430; SYMS-NODATASECT: SymbolAlignmentLog2: 0 431; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2) 432; SYMS: StorageMappingClass: XMC_TL (0x14) 433; SYMS-NEXT: StabInfoIndex: 0x0 434; SYMS-NEXT: StabSectNum: 0x0 435; SYMS-NEXT: } 436; SYMS-NEXT: } 437 438; SYMS: Symbol { 439; SYMS-DATASECT: Index: [[#INDX+26]] 440; SYMS-NODATASECT: Index: [[#INDX+30]] 441; SYMS: Name: tls_global_int_local_zero_initialized 442; SYMS-NEXT: Value (RelocatableAddress): 0x30 443; SYMS-NEXT: Section: .tbss 444; SYMS-NEXT: Type: 0x0 445; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B) 446; SYMS-NEXT: NumberOfAuxEntries: 1 447; SYMS-NEXT: CSECT Auxiliary Entry { 448; SYMS-DATASECT: Index: [[#INDX+27]] 449; SYMS-NODATASECT: Index: [[#INDX+31]] 450; SYMS: SectionLen: 4 451; SYMS-NEXT: ParameterHashIndex: 0x0 452; SYMS-NEXT: TypeChkSectNum: 0x0 453; SYMS-NEXT: SymbolAlignmentLog2: 2 454; SYMS-NEXT: SymbolType: XTY_CM (0x3) 455; SYMS-NEXT: StorageMappingClass: XMC_UL (0x15) 456; SYMS-NEXT: StabInfoIndex: 0x0 457; SYMS-NEXT: StabSectNum: 0x0 458; SYMS-NEXT: } 459; SYMS-NEXT: } 460 461; SYMS: Symbol { 462; SYMS-DATASECT: Index: [[#INDX+28]] 463; SYMS-NODATASECT: Index: [[#INDX+32]] 464; SYMS: Name: tls_global_int_common_zero_initialized 465; SYMS-NEXT: Value (RelocatableAddress): 0x34 466; SYMS-NEXT: Section: .tbss 467; SYMS-NEXT: Type: 0x0 468; SYMS-NEXT: StorageClass: C_EXT (0x2) 469; SYMS-NEXT: NumberOfAuxEntries: 1 470; SYMS-NEXT: CSECT Auxiliary Entry { 471; SYMS-DATASECT: Index: [[#INDX+29]] 472; SYMS-NODATASECT: Index: [[#INDX+33]] 473; SYMS: SectionLen: 4 474; SYMS-NEXT: ParameterHashIndex: 0x0 475; SYMS-NEXT: TypeChkSectNum: 0x0 476; SYMS-NEXT: SymbolAlignmentLog2: 2 477; SYMS-NEXT: SymbolType: XTY_CM (0x3) 478; SYMS-NEXT: StorageMappingClass: XMC_UL (0x15) 479; SYMS-NEXT: StabInfoIndex: 0x0 480; SYMS-NEXT: StabSectNum: 0x0 481; SYMS-NEXT: } 482; SYMS-NEXT: } 483 484; SYMS: Symbol { 485; SYMS-DATASECT: Index: [[#INDX+30]] 486; SYMS-NODATASECT: Index: [[#INDX+34]] 487; SYMS: Name: tls_global_double_common_zero_initialized 488; SYMS-NEXT: Value (RelocatableAddress): 0x38 489; SYMS-NEXT: Section: .tbss 490; SYMS-NEXT: Type: 0x0 491; SYMS-NEXT: StorageClass: C_EXT (0x2) 492; SYMS-NEXT: NumberOfAuxEntries: 1 493; SYMS-NEXT: CSECT Auxiliary Entry { 494; SYMS-DATASECT: Index: [[#INDX+31]] 495; SYMS-NODATASECT: Index: [[#INDX+35]] 496; SYMS: SectionLen: 8 497; SYMS-NEXT: ParameterHashIndex: 0x0 498; SYMS-NEXT: TypeChkSectNum: 0x0 499; SYMS-NEXT: SymbolAlignmentLog2: 3 500; SYMS-NEXT: SymbolType: XTY_CM (0x3) 501; SYMS-NEXT: StorageMappingClass: XMC_UL (0x15) 502; SYMS-NEXT: StabInfoIndex: 0x0 503; SYMS-NEXT: StabSectNum: 0x0 504; SYMS-NEXT: } 505; SYMS-NEXT: } 506 507; SYMS: Symbol { 508; SYMS-DATASECT: Index: [[#INDX+32]] 509; SYMS-NODATASECT: Index: [[#INDX+36]] 510; SYMS: Name: tls_global_long_long_internal_zero_initialized 511; SYMS-NEXT: Value (RelocatableAddress): 0x40 512; SYMS-NEXT: Section: .tbss 513; SYMS-NEXT: Type: 0x0 514; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B) 515; SYMS-NEXT: NumberOfAuxEntries: 1 516; SYMS-NEXT: CSECT Auxiliary Entry { 517; SYMS-DATASECT: Index: [[#INDX+33]] 518; SYMS-NODATASECT: Index: [[#INDX+37]] 519; SYMS: SectionLen: 8 520; SYMS-NEXT: ParameterHashIndex: 0x0 521; SYMS-NEXT: TypeChkSectNum: 0x0 522; SYMS-NEXT: SymbolAlignmentLog2: 3 523; SYMS-NEXT: SymbolType: XTY_CM (0x3) 524; SYMS-NEXT: StorageMappingClass: XMC_UL (0x15) 525; SYMS-NEXT: StabInfoIndex: 0x0 526; SYMS-NEXT: StabSectNum: 0x0 527; SYMS-NEXT: } 528; SYMS-NEXT: } 529 530 531; OBJDUMP-DATASECT: Disassembly of section .text: 532; OBJDUMP-DATASECT-EMPTY: 533; OBJDUMP-DATASECT-NEXT: 00000000 (idx: [[#NFA+7]]) const_ivar[RO]: 534; OBJDUMP-DATASECT-NEXT: 0: 00 00 00 06 <unknown> 535; OBJDUMP-DATASECT-EMPTY: 536; OBJDUMP-DATASECT-NEXT: Disassembly of section .tdata: 537; OBJDUMP-DATASECT-EMPTY: 538; OBJDUMP-DATASECT-NEXT: 00000000 (idx: [[#NFA+11]]) tls_global_alias_int_external_val_initialized: 539; OBJDUMP-DATASECT-NEXT: 0: 00 00 00 01 <unknown> 540; OBJDUMP-DATASECT-EMPTY: 541; OBJDUMP-DATASECT-NEXT: 00000004 (idx: [[#NFA+13]]) tls_global_int_external_zero_initialized[TL]: 542; OBJDUMP-DATASECT-NEXT: 4: 00 00 00 00 <unknown> 543; OBJDUMP-DATASECT-EMPTY: 544; OBJDUMP-DATASECT-NEXT: 00000008 (idx: [[#NFA+15]]) tls_global_int_local_val_initialized[TL]: 545; OBJDUMP-DATASECT-NEXT: 8: 00 00 00 02 <unknown> 546; OBJDUMP-DATASECT-EMPTY: 547; OBJDUMP-DATASECT-NEXT: 0000000c (idx: [[#NFA+17]]) tls_global_int_weak_zero_initialized[TL]: 548; OBJDUMP-DATASECT-NEXT: c: 00 00 00 00 <unknown> 549; OBJDUMP-DATASECT-EMPTY: 550; OBJDUMP-DATASECT-NEXT: 00000010 (idx: [[#NFA+19]]) tls_global_int_weak_val_initialized[TL]: 551; OBJDUMP-DATASECT-NEXT: 10: 00 00 00 01 <unknown> 552; OBJDUMP-DATASECT-NEXT: 14: 00 00 00 00 <unknown> 553; OBJDUMP-DATASECT-EMPTY: 554; OBJDUMP-DATASECT-NEXT: 00000018 (idx: [[#NFA+21]]) tls_global_long_long_internal_val_initialized[TL]: 555; OBJDUMP-DATASECT-NEXT: 18: 00 00 00 00 <unknown> 556; OBJDUMP-DATASECT-NEXT: 1c: 00 00 00 01 <unknown> 557; OBJDUMP-DATASECT-EMPTY: 558; OBJDUMP-DATASECT-NEXT: 00000020 (idx: [[#NFA+23]]) tls_global_long_long_weak_val_initialized[TL]: 559; OBJDUMP-DATASECT-NEXT: 20: 00 00 00 00 <unknown> 560; OBJDUMP-DATASECT-NEXT: 24: 00 00 00 01 <unknown> 561; OBJDUMP-DATASECT-EMPTY: 562; OBJDUMP-DATASECT-NEXT: 00000028 (idx: [[#NFA+25]]) tls_global_long_long_weak_zero_initialized[TL]: 563; OBJDUMP-DATASECT-NEXT: ... 564; OBJDUMP-DATASECT-EMPTY: 565 566; OBJDUMP-DATASECT-NEXT: Disassembly of section .tbss: 567; OBJDUMP-DATASECT-EMPTY: 568; OBJDUMP-DATASECT-NEXT: 00000030 (idx: [[#NFA+27]]) tls_global_int_local_zero_initialized[UL]: 569; OBJDUMP-DATASECT-NEXT: ... 570; OBJDUMP-DATASECT-EMPTY: 571; OBJDUMP-DATASECT-NEXT: 00000034 (idx: [[#NFA+29]]) tls_global_int_common_zero_initialized[UL]: 572; OBJDUMP-DATASECT-NEXT: ... 573; OBJDUMP-DATASECT-EMPTY: 574; OBJDUMP-DATASECT-NEXT: 00000038 (idx: [[#NFA+31]]) tls_global_double_common_zero_initialized[UL] 575; OBJDUMP-DATASECT-NEXT: ... 576; OBJDUMP-DATASECT-EMPTY: 577; OBJDUMP-DATASECT-NEXT: 00000040 (idx: [[#NFA+33]]) tls_global_long_long_internal_zero_initialized[UL]: 578; OBJDUMP-DATASECT-NEXT: ... 579 580; OBJDUMP-NODATASECT: Disassembly of section .text: 581; OBJDUMP-NODATASECT-EMPTY: 582; OBJDUMP-NODATASECT-NEXT: 00000000 (idx: [[#NFA+9]]) const_ivar: 583; OBJDUMP-NODATASECT-NEXT: 0: 00 00 00 06 <unknown> 584; OBJDUMP-NODATASECT-EMPTY: 585; OBJDUMP-NODATASECT-NEXT: Disassembly of section .tdata: 586; OBJDUMP-NODATASECT-EMPTY: 587; OBJDUMP-NODATASECT: 00000000 (idx: [[#NFA+13]]) tls_global_int_external_val_initialized: 588; OBJDUMP-NODATASECT-NEXT: 0: 00 00 00 01 <unknown> 589; OBJDUMP-NODATASECT-EMPTY: 590; OBJDUMP-NODATASECT-NEXT: 00000004 (idx: [[#NFA+17]]) tls_global_int_external_zero_initialized: 591; OBJDUMP-NODATASECT-NEXT: 4: 00 00 00 00 <unknown> 592; OBJDUMP-NODATASECT-EMPTY: 593; OBJDUMP-NODATASECT-NEXT: 00000008 (idx: [[#NFA+19]]) tls_global_int_local_val_initialized: 594; OBJDUMP-NODATASECT-NEXT: 8: 00 00 00 02 <unknown> 595; OBJDUMP-NODATASECT-EMPTY: 596; OBJDUMP-NODATASECT-NEXT: 0000000c (idx: [[#NFA+21]]) tls_global_int_weak_zero_initialized: 597; OBJDUMP-NODATASECT-NEXT: c: 00 00 00 00 <unknown> 598; OBJDUMP-NODATASECT-EMPTY: 599; OBJDUMP-NODATASECT-NEXT: 00000010 (idx: [[#NFA+23]]) tls_global_int_weak_val_initialized: 600; OBJDUMP-NODATASECT-NEXT: 10: 00 00 00 01 <unknown> 601; OBJDUMP-NODATASECT-NEXT: 14: 00 00 00 00 <unknown> 602; OBJDUMP-NODATASECT-EMPTY: 603; OBJDUMP-NODATASECT-NEXT: 00000018 (idx: [[#NFA+25]]) tls_global_long_long_internal_val_initialized: 604; OBJDUMP-NODATASECT-NEXT: 18: 00 00 00 00 <unknown> 605; OBJDUMP-NODATASECT-NEXT: 1c: 00 00 00 01 <unknown> 606; OBJDUMP-NODATASECT-EMPTY: 607; OBJDUMP-NODATASECT-NEXT: 00000020 (idx: [[#NFA+27]]) tls_global_long_long_weak_val_initialized: 608; OBJDUMP-NODATASECT-NEXT: 20: 00 00 00 00 <unknown> 609; OBJDUMP-NODATASECT-NEXT: 24: 00 00 00 01 <unknown> 610; OBJDUMP-NODATASECT-EMPTY: 611; OBJDUMP-NODATASECT-NEXT: 00000028 (idx: [[#NFA+29]]) tls_global_long_long_weak_zero_initialized: 612; OBJDUMP-NODATASECT-NEXT: ... 613; OBJDUMP-NODATASECT-EMPTY: 614 615; OBJDUMP-NODATASECT-NEXT: Disassembly of section .tbss: 616; OBJDUMP-NODATASECT-EMPTY: 617; OBJDUMP-NODATASECT-NEXT: 00000030 (idx: [[#NFA+31]]) tls_global_int_local_zero_initialized[UL]: 618; OBJDUMP-NODATASECT-NEXT: ... 619; OBJDUMP-NODATASECT-EMPTY: 620; OBJDUMP-NODATASECT-NEXT: 00000034 (idx: [[#NFA+33]]) tls_global_int_common_zero_initialized[UL]: 621; OBJDUMP-NODATASECT-NEXT: ... 622; OBJDUMP-NODATASECT-EMPTY: 623; OBJDUMP-NODATASECT-NEXT: 00000038 (idx: [[#NFA+35]]) tls_global_double_common_zero_initialized[UL]: 624; OBJDUMP-NODATASECT-NEXT: ... 625; OBJDUMP-NODATASECT-EMPTY: 626; OBJDUMP-NODATASECT-NEXT: 00000040 (idx: [[#NFA+37]]) tls_global_long_long_internal_zero_initialized[UL]: 627; OBJDUMP-NODATASECT-NEXT: ... 628 629@tls_global_int_external_val_initialized = thread_local global i32 1, align 4 630@tls_global_int_external_zero_initialized = thread_local global i32 0, align 4 631@tls_global_int_local_val_initialized = internal thread_local global i32 2, align 4 632@tls_global_int_local_zero_initialized = internal thread_local global i32 0, align 4 633@tls_global_int_weak_zero_initialized = weak thread_local global i32 0, align 4 634@tls_global_int_common_zero_initialized = common thread_local global i32 0, align 4 635@tls_global_int_weak_val_initialized = weak thread_local global i32 1, align 4 636@tls_global_int_external_uninitialized = external thread_local global i32, align 4 637@tls_global_double_common_zero_initialized = common thread_local global double 0.000000e+00, align 8 638@tls_global_double_external_uninitialized = external thread_local global i64, align 8 639@tls_global_long_long_internal_val_initialized = internal thread_local global i64 1, align 8 640@tls_global_long_long_internal_zero_initialized = internal thread_local global i64 0, align 8 641@tls_global_long_long_weak_val_initialized = weak thread_local global i64 1, align 8 642@tls_global_long_long_weak_zero_initialized = weak thread_local global i64 0, align 8 643@tls_global_alias_int_external_val_initialized = thread_local alias i32, ptr @tls_global_int_external_val_initialized 644@const_ivar = constant i32 6, align 4 645