f40183df853c1270ce89f1c2b95ca21432fdaf6b
[oota-llvm.git] / test / MC / MachO / x86_64-symbols.s
1 // RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | llvm-readobj -t | FileCheck %s
2
3         .text
4 L0:
5 D0:
6         .section        __TEXT,__text,regular,pure_instructions
7 L1:
8 D1:
9         .const
10 L2:
11 D2:
12         .static_const
13 L3:
14 D3:
15         .cstring
16 L4:
17 D4:
18         .literal4
19 L5:
20 D5:
21         .literal8
22 L6:
23 D6:
24         .literal16
25 L7:
26 D7:
27         .constructor
28 L8:
29 D8:
30         .destructor
31 L9:
32 D9:
33 //        .symbol_stub
34 //L10:
35 //D10:
36 //        .picsymbol_stub
37 //L11:
38 //D11:
39         .data
40 L12:
41 D12:
42         .static_data
43 L13:
44 D13:
45 //        .non_lazy_symbol_pointer
46 //L14:
47 //D14:
48 //        .lazy_symbol_pointer
49 //L15:
50 //D15:
51         .dyld
52 L16:
53 D16:
54         .mod_init_func
55 L17:
56 D17:
57         .mod_term_func
58 L18:
59 D18:
60         .const_data
61 L19:
62 D19:
63         .objc_class
64 L20:
65 D20:
66         .objc_meta_class
67 L21:
68 D21:
69         .objc_cat_cls_meth
70 L22:
71 D22:
72         .objc_cat_inst_meth
73 L23:
74 D23:
75         .objc_protocol
76 L24:
77 D24:
78         .objc_string_object
79 L25:
80 D25:
81         .objc_cls_meth
82 L26:
83 D26:
84         .objc_inst_meth
85 L27:
86 D27:
87         .objc_cls_refs
88 L28:
89 D28:
90         .objc_message_refs
91 L29:
92 D29:
93         .objc_symbols
94 L30:
95 D30:
96         .objc_category
97 L31:
98 D31:
99         .objc_class_vars
100 L32:
101 D32:
102         .objc_instance_vars
103 L33:
104 D33:
105         .objc_module_info
106 L34:
107 D34:
108         .objc_class_names
109 L35:
110 D35:
111         .objc_meth_var_types
112 L36:
113 D36:
114         .objc_meth_var_names
115 L37:
116 D37:
117         .objc_selector_strs
118 L38:
119 D38:
120 //        .section __TEXT,__picsymbolstub4,symbol_stubs,none,16
121 //L39:
122 //D39:
123
124         .section foo, bar
125         .long L4 + 1
126         .long L35 + 1
127         .long L36 + 1
128         .long L37 + 1
129         .long L38 + 1
130
131 // CHECK: Symbols [
132 // CHECK-NEXT:   Symbol {
133 // CHECK-NEXT:     Name: D0 (139)
134 // CHECK-NEXT:     Type: Section (0xE)
135 // CHECK-NEXT:     Section: __text (0x1)
136 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
137 // CHECK-NEXT:     Flags [ (0x0)
138 // CHECK-NEXT:     ]
139 // CHECK-NEXT:     Value: 0x0
140 // CHECK-NEXT:   }
141 // CHECK-NEXT:   Symbol {
142 // CHECK-NEXT:     Name: D1 (128)
143 // CHECK-NEXT:     Type: Section (0xE)
144 // CHECK-NEXT:     Section: __text (0x1)
145 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
146 // CHECK-NEXT:     Flags [ (0x0)
147 // CHECK-NEXT:     ]
148 // CHECK-NEXT:     Value: 0x0
149 // CHECK-NEXT:   }
150 // CHECK-NEXT:   Symbol {
151 // CHECK-NEXT:     Name: D2 (113)
152 // CHECK-NEXT:     Type: Section (0xE)
153 // CHECK-NEXT:     Section: __const (0x2)
154 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
155 // CHECK-NEXT:     Flags [ (0x0)
156 // CHECK-NEXT:     ]
157 // CHECK-NEXT:     Value: 0x0
158 // CHECK-NEXT:   }
159 // CHECK-NEXT:   Symbol {
160 // CHECK-NEXT:     Name: D3 (98)
161 // CHECK-NEXT:     Type: Section (0xE)
162 // CHECK-NEXT:     Section: __static_const (0x3)
163 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
164 // CHECK-NEXT:     Flags [ (0x0)
165 // CHECK-NEXT:     ]
166 // CHECK-NEXT:     Value: 0x0
167 // CHECK-NEXT:   }
168 // CHECK-NEXT:   Symbol {
169 // CHECK-NEXT:     Name: L4 (84)
170 // CHECK-NEXT:     Type: Section (0xE)
171 // CHECK-NEXT:     Section: __cstring (0x4)
172 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
173 // CHECK-NEXT:     Flags [ (0x0)
174 // CHECK-NEXT:     ]
175 // CHECK-NEXT:     Value: 0x0
176 // CHECK-NEXT:   }
177 // CHECK-NEXT:   Symbol {
178 // CHECK-NEXT:     Name: D4 (87)
179 // CHECK-NEXT:     Type: Section (0xE)
180 // CHECK-NEXT:     Section: __cstring (0x4)
181 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
182 // CHECK-NEXT:     Flags [ (0x0)
183 // CHECK-NEXT:     ]
184 // CHECK-NEXT:     Value: 0x0
185 // CHECK-NEXT:   }
186 // CHECK-NEXT:   Symbol {
187 // CHECK-NEXT:     Name: D5 (69)
188 // CHECK-NEXT:     Type: Section (0xE)
189 // CHECK-NEXT:     Section: __literal4 (0x5)
190 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
191 // CHECK-NEXT:     Flags [ (0x0)
192 // CHECK-NEXT:     ]
193 // CHECK-NEXT:     Value: 0x0
194 // CHECK-NEXT:   }
195 // CHECK-NEXT:   Symbol {
196 // CHECK-NEXT:     Name: D6 (50)
197 // CHECK-NEXT:     Type: Section (0xE)
198 // CHECK-NEXT:     Section: __literal8 (0x6)
199 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
200 // CHECK-NEXT:     Flags [ (0x0)
201 // CHECK-NEXT:     ]
202 // CHECK-NEXT:     Value: 0x0
203 // CHECK-NEXT:   }
204 // CHECK-NEXT:   Symbol {
205 // CHECK-NEXT:     Name: D7 (31)
206 // CHECK-NEXT:     Type: Section (0xE)
207 // CHECK-NEXT:     Section: __literal16 (0x7)
208 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
209 // CHECK-NEXT:     Flags [ (0x0)
210 // CHECK-NEXT:     ]
211 // CHECK-NEXT:     Value: 0x0
212 // CHECK-NEXT:   }
213 // CHECK-NEXT:   Symbol {
214 // CHECK-NEXT:     Name: D8 (12)
215 // CHECK-NEXT:     Type: Section (0xE)
216 // CHECK-NEXT:     Section: __constructor (0x8)
217 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
218 // CHECK-NEXT:     Flags [ (0x0)
219 // CHECK-NEXT:     ]
220 // CHECK-NEXT:     Value: 0x0
221 // CHECK-NEXT:   }
222 // CHECK-NEXT:   Symbol {
223 // CHECK-NEXT:     Name: D9 (1)
224 // CHECK-NEXT:     Type: Section (0xE)
225 // CHECK-NEXT:     Section: __destructor (0x9)
226 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
227 // CHECK-NEXT:     Flags [ (0x0)
228 // CHECK-NEXT:     ]
229 // CHECK-NEXT:     Value: 0x0
230 // CHECK-NEXT:   }
231 // CHECK-NEXT:   Symbol {
232 // CHECK-NEXT:     Name: D12 (124)
233 // CHECK-NEXT:     Type: Section (0xE)
234 // CHECK-NEXT:     Section: __data (0xA)
235 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
236 // CHECK-NEXT:     Flags [ (0x0)
237 // CHECK-NEXT:     ]
238 // CHECK-NEXT:     Value: 0x0
239 // CHECK-NEXT:   }
240 // CHECK-NEXT:   Symbol {
241 // CHECK-NEXT:     Name: D13 (109)
242 // CHECK-NEXT:     Type: Section (0xE)
243 // CHECK-NEXT:     Section: __static_data (0xB)
244 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
245 // CHECK-NEXT:     Flags [ (0x0)
246 // CHECK-NEXT:     ]
247 // CHECK-NEXT:     Value: 0x0
248 // CHECK-NEXT:   }
249 // CHECK-NEXT:   Symbol {
250 // CHECK-NEXT:     Name: D16 (65)
251 // CHECK-NEXT:     Type: Section (0xE)
252 // CHECK-NEXT:     Section: __dyld (0xC)
253 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
254 // CHECK-NEXT:     Flags [ (0x0)
255 // CHECK-NEXT:     ]
256 // CHECK-NEXT:     Value: 0x0
257 // CHECK-NEXT:   }
258 // CHECK-NEXT:   Symbol {
259 // CHECK-NEXT:     Name: D17 (46)
260 // CHECK-NEXT:     Type: Section (0xE)
261 // CHECK-NEXT:     Section: __mod_init_func (0xD)
262 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
263 // CHECK-NEXT:     Flags [ (0x0)
264 // CHECK-NEXT:     ]
265 // CHECK-NEXT:     Value: 0x0
266 // CHECK-NEXT:   }
267 // CHECK-NEXT:   Symbol {
268 // CHECK-NEXT:     Name: D18 (27)
269 // CHECK-NEXT:     Type: Section (0xE)
270 // CHECK-NEXT:     Section: __mod_term_func (0xE)
271 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
272 // CHECK-NEXT:     Flags [ (0x0)
273 // CHECK-NEXT:     ]
274 // CHECK-NEXT:     Value: 0x0
275 // CHECK-NEXT:   }
276 // CHECK-NEXT:   Symbol {
277 // CHECK-NEXT:     Name: D19 (8)
278 // CHECK-NEXT:     Type: Section (0xE)
279 // CHECK-NEXT:     Section: __const (0xF)
280 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
281 // CHECK-NEXT:     Flags [ (0x0)
282 // CHECK-NEXT:     ]
283 // CHECK-NEXT:     Value: 0x0
284 // CHECK-NEXT:   }
285 // CHECK-NEXT:   Symbol {
286 // CHECK-NEXT:     Name: D20 (146)
287 // CHECK-NEXT:     Type: Section (0xE)
288 // CHECK-NEXT:     Section: __class (0x10)
289 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
290 // CHECK-NEXT:     Flags [ (0x0)
291 // CHECK-NEXT:     ]
292 // CHECK-NEXT:     Value: 0x0
293 // CHECK-NEXT:   }
294 // CHECK-NEXT:   Symbol {
295 // CHECK-NEXT:     Name: D21 (135)
296 // CHECK-NEXT:     Type: Section (0xE)
297 // CHECK-NEXT:     Section: __meta_class (0x11)
298 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
299 // CHECK-NEXT:     Flags [ (0x0)
300 // CHECK-NEXT:     ]
301 // CHECK-NEXT:     Value: 0x0
302 // CHECK-NEXT:   }
303 // CHECK-NEXT:   Symbol {
304 // CHECK-NEXT:     Name: D22 (120)
305 // CHECK-NEXT:     Type: Section (0xE)
306 // CHECK-NEXT:     Section: __cat_cls_meth (0x12)
307 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
308 // CHECK-NEXT:     Flags [ (0x0)
309 // CHECK-NEXT:     ]
310 // CHECK-NEXT:     Value: 0x0
311 // CHECK-NEXT:   }
312 // CHECK-NEXT:   Symbol {
313 // CHECK-NEXT:     Name: D23 (105)
314 // CHECK-NEXT:     Type: Section (0xE)
315 // CHECK-NEXT:     Section: __cat_inst_meth (0x13)
316 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
317 // CHECK-NEXT:     Flags [ (0x0)
318 // CHECK-NEXT:     ]
319 // CHECK-NEXT:     Value: 0x0
320 // CHECK-NEXT:   }
321 // CHECK-NEXT:   Symbol {
322 // CHECK-NEXT:     Name: D24 (94)
323 // CHECK-NEXT:     Type: Section (0xE)
324 // CHECK-NEXT:     Section: __protocol (0x14)
325 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
326 // CHECK-NEXT:     Flags [ (0x0)
327 // CHECK-NEXT:     ]
328 // CHECK-NEXT:     Value: 0x0
329 // CHECK-NEXT:   }
330 // CHECK-NEXT:   Symbol {
331 // CHECK-NEXT:     Name: D25 (80)
332 // CHECK-NEXT:     Type: Section (0xE)
333 // CHECK-NEXT:     Section: __string_object (0x15)
334 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
335 // CHECK-NEXT:     Flags [ (0x0)
336 // CHECK-NEXT:     ]
337 // CHECK-NEXT:     Value: 0x0
338 // CHECK-NEXT:   }
339 // CHECK-NEXT:   Symbol {
340 // CHECK-NEXT:     Name: D26 (61)
341 // CHECK-NEXT:     Type: Section (0xE)
342 // CHECK-NEXT:     Section: __cls_meth (0x16)
343 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
344 // CHECK-NEXT:     Flags [ (0x0)
345 // CHECK-NEXT:     ]
346 // CHECK-NEXT:     Value: 0x0
347 // CHECK-NEXT:   }
348 // CHECK-NEXT:   Symbol {
349 // CHECK-NEXT:     Name: D27 (42)
350 // CHECK-NEXT:     Type: Section (0xE)
351 // CHECK-NEXT:     Section: __inst_meth (0x17)
352 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
353 // CHECK-NEXT:     Flags [ (0x0)
354 // CHECK-NEXT:     ]
355 // CHECK-NEXT:     Value: 0x0
356 // CHECK-NEXT:   }
357 // CHECK-NEXT:   Symbol {
358 // CHECK-NEXT:     Name: D28 (23)
359 // CHECK-NEXT:     Type: Section (0xE)
360 // CHECK-NEXT:     Section: __cls_refs (0x18)
361 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
362 // CHECK-NEXT:     Flags [ (0x0)
363 // CHECK-NEXT:     ]
364 // CHECK-NEXT:     Value: 0x0
365 // CHECK-NEXT:   }
366 // CHECK-NEXT:   Symbol {
367 // CHECK-NEXT:     Name: D29 (4)
368 // CHECK-NEXT:     Type: Section (0xE)
369 // CHECK-NEXT:     Section: __message_refs (0x19)
370 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
371 // CHECK-NEXT:     Flags [ (0x0)
372 // CHECK-NEXT:     ]
373 // CHECK-NEXT:     Value: 0x0
374 // CHECK-NEXT:   }
375 // CHECK-NEXT:   Symbol {
376 // CHECK-NEXT:     Name: D30 (142)
377 // CHECK-NEXT:     Type: Section (0xE)
378 // CHECK-NEXT:     Section: __symbols (0x1A)
379 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
380 // CHECK-NEXT:     Flags [ (0x0)
381 // CHECK-NEXT:     ]
382 // CHECK-NEXT:     Value: 0x0
383 // CHECK-NEXT:   }
384 // CHECK-NEXT:   Symbol {
385 // CHECK-NEXT:     Name: D31 (131)
386 // CHECK-NEXT:     Type: Section (0xE)
387 // CHECK-NEXT:     Section: __category (0x1B)
388 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
389 // CHECK-NEXT:     Flags [ (0x0)
390 // CHECK-NEXT:     ]
391 // CHECK-NEXT:     Value: 0x0
392 // CHECK-NEXT:   }
393 // CHECK-NEXT:   Symbol {
394 // CHECK-NEXT:     Name: D32 (116)
395 // CHECK-NEXT:     Type: Section (0xE)
396 // CHECK-NEXT:     Section: __class_vars (0x1C)
397 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
398 // CHECK-NEXT:     Flags [ (0x0)
399 // CHECK-NEXT:     ]
400 // CHECK-NEXT:     Value: 0x0
401 // CHECK-NEXT:   }
402 // CHECK-NEXT:   Symbol {
403 // CHECK-NEXT:     Name: D33 (101)
404 // CHECK-NEXT:     Type: Section (0xE)
405 // CHECK-NEXT:     Section: __instance_vars (0x1D)
406 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
407 // CHECK-NEXT:     Flags [ (0x0)
408 // CHECK-NEXT:     ]
409 // CHECK-NEXT:     Value: 0x0
410 // CHECK-NEXT:   }
411 // CHECK-NEXT:   Symbol {
412 // CHECK-NEXT:     Name: D34 (90)
413 // CHECK-NEXT:     Type: Section (0xE)
414 // CHECK-NEXT:     Section: __module_info (0x1E)
415 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
416 // CHECK-NEXT:     Flags [ (0x0)
417 // CHECK-NEXT:     ]
418 // CHECK-NEXT:     Value: 0x0
419 // CHECK-NEXT:   }
420 // CHECK-NEXT:   Symbol {
421 // CHECK-NEXT:     Name: L35 (72)
422 // CHECK-NEXT:     Type: Section (0xE)
423 // CHECK-NEXT:     Section: __cstring (0x4)
424 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
425 // CHECK-NEXT:     Flags [ (0x0)
426 // CHECK-NEXT:     ]
427 // CHECK-NEXT:     Value: 0x0
428 // CHECK-NEXT:   }
429 // CHECK-NEXT:   Symbol {
430 // CHECK-NEXT:     Name: D35 (76)
431 // CHECK-NEXT:     Type: Section (0xE)
432 // CHECK-NEXT:     Section: __cstring (0x4)
433 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
434 // CHECK-NEXT:     Flags [ (0x0)
435 // CHECK-NEXT:     ]
436 // CHECK-NEXT:     Value: 0x0
437 // CHECK-NEXT:   }
438 // CHECK-NEXT:   Symbol {
439 // CHECK-NEXT:     Name: L36 (53)
440 // CHECK-NEXT:     Type: Section (0xE)
441 // CHECK-NEXT:     Section: __cstring (0x4)
442 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
443 // CHECK-NEXT:     Flags [ (0x0)
444 // CHECK-NEXT:     ]
445 // CHECK-NEXT:     Value: 0x0
446 // CHECK-NEXT:   }
447 // CHECK-NEXT:   Symbol {
448 // CHECK-NEXT:     Name: D36 (57)
449 // CHECK-NEXT:     Type: Section (0xE)
450 // CHECK-NEXT:     Section: __cstring (0x4)
451 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
452 // CHECK-NEXT:     Flags [ (0x0)
453 // CHECK-NEXT:     ]
454 // CHECK-NEXT:     Value: 0x0
455 // CHECK-NEXT:   }
456 // CHECK-NEXT:   Symbol {
457 // CHECK-NEXT:     Name: L37 (34)
458 // CHECK-NEXT:     Type: Section (0xE)
459 // CHECK-NEXT:     Section: __cstring (0x4)
460 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
461 // CHECK-NEXT:     Flags [ (0x0)
462 // CHECK-NEXT:     ]
463 // CHECK-NEXT:     Value: 0x0
464 // CHECK-NEXT:   }
465 // CHECK-NEXT:   Symbol {
466 // CHECK-NEXT:     Name: D37 (38)
467 // CHECK-NEXT:     Type: Section (0xE)
468 // CHECK-NEXT:     Section: __cstring (0x4)
469 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
470 // CHECK-NEXT:     Flags [ (0x0)
471 // CHECK-NEXT:     ]
472 // CHECK-NEXT:     Value: 0x0
473 // CHECK-NEXT:   }
474 // CHECK-NEXT:   Symbol {
475 // CHECK-NEXT:     Name: L38 (15)
476 // CHECK-NEXT:     Type: Section (0xE)
477 // CHECK-NEXT:     Section: __selector_strs (0x1F)
478 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
479 // CHECK-NEXT:     Flags [ (0x0)
480 // CHECK-NEXT:     ]
481 // CHECK-NEXT:     Value: 0x0
482 // CHECK-NEXT:   }
483 // CHECK-NEXT:   Symbol {
484 // CHECK-NEXT:     Name: D38 (19)
485 // CHECK-NEXT:     Type: Section (0xE)
486 // CHECK-NEXT:     Section: __selector_strs (0x1F)
487 // CHECK-NEXT:     RefType: UndefinedNonLazy (0x0)
488 // CHECK-NEXT:     Flags [ (0x0)
489 // CHECK-NEXT:     ]
490 // CHECK-NEXT:     Value: 0x0
491 // CHECK-NEXT:   }
492 // CHECK-NEXT: ]