Fixed some bugs.
[llvm/zpu.git] / test / MC / MachO / symbols-1.s
blob623e5285fe5b72994067f895499152f79ecff2ff
1 // RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck -check-prefix CHECK-X86_32 %s
2 // RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | macho-dump | FileCheck -check-prefix CHECK-X86_64 %s
4 sym_local_B:
5 .globl sym_globl_def_B
6 .globl sym_globl_undef_B
7 sym_local_A:
8 .globl sym_globl_def_A
9 .globl sym_globl_undef_A
10 sym_local_C:
11 .globl sym_globl_def_C
12 .globl sym_globl_undef_C
14 sym_globl_def_A:
15 sym_globl_def_B:
16 sym_globl_def_C:
17 Lsym_asm_temp:
18 .long 0
20 // CHECK-X86_32: ('cputype', 7)
21 // CHECK-X86_32: ('cpusubtype', 3)
22 // CHECK-X86_32: ('filetype', 1)
23 // CHECK-X86_32: ('num_load_commands', 1)
24 // CHECK-X86_32: ('load_commands_size', 228)
25 // CHECK-X86_32: ('flag', 0)
26 // CHECK-X86_32: ('load_commands', [
27 // CHECK-X86_32: # Load Command 0
28 // CHECK-X86_32: (('command', 1)
29 // CHECK-X86_32: ('size', 124)
30 // CHECK-X86_32: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
31 // CHECK-X86_32: ('vm_addr', 0)
32 // CHECK-X86_32: ('vm_size', 4)
33 // CHECK-X86_32: ('file_offset', 256)
34 // CHECK-X86_32: ('file_size', 4)
35 // CHECK-X86_32: ('maxprot', 7)
36 // CHECK-X86_32: ('initprot', 7)
37 // CHECK-X86_32: ('num_sections', 1)
38 // CHECK-X86_32: ('flags', 0)
39 // CHECK-X86_32: ('sections', [
40 // CHECK-X86_32: # Section 0
41 // CHECK-X86_32: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
42 // CHECK-X86_32: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
43 // CHECK-X86_32: ('address', 0)
44 // CHECK-X86_32: ('size', 4)
45 // CHECK-X86_32: ('offset', 256)
46 // CHECK-X86_32: ('alignment', 0)
47 // CHECK-X86_32: ('reloc_offset', 0)
48 // CHECK-X86_32: ('num_reloc', 0)
49 // CHECK-X86_32: ('flags', 0x80000000)
50 // CHECK-X86_32: ('reserved1', 0)
51 // CHECK-X86_32: ('reserved2', 0)
52 // CHECK-X86_32: ),
53 // CHECK-X86_32: ])
54 // CHECK-X86_32: ),
55 // CHECK-X86_32: # Load Command 1
56 // CHECK-X86_32: (('command', 2)
57 // CHECK-X86_32: ('size', 24)
58 // CHECK-X86_32: ('symoff', 260)
59 // CHECK-X86_32: ('nsyms', 9)
60 // CHECK-X86_32: ('stroff', 368)
61 // CHECK-X86_32: ('strsize', 140)
62 // CHECK-X86_32: ('_string_data', '\x00sym_globl_def_B\x00sym_globl_undef_B\x00sym_globl_def_A\x00sym_globl_undef_A\x00sym_globl_def_C\x00sym_globl_undef_C\x00sym_local_B\x00sym_local_A\x00sym_local_C\x00\x00')
63 // CHECK-X86_32: ('_symbols', [
64 // CHECK-X86_32: # Symbol 0
65 // CHECK-X86_32: (('n_strx', 103)
66 // CHECK-X86_32: ('n_type', 0xe)
67 // CHECK-X86_32: ('n_sect', 1)
68 // CHECK-X86_32: ('n_desc', 0)
69 // CHECK-X86_32: ('n_value', 0)
70 // CHECK-X86_32: ('_string', 'sym_local_B')
71 // CHECK-X86_32: ),
72 // CHECK-X86_32: # Symbol 1
73 // CHECK-X86_32: (('n_strx', 115)
74 // CHECK-X86_32: ('n_type', 0xe)
75 // CHECK-X86_32: ('n_sect', 1)
76 // CHECK-X86_32: ('n_desc', 0)
77 // CHECK-X86_32: ('n_value', 0)
78 // CHECK-X86_32: ('_string', 'sym_local_A')
79 // CHECK-X86_32: ),
80 // CHECK-X86_32: # Symbol 2
81 // CHECK-X86_32: (('n_strx', 127)
82 // CHECK-X86_32: ('n_type', 0xe)
83 // CHECK-X86_32: ('n_sect', 1)
84 // CHECK-X86_32: ('n_desc', 0)
85 // CHECK-X86_32: ('n_value', 0)
86 // CHECK-X86_32: ('_string', 'sym_local_C')
87 // CHECK-X86_32: ),
88 // CHECK-X86_32: # Symbol 3
89 // CHECK-X86_32: (('n_strx', 35)
90 // CHECK-X86_32: ('n_type', 0xf)
91 // CHECK-X86_32: ('n_sect', 1)
92 // CHECK-X86_32: ('n_desc', 0)
93 // CHECK-X86_32: ('n_value', 0)
94 // CHECK-X86_32: ('_string', 'sym_globl_def_A')
95 // CHECK-X86_32: ),
96 // CHECK-X86_32: # Symbol 4
97 // CHECK-X86_32: (('n_strx', 1)
98 // CHECK-X86_32: ('n_type', 0xf)
99 // CHECK-X86_32: ('n_sect', 1)
100 // CHECK-X86_32: ('n_desc', 0)
101 // CHECK-X86_32: ('n_value', 0)
102 // CHECK-X86_32: ('_string', 'sym_globl_def_B')
103 // CHECK-X86_32: ),
104 // CHECK-X86_32: # Symbol 5
105 // CHECK-X86_32: (('n_strx', 69)
106 // CHECK-X86_32: ('n_type', 0xf)
107 // CHECK-X86_32: ('n_sect', 1)
108 // CHECK-X86_32: ('n_desc', 0)
109 // CHECK-X86_32: ('n_value', 0)
110 // CHECK-X86_32: ('_string', 'sym_globl_def_C')
111 // CHECK-X86_32: ),
112 // CHECK-X86_32: # Symbol 6
113 // CHECK-X86_32: (('n_strx', 51)
114 // CHECK-X86_32: ('n_type', 0x1)
115 // CHECK-X86_32: ('n_sect', 0)
116 // CHECK-X86_32: ('n_desc', 0)
117 // CHECK-X86_32: ('n_value', 0)
118 // CHECK-X86_32: ('_string', 'sym_globl_undef_A')
119 // CHECK-X86_32: ),
120 // CHECK-X86_32: # Symbol 7
121 // CHECK-X86_32: (('n_strx', 17)
122 // CHECK-X86_32: ('n_type', 0x1)
123 // CHECK-X86_32: ('n_sect', 0)
124 // CHECK-X86_32: ('n_desc', 0)
125 // CHECK-X86_32: ('n_value', 0)
126 // CHECK-X86_32: ('_string', 'sym_globl_undef_B')
127 // CHECK-X86_32: ),
128 // CHECK-X86_32: # Symbol 8
129 // CHECK-X86_32: (('n_strx', 85)
130 // CHECK-X86_32: ('n_type', 0x1)
131 // CHECK-X86_32: ('n_sect', 0)
132 // CHECK-X86_32: ('n_desc', 0)
133 // CHECK-X86_32: ('n_value', 0)
134 // CHECK-X86_32: ('_string', 'sym_globl_undef_C')
135 // CHECK-X86_32: ),
136 // CHECK-X86_32: ])
137 // CHECK-X86_32: ),
138 // CHECK-X86_32: # Load Command 2
139 // CHECK-X86_32: (('command', 11)
140 // CHECK-X86_32: ('size', 80)
141 // CHECK-X86_32: ('ilocalsym', 0)
142 // CHECK-X86_32: ('nlocalsym', 3)
143 // CHECK-X86_32: ('iextdefsym', 3)
144 // CHECK-X86_32: ('nextdefsym', 3)
145 // CHECK-X86_32: ('iundefsym', 6)
146 // CHECK-X86_32: ('nundefsym', 3)
147 // CHECK-X86_32: ('tocoff', 0)
148 // CHECK-X86_32: ('ntoc', 0)
149 // CHECK-X86_32: ('modtaboff', 0)
150 // CHECK-X86_32: ('nmodtab', 0)
151 // CHECK-X86_32: ('extrefsymoff', 0)
152 // CHECK-X86_32: ('nextrefsyms', 0)
153 // CHECK-X86_32: ('indirectsymoff', 0)
154 // CHECK-X86_32: ('nindirectsyms', 0)
155 // CHECK-X86_32: ('extreloff', 0)
156 // CHECK-X86_32: ('nextrel', 0)
157 // CHECK-X86_32: ('locreloff', 0)
158 // CHECK-X86_32: ('nlocrel', 0)
159 // CHECK-X86_32: ('_indirect_symbols', [
160 // CHECK-X86_32: ])
161 // CHECK-X86_32: ),
162 // CHECK-X86_32: ])
164 // CHECK-X86_64: ('cputype', 16777223)
165 // CHECK-X86_64: ('cpusubtype', 3)
166 // CHECK-X86_64: ('filetype', 1)
167 // CHECK-X86_64: ('num_load_commands', 1)
168 // CHECK-X86_64: ('load_commands_size', 256)
169 // CHECK-X86_64: ('flag', 0)
170 // CHECK-X86_64: ('reserved', 0)
171 // CHECK-X86_64: ('load_commands', [
172 // CHECK-X86_64: # Load Command 0
173 // CHECK-X86_64: (('command', 25)
174 // CHECK-X86_64: ('size', 152)
175 // CHECK-X86_64: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
176 // CHECK-X86_64: ('vm_addr', 0)
177 // CHECK-X86_64: ('vm_size', 4)
178 // CHECK-X86_64: ('file_offset', 288)
179 // CHECK-X86_64: ('file_size', 4)
180 // CHECK-X86_64: ('maxprot', 7)
181 // CHECK-X86_64: ('initprot', 7)
182 // CHECK-X86_64: ('num_sections', 1)
183 // CHECK-X86_64: ('flags', 0)
184 // CHECK-X86_64: ('sections', [
185 // CHECK-X86_64: # Section 0
186 // CHECK-X86_64: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
187 // CHECK-X86_64: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
188 // CHECK-X86_64: ('address', 0)
189 // CHECK-X86_64: ('size', 4)
190 // CHECK-X86_64: ('offset', 288)
191 // CHECK-X86_64: ('alignment', 0)
192 // CHECK-X86_64: ('reloc_offset', 0)
193 // CHECK-X86_64: ('num_reloc', 0)
194 // CHECK-X86_64: ('flags', 0x80000000)
195 // CHECK-X86_64: ('reserved1', 0)
196 // CHECK-X86_64: ('reserved2', 0)
197 // CHECK-X86_64: ('reserved3', 0)
198 // CHECK-X86_64: ),
199 // CHECK-X86_64: ('_relocations', [
200 // CHECK-X86_64: ])
201 // CHECK-X86_64: ])
202 // CHECK-X86_64: ),
203 // CHECK-X86_64: # Load Command 1
204 // CHECK-X86_64: (('command', 2)
205 // CHECK-X86_64: ('size', 24)
206 // CHECK-X86_64: ('symoff', 292)
207 // CHECK-X86_64: ('nsyms', 9)
208 // CHECK-X86_64: ('stroff', 436)
209 // CHECK-X86_64: ('strsize', 140)
210 // CHECK-X86_64: ('_string_data', '\x00sym_globl_def_B\x00sym_globl_undef_B\x00sym_globl_def_A\x00sym_globl_undef_A\x00sym_globl_def_C\x00sym_globl_undef_C\x00sym_local_B\x00sym_local_A\x00sym_local_C\x00\x00')
211 // CHECK-X86_64: ('_symbols', [
212 // CHECK-X86_64: # Symbol 0
213 // CHECK-X86_64: (('n_strx', 103)
214 // CHECK-X86_64: ('n_type', 0xe)
215 // CHECK-X86_64: ('n_sect', 1)
216 // CHECK-X86_64: ('n_desc', 0)
217 // CHECK-X86_64: ('n_value', 0)
218 // CHECK-X86_64: ('_string', 'sym_local_B')
219 // CHECK-X86_64: ),
220 // CHECK-X86_64: # Symbol 1
221 // CHECK-X86_64: (('n_strx', 115)
222 // CHECK-X86_64: ('n_type', 0xe)
223 // CHECK-X86_64: ('n_sect', 1)
224 // CHECK-X86_64: ('n_desc', 0)
225 // CHECK-X86_64: ('n_value', 0)
226 // CHECK-X86_64: ('_string', 'sym_local_A')
227 // CHECK-X86_64: ),
228 // CHECK-X86_64: # Symbol 2
229 // CHECK-X86_64: (('n_strx', 127)
230 // CHECK-X86_64: ('n_type', 0xe)
231 // CHECK-X86_64: ('n_sect', 1)
232 // CHECK-X86_64: ('n_desc', 0)
233 // CHECK-X86_64: ('n_value', 0)
234 // CHECK-X86_64: ('_string', 'sym_local_C')
235 // CHECK-X86_64: ),
236 // CHECK-X86_64: # Symbol 3
237 // CHECK-X86_64: (('n_strx', 35)
238 // CHECK-X86_64: ('n_type', 0xf)
239 // CHECK-X86_64: ('n_sect', 1)
240 // CHECK-X86_64: ('n_desc', 0)
241 // CHECK-X86_64: ('n_value', 0)
242 // CHECK-X86_64: ('_string', 'sym_globl_def_A')
243 // CHECK-X86_64: ),
244 // CHECK-X86_64: # Symbol 4
245 // CHECK-X86_64: (('n_strx', 1)
246 // CHECK-X86_64: ('n_type', 0xf)
247 // CHECK-X86_64: ('n_sect', 1)
248 // CHECK-X86_64: ('n_desc', 0)
249 // CHECK-X86_64: ('n_value', 0)
250 // CHECK-X86_64: ('_string', 'sym_globl_def_B')
251 // CHECK-X86_64: ),
252 // CHECK-X86_64: # Symbol 5
253 // CHECK-X86_64: (('n_strx', 69)
254 // CHECK-X86_64: ('n_type', 0xf)
255 // CHECK-X86_64: ('n_sect', 1)
256 // CHECK-X86_64: ('n_desc', 0)
257 // CHECK-X86_64: ('n_value', 0)
258 // CHECK-X86_64: ('_string', 'sym_globl_def_C')
259 // CHECK-X86_64: ),
260 // CHECK-X86_64: # Symbol 6
261 // CHECK-X86_64: (('n_strx', 51)
262 // CHECK-X86_64: ('n_type', 0x1)
263 // CHECK-X86_64: ('n_sect', 0)
264 // CHECK-X86_64: ('n_desc', 0)
265 // CHECK-X86_64: ('n_value', 0)
266 // CHECK-X86_64: ('_string', 'sym_globl_undef_A')
267 // CHECK-X86_64: ),
268 // CHECK-X86_64: # Symbol 7
269 // CHECK-X86_64: (('n_strx', 17)
270 // CHECK-X86_64: ('n_type', 0x1)
271 // CHECK-X86_64: ('n_sect', 0)
272 // CHECK-X86_64: ('n_desc', 0)
273 // CHECK-X86_64: ('n_value', 0)
274 // CHECK-X86_64: ('_string', 'sym_globl_undef_B')
275 // CHECK-X86_64: ),
276 // CHECK-X86_64: # Symbol 8
277 // CHECK-X86_64: (('n_strx', 85)
278 // CHECK-X86_64: ('n_type', 0x1)
279 // CHECK-X86_64: ('n_sect', 0)
280 // CHECK-X86_64: ('n_desc', 0)
281 // CHECK-X86_64: ('n_value', 0)
282 // CHECK-X86_64: ('_string', 'sym_globl_undef_C')
283 // CHECK-X86_64: ),
284 // CHECK-X86_64: ])
285 // CHECK-X86_64: ),
286 // CHECK-X86_64: # Load Command 2
287 // CHECK-X86_64: (('command', 11)
288 // CHECK-X86_64: ('size', 80)
289 // CHECK-X86_64: ('ilocalsym', 0)
290 // CHECK-X86_64: ('nlocalsym', 3)
291 // CHECK-X86_64: ('iextdefsym', 3)
292 // CHECK-X86_64: ('nextdefsym', 3)
293 // CHECK-X86_64: ('iundefsym', 6)
294 // CHECK-X86_64: ('nundefsym', 3)
295 // CHECK-X86_64: ('tocoff', 0)
296 // CHECK-X86_64: ('ntoc', 0)
297 // CHECK-X86_64: ('modtaboff', 0)
298 // CHECK-X86_64: ('nmodtab', 0)
299 // CHECK-X86_64: ('extrefsymoff', 0)
300 // CHECK-X86_64: ('nextrefsyms', 0)
301 // CHECK-X86_64: ('indirectsymoff', 0)
302 // CHECK-X86_64: ('nindirectsyms', 0)
303 // CHECK-X86_64: ('extreloff', 0)
304 // CHECK-X86_64: ('nextrel', 0)
305 // CHECK-X86_64: ('locreloff', 0)
306 // CHECK-X86_64: ('nlocrel', 0)
307 // CHECK-X86_64: ('_indirect_symbols', [
308 // CHECK-X86_64: ])
309 // CHECK-X86_64: ),
310 // CHECK-X86_64: ])