1 // RUN
: llvm-mc
-triple i386-apple-darwin9
-mcpu
=pentiumpro
%s
-filetype
=obj
-o
- | llvm-readobj
--file-headers
-S
--sd
-r
--symbols
--macho-segment
--macho-dysymtab
--macho-indirect-symbols | 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
: File
: <stdin
>
161 // CHECK
: Format
: Mach-O
32-bit i386
163 // CHECK
: AddressSize
: 32bit
164 // CHECK
: MachHeader
{
165 // CHECK
: Magic
: Magic
(0xFEEDFACE)
166 // CHECK
: CpuType
: X86
(0x7)
167 // CHECK
: CpuSubType
: CPU_SUBTYPE_I386_ALL
(0x3)
168 // CHECK
: FileType
: Relocatable
(0x1)
169 // CHECK
: NumOfLoadCommands
: 4
170 // CHECK
: SizeOfLoadCommands
: 312
171 // CHECK
: Flags
[ (0x0)
177 // CHECK
: Name
: __text
(5F
5F
74 65 78 74 00 00 00 00 00 00 00 00 00 00)
178 // CHECK
: Segment
: __TEXT
(5F
5F
54 45 58 54 00 00 00 00 00 00 00 00 00 00)
179 // CHECK
: Address
: 0x0
180 // CHECK
: Size
: 0x151
181 // CHECK
: Offset
: 340
182 // CHECK
: Alignment
: 4
183 // CHECK
: RelocationOffset
: 0x0
184 // CHECK
: RelocationCount
: 0
185 // CHECK
: Type
: Regular
(0x0)
186 // CHECK
: Attributes
[ (0x800004)
187 // CHECK
: PureInstructions
(0x800000)
188 // CHECK
: SomeInstructions
(0x4)
190 // CHECK
: Reserved1
: 0x0
191 // CHECK
: Reserved2
: 0x0
192 // CHECK
: SectionData
(
193 // CHECK
: 0000: C390C300
00000000 00000000 00000000 |
................|
194 // CHECK
: 0010: C3C36690 C3000000
00000000 00000000 |
..f.............|
195 // CHECK
: 0020: C30F1F00 C3000000
00000000 00000000 |
................|
196 // CHECK
: 0030: C3C3C3C3
0F1F4000 C3000000
00000000 |
......@.........|
197 // CHECK
: 0040: C3C3C30F
1F440000 C3000000
00000000 |
.....D..........|
198 // CHECK
: 0050: C3C3660F
1F440000 C3000000
00000000 |
..f..D..........|
199 // CHECK
: 0060: C30F1F80
00000000 C3000000
00000000 |
................|
200 // CHECK
: 0070: C3C3C3C3 C3C3C3C3 C3000000
00000000 |
................|
201 // CHECK
: 0080: C3C3C3C3 C3C3C366
0F1F8400
00000000 |
.......f........|
202 // CHECK
: 0090: C3000000
00000000 00000000 00000000 |
................|
203 // CHECK
: 00A0
: C3C3C3C3 C3C3C366
0F1F8400
00000000 |
.......f........|
204 // CHECK
: 00B0
: C3000000
00000000 00000000 00000000 |
................|
205 // CHECK
: 00C0
: C3C3C3C3 C3662E0F
1F840000
00000090 |
.....f..........|
206 // CHECK
: 00D0
: C3000000
00000000 00000000 00000000 |
................|
207 // CHECK
: 00E0
: C3C3C3C3
662E0F1F
84000000 00006690 |
....f.........f.|
208 // CHECK
: 00F0: C3000000
00000000 00000000 00000000 |
................|
209 // CHECK
: 0100: C3C3C366
2E0F1F84
00000000 000F1F00 |
...f............|
210 // CHECK
: 0110: C3000000
00000000 00000000 00000000 |
................|
211 // CHECK
: 0120: C3C3662E
0F1F8400
00000000 0F1F4000 |
..f...........@.|
212 // CHECK
: 0130: C3000000
00000000 00000000 00000000 |
................|
213 // CHECK
: 0140: C3662E0F
1F840000
0000000F
1F440000 |
.f...........D..|
214 // CHECK
: 0150: C3 |
.|
219 // CHECK
: Name
: __const
(5F
5F
63 6F
6E
73 74 00 00 00 00 00 00 00 00 00)
220 // CHECK
: Segment
: __TEXT
(5F
5F
54 45 58 54 00 00 00 00 00 00 00 00 00 00)
221 // CHECK
: Address
: 0x160
223 // CHECK
: Offset
: 692
224 // CHECK
: Alignment
: 4
225 // CHECK
: RelocationOffset
: 0x0
226 // CHECK
: RelocationCount
: 0
227 // CHECK
: Type
: Regular
(0x0)
228 // CHECK
: Attributes
[ (0x0)
230 // CHECK
: Reserved1
: 0x0
231 // CHECK
: Reserved2
: 0x0
232 // CHECK
: SectionData
(
233 // CHECK
: 0000: 00909090 90909090 90909090 90909090 |
................|
234 // CHECK
: 0010: 00000000 |
....|
238 // CHECK
: Relocations
[
242 // CHECK
: Name
: f0 (1)
243 // CHECK
: Type
: Section
(0xE)
244 // CHECK
: Section
: __const
(0x2)
245 // CHECK
: RefType
: UndefinedNonLazy
(0x0)
246 // CHECK
: Flags
[ (0x0)
248 // CHECK
: Value
: 0x160
251 // CHECK
: Indirect Symbols
{
257 // CHECK
: Cmd
: LC_SEGMENT
260 // CHECK
: vmaddr
: 0x0
261 // CHECK
: vmsize
: 0x174
262 // CHECK
: fileoff
: 340
263 // CHECK
: filesize
: 372
264 // CHECK
: maxprot
: rwx
265 // CHECK
: initprot
: rwx
270 // CHECK
: ilocalsym
: 0
271 // CHECK
: nlocalsym
: 1
272 // CHECK
: iextdefsym
: 1
273 // CHECK
: nextdefsym
: 0
274 // CHECK
: iundefsym
: 1
275 // CHECK
: nundefsym
: 0
278 // CHECK
: modtaboff
: 0
280 // CHECK
: extrefsymoff
: 0
281 // CHECK
: nextrefsyms
: 0
282 // CHECK
: indirectsymoff
: 0
283 // CHECK
: nindirectsyms
: 0
284 // CHECK
: extreloff
: 0
286 // CHECK
: locreloff
: 0