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
6 .globl sym_globl_undef_B
9 .globl sym_globl_undef_A
11 .globl sym_globl_def_C
12 .globl sym_globl_undef_C
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)
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')
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')
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')
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')
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')
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')
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')
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')
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')
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', [
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)
199 // CHECK-X86_64
: ('_relocations', [
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')
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')
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')
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')
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')
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')
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')
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')
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')
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', [