1 // RUN
: llvm-mc
-triple i386-apple-darwin9
%s
-filetype
=obj
-o
- | llvm-readobj
--file-headers
-S
-r
--symbols
--macho-segment
--macho-dysymtab
--macho-indirect-symbols | FileCheck
-check-prefix CHECK-X86_32
%s
2 // RUN
: llvm-mc
-triple x86_64-apple-darwin10
%s
-filetype
=obj
-o
- | llvm-readobj
--file-headers
-S
-r
--symbols
--macho-segment
--macho-dysymtab
--macho-indirect-symbols | 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
: File
: <stdin
>
21 // CHECK-X86_32
: Format
: Mach-O
32-bit i386
22 // CHECK-X86_32
: Arch
: i386
23 // CHECK-X86_32
: AddressSize
: 32bit
24 // CHECK-X86_32
: MachHeader
{
25 // CHECK-X86_32
: Magic
: Magic
(0xFEEDFACE)
26 // CHECK-X86_32
: CpuType
: X86
(0x7)
27 // CHECK-X86_32
: CpuSubType
: CPU_SUBTYPE_I386_ALL
(0x3)
28 // CHECK-X86_32
: FileType
: Relocatable
(0x1)
29 // CHECK-X86_32
: NumOfLoadCommands
: 4
30 // CHECK-X86_32
: SizeOfLoadCommands
: 244
31 // CHECK-X86_32
: Flags
[ (0x0)
34 // CHECK-X86_32
: Sections
[
35 // CHECK-X86_32
: Section
{
36 // CHECK-X86_32
: Index
: 0
37 // CHECK-X86_32
: Name
: __text
(5F
5F
74 65 78 74 00 00 00 00 00 00 00 00 00 00)
38 // CHECK-X86_32
: Segment
: __TEXT
(5F
5F
54 45 58 54 00 00 00 00 00 00 00 00 00 00)
39 // CHECK-X86_32
: Address
: 0x0
40 // CHECK-X86_32
: Size
: 0x4
41 // CHECK-X86_32
: Offset
: 272
42 // CHECK-X86_32
: Alignment
: 0
43 // CHECK-X86_32
: RelocationOffset
: 0x0
44 // CHECK-X86_32
: RelocationCount
: 0
45 // CHECK-X86_32
: Type
: 0x0
46 // CHECK-X86_32
: Attributes
[ (0x800000)
47 // CHECK-X86_32
: PureInstructions
(0x800000)
49 // CHECK-X86_32
: Reserved1
: 0x0
50 // CHECK-X86_32
: Reserved2
: 0x0
53 // CHECK-X86_32
: Relocations
[
55 // CHECK-X86_32
: Symbols
[
56 // CHECK-X86_32
: Symbol
{
57 // CHECK-X86_32
: Name
: sym_local_B
(47)
58 // CHECK-X86_32
: Type
: Section
(0xE)
59 // CHECK-X86_32
: Section
: __text
(0x1)
60 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
61 // CHECK-X86_32
: Flags
[ (0x0)
63 // CHECK-X86_32
: Value
: 0x0
65 // CHECK-X86_32
: Symbol
{
66 // CHECK-X86_32
: Name
: sym_local_A
(93)
67 // CHECK-X86_32
: Type
: Section
(0xE)
68 // CHECK-X86_32
: Section
: __text
(0x1)
69 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
70 // CHECK-X86_32
: Flags
[ (0x0)
72 // CHECK-X86_32
: Value
: 0x0
74 // CHECK-X86_32
: Symbol
{
75 // CHECK-X86_32
: Name
: sym_local_C
(1)
76 // CHECK-X86_32
: Type
: Section
(0xE)
77 // CHECK-X86_32
: Section
: __text
(0x1)
78 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
79 // CHECK-X86_32
: Flags
[ (0x0)
81 // CHECK-X86_32
: Value
: 0x0
83 // CHECK-X86_32
: Symbol
{
84 // CHECK-X86_32
: Name
: sym_globl_def_A
(123)
85 // CHECK-X86_32
: Extern
86 // CHECK-X86_32
: Type
: Section
(0xE)
87 // CHECK-X86_32
: Section
: __text
(0x1)
88 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
89 // CHECK-X86_32
: Flags
[ (0x0)
91 // CHECK-X86_32
: Value
: 0x0
93 // CHECK-X86_32
: Symbol
{
94 // CHECK-X86_32
: Name
: sym_globl_def_B
(77)
95 // CHECK-X86_32
: Extern
96 // CHECK-X86_32
: Type
: Section
(0xE)
97 // CHECK-X86_32
: Section
: __text
(0x1)
98 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
99 // CHECK-X86_32
: Flags
[ (0x0)
101 // CHECK-X86_32
: Value
: 0x0
103 // CHECK-X86_32
: Symbol
{
104 // CHECK-X86_32
: Name
: sym_globl_def_C
(31)
105 // CHECK-X86_32
: Extern
106 // CHECK-X86_32
: Type
: Section
(0xE)
107 // CHECK-X86_32
: Section
: __text
(0x1)
108 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
109 // CHECK-X86_32
: Flags
[ (0x0)
111 // CHECK-X86_32
: Value
: 0x0
113 // CHECK-X86_32
: Symbol
{
114 // CHECK-X86_32
: Name
: sym_globl_undef_A
(105)
115 // CHECK-X86_32
: Extern
116 // CHECK-X86_32
: Type
: Undef
(0x0)
117 // CHECK-X86_32
: Section
: (0x0)
118 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
119 // CHECK-X86_32
: Flags
[ (0x0)
121 // CHECK-X86_32
: Value
: 0x0
123 // CHECK-X86_32
: Symbol
{
124 // CHECK-X86_32
: Name
: sym_globl_undef_B
(59)
125 // CHECK-X86_32
: Extern
126 // CHECK-X86_32
: Type
: Undef
(0x0)
127 // CHECK-X86_32
: Section
: (0x0)
128 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
129 // CHECK-X86_32
: Flags
[ (0x0)
131 // CHECK-X86_32
: Value
: 0x0
133 // CHECK-X86_32
: Symbol
{
134 // CHECK-X86_32
: Name
: sym_globl_undef_C
(13)
135 // CHECK-X86_32
: Extern
136 // CHECK-X86_32
: Type
: Undef
(0x0)
137 // CHECK-X86_32
: Section
: (0x0)
138 // CHECK-X86_32
: RefType
: UndefinedNonLazy
(0x0)
139 // CHECK-X86_32
: Flags
[ (0x0)
141 // CHECK-X86_32
: Value
: 0x0
144 // CHECK-X86_32
: Indirect Symbols
{
145 // CHECK-X86_32
: Number
: 0
146 // CHECK-X86_32
: Symbols
[
149 // CHECK-X86_32
: Segment
{
150 // CHECK-X86_32
: Cmd
: LC_SEGMENT
151 // CHECK-X86_32
: Name
:
152 // CHECK-X86_32
: Size
: 124
153 // CHECK-X86_32
: vmaddr
: 0x0
154 // CHECK-X86_32
: vmsize
: 0x4
155 // CHECK-X86_32
: fileoff
: 272
156 // CHECK-X86_32
: filesize
: 4
157 // CHECK-X86_32
: maxprot
: rwx
158 // CHECK-X86_32
: initprot
: rwx
159 // CHECK-X86_32
: nsects
: 1
160 // CHECK-X86_32
: flags
: 0x0
162 // CHECK-X86_32
: Dysymtab
{
163 // CHECK-X86_32
: ilocalsym
: 0
164 // CHECK-X86_32
: nlocalsym
: 3
165 // CHECK-X86_32
: iextdefsym
: 3
166 // CHECK-X86_32
: nextdefsym
: 3
167 // CHECK-X86_32
: iundefsym
: 6
168 // CHECK-X86_32
: nundefsym
: 3
169 // CHECK-X86_32
: tocoff
: 0
170 // CHECK-X86_32
: ntoc
: 0
171 // CHECK-X86_32
: modtaboff
: 0
172 // CHECK-X86_32
: nmodtab
: 0
173 // CHECK-X86_32
: extrefsymoff
: 0
174 // CHECK-X86_32
: nextrefsyms
: 0
175 // CHECK-X86_32
: indirectsymoff
: 0
176 // CHECK-X86_32
: nindirectsyms
: 0
177 // CHECK-X86_32
: extreloff
: 0
178 // CHECK-X86_32
: nextrel
: 0
179 // CHECK-X86_32
: locreloff
: 0
180 // CHECK-X86_32
: nlocrel
: 0
183 // CHECK-X86_64
: File
: <stdin
>
184 // CHECK-X86_64
: Format
: Mach-O
64-bit x86-
64
185 // CHECK-X86_64
: Arch
: x86_64
186 // CHECK-X86_64
: AddressSize
: 64bit
187 // CHECK-X86_64
: MachHeader
{
188 // CHECK-X86_64
: Magic
: Magic64
(0xFEEDFACF)
189 // CHECK-X86_64
: CpuType
: X86-
64 (0x1000007)
190 // CHECK-X86_64
: CpuSubType
: CPU_SUBTYPE_X86_64_ALL
(0x3)
191 // CHECK-X86_64
: FileType
: Relocatable
(0x1)
192 // CHECK-X86_64
: NumOfLoadCommands
: 4
193 // CHECK-X86_64
: SizeOfLoadCommands
: 272
194 // CHECK-X86_64
: Flags
[ (0x0)
196 // CHECK-X86_64
: Reserved
: 0x0
198 // CHECK-X86_64
: Sections
[
199 // CHECK-X86_64
: Section
{
200 // CHECK-X86_64
: Index
: 0
201 // CHECK-X86_64
: Name
: __text
(5F
5F
74 65 78 74 00 00 00 00 00 00 00 00 00 00)
202 // CHECK-X86_64
: Segment
: __TEXT
(5F
5F
54 45 58 54 00 00 00 00 00 00 00 00 00 00)
203 // CHECK-X86_64
: Address
: 0x0
204 // CHECK-X86_64
: Size
: 0x4
205 // CHECK-X86_64
: Offset
: 304
206 // CHECK-X86_64
: Alignment
: 0
207 // CHECK-X86_64
: RelocationOffset
: 0x0
208 // CHECK-X86_64
: RelocationCount
: 0
209 // CHECK-X86_64
: Type
: 0x0
210 // CHECK-X86_64
: Attributes
[ (0x800000)
211 // CHECK-X86_64
: PureInstructions
(0x800000)
213 // CHECK-X86_64
: Reserved1
: 0x0
214 // CHECK-X86_64
: Reserved2
: 0x0
215 // CHECK-X86_64
: Reserved3
: 0x0
218 // CHECK-X86_64
: Relocations
[
220 // CHECK-X86_64
: Symbols
[
221 // CHECK-X86_64
: Symbol
{
222 // CHECK-X86_64
: Name
: sym_local_B
(47)
223 // CHECK-X86_64
: Type
: Section
(0xE)
224 // CHECK-X86_64
: Section
: __text
(0x1)
225 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
226 // CHECK-X86_64
: Flags
[ (0x0)
228 // CHECK-X86_64
: Value
: 0x0
230 // CHECK-X86_64
: Symbol
{
231 // CHECK-X86_64
: Name
: sym_local_A
(93)
232 // CHECK-X86_64
: Type
: Section
(0xE)
233 // CHECK-X86_64
: Section
: __text
(0x1)
234 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
235 // CHECK-X86_64
: Flags
[ (0x0)
237 // CHECK-X86_64
: Value
: 0x0
239 // CHECK-X86_64
: Symbol
{
240 // CHECK-X86_64
: Name
: sym_local_C
(1)
241 // CHECK-X86_64
: Type
: Section
(0xE)
242 // CHECK-X86_64
: Section
: __text
(0x1)
243 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
244 // CHECK-X86_64
: Flags
[ (0x0)
246 // CHECK-X86_64
: Value
: 0x0
248 // CHECK-X86_64
: Symbol
{
249 // CHECK-X86_64
: Name
: sym_globl_def_A
(123)
250 // CHECK-X86_64
: Extern
251 // CHECK-X86_64
: Type
: Section
(0xE)
252 // CHECK-X86_64
: Section
: __text
(0x1)
253 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
254 // CHECK-X86_64
: Flags
[ (0x0)
256 // CHECK-X86_64
: Value
: 0x0
258 // CHECK-X86_64
: Symbol
{
259 // CHECK-X86_64
: Name
: sym_globl_def_B
(77)
260 // CHECK-X86_64
: Extern
261 // CHECK-X86_64
: Type
: Section
(0xE)
262 // CHECK-X86_64
: Section
: __text
(0x1)
263 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
264 // CHECK-X86_64
: Flags
[ (0x0)
266 // CHECK-X86_64
: Value
: 0x0
268 // CHECK-X86_64
: Symbol
{
269 // CHECK-X86_64
: Name
: sym_globl_def_C
(31)
270 // CHECK-X86_64
: Extern
271 // CHECK-X86_64
: Type
: Section
(0xE)
272 // CHECK-X86_64
: Section
: __text
(0x1)
273 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
274 // CHECK-X86_64
: Flags
[ (0x0)
276 // CHECK-X86_64
: Value
: 0x0
278 // CHECK-X86_64
: Symbol
{
279 // CHECK-X86_64
: Name
: sym_globl_undef_A
(105)
280 // CHECK-X86_64
: Extern
281 // CHECK-X86_64
: Type
: Undef
(0x0)
282 // CHECK-X86_64
: Section
: (0x0)
283 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
284 // CHECK-X86_64
: Flags
[ (0x0)
286 // CHECK-X86_64
: Value
: 0x0
288 // CHECK-X86_64
: Symbol
{
289 // CHECK-X86_64
: Name
: sym_globl_undef_B
(59)
290 // CHECK-X86_64
: Extern
291 // CHECK-X86_64
: Type
: Undef
(0x0)
292 // CHECK-X86_64
: Section
: (0x0)
293 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
294 // CHECK-X86_64
: Flags
[ (0x0)
296 // CHECK-X86_64
: Value
: 0x0
298 // CHECK-X86_64
: Symbol
{
299 // CHECK-X86_64
: Name
: sym_globl_undef_C
(13)
300 // CHECK-X86_64
: Extern
301 // CHECK-X86_64
: Type
: Undef
(0x0)
302 // CHECK-X86_64
: Section
: (0x0)
303 // CHECK-X86_64
: RefType
: UndefinedNonLazy
(0x0)
304 // CHECK-X86_64
: Flags
[ (0x0)
306 // CHECK-X86_64
: Value
: 0x0
309 // CHECK-X86_64
: Indirect Symbols
{
310 // CHECK-X86_64
: Number
: 0
311 // CHECK-X86_64
: Symbols
[
314 // CHECK-X86_64
: Segment
{
315 // CHECK-X86_64
: Cmd
: LC_SEGMENT_64
316 // CHECK-X86_64
: Name
:
317 // CHECK-X86_64
: Size
: 152
318 // CHECK-X86_64
: vmaddr
: 0x0
319 // CHECK-X86_64
: vmsize
: 0x4
320 // CHECK-X86_64
: fileoff
: 304
321 // CHECK-X86_64
: filesize
: 4
322 // CHECK-X86_64
: maxprot
: rwx
323 // CHECK-X86_64
: initprot
: rwx
324 // CHECK-X86_64
: nsects
: 1
325 // CHECK-X86_64
: flags
: 0x0
327 // CHECK-X86_64
: Dysymtab
{
328 // CHECK-X86_64
: ilocalsym
: 0
329 // CHECK-X86_64
: nlocalsym
: 3
330 // CHECK-X86_64
: iextdefsym
: 3
331 // CHECK-X86_64
: nextdefsym
: 3
332 // CHECK-X86_64
: iundefsym
: 6
333 // CHECK-X86_64
: nundefsym
: 3
334 // CHECK-X86_64
: tocoff
: 0
335 // CHECK-X86_64
: ntoc
: 0
336 // CHECK-X86_64
: modtaboff
: 0
337 // CHECK-X86_64
: nmodtab
: 0
338 // CHECK-X86_64
: extrefsymoff
: 0
339 // CHECK-X86_64
: nextrefsyms
: 0
340 // CHECK-X86_64
: indirectsymoff
: 0
341 // CHECK-X86_64
: nindirectsyms
: 0
342 // CHECK-X86_64
: extreloff
: 0
343 // CHECK-X86_64
: nextrel
: 0
344 // CHECK-X86_64
: locreloff
: 0
345 // CHECK-X86_64
: nlocrel
: 0