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