1 // RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
3 // Test that all symbols are of type STT_TLS.
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
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)
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: Undefined (0x0)