1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker// Test that all symbols are of type STT_TLS. 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker movl foo1@NTPOFF(%eax), %eax 6*9880d681SAndroid Build Coastguard Worker movl foo2@GOTNTPOFF(%eax), %eax 7*9880d681SAndroid Build Coastguard Worker movl foo3@TLSGD(%eax), %eax 8*9880d681SAndroid Build Coastguard Worker movl foo4@TLSLDM(%eax), %eax 9*9880d681SAndroid Build Coastguard Worker movl foo5@TPOFF(%eax), %eax 10*9880d681SAndroid Build Coastguard Worker movl foo6@DTPOFF(%eax), %eax 11*9880d681SAndroid Build Coastguard Worker movl foo7@INDNTPOFF, %eax 12*9880d681SAndroid Build Coastguard Worker .long foo8@NTPOFF 13*9880d681SAndroid Build Coastguard Worker .long foo9@GOTNTPOFF 14*9880d681SAndroid Build Coastguard Worker .long fooA@TLSGD 15*9880d681SAndroid Build Coastguard Worker .long fooB@TLSLDM 16*9880d681SAndroid Build Coastguard Worker .long fooC@TPOFF 17*9880d681SAndroid Build Coastguard Worker .long fooD@DTPOFF 18*9880d681SAndroid Build Coastguard Worker .long fooE@INDNTPOFF 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker// CHECK: Symbol { 21*9880d681SAndroid Build Coastguard Worker// CHECK: Name: foo1 22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 24*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 25*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 26*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 27*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 28*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 29*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 30*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: foo2 31*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 32*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 33*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 34*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 35*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 36*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 37*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 38*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 39*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: foo3 40*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 41*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 42*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 43*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 44*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 46*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 47*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 48*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: foo4 49*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 50*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 51*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 52*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 53*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 54*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 55*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 56*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 57*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: foo5 58*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 59*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 60*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 61*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 62*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 63*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 64*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 65*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 66*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: foo6 67*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 68*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 69*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 70*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 71*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 72*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 73*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 74*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 75*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: foo7 76*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 77*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 78*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 79*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 80*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 81*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 82*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 83*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 84*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: foo8 85*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 86*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 87*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 88*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 89*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 90*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 91*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 92*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 93*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: foo9 94*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 95*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 96*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 97*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 98*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 99*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 100*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 101*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 102*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: fooA 103*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 104*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 105*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 106*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 107*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 108*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 109*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 110*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 111*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: fooB 112*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 113*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 114*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 115*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 116*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 117*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 118*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 119*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 120*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: fooC 121*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 122*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 123*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 124*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 125*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 126*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 127*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 128*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 129*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: fooD 130*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 131*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 132*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 133*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 134*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 135*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 136*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 137*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Symbol { 138*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Name: fooE 139*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Value: 0x0 140*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Size: 0 141*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Binding: Global 142*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Type: TLS 143*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Other: 0 144*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: Section: Undefined (0x0) 145*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: } 146