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, 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', 1)
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', '\xc3\x90\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xc3f\x90\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x0f\x1f\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\xc3\xc3\x0f\x1f@\x00\xc3\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\xc3\x0f\x1fD\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\xc3\xc3f\x0f\x1fD\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\xc3\x0f\x1f\x80\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\xc3\xc3\xc3\xc3\xc3\xc3\xc3\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\xc3\xc3\xc3\xc3\xc3f\x0f\x1f\x84\x00\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\xc3\xc3\xc3\xc3\xc3f\x0f\x1f\x84\x00\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\xc3\xc3\xc3\x0f\x1fD\x00\x00f\x0f\x1fD\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\xc3\xc3f\x0f\x1fD\x00\x00f\x0f\x1fD\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\xc3f\x0f\x1fD\x00\x00\x0f\x1f\x80\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\xc3\x0f\x1f\x80\x00\x00\x00\x00\x0f\x1f\x80\x00\x00\x00\x00\xc3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x0f\x1f\x80\x00\x00\x00\x00\x0f\x1f\x84\x00\x00\x00\x00\x00\xc3')
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', '\x00\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x00\x00\x00\x00')
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', [