646 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			646 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			LLVM
		
	
	
	
| ; This file tests the codegen of tls variables in AIX XCOFF object files
 | |
| 
 | |
| ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
 | |
| ; RUN: llvm-readobj --section-headers %t.o | FileCheck --check-prefix=SECTION %s
 | |
| ; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYMS,SYMS-DATASECT %s
 | |
| ; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefixes=OBJDUMP-DATASECT %s
 | |
| 
 | |
| ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s
 | |
| ; RUN: llvm-readobj --section-headers %t.o | FileCheck --check-prefix=SECTION %s
 | |
| ; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYMS,SYMS-NODATASECT %s
 | |
| ; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefixes=OBJDUMP-NODATASECT %s
 | |
| 
 | |
| ;; FIXME: currently only fileHeader and sectionHeaders are supported in XCOFF64.
 | |
| 
 | |
| ; SECTION:      File: {{.*}}aix-tls-xcoff-variables.ll.tmp.o
 | |
| ; SECTION-NEXT: Format: aixcoff-rs6000
 | |
| ; SECTION-NEXT: Arch: powerpc
 | |
| ; SECTION-NEXT: AddressSize: 32bit
 | |
| ; SECTION-NEXT: Sections [
 | |
| ; SECTION-NEXT:   Section {
 | |
| ; SECTION-NEXT:     Index: 1
 | |
| ; SECTION-NEXT:     Name: .text
 | |
| ; SECTION-NEXT:     PhysicalAddress: 0x0
 | |
| ; SECTION-NEXT:     VirtualAddress: 0x0
 | |
| ; SECTION-NEXT:     Size: 0x4
 | |
| ; SECTION-NEXT:     RawDataOffset: 0x8C
 | |
| ; SECTION-NEXT:     RelocationPointer: 0x0
 | |
| ; SECTION-NEXT:     LineNumberPointer: 0x0
 | |
| ; SECTION-NEXT:     NumberOfRelocations: 0
 | |
| ; SECTION-NEXT:     NumberOfLineNumbers: 0
 | |
| ; SECTION-NEXT:     Type: STYP_TEXT (0x20)
 | |
| ; SECTION-NEXT:   }
 | |
| ; SECTION-NEXT:   Section {
 | |
| ; SECTION-NEXT:     Index: 2
 | |
| ; SECTION-NEXT:     Name: .tdata
 | |
| ; SECTION-NEXT:     PhysicalAddress: 0x0
 | |
| ; SECTION-NEXT:     VirtualAddress: 0x0
 | |
| ; SECTION-NEXT:     Size: 0x30
 | |
| ; SECTION-NEXT:     RawDataOffset: 0x90
 | |
| ; SECTION-NEXT:     RelocationPointer: 0x0
 | |
| ; SECTION-NEXT:     LineNumberPointer: 0x0
 | |
| ; SECTION-NEXT:     NumberOfRelocations: 0
 | |
| ; SECTION-NEXT:     NumberOfLineNumbers: 0
 | |
| ; SECTION-NEXT:     Type: STYP_TDATA (0x400)
 | |
| ; SECTION-NEXT:   }
 | |
| ; SECTION-NEXT:   Section {
 | |
| ; SECTION-NEXT:     Index: 3
 | |
| ; SECTION-NEXT:     Name: .tbss
 | |
| ; SECTION-NEXT:     PhysicalAddress: 0x30
 | |
| ; SECTION-NEXT:     VirtualAddress: 0x30
 | |
| ; SECTION-NEXT:     Size: 0x18
 | |
| ; SECTION-NEXT:     RawDataOffset: 0x0
 | |
| ; SECTION-NEXT:     RelocationPointer: 0x0
 | |
| ; SECTION-NEXT:     LineNumberPointer: 0x0
 | |
| ; SECTION-NEXT:     NumberOfRelocations: 0
 | |
| ; SECTION-NEXT:     NumberOfLineNumbers: 0
 | |
| ; SECTION-NEXT:     Type: STYP_TBSS (0x800)
 | |
| ; SECTION-NEXT:   }
 | |
| ; SECTION-NEXT: ]
 | |
| 
 | |
| 
 | |
| ; SYMS:      File: {{.*}}aix-tls-xcoff-variables.ll.tmp.o
 | |
| ; SYMS-NEXT: Format: aixcoff-rs6000
 | |
| ; SYMS-NEXT: Arch: powerpc
 | |
| ; SYMS-NEXT: AddressSize: 32bit
 | |
| ; SYMS-NEXT: Symbols [
 | |
| ; SYMS-NEXT:   Symbol {
 | |
| ; SYMS-NEXT:     Index: 0
 | |
| ; SYMS-NEXT:     Name: .file
 | |
| ; SYMS-NEXT:     Value (SymbolTableIndex): 0x0
 | |
| ; SYMS-NEXT:     Section: N_DEBUG
 | |
| ; SYMS-NEXT:     Source Language ID: TB_C (0x0)
 | |
| ; SYMS-NEXT:     CPU Version ID: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_FILE (0x67)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 0
 | |
| ; SYMS-NEXT:   }
 | |
| ; SYMS-NEXT:   Symbol {
 | |
| ; SYMS-NEXT:     Index: [[#INDX:]]
 | |
| ; SYMS-NEXT:     Name: tls_global_int_external_uninitialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
 | |
| ; SYMS-NEXT:     Section: N_UNDEF
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-NEXT:       Index: [[#INDX+1]]
 | |
| ; SYMS-NEXT:       SectionLen: 0
 | |
| ; SYMS-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NEXT:       SymbolAlignmentLog2: 0
 | |
| ; SYMS-NEXT:       SymbolType: XTY_ER (0x0)
 | |
| ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| ; SYMS-NEXT:   Symbol {
 | |
| ; SYMS-NEXT:     Index: [[#INDX+2]]
 | |
| ; SYMS-NEXT:     Name: tls_global_double_external_uninitialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
 | |
| ; SYMS-NEXT:     Section: N_UNDEF
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-NEXT:       Index: [[#INDX+3]]
 | |
| ; SYMS-NEXT:       SectionLen: 0
 | |
| ; SYMS-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NEXT:       SymbolAlignmentLog2: 0
 | |
| ; SYMS-NEXT:       SymbolType: XTY_ER (0x0)
 | |
| ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS-NEXT:   Symbol {
 | |
| ; SYMS-NEXT:     Index: [[#INDX+4]]
 | |
| ; SYMS-NEXT:     Name: .text
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
 | |
| ; SYMS-NEXT:     Section: .text
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-NEXT:       Index: [[#INDX+5]]
 | |
| ; SYMS-NEXT:       SectionLen: 0
 | |
| ; SYMS-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NEXT:       SymbolAlignmentLog2: 2
 | |
| ; SYMS-NEXT:       SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NEXT:       StorageMappingClass: XMC_PR (0x0)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS-NODATASECT:        Symbol {
 | |
| ; SYMS-NODATASECT-NEXT:     Index: [[#INDX+6]]
 | |
| ; SYMS-NODATASECT-NEXT:     Name: .rodata
 | |
| ; SYMS-NODATASECT-NEXT:     Value (RelocatableAddress): 0x0
 | |
| ; SYMS-NODATASECT-NEXT:     Section: .text
 | |
| ; SYMS-NODATASECT-NEXT:     Type: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:     StorageClass: C_HIDEXT (0x6B)
 | |
| ; SYMS-NODATASECT-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NODATASECT-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-NODATASECT-NEXT:       Index: [[#INDX+7]]
 | |
| ; SYMS-NODATASECT-NEXT:       SectionLen: 4
 | |
| ; SYMS-NODATASECT-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:       SymbolAlignmentLog2: 2
 | |
| ; SYMS-NODATASECT-NEXT:       SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT-NEXT:       StorageMappingClass: XMC_RO (0x1)
 | |
| ; SYMS-NODATASECT-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:     }
 | |
| ; SYMS-NODATASECT-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+6]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+8]]
 | |
| ; SYMS-NEXT:     Name: const_ivar
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
 | |
| ; SYMS-NEXT:     Section: .text
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+7]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 4
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+9]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+6]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_RO (0x1)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS-NODATASECT:        Symbol {
 | |
| ; SYMS-NODATASECT-NEXT:     Index: [[#INDX+10]]
 | |
| ; SYMS-NODATASECT-NEXT:     Name: .tdata
 | |
| ; SYMS-NODATASECT-NEXT:     Value (RelocatableAddress): 0x0
 | |
| ; SYMS-NODATASECT-NEXT:     Section: .tdata
 | |
| ; SYMS-NODATASECT-NEXT:     Type: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:     StorageClass: C_HIDEXT (0x6B)
 | |
| ; SYMS-NODATASECT-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NODATASECT-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-NODATASECT-NEXT:       Index: [[#INDX+11]]
 | |
| ; SYMS-NODATASECT-NEXT:       SectionLen: 48
 | |
| ; SYMS-NODATASECT-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:       SymbolAlignmentLog2: 3
 | |
| ; SYMS-NODATASECT-NEXT:       SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT-NEXT:       StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NODATASECT-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NODATASECT-NEXT:     }
 | |
| ; SYMS-NODATASECT-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+8]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+12]]
 | |
| ; SYMS:          Name: tls_global_int_external_val_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+9]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 4
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+13]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+10]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+14]]
 | |
| ; SYMS:          Name: tls_global_alias_int_external_val_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+11]]
 | |
| ; SYMS-DATASECT-NEXT:   ContainingCsectSymbolIndex: [[#INDX+8]]
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+15]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NEXT:       SymbolAlignmentLog2: 0
 | |
| ; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
 | |
| ; SYMS-NEXT:       StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+12]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+16]]
 | |
| ; SYMS:          Name: tls_global_int_external_zero_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x4
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+13]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 4
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+17]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+14]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+18]]
 | |
| ; SYMS:          Name: tls_global_int_local_val_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x8
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+15]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 4
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+19]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+16]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+20]]
 | |
| ; SYMS:          Name: tls_global_int_weak_zero_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0xC
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_WEAKEXT (0x6F)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+17]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 4
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+21]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+18]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+22]]
 | |
| ; SYMS:          Name: tls_global_int_weak_val_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x10
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_WEAKEXT (0x6F)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+19]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 4
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+23]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+20]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+24]]
 | |
| ; SYMS:          Name: tls_global_long_long_internal_val_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x18
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+21]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 8
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+25]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 3
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+22]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+26]]
 | |
| ; SYMS:          Name: tls_global_long_long_weak_val_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x20
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_WEAKEXT (0x6F)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+23]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 8
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+27]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 3
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+24]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+28]]
 | |
| ; SYMS:          Name: tls_global_long_long_weak_zero_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x28
 | |
| ; SYMS-NEXT:     Section: .tdata
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_WEAKEXT (0x6F)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:        Index: [[#INDX+25]]
 | |
| ; SYMS-DATASECT-NEXT:   SectionLen: 8
 | |
| ; SYMS-NODATASECT:      Index: [[#INDX+29]]
 | |
| ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
 | |
| ; SYMS:            ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-DATASECT:        SymbolAlignmentLog2: 3
 | |
| ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
 | |
| ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
 | |
| ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
 | |
| ; SYMS:            StorageMappingClass: XMC_TL (0x14)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+26]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+30]]
 | |
| ; SYMS:          Name: tls_global_int_local_zero_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x30
 | |
| ; SYMS-NEXT:     Section: .tbss
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+27]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+31]]
 | |
| ; SYMS:            SectionLen: 4
 | |
| ; SYMS-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NEXT:       SymbolAlignmentLog2: 2
 | |
| ; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
 | |
| ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+28]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+32]]
 | |
| ; SYMS:          Name: tls_global_int_common_zero_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x34
 | |
| ; SYMS-NEXT:     Section: .tbss
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+29]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+33]]
 | |
| ; SYMS:            SectionLen: 4
 | |
| ; SYMS-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NEXT:       SymbolAlignmentLog2: 2
 | |
| ; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
 | |
| ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+30]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+34]]
 | |
| ; SYMS:          Name: tls_global_double_common_zero_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x38
 | |
| ; SYMS-NEXT:     Section: .tbss
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+31]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+35]]
 | |
| ; SYMS:            SectionLen: 8
 | |
| ; SYMS-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NEXT:       SymbolAlignmentLog2: 3
 | |
| ; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
 | |
| ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| ; SYMS:        Symbol {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+32]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+36]]
 | |
| ; SYMS:          Name: tls_global_long_long_internal_zero_initialized
 | |
| ; SYMS-NEXT:     Value (RelocatableAddress): 0x40
 | |
| ; SYMS-NEXT:     Section: .tbss
 | |
| ; SYMS-NEXT:     Type: 0x0
 | |
| ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
 | |
| ; SYMS-NEXT:     NumberOfAuxEntries: 1
 | |
| ; SYMS-NEXT:     CSECT Auxiliary Entry {
 | |
| ; SYMS-DATASECT:   Index: [[#INDX+33]]
 | |
| ; SYMS-NODATASECT: Index: [[#INDX+37]]
 | |
| ; SYMS:            SectionLen: 8
 | |
| ; SYMS-NEXT:       ParameterHashIndex: 0x0
 | |
| ; SYMS-NEXT:       TypeChkSectNum: 0x0
 | |
| ; SYMS-NEXT:       SymbolAlignmentLog2: 3
 | |
| ; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
 | |
| ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
 | |
| ; SYMS-NEXT:       StabInfoIndex: 0x0
 | |
| ; SYMS-NEXT:       StabSectNum: 0x0
 | |
| ; SYMS-NEXT:     }
 | |
| ; SYMS-NEXT:   }
 | |
| 
 | |
| 
 | |
| ; OBJDUMP-DATASECT:        Disassembly of section .text:
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000000 (idx: 7) const_ivar[RO]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   0: 00 00 00 06   <unknown>
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   Disassembly of section .tdata:
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000000 (idx: 11) tls_global_alias_int_external_val_initialized:
 | |
| ; OBJDUMP-DATASECT-NEXT:   0: 00 00 00 01   <unknown>
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000004 (idx: 13) tls_global_int_external_zero_initialized[TL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   4: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000008 (idx: 15) tls_global_int_local_val_initialized[TL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   8: 00 00 00 02   <unknown>
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   0000000c (idx: 17) tls_global_int_weak_zero_initialized[TL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   c: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000010 (idx: 19) tls_global_int_weak_val_initialized[TL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   10: 00 00 00 01   <unknown>
 | |
| ; OBJDUMP-DATASECT-NEXT:   14: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000018 (idx: 21) tls_global_long_long_internal_val_initialized[TL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   18: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-DATASECT-NEXT:   1c: 00 00 00 01   <unknown>
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000020 (idx: 23) tls_global_long_long_weak_val_initialized[TL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   20: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-DATASECT-NEXT:   24: 00 00 00 01   <unknown>
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000028 (idx: 25) tls_global_long_long_weak_zero_initialized[TL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   ...
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| 
 | |
| ; OBJDUMP-DATASECT-NEXT:   Disassembly of section .tbss:
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000030 (idx: 27) tls_global_int_local_zero_initialized[UL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   ...
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000034 (idx: 29) tls_global_int_common_zero_initialized[UL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   ...
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000038 (idx: 31) tls_global_double_common_zero_initialized[UL]
 | |
| ; OBJDUMP-DATASECT-NEXT:   ...
 | |
| ; OBJDUMP-DATASECT-EMPTY:
 | |
| ; OBJDUMP-DATASECT-NEXT:   00000040 (idx: 33) tls_global_long_long_internal_zero_initialized[UL]:
 | |
| ; OBJDUMP-DATASECT-NEXT:   ...
 | |
| 
 | |
| ; OBJDUMP-NODATASECT:       Disassembly of section .text:
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000000 (idx: 9) const_ivar:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  0: 00 00 00 06   <unknown>
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  Disassembly of section .tdata:
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT:       00000000 (idx: 13) tls_global_int_external_val_initialized:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  0: 00 00 00 01   <unknown>
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000004 (idx: 17) tls_global_int_external_zero_initialized:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  4: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000008 (idx: 19) tls_global_int_local_val_initialized:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  8: 00 00 00 02   <unknown>
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  0000000c (idx: 21) tls_global_int_weak_zero_initialized:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  c: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000010 (idx: 23) tls_global_int_weak_val_initialized:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  10: 00 00 00 01   <unknown>
 | |
| ; OBJDUMP-NODATASECT-NEXT:  14: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000018 (idx: 25) tls_global_long_long_internal_val_initialized:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  18: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-NODATASECT-NEXT:  1c: 00 00 00 01   <unknown>
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000020 (idx: 27) tls_global_long_long_weak_val_initialized:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  20: 00 00 00 00   <unknown>
 | |
| ; OBJDUMP-NODATASECT-NEXT:  24: 00 00 00 01   <unknown>
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000028 (idx: 29) tls_global_long_long_weak_zero_initialized:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  ...
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| 
 | |
| ; OBJDUMP-NODATASECT-NEXT:  Disassembly of section .tbss:
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000030 (idx: 31) tls_global_int_local_zero_initialized[UL]:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  ...
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000034 (idx: 33) tls_global_int_common_zero_initialized[UL]:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  ...
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000038 (idx: 35) tls_global_double_common_zero_initialized[UL]:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  ...
 | |
| ; OBJDUMP-NODATASECT-EMPTY:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  00000040 (idx: 37) tls_global_long_long_internal_zero_initialized[UL]:
 | |
| ; OBJDUMP-NODATASECT-NEXT:  ...
 | |
| 
 | |
| @tls_global_int_external_val_initialized = thread_local global i32 1, align 4
 | |
| @tls_global_int_external_zero_initialized = thread_local global i32 0, align 4
 | |
| @tls_global_int_local_val_initialized = internal thread_local global i32 2, align 4
 | |
| @tls_global_int_local_zero_initialized = internal thread_local global i32 0, align 4
 | |
| @tls_global_int_weak_zero_initialized = weak thread_local global i32 0, align 4
 | |
| @tls_global_int_common_zero_initialized = common thread_local global i32 0, align 4
 | |
| @tls_global_int_weak_val_initialized = weak thread_local global i32 1, align 4
 | |
| @tls_global_int_external_uninitialized = external thread_local global i32, align 4
 | |
| @tls_global_double_common_zero_initialized = common thread_local global double 0.000000e+00, align 8
 | |
| @tls_global_double_external_uninitialized = external thread_local global i64, align 8
 | |
| @tls_global_long_long_internal_val_initialized = internal thread_local global i64 1, align 8
 | |
| @tls_global_long_long_internal_zero_initialized = internal thread_local global i64 0, align 8
 | |
| @tls_global_long_long_weak_val_initialized = weak thread_local global i64 1, align 8
 | |
| @tls_global_long_long_weak_zero_initialized = weak thread_local global i64 0, align 8
 | |
| @tls_global_alias_int_external_val_initialized = thread_local alias i32, i32* @tls_global_int_external_val_initialized
 | |
| @const_ivar = constant i32 6, align 4
 |