Revert accidental commit.
[oota-llvm.git] / test / MC / ELF / tls-i386.s
1 // RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | elf-dump  | 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:       (('st_name', 0x00000001) # 'foo1'
21 // CHECK-NEXT:   ('st_value', 0x00000000)
22 // CHECK-NEXT:   ('st_size', 0x00000000)
23 // CHECK-NEXT:   ('st_bind', 0x1)
24 // CHECK-NEXT:   ('st_type', 0x6)
25 // CHECK-NEXT:   ('st_other', 0x00)
26 // CHECK-NEXT:   ('st_shndx', 0x0000)
27 // CHECK-NEXT:  ),
28 // CHECK-NEXT:  # Symbol 6
29 // CHECK-NEXT:  (('st_name', 0x00000006) # 'foo2'
30 // CHECK-NEXT:   ('st_value', 0x00000000)
31 // CHECK-NEXT:   ('st_size', 0x00000000)
32 // CHECK-NEXT:   ('st_bind', 0x1)
33 // CHECK-NEXT:   ('st_type', 0x6)
34 // CHECK-NEXT:   ('st_other', 0x00)
35 // CHECK-NEXT:   ('st_shndx', 0x0000)
36 // CHECK-NEXT:  ),
37 // CHECK-NEXT:  # Symbol 7
38 // CHECK-NEXT:  (('st_name', 0x0000000b) # 'foo3'
39 // CHECK-NEXT:   ('st_value', 0x00000000)
40 // CHECK-NEXT:   ('st_size', 0x00000000)
41 // CHECK-NEXT:   ('st_bind', 0x1)
42 // CHECK-NEXT:   ('st_type', 0x6)
43 // CHECK-NEXT:   ('st_other', 0x00)
44 // CHECK-NEXT:   ('st_shndx', 0x0000)
45 // CHECK-NEXT:  ),
46 // CHECK-NEXT:  # Symbol 8
47 // CHECK-NEXT:  (('st_name', 0x00000010) # 'foo4'
48 // CHECK-NEXT:   ('st_value', 0x00000000)
49 // CHECK-NEXT:   ('st_size', 0x00000000)
50 // CHECK-NEXT:   ('st_bind', 0x1)
51 // CHECK-NEXT:   ('st_type', 0x6)
52 // CHECK-NEXT:   ('st_other', 0x00)
53 // CHECK-NEXT:   ('st_shndx', 0x0000)
54 // CHECK-NEXT:  ),
55 // CHECK-NEXT:  # Symbol 9
56 // CHECK-NEXT:  (('st_name', 0x00000015) # 'foo5'
57 // CHECK-NEXT:   ('st_value', 0x00000000)
58 // CHECK-NEXT:   ('st_size', 0x00000000)
59 // CHECK-NEXT:   ('st_bind', 0x1)
60 // CHECK-NEXT:   ('st_type', 0x6)
61 // CHECK-NEXT:   ('st_other', 0x00)
62 // CHECK-NEXT:   ('st_shndx', 0x0000)
63 // CHECK-NEXT:  ),
64 // CHECK-NEXT:  # Symbol 10
65 // CHECK-NEXT:  (('st_name', 0x0000001a) # 'foo6'
66 // CHECK-NEXT:   ('st_value', 0x00000000)
67 // CHECK-NEXT:   ('st_size', 0x00000000)
68 // CHECK-NEXT:   ('st_bind', 0x1)
69 // CHECK-NEXT:   ('st_type', 0x6)
70 // CHECK-NEXT:   ('st_other', 0x00)
71 // CHECK-NEXT:   ('st_shndx', 0x0000)
72 // CHECK-NEXT:  ),
73 // CHECK-NEXT:  # Symbol 11
74 // CHECK-NEXT:  (('st_name', 0x0000001f) # 'foo7'
75 // CHECK-NEXT:   ('st_value', 0x00000000)
76 // CHECK-NEXT:   ('st_size', 0x00000000)
77 // CHECK-NEXT:   ('st_bind', 0x1)
78 // CHECK-NEXT:   ('st_type', 0x6)
79 // CHECK-NEXT:   ('st_other', 0x00)
80 // CHECK-NEXT:   ('st_shndx', 0x0000)
81 // CHECK-NEXT:  ),
82 // CHECK-NEXT:  # Symbol 12
83 // CHECK-NEXT:  (('st_name', 0x00000024) # 'foo8'
84 // CHECK-NEXT:   ('st_value', 0x00000000)
85 // CHECK-NEXT:   ('st_size', 0x00000000)
86 // CHECK-NEXT:   ('st_bind', 0x1)
87 // CHECK-NEXT:   ('st_type', 0x6)
88 // CHECK-NEXT:   ('st_other', 0x00)
89 // CHECK-NEXT:   ('st_shndx', 0x0000)
90 // CHECK-NEXT:  ),
91 // CHECK-NEXT:  # Symbol 13
92 // CHECK-NEXT:  (('st_name', 0x00000029) # 'foo9'
93 // CHECK-NEXT:   ('st_value', 0x00000000)
94 // CHECK-NEXT:   ('st_size', 0x00000000)
95 // CHECK-NEXT:   ('st_bind', 0x1)
96 // CHECK-NEXT:   ('st_type', 0x6)
97 // CHECK-NEXT:   ('st_other', 0x00)
98 // CHECK-NEXT:   ('st_shndx', 0x0000)
99 // CHECK-NEXT:  ),
100 // CHECK-NEXT:  # Symbol 14
101 // CHECK-NEXT:  (('st_name', 0x0000002e) # 'fooA'
102 // CHECK-NEXT:   ('st_value', 0x00000000)
103 // CHECK-NEXT:   ('st_size', 0x00000000)
104 // CHECK-NEXT:   ('st_bind', 0x1)
105 // CHECK-NEXT:   ('st_type', 0x6)
106 // CHECK-NEXT:   ('st_other', 0x00)
107 // CHECK-NEXT:   ('st_shndx', 0x0000)
108 // CHECK-NEXT:  ),
109 // CHECK-NEXT:  # Symbol 15
110 // CHECK-NEXT:  (('st_name', 0x00000033) # 'fooB'
111 // CHECK-NEXT:   ('st_value', 0x00000000)
112 // CHECK-NEXT:   ('st_size', 0x00000000)
113 // CHECK-NEXT:   ('st_bind', 0x1)
114 // CHECK-NEXT:   ('st_type', 0x6)
115 // CHECK-NEXT:   ('st_other', 0x00)
116 // CHECK-NEXT:   ('st_shndx', 0x0000)
117 // CHECK-NEXT:  ),
118 // CHECK-NEXT:  # Symbol 16
119 // CHECK-NEXT:  (('st_name', 0x00000038) # 'fooC'
120 // CHECK-NEXT:   ('st_value', 0x00000000)
121 // CHECK-NEXT:   ('st_size', 0x00000000)
122 // CHECK-NEXT:   ('st_bind', 0x1)
123 // CHECK-NEXT:   ('st_type', 0x6)
124 // CHECK-NEXT:   ('st_other', 0x00)
125 // CHECK-NEXT:   ('st_shndx', 0x0000)
126 // CHECK-NEXT:  ),
127 // CHECK-NEXT:  # Symbol 17
128 // CHECK-NEXT:  (('st_name', 0x0000003d) # 'fooD'
129 // CHECK-NEXT:   ('st_value', 0x00000000)
130 // CHECK-NEXT:   ('st_size', 0x00000000)
131 // CHECK-NEXT:   ('st_bind', 0x1)
132 // CHECK-NEXT:   ('st_type', 0x6)
133 // CHECK-NEXT:   ('st_other', 0x00)
134 // CHECK-NEXT:   ('st_shndx', 0x0000)
135 // CHECK-NEXT:  ),
136 // CHECK-NEXT:  # Symbol 18
137 // CHECK-NEXT:  (('st_name', 0x00000042) # 'fooE'
138 // CHECK-NEXT:   ('st_value', 0x00000000)
139 // CHECK-NEXT:   ('st_size', 0x00000000)
140 // CHECK-NEXT:   ('st_bind', 0x1)
141 // CHECK-NEXT:   ('st_type', 0x6)
142 // CHECK-NEXT:   ('st_other', 0x00)
143 // CHECK-NEXT:   ('st_shndx', 0x0000)
144 // CHECK-NEXT:  ),
145