646 lines · plain
1; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \2; RUN: -xcoff-traceback-table=false --code-model=large -filetype=obj -o %t.o < %s3; RUN: llvm-readobj --relocs --expand-relocs %t.o | FileCheck -D#NFA=2 --check-prefix=RELOC %s4; RUN: llvm-readobj --syms %t.o | FileCheck -D#NFA=2 --check-prefix=SYM %s5; RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefix=DIS %s6 7@GInit = global double 1.000000e+00, align 88; @TIInit is local-dynamic indeed9@TIInit = internal thread_local global i64 1, align 810@TWInit = weak thread_local global double 1.000000e+00, align 811 12; Function Attrs: nofree norecurse nounwind willreturn writeonly13define void @storesTIInit(i64 %Val) #0 {14entry:15 store i64 %Val, ptr @TIInit, align 816 ret void17}18 19; Function Attrs: norecurse nounwind readonly willreturn20define double @loadsTWInit() #1 {21entry:22 %0 = load double, ptr @TWInit, align 823 %1 = load double, ptr @GInit, align 824 %add = fadd double %0, %125 ret double %add26}27 28; RELOC: File:29; RELOC-NEXT: Format: aixcoff-rs600030; RELOC-NEXT: Arch: powerpc31; RELOC-NEXT: AddressSize: 32bit32; RELOC-NEXT: Relocations [33; RELOC-NEXT: Section (index: 1) .text {34; RELOC-NEXT: Relocation {35; RELOC-NEXT: Virtual Address: 0x1236; RELOC-NEXT: Symbol: TIInit ([[#NFA+19]])37; RELOC-NEXT: IsSigned: No38; RELOC-NEXT: FixupBitValue: 039; RELOC-NEXT: Length: 1640; RELOC-NEXT: Type: R_TOCU (0x30)41; RELOC-NEXT: }42; RELOC-NEXT: Relocation {43; RELOC-NEXT: Virtual Address: 0x1644; RELOC-NEXT: Symbol: _$TLSML ([[#NFA+21]])45; RELOC-NEXT: IsSigned: No46; RELOC-NEXT: FixupBitValue: 047; RELOC-NEXT: Length: 1648; RELOC-NEXT: Type: R_TOCU (0x30)49; RELOC-NEXT: }50; RELOC-NEXT: Relocation {51; RELOC-NEXT: Virtual Address: 0x1E52; RELOC-NEXT: Symbol: _$TLSML ([[#NFA+21]])53; RELOC-NEXT: IsSigned: No54; RELOC-NEXT: FixupBitValue: 055; RELOC-NEXT: Length: 1656; RELOC-NEXT: Type: R_TOCL (0x31)57; RELOC-NEXT: }58; RELOC-NEXT: Relocation {59; RELOC-NEXT: Virtual Address: 0x2060; RELOC-NEXT: Symbol: .__tls_get_mod ([[#NFA+1]])61; RELOC-NEXT: IsSigned: No62; RELOC-NEXT: FixupBitValue: 063; RELOC-NEXT: Length: 2664; RELOC-NEXT: Type: R_RBA (0x18)65; RELOC-NEXT: }66; RELOC-NEXT: Relocation {67; RELOC-NEXT: Virtual Address: 0x2668; RELOC-NEXT: Symbol: TIInit ([[#NFA+19]])69; RELOC-NEXT: IsSigned: No70; RELOC-NEXT: FixupBitValue: 071; RELOC-NEXT: Length: 1672; RELOC-NEXT: Type: R_TOCL (0x31)73; RELOC-NEXT: }74; RELOC-NEXT: Relocation {75; RELOC-NEXT: Virtual Address: 0x4E76; RELOC-NEXT: Symbol: .TWInit ([[#NFA+23]])77; RELOC-NEXT: IsSigned: No78; RELOC-NEXT: FixupBitValue: 079; RELOC-NEXT: Length: 1680; RELOC-NEXT: Type: R_TOCU (0x30)81; RELOC-NEXT: }82; RELOC-NEXT: Relocation {83; RELOC-NEXT: Virtual Address: 0x5284; RELOC-NEXT: Symbol: TWInit ([[#NFA+25]])85; RELOC-NEXT: IsSigned: No86; RELOC-NEXT: FixupBitValue: 087; RELOC-NEXT: Length: 1688; RELOC-NEXT: Type: R_TOCU (0x30)89; RELOC-NEXT: }90; RELOC-NEXT: Relocation {91; RELOC-NEXT: Virtual Address: 0x5692; RELOC-NEXT: Symbol: .TWInit ([[#NFA+23]])93; RELOC-NEXT: IsSigned: No94; RELOC-NEXT: FixupBitValue: 095; RELOC-NEXT: Length: 1696; RELOC-NEXT: Type: R_TOCL (0x31)97; RELOC-NEXT: }98; RELOC-NEXT: Relocation {99; RELOC-NEXT: Virtual Address: 0x5A100; RELOC-NEXT: Symbol: TWInit ([[#NFA+25]])101; RELOC-NEXT: IsSigned: No102; RELOC-NEXT: FixupBitValue: 0103; RELOC-NEXT: Length: 16104; RELOC-NEXT: Type: R_TOCL (0x31)105; RELOC-NEXT: }106; RELOC-NEXT: Relocation {107; RELOC-NEXT: Virtual Address: 0x5C108; RELOC-NEXT: Symbol: .__tls_get_addr ([[#NFA+3]])109; RELOC-NEXT: IsSigned: No110; RELOC-NEXT: FixupBitValue: 0111; RELOC-NEXT: Length: 26112; RELOC-NEXT: Type: R_RBA (0x18)113; RELOC-NEXT: }114; RELOC-NEXT: Relocation {115; RELOC-NEXT: Virtual Address: 0x66116; RELOC-NEXT: Symbol: GInit ([[#NFA+27]])117; RELOC-NEXT: IsSigned: No118; RELOC-NEXT: FixupBitValue: 0119; RELOC-NEXT: Length: 16120; RELOC-NEXT: Type: R_TOCU (0x30)121; RELOC-NEXT: }122; RELOC-NEXT: Relocation {123; RELOC-NEXT: Virtual Address: 0x6A124; RELOC-NEXT: Symbol: GInit ([[#NFA+27]])125; RELOC-NEXT: IsSigned: No126; RELOC-NEXT: FixupBitValue: 0127; RELOC-NEXT: Length: 16128; RELOC-NEXT: Type: R_TOCL (0x31)129; RELOC-NEXT: }130; RELOC-NEXT: }131; RELOC-NEXT: Section (index: 2) .data {132; RELOC-NEXT: Relocation {133; RELOC-NEXT: Virtual Address: 0x90134; RELOC-NEXT: Symbol: .storesTIInit ([[#NFA+7]])135; RELOC-NEXT: IsSigned: No136; RELOC-NEXT: FixupBitValue: 0137; RELOC-NEXT: Length: 32138; RELOC-NEXT: Type: R_POS (0x0)139; RELOC-NEXT: }140; RELOC-NEXT: Relocation {141; RELOC-NEXT: Virtual Address: 0x94142; RELOC-NEXT: Symbol: TOC ([[#NFA+17]])143; RELOC-NEXT: IsSigned: No144; RELOC-NEXT: FixupBitValue: 0145; RELOC-NEXT: Length: 32146; RELOC-NEXT: Type: R_POS (0x0)147; RELOC-NEXT: }148; RELOC-NEXT: Relocation {149; RELOC-NEXT: Virtual Address: 0x9C150; RELOC-NEXT: Symbol: .loadsTWInit ([[#NFA+9]])151; RELOC-NEXT: IsSigned: No152; RELOC-NEXT: FixupBitValue: 0153; RELOC-NEXT: Length: 32154; RELOC-NEXT: Type: R_POS (0x0)155; RELOC-NEXT: }156; RELOC-NEXT: Relocation {157; RELOC-NEXT: Virtual Address: 0xA0158; RELOC-NEXT: Symbol: TOC ([[#NFA+17]])159; RELOC-NEXT: IsSigned: No160; RELOC-NEXT: FixupBitValue: 0161; RELOC-NEXT: Length: 32162; RELOC-NEXT: Type: R_POS (0x0)163; RELOC-NEXT: }164; RELOC-NEXT: Relocation {165; RELOC-NEXT: Virtual Address: 0xA8166; RELOC-NEXT: Symbol: TIInit ([[#NFA+29]])167; RELOC-NEXT: IsSigned: No168; RELOC-NEXT: FixupBitValue: 0169; RELOC-NEXT: Length: 32170; RELOC-NEXT: Type: R_TLS_LD (0x22)171; RELOC-NEXT: }172; RELOC-NEXT: Relocation {173; RELOC-NEXT: Virtual Address: 0xAC174; RELOC-NEXT: Symbol: _$TLSML ([[#NFA+21]])175; RELOC-NEXT: IsSigned: No176; RELOC-NEXT: FixupBitValue: 0177; RELOC-NEXT: Length: 32178; RELOC-NEXT: Type: R_TLSML (0x25)179; RELOC-NEXT: }180; RELOC-NEXT: Relocation {181; RELOC-NEXT: Virtual Address: 0xB0182; RELOC-NEXT: Symbol: TWInit ([[#NFA+31]])183; RELOC-NEXT: IsSigned: No184; RELOC-NEXT: FixupBitValue: 0185; RELOC-NEXT: Length: 32186; RELOC-NEXT: Type: R_TLSM (0x24)187; RELOC-NEXT: }188; RELOC-NEXT: Relocation {189; RELOC-NEXT: Virtual Address: 0xB4190; RELOC-NEXT: Symbol: TWInit ([[#NFA+31]])191; RELOC-NEXT: IsSigned: No192; RELOC-NEXT: FixupBitValue: 0193; RELOC-NEXT: Length: 32194; RELOC-NEXT: Type: R_TLS (0x20)195; RELOC-NEXT: }196; RELOC-NEXT: Relocation {197; RELOC-NEXT: Virtual Address: 0xB8198; RELOC-NEXT: Symbol: GInit ([[#NFA+11]])199; RELOC-NEXT: IsSigned: No200; RELOC-NEXT: FixupBitValue: 0201; RELOC-NEXT: Length: 32202; RELOC-NEXT: Type: R_POS (0x0)203; RELOC-NEXT: }204; RELOC-NEXT: }205; RELOC-NEXT: ]206 207; SYM: File:208; SYM-NEXT: Format: aixcoff-rs6000209; SYM-NEXT: Arch: powerpc210; SYM-NEXT: AddressSize: 32bit211; SYM-NEXT: Symbols [212; SYM-NEXT: Symbol {213; SYM-NEXT: Index: 0214; SYM-NEXT: Name: .file215; SYM-NEXT: Value (SymbolTableIndex): 0x0216; SYM-NEXT: Section: N_DEBUG217; SYM-NEXT: Source Language ID: TB_CPLUSPLUS (0x9)218; SYM-NEXT: CPU Version ID: TCPU_COM (0x3)219; SYM-NEXT: StorageClass: C_FILE (0x67)220; SYM-NEXT: NumberOfAuxEntries: 2221; SYM-NEXT: File Auxiliary Entry {222; SYM-NEXT: Index: 1223; SYM-NEXT: Name:224; SYM-NEXT: Type: XFT_FN (0x0)225; SYM-NEXT: }226; SYM-NEXT: File Auxiliary Entry {227; SYM-NEXT: Index: 2228; SYM-NEXT: Name: LLVM229; SYM-NEXT: Type: XFT_CV (0x2)230; SYM-NEXT: }231; SYM-NEXT: }232; SYM-NEXT: Symbol {233; SYM-NEXT: Index: [[#NFA+1]]234; SYM-NEXT: Name: .__tls_get_mod235; SYM-NEXT: Value (RelocatableAddress): 0x0236; SYM-NEXT: Section: N_UNDEF237; SYM-NEXT: Type: 0x0238; SYM-NEXT: StorageClass: C_EXT (0x2)239; SYM-NEXT: NumberOfAuxEntries: 1240; SYM-NEXT: CSECT Auxiliary Entry {241; SYM-NEXT: Index: [[#NFA+2]]242; SYM-NEXT: SectionLen: 0243; SYM-NEXT: ParameterHashIndex: 0x0244; SYM-NEXT: TypeChkSectNum: 0x0245; SYM-NEXT: SymbolAlignmentLog2: 0246; SYM-NEXT: SymbolType: XTY_ER (0x0)247; SYM-NEXT: StorageMappingClass: XMC_PR (0x0)248; SYM-NEXT: StabInfoIndex: 0x0249; SYM-NEXT: StabSectNum: 0x0250; SYM-NEXT: }251; SYM-NEXT: }252; SYM-NEXT: Symbol {253; SYM-NEXT: Index: [[#NFA+3]]254; SYM-NEXT: Name: .__tls_get_addr255; SYM-NEXT: Value (RelocatableAddress): 0x0256; SYM-NEXT: Section: N_UNDEF257; SYM-NEXT: Type: 0x0258; SYM-NEXT: StorageClass: C_EXT (0x2)259; SYM-NEXT: NumberOfAuxEntries: 1260; SYM-NEXT: CSECT Auxiliary Entry {261; SYM-NEXT: Index: [[#NFA+4]]262; SYM-NEXT: SectionLen: 0263; SYM-NEXT: ParameterHashIndex: 0x0264; SYM-NEXT: TypeChkSectNum: 0x0265; SYM-NEXT: SymbolAlignmentLog2: 0266; SYM-NEXT: SymbolType: XTY_ER (0x0)267; SYM-NEXT: StorageMappingClass: XMC_PR (0x0)268; SYM-NEXT: StabInfoIndex: 0x0269; SYM-NEXT: StabSectNum: 0x0270; SYM-NEXT: }271; SYM-NEXT: }272; SYM-NEXT: Symbol {273; SYM-NEXT: Index: [[#NFA+5]]274; SYM-NEXT: Name:275; SYM-NEXT: Value (RelocatableAddress): 0x0276; SYM-NEXT: Section: .text277; SYM-NEXT: Type: 0x0278; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)279; SYM-NEXT: NumberOfAuxEntries: 1280; SYM-NEXT: CSECT Auxiliary Entry {281; SYM-NEXT: Index: [[#NFA+6]]282; SYM-NEXT: SectionLen: 132283; SYM-NEXT: ParameterHashIndex: 0x0284; SYM-NEXT: TypeChkSectNum: 0x0285; SYM-NEXT: SymbolAlignmentLog2: 5286; SYM-NEXT: SymbolType: XTY_SD (0x1)287; SYM-NEXT: StorageMappingClass: XMC_PR (0x0)288; SYM-NEXT: StabInfoIndex: 0x0289; SYM-NEXT: StabSectNum: 0x0290; SYM-NEXT: }291; SYM-NEXT: }292; SYM-NEXT: Symbol {293; SYM-NEXT: Index: [[#NFA+7]]294; SYM-NEXT: Name: .storesTIInit295; SYM-NEXT: Value (RelocatableAddress): 0x0296; SYM-NEXT: Section: .text297; SYM-NEXT: Type: 0x0298; SYM-NEXT: StorageClass: C_EXT (0x2)299; SYM-NEXT: NumberOfAuxEntries: 1300; SYM-NEXT: CSECT Auxiliary Entry {301; SYM-NEXT: Index: [[#NFA+8]]302; SYM-NEXT: ContainingCsectSymbolIndex: [[#NFA+5]]303; SYM-NEXT: ParameterHashIndex: 0x0304; SYM-NEXT: TypeChkSectNum: 0x0305; SYM-NEXT: SymbolAlignmentLog2: 0306; SYM-NEXT: SymbolType: XTY_LD (0x2)307; SYM-NEXT: StorageMappingClass: XMC_PR (0x0)308; SYM-NEXT: StabInfoIndex: 0x0309; SYM-NEXT: StabSectNum: 0x0310; SYM-NEXT: }311; SYM-NEXT: }312; SYM-NEXT: Symbol {313; SYM-NEXT: Index: [[#NFA+9]]314; SYM-NEXT: Name: .loadsTWInit315; SYM-NEXT: Value (RelocatableAddress): 0x40316; SYM-NEXT: Section: .text317; SYM-NEXT: Type: 0x0318; SYM-NEXT: StorageClass: C_EXT (0x2)319; SYM-NEXT: NumberOfAuxEntries: 1320; SYM-NEXT: CSECT Auxiliary Entry {321; SYM-NEXT: Index: [[#NFA+10]]322; SYM-NEXT: ContainingCsectSymbolIndex: [[#NFA+5]]323; SYM-NEXT: ParameterHashIndex: 0x0324; SYM-NEXT: TypeChkSectNum: 0x0325; SYM-NEXT: SymbolAlignmentLog2: 0326; SYM-NEXT: SymbolType: XTY_LD (0x2)327; SYM-NEXT: StorageMappingClass: XMC_PR (0x0)328; SYM-NEXT: StabInfoIndex: 0x0329; SYM-NEXT: StabSectNum: 0x0330; SYM-NEXT: }331; SYM-NEXT: }332; SYM-NEXT: Symbol {333; SYM-NEXT: Index: [[#NFA+11]]334; SYM-NEXT: Name: GInit335; SYM-NEXT: Value (RelocatableAddress): 0x88336; SYM-NEXT: Section: .data337; SYM-NEXT: Type: 0x0338; SYM-NEXT: StorageClass: C_EXT (0x2)339; SYM-NEXT: NumberOfAuxEntries: 1340; SYM-NEXT: CSECT Auxiliary Entry {341; SYM-NEXT: Index: [[#NFA+12]]342; SYM-NEXT: SectionLen: 8343; SYM-NEXT: ParameterHashIndex: 0x0344; SYM-NEXT: TypeChkSectNum: 0x0345; SYM-NEXT: SymbolAlignmentLog2: 3346; SYM-NEXT: SymbolType: XTY_SD (0x1)347; SYM-NEXT: StorageMappingClass: XMC_RW (0x5)348; SYM-NEXT: StabInfoIndex: 0x0349; SYM-NEXT: StabSectNum: 0x0350; SYM-NEXT: }351; SYM-NEXT: }352; SYM-NEXT: Symbol {353; SYM-NEXT: Index: [[#NFA+13]]354; SYM-NEXT: Name: storesTIInit355; SYM-NEXT: Value (RelocatableAddress): 0x90356; SYM-NEXT: Section: .data357; SYM-NEXT: Type: 0x0358; SYM-NEXT: StorageClass: C_EXT (0x2)359; SYM-NEXT: NumberOfAuxEntries: 1360; SYM-NEXT: CSECT Auxiliary Entry {361; SYM-NEXT: Index: [[#NFA+14]]362; SYM-NEXT: SectionLen: 12363; SYM-NEXT: ParameterHashIndex: 0x0364; SYM-NEXT: TypeChkSectNum: 0x0365; SYM-NEXT: SymbolAlignmentLog2: 2366; SYM-NEXT: SymbolType: XTY_SD (0x1)367; SYM-NEXT: StorageMappingClass: XMC_DS (0xA)368; SYM-NEXT: StabInfoIndex: 0x0369; SYM-NEXT: StabSectNum: 0x0370; SYM-NEXT: }371; SYM-NEXT: }372; SYM-NEXT: Symbol {373; SYM-NEXT: Index: [[#NFA+15]]374; SYM-NEXT: Name: loadsTWInit375; SYM-NEXT: Value (RelocatableAddress): 0x9C376; SYM-NEXT: Section: .data377; SYM-NEXT: Type: 0x0378; SYM-NEXT: StorageClass: C_EXT (0x2)379; SYM-NEXT: NumberOfAuxEntries: 1380; SYM-NEXT: CSECT Auxiliary Entry {381; SYM-NEXT: Index: [[#NFA+16]]382; SYM-NEXT: SectionLen: 12383; SYM-NEXT: ParameterHashIndex: 0x0384; SYM-NEXT: TypeChkSectNum: 0x0385; SYM-NEXT: SymbolAlignmentLog2: 2386; SYM-NEXT: SymbolType: XTY_SD (0x1)387; SYM-NEXT: StorageMappingClass: XMC_DS (0xA)388; SYM-NEXT: StabInfoIndex: 0x0389; SYM-NEXT: StabSectNum: 0x0390; SYM-NEXT: }391; SYM-NEXT: }392; SYM-NEXT: Symbol {393; SYM-NEXT: Index: [[#NFA+17]]394; SYM-NEXT: Name: TOC395; SYM-NEXT: Value (RelocatableAddress): 0xA8396; SYM-NEXT: Section: .data397; SYM-NEXT: Type: 0x0398; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)399; SYM-NEXT: NumberOfAuxEntries: 1400; SYM-NEXT: CSECT Auxiliary Entry {401; SYM-NEXT: Index: [[#NFA+18]]402; SYM-NEXT: SectionLen: 0403; SYM-NEXT: ParameterHashIndex: 0x0404; SYM-NEXT: TypeChkSectNum: 0x0405; SYM-NEXT: SymbolAlignmentLog2: 2406; SYM-NEXT: SymbolType: XTY_SD (0x1)407; SYM-NEXT: StorageMappingClass: XMC_TC0 (0xF)408; SYM-NEXT: StabInfoIndex: 0x0409; SYM-NEXT: StabSectNum: 0x0410; SYM-NEXT: }411; SYM-NEXT: }412; SYM-NEXT: Symbol {413; SYM-NEXT: Index: [[#NFA+19]]414; SYM-NEXT: Name: TIInit415; SYM-NEXT: Value (RelocatableAddress): 0xA8416; SYM-NEXT: Section: .data417; SYM-NEXT: Type: 0x0418; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)419; SYM-NEXT: NumberOfAuxEntries: 1420; SYM-NEXT: CSECT Auxiliary Entry {421; SYM-NEXT: Index: [[#NFA+20]]422; SYM-NEXT: SectionLen: 4423; SYM-NEXT: ParameterHashIndex: 0x0424; SYM-NEXT: TypeChkSectNum: 0x0425; SYM-NEXT: SymbolAlignmentLog2: 2426; SYM-NEXT: SymbolType: XTY_SD (0x1)427; SYM-NEXT: StorageMappingClass: XMC_TE (0x16)428; SYM-NEXT: StabInfoIndex: 0x0429; SYM-NEXT: StabSectNum: 0x0430; SYM-NEXT: }431; SYM-NEXT: }432; SYM-NEXT: Symbol {433; SYM-NEXT: Index: [[#NFA+21]]434; SYM-NEXT: Name: _$TLSML435; SYM-NEXT: Value (RelocatableAddress): 0xAC436; SYM-NEXT: Section: .data437; SYM-NEXT: Type: 0x0438; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)439; SYM-NEXT: NumberOfAuxEntries: 1440; SYM-NEXT: CSECT Auxiliary Entry {441; SYM-NEXT: Index: [[#NFA+22]]442; SYM-NEXT: SectionLen: 4443; SYM-NEXT: ParameterHashIndex: 0x0444; SYM-NEXT: TypeChkSectNum: 0x0445; SYM-NEXT: SymbolAlignmentLog2: 2446; SYM-NEXT: SymbolType: XTY_SD (0x1)447; SYM-NEXT: StorageMappingClass: XMC_TC (0x3)448; SYM-NEXT: StabInfoIndex: 0x0449; SYM-NEXT: StabSectNum: 0x0450; SYM-NEXT: }451; SYM-NEXT: }452; SYM-NEXT: Symbol {453; SYM-NEXT: Index: [[#NFA+23]]454; SYM-NEXT: Name: .TWInit455; SYM-NEXT: Value (RelocatableAddress): 0xB0456; SYM-NEXT: Section: .data457; SYM-NEXT: Type: 0x0458; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)459; SYM-NEXT: NumberOfAuxEntries: 1460; SYM-NEXT: CSECT Auxiliary Entry {461; SYM-NEXT: Index: [[#NFA+24]]462; SYM-NEXT: SectionLen: 4463; SYM-NEXT: ParameterHashIndex: 0x0464; SYM-NEXT: TypeChkSectNum: 0x0465; SYM-NEXT: SymbolAlignmentLog2: 2466; SYM-NEXT: SymbolType: XTY_SD (0x1)467; SYM-NEXT: StorageMappingClass: XMC_TE (0x16)468; SYM-NEXT: StabInfoIndex: 0x0469; SYM-NEXT: StabSectNum: 0x0470; SYM-NEXT: }471; SYM-NEXT: }472; SYM-NEXT: Symbol {473; SYM-NEXT: Index: [[#NFA+25]]474; SYM-NEXT: Name: TWInit475; SYM-NEXT: Value (RelocatableAddress): 0xB4476; SYM-NEXT: Section: .data477; SYM-NEXT: Type: 0x0478; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)479; SYM-NEXT: NumberOfAuxEntries: 1480; SYM-NEXT: CSECT Auxiliary Entry {481; SYM-NEXT: Index: [[#NFA+26]]482; SYM-NEXT: SectionLen: 4483; SYM-NEXT: ParameterHashIndex: 0x0484; SYM-NEXT: TypeChkSectNum: 0x0485; SYM-NEXT: SymbolAlignmentLog2: 2486; SYM-NEXT: SymbolType: XTY_SD (0x1)487; SYM-NEXT: StorageMappingClass: XMC_TE (0x16)488; SYM-NEXT: StabInfoIndex: 0x0489; SYM-NEXT: StabSectNum: 0x0490; SYM-NEXT: }491; SYM-NEXT: }492; SYM-NEXT: Symbol {493; SYM-NEXT: Index: [[#NFA+27]]494; SYM-NEXT: Name: GInit495; SYM-NEXT: Value (RelocatableAddress): 0xB8496; SYM-NEXT: Section: .data497; SYM-NEXT: Type: 0x0498; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)499; SYM-NEXT: NumberOfAuxEntries: 1500; SYM-NEXT: CSECT Auxiliary Entry {501; SYM-NEXT: Index: [[#NFA+28]]502; SYM-NEXT: SectionLen: 4503; SYM-NEXT: ParameterHashIndex: 0x0504; SYM-NEXT: TypeChkSectNum: 0x0505; SYM-NEXT: SymbolAlignmentLog2: 2506; SYM-NEXT: SymbolType: XTY_SD (0x1)507; SYM-NEXT: StorageMappingClass: XMC_TE (0x16)508; SYM-NEXT: StabInfoIndex: 0x0509; SYM-NEXT: StabSectNum: 0x0510; SYM-NEXT: }511; SYM-NEXT: }512; SYM-NEXT: Symbol {513; SYM-NEXT: Index: [[#NFA+29]]514; SYM-NEXT: Name: TIInit515; SYM-NEXT: Value (RelocatableAddress): 0x0516; SYM-NEXT: Section: .tdata517; SYM-NEXT: Type: 0x0518; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)519; SYM-NEXT: NumberOfAuxEntries: 1520; SYM-NEXT: CSECT Auxiliary Entry {521; SYM-NEXT: Index: [[#NFA+30]]522; SYM-NEXT: SectionLen: 8523; SYM-NEXT: ParameterHashIndex: 0x0524; SYM-NEXT: TypeChkSectNum: 0x0525; SYM-NEXT: SymbolAlignmentLog2: 3526; SYM-NEXT: SymbolType: XTY_SD (0x1)527; SYM-NEXT: StorageMappingClass: XMC_TL (0x14)528; SYM-NEXT: StabInfoIndex: 0x0529; SYM-NEXT: StabSectNum: 0x0530; SYM-NEXT: }531; SYM-NEXT: }532; SYM-NEXT: Symbol {533; SYM-NEXT: Index: [[#NFA+31]]534; SYM-NEXT: Name: TWInit535; SYM-NEXT: Value (RelocatableAddress): 0x8536; SYM-NEXT: Section: .tdata537; SYM-NEXT: Type: 0x0538; SYM-NEXT: StorageClass: C_WEAKEXT (0x6F)539; SYM-NEXT: NumberOfAuxEntries: 1540; SYM-NEXT: CSECT Auxiliary Entry {541; SYM-NEXT: Index: [[#NFA+32]]542; SYM-NEXT: SectionLen: 8543; SYM-NEXT: ParameterHashIndex: 0x0544; SYM-NEXT: TypeChkSectNum: 0x0545; SYM-NEXT: SymbolAlignmentLog2: 3546; SYM-NEXT: SymbolType: XTY_SD (0x1)547; SYM-NEXT: StorageMappingClass: XMC_TL (0x14)548; SYM-NEXT: StabInfoIndex: 0x0549; SYM-NEXT: StabSectNum: 0x0550; SYM-NEXT: }551; SYM-NEXT: }552; SYM-NEXT: ]553 554; DIS: file format aixcoff-rs6000555; DIS: Disassembly of section .text:556; DIS: 00000000 (idx: [[#INDX:]]) .storesTIInit:557; DIS-NEXT: mflr 0558; DIS-NEXT: stwu 1, -32(1)559; DIS-NEXT: stw 0, 40(1)560; DIS-NEXT: mr 7, 3561; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 8, 2, 0562; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+19]]) TIInit[TE]563; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0564; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+21]]) _$TLSML[TC]565; DIS-NEXT: mr 6, 4566; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} lwz 3, 4(3)567; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+21]]) _$TLSML[TC]568; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} bla 0x0569; DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA (idx: [[#NFA+1]]) .__tls_get_mod[PR]570; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} lwz 4, 0(8)571; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+19]]) TIInit[TE]572; DIS-NEXT: stwux 7, 3, 4573; DIS-NEXT: stw 6, 4(3)574; DIS-NEXT: addi 1, 1, 32575; DIS-NEXT: lwz 0, 8(1)576; DIS-NEXT: mtlr 0577; DIS-NEXT: blr578; DIS: 00000040 (idx: [[#INDX+2]]) .loadsTWInit:579; DIS-NEXT: mflr 0580; DIS-NEXT: stwu 1, -32(1)581; DIS-NEXT: stw 0, 40(1)582; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0583; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+23]]) .TWInit[TE]584; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 4, 2, 0585; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+25]]) TWInit[TE]586; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} lwz 3, 8(3)587; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+23]]) .TWInit[TE]588; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} lwz 4, 12(4)589; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+25]]) TWInit[TE]590; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} bla 0591; DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA (idx: [[#NFA+3]]) .__tls_get_addr[PR]592; DIS-NEXT: lfd 0, 0(3)593; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} addis 3, 2, 0594; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCU (idx: [[#NFA+27]]) GInit[TE]595; DIS-NEXT: [[#%x, ADDR:]]: {{.*}} lwz 3, 16(3)596; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOCL (idx: [[#NFA+27]]) GInit[TE]597; DIS-NEXT: lfd 1, 0(3)598; DIS-NEXT: fadd 1, 0, 1599; DIS-NEXT: addi 1, 1, 32600; DIS-NEXT: lwz 0, 8(1)601; DIS-NEXT: mtlr 0602; DIS-NEXT: blr603 604; DIS: Disassembly of section .data:605; DIS: 00000088 (idx: [[#NFA+11]]) GInit[RW]:606; DIS-NEXT: 88: 3f f0 00 00607; DIS-NEXT: 8c: 00 00 00 00608; DIS: 00000090 (idx: [[#NFA+13]]) storesTIInit[DS]:609; DIS-NEXT: 90: 00 00 00 00610; DIS-NEXT: 00000090: R_POS (idx: [[#NFA+7]]) .storesTIInit611; DIS-NEXT: 94: 00 00 00 a8612; DIS-NEXT: 00000094: R_POS (idx: [[#NFA+17]]) TOC[TC0]613; DIS-NEXT: 98: 00 00 00 00614; DIS: 0000009c (idx: [[#NFA+15]]) loadsTWInit[DS]:615; DIS-NEXT: 9c: 00 00 00 40616; DIS-NEXT: 0000009c: R_POS (idx: [[#NFA+9]]) .loadsTWInit617; DIS-NEXT: a0: 00 00 00 a8618; DIS-NEXT: 000000a0: R_POS (idx: [[#NFA+17]]) TOC[TC0]619; DIS-NEXT: a4: 00 00 00 00620; DIS: 000000a8 (idx: [[#NFA+19]]) TIInit[TE]:621; DIS-NEXT: a8: 00 00 00 00622; DIS-NEXT: 000000a8: R_TLS_LD (idx: [[#NFA+29]]) TIInit[TL]623; DIS: 000000ac (idx: [[#NFA+21]]) _$TLSML[TC]:624; DIS-NEXT: ac: 00 00 00 00625; DIS-NEXT: 000000ac: R_TLSML (idx: [[#NFA+21]]) _$TLSML[TC]626; DIS: 000000b0 (idx: [[#NFA+23]]) .TWInit[TE]:627; DIS-NEXT: b0: 00 00 00 00628; DIS-NEXT: 000000b0: R_TLSM (idx: [[#NFA+31]]) TWInit[TL]629; DIS: 000000b4 (idx: [[#NFA+25]]) TWInit[TE]:630; DIS-NEXT: b4: 00 00 00 08631; DIS-NEXT: 000000b4: R_TLS (idx: [[#NFA+31]]) TWInit[TL]632; DIS: 000000b8 (idx: [[#NFA+27]]) GInit[TE]:633; DIS-NEXT: b8: 00 00 00 88634; DIS-NEXT: 000000b8: R_POS (idx: [[#NFA+11]]) GInit[RW]635 636; DIS: Disassembly of section .tdata:637; DIS: 00000000 (idx: [[#NFA+29]]) TIInit[TL]:638; DIS-NEXT: 0: 00 00 00 00639; DIS-NEXT: 4: 00 00 00 01640; DIS: 00000008 (idx: [[#NFA+31]]) TWInit[TL]:641; DIS-NEXT: 8: 3f f0 00 00642; DIS-NEXT: c: 00 00 00 00643 644attributes #0 = { nofree norecurse nounwind willreturn writeonly "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="pwr4" "target-features"="-altivec,-bpermd,-crypto,-direct-move,-extdiv,-float128,-htm,-mma,-paired-vector-memops,-power10-vector,-power8-vector,-power9-vector,-spe,-vsx" }645attributes #1 = { norecurse nounwind readonly willreturn "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="pwr4" "target-features"="-altivec,-bpermd,-crypto,-direct-move,-extdiv,-float128,-htm,-mma,-paired-vector-memops,-power10-vector,-power8-vector,-power9-vector,-spe,-vsx" }646