xref: /minix/external/bsd/llvm/dist/llvm/test/MC/ELF/tls-i386.s (revision 83133719)
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 (1)
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: (0x0)
28// CHECK-NEXT:   }
29// CHECK-NEXT:   Symbol {
30// CHECK-NEXT:     Name: foo2 (6)
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: (0x0)
37// CHECK-NEXT:   }
38// CHECK-NEXT:   Symbol {
39// CHECK-NEXT:     Name: foo3 (11)
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: (0x0)
46// CHECK-NEXT:   }
47// CHECK-NEXT:   Symbol {
48// CHECK-NEXT:     Name: foo4 (16)
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: (0x0)
55// CHECK-NEXT:   }
56// CHECK-NEXT:   Symbol {
57// CHECK-NEXT:     Name: foo5 (21)
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: (0x0)
64// CHECK-NEXT:   }
65// CHECK-NEXT:   Symbol {
66// CHECK-NEXT:     Name: foo6 (26)
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: (0x0)
73// CHECK-NEXT:   }
74// CHECK-NEXT:   Symbol {
75// CHECK-NEXT:     Name: foo7 (31)
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: (0x0)
82// CHECK-NEXT:   }
83// CHECK-NEXT:   Symbol {
84// CHECK-NEXT:     Name: foo8 (36)
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: (0x0)
91// CHECK-NEXT:   }
92// CHECK-NEXT:   Symbol {
93// CHECK-NEXT:     Name: foo9 (41)
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: (0x0)
100// CHECK-NEXT:   }
101// CHECK-NEXT:   Symbol {
102// CHECK-NEXT:     Name: fooA (46)
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: (0x0)
109// CHECK-NEXT:   }
110// CHECK-NEXT:   Symbol {
111// CHECK-NEXT:     Name: fooB (51)
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: (0x0)
118// CHECK-NEXT:   }
119// CHECK-NEXT:   Symbol {
120// CHECK-NEXT:     Name: fooC (56)
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: (0x0)
127// CHECK-NEXT:   }
128// CHECK-NEXT:   Symbol {
129// CHECK-NEXT:     Name: fooD (61)
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: (0x0)
136// CHECK-NEXT:   }
137// CHECK-NEXT:   Symbol {
138// CHECK-NEXT:     Name: fooE (66)
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: (0x0)
145// CHECK-NEXT:   }
146