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