1 // RUN
: llvm-mc
-triple i386-apple-darwin9
%s
-filetype
=obj
-o
- | macho-dump
--dump-section-data | FileCheck
%s
4 .align 4, 0 # start with 16 byte alignment filled with zeros
11 .align 4, 0 # start with 16 byte alignment filled with zeros
19 .align 4, 0 # start with 16 byte alignment filled with zeros
26 .align 4, 0 # start with 16 byte alignment filled with zeros
32 # 0x0f, 0x1f, 0x40, 0x00
36 .align 4, 0 # start with 16 byte alignment filled with zeros
40 # nopl 0(%[re]ax,%[re]ax,1)
41 # 0x0f, 0x1f, 0x44, 0x00, 0x00
45 .align 4, 0 # start with 16 byte alignment filled with zeros
48 # nopw 0(%[re]ax,%[re]ax,1)
49 # 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00
53 .align 4, 0 # start with 16 byte alignment filled with zeros
56 # 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00
60 .align 4, 0 # start with 16 byte alignment filled with zeros
69 # nopl 0L(%[re]ax,%[re]ax,1)
70 # 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
74 .align 4, 0 # start with 16 byte alignment filled with zeros
82 # nopw 0L(%[re]ax,%[re]ax,1)
83 # 0x66, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
87 .align 4, 0 # start with 16 byte alignment filled with zeros
95 # nopw %cs:0L(%[re]ax,%[re]ax,1)
96 # 0x66, 0x2e, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
100 .align 4, 0 # start with 16 byte alignment filled with zeros
106 # nopw %cs:0L(%[re]ax,%[re]ax,1)
107 # 0x66, 0x66, 0x2e, 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
111 .align 4, 0 # start with 16 byte alignment filled with zeros
116 # nopw 0(%[re]ax,%[re]ax,1)
117 # nopw 0(%[re]ax,%[re]ax,1)
118 # 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00,
119 # 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00
123 .align 4, 0 # start with 16 byte alignment filled with zeros
127 # nopw 0(%[re]ax,%[re]ax,1)
129 # 0x66, 0x0f, 0x1f, 0x44, 0x00, 0x00,
130 # 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00
134 .align 4, 0 # start with 16 byte alignment filled with zeros
139 # 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00,
140 # 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00
144 .align 4, 0 # start with 16 byte alignment filled with zeros
147 # nopl 0L(%[re]ax,%[re]ax,1)
148 # 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00,
149 # 0x0f, 0x1f, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00
153 # Only the .text sections gets optimal nops.
154 .section __TEXT,__const
160 // CHECK
: ('cputype', 7)
161 // CHECK
: ('cpusubtype', 3)
162 // CHECK
: ('filetype', 1)
163 // CHECK
: ('num_load_commands', 3)
164 // CHECK
: ('load_commands_size', 296)
165 // CHECK
: ('flag', 0)
166 // CHECK
: ('load_commands', [
167 // CHECK
: # Load Command 0
168 // CHECK
: (('command', 1)
169 // CHECK
: ('size', 192)
170 // CHECK
: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
171 // CHECK
: ('vm_addr', 0)
172 // CHECK
: ('vm_size', 372)
173 // CHECK
: ('file_offset', 324)
174 // CHECK
: ('file_size', 372)
175 // CHECK
: ('maxprot', 7)
176 // CHECK
: ('initprot', 7)
177 // CHECK
: ('num_sections', 2)
178 // CHECK
: ('flags', 0)
179 // CHECK
: ('sections', [
180 // CHECK
: # Section 0
181 // CHECK
: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
182 // CHECK
: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
183 // CHECK
: ('address', 0)
184 // CHECK
: ('size', 337)
185 // CHECK
: ('offset', 324)
186 // CHECK
: ('alignment', 4)
187 // CHECK
: ('reloc_offset', 0)
188 // CHECK
: ('num_reloc', 0)
189 // CHECK
: ('flags', 0x80000400)
190 // CHECK
: ('reserved1', 0)
191 // CHECK
: ('reserved2', 0)
193 // CHECK
: ('_relocations', [
195 // CHECK
: ('_section_data', 'c390c300 00000000 00000000 00000000 c3c36690 c3000000 00000000 00000000 c30f1f00 c3000000 00000000 00000000 c3c3c3c3 0f1f4000 c3000000 00000000 c3c3c30f 1f440000 c3000000 00000000 c3c3660f 1f440000 c3000000 00000000 c30f1f80 00000000 c3000000 00000000 c3c3c3c3 c3c3c3c3 c3000000 00000000 c3c3c3c3 c3c3c366 0f1f8400 00000000 c3000000 00000000 00000000 00000000 c3c3c3c3 c3c3c366 0f1f8400 00000000 c3000000 00000000 00000000 00000000 c3c3c3c3 c366662e 0f1f8400 00000000 c3000000 00000000 00000000 00000000 c3c3c3c3 6666662e 0f1f8400 00000000 c3000000 00000000 00000000 00000000 c3c3c366 6666662e 0f1f8400 00000000 c3000000 00000000 00000000 00000000 c3c36666 6666662e 0f1f8400 00000000 c3000000 00000000 00000000 00000000 c3666666 6666662e 0f1f8400 00000000 c3')
196 // CHECK
: # Section 1
197 // CHECK
: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00')
198 // CHECK
: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
199 // CHECK
: ('address', 352)
200 // CHECK
: ('size', 20)
201 // CHECK
: ('offset', 676)
202 // CHECK
: ('alignment', 4)
203 // CHECK
: ('reloc_offset', 0)
204 // CHECK
: ('num_reloc', 0)
205 // CHECK
: ('flags', 0x0)
206 // CHECK
: ('reserved1', 0)
207 // CHECK
: ('reserved2', 0)
209 // CHECK
: ('_relocations', [
211 // CHECK
: ('_section_data', '00909090 90909090 90909090 90909090 00000000')
214 // CHECK
: # Load Command 1
215 // CHECK
: (('command', 2)
216 // CHECK
: ('size', 24)
217 // CHECK
: ('symoff', 696)
218 // CHECK
: ('nsyms', 1)
219 // CHECK
: ('stroff', 708)
220 // CHECK
: ('strsize', 4)
221 // CHECK
: ('_string_data', '\x00f0\x00')
222 // CHECK
: ('_symbols', [
224 // CHECK
: (('n_strx', 1)
225 // CHECK
: ('n_type', 0xe)
226 // CHECK
: ('n_sect', 2)
227 // CHECK
: ('n_desc', 0)
228 // CHECK
: ('n_value', 352)
229 // CHECK
: ('_string', 'f0')
233 // CHECK
: # Load Command 2
234 // CHECK
: (('command', 11)
235 // CHECK
: ('size', 80)
236 // CHECK
: ('ilocalsym', 0)
237 // CHECK
: ('nlocalsym', 1)
238 // CHECK
: ('iextdefsym', 1)
239 // CHECK
: ('nextdefsym', 0)
240 // CHECK
: ('iundefsym', 1)
241 // CHECK
: ('nundefsym', 0)
242 // CHECK
: ('tocoff', 0)
243 // CHECK
: ('ntoc', 0)
244 // CHECK
: ('modtaboff', 0)
245 // CHECK
: ('nmodtab', 0)
246 // CHECK
: ('extrefsymoff', 0)
247 // CHECK
: ('nextrefsyms', 0)
248 // CHECK
: ('indirectsymoff', 0)
249 // CHECK
: ('nindirectsyms', 0)
250 // CHECK
: ('extreloff', 0)
251 // CHECK
: ('nextrel', 0)
252 // CHECK
: ('locreloff', 0)
253 // CHECK
: ('nlocrel', 0)
254 // CHECK
: ('_indirect_symbols', [