xref: /aosp_15_r20/external/llvm/test/MC/ELF/tls-i386.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
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