blob: 685b4f70e502ed3aa6f34a537825acf6d7524dbf [file] [log] [blame]
Kevin Enderbyb76d3862014-08-22 20:35:18 +00001// RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
Kevin Enderby8ae63c12014-09-04 16:54:47 +00002// RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-x86_64 \
3// RUN: | FileCheck %s -check-prefix=EXE
Nick Kledzik600f2452014-10-18 01:50:55 +00004// RUN: llvm-objdump -p %p/Inputs/dylibLoadKinds.macho-x86_64 \
5// RUN: | FileCheck %s -check-prefix=LOAD
Kevin Enderbyb76d3862014-08-22 20:35:18 +00006
7CHECK: Mach header
8CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
9CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS
Kevin Enderby956366c2014-08-29 22:30:52 +000010CHECK: Load command 0
11CHECK: cmd LC_SEGMENT_64
12CHECK: cmdsize 392
13CHECK: segname
14CHECK: vmaddr 0x0000000000000000
15CHECK: vmsize 0x00000000000000a8
16CHECK: fileoff 528
17CHECK: filesize 168
18CHECK: maxprot rwx
19CHECK: initprot rwx
20CHECK: nsects 4
21CHECK: flags (none)
22CHECK: Section
23CHECK: sectname __text
24CHECK: segname __TEXT
25CHECK: addr 0x0000000000000000
26CHECK: size 0x000000000000003b
27CHECK: offset 528
28CHECK: align 2^4 (16)
29CHECK: reloff 696
30CHECK: nreloc 2
31CHECK: type S_REGULAR
32CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
33CHECK: reserved1 0
34CHECK: reserved2 0
35CHECK: Section
36CHECK: sectname __cstring
37CHECK: segname __TEXT
38CHECK: addr 0x000000000000003b
39CHECK: size 0x000000000000000d
40CHECK: offset 587
41CHECK: align 2^0 (1)
42CHECK: reloff 0
43CHECK: nreloc 0
44CHECK: type S_CSTRING_LITERALS
45CHECK: attributes (none)
46CHECK: reserved1 0
47CHECK: reserved2 0
48CHECK: Section
49CHECK: sectname __compact_unwind
50CHECK: segname __LD
51CHECK: addr 0x0000000000000048
52CHECK: size 0x0000000000000020
53CHECK: offset 600
54CHECK: align 2^3 (8)
55CHECK: reloff 712
56CHECK: nreloc 1
57CHECK: type S_REGULAR
58CHECK: attributes DEBUG
59CHECK: reserved1 0
60CHECK: reserved2 0
61CHECK: Section
62CHECK: sectname __eh_frame
63CHECK: segname __TEXT
64CHECK: addr 0x0000000000000068
65CHECK: size 0x0000000000000040
66CHECK: offset 632
67CHECK: align 2^3 (8)
68CHECK: reloff 0
69CHECK: nreloc 0
70CHECK: type S_COALESCED
71CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT
72CHECK: reserved1 0
73CHECK: reserved2 0
74CHECK: Load command 1
75CHECK: cmd LC_SYMTAB
76CHECK: cmdsize 24
77CHECK: symoff 720
78CHECK: nsyms 5
79CHECK: stroff 800
80CHECK: strsize 44
81CHECK: Load command 2
82CHECK: cmd LC_DYSYMTAB
83CHECK: cmdsize 80
84CHECK: ilocalsym 0
85CHECK: nlocalsym 2
86CHECK: iextdefsym 2
87CHECK: nextdefsym 2
88CHECK: iundefsym 4
89CHECK: nundefsym 1
90CHECK: tocoff 0
91CHECK: ntoc 0
92CHECK: modtaboff 0
93CHECK: nmodtab 0
94CHECK: extrefsymoff 0
95CHECK: nextrefsyms 0
96CHECK: indirectsymoff 0
97CHECK: nindirectsyms 0
98CHECK: extreloff 0
99CHECK: nextrel 0
100CHECK: locreloff 0
101CHECK: nlocrel 0
Kevin Enderby8ae63c12014-09-04 16:54:47 +0000102
103EXE: Mach header
104EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
105EXE: MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 16 1296 NOUNDEFS DYLDLINK TWOLEVEL PIE
106EXE: Load command 0
107EXE: cmd LC_SEGMENT_64
108EXE: cmdsize 72
109EXE: segname __PAGEZERO
110EXE: vmaddr 0x0000000000000000
111EXE: vmsize 0x0000000100000000
112EXE: fileoff 0
113EXE: filesize 0
114EXE: maxprot ---
115EXE: initprot ---
116EXE: nsects 0
117EXE: flags (none)
118EXE: Load command 1
119EXE: cmd LC_SEGMENT_64
120EXE: cmdsize 552
121EXE: segname __TEXT
122EXE: vmaddr 0x0000000100000000
123EXE: vmsize 0x0000000000001000
124EXE: fileoff 0
125EXE: filesize 4096
126EXE: maxprot rwx
127EXE: initprot r-x
128EXE: nsects 6
129EXE: flags (none)
130EXE: Section
131EXE: sectname __text
132EXE: segname __TEXT
133EXE: addr 0x0000000100000f30
134EXE: size 0x000000000000003b
135EXE: offset 3888
136EXE: align 2^4 (16)
137EXE: reloff 0
138EXE: nreloc 0
139EXE: type S_REGULAR
140EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
141EXE: reserved1 0
142EXE: reserved2 0
143EXE: Section
144EXE: sectname __stubs
145EXE: segname __TEXT
146EXE: addr 0x0000000100000f6c
147EXE: size 0x0000000000000006
148EXE: offset 3948
149EXE: align 2^1 (2)
150EXE: reloff 0
151EXE: nreloc 0
152EXE: type S_SYMBOL_STUBS
153EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
154EXE: reserved1 0 (index into indirect symbol table)
155EXE: reserved2 6 (size of stubs)
156EXE: Section
157EXE: sectname __stub_helper
158EXE: segname __TEXT
159EXE: addr 0x0000000100000f74
160EXE: size 0x000000000000001a
161EXE: offset 3956
162EXE: align 2^2 (4)
163EXE: reloff 0
164EXE: nreloc 0
165EXE: type S_REGULAR
166EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
167EXE: reserved1 0
168EXE: reserved2 0
169EXE: Section
170EXE: sectname __cstring
171EXE: segname __TEXT
172EXE: addr 0x0000000100000f8e
173EXE: size 0x000000000000000d
174EXE: offset 3982
175EXE: align 2^0 (1)
176EXE: reloff 0
177EXE: nreloc 0
178EXE: type S_CSTRING_LITERALS
179EXE: attributes (none)
180EXE: reserved1 0
181EXE: reserved2 0
182EXE: Section
183EXE: sectname __unwind_info
184EXE: segname __TEXT
185EXE: addr 0x0000000100000f9b
186EXE: size 0x0000000000000048
187EXE: offset 3995
188EXE: align 2^0 (1)
189EXE: reloff 0
190EXE: nreloc 0
191EXE: type S_REGULAR
192EXE: attributes (none)
193EXE: reserved1 0
194EXE: reserved2 0
195EXE: Section
196EXE: sectname __eh_frame
197EXE: segname __TEXT
198EXE: addr 0x0000000100000fe8
199EXE: size 0x0000000000000018
200EXE: offset 4072
201EXE: align 2^3 (8)
202EXE: reloff 0
203EXE: nreloc 0
204EXE: type S_REGULAR
205EXE: attributes (none)
206EXE: reserved1 0
207EXE: reserved2 0
208EXE: Load command 2
209EXE: cmd LC_SEGMENT_64
210EXE: cmdsize 232
211EXE: segname __DATA
212EXE: vmaddr 0x0000000100001000
213EXE: vmsize 0x0000000000001000
214EXE: fileoff 4096
215EXE: filesize 4096
216EXE: maxprot rwx
217EXE: initprot rw-
218EXE: nsects 2
219EXE: flags (none)
220EXE: Section
221EXE: sectname __nl_symbol_ptr
222EXE: segname __DATA
223EXE: addr 0x0000000100001000
224EXE: size 0x0000000000000010
225EXE: offset 4096
226EXE: align 2^3 (8)
227EXE: reloff 0
228EXE: nreloc 0
229EXE: type S_NON_LAZY_SYMBOL_POINTERS
230EXE: attributes (none)
231EXE: reserved1 1 (index into indirect symbol table)
232EXE: reserved2 0
233EXE: Section
234EXE: sectname __la_symbol_ptr
235EXE: segname __DATA
236EXE: addr 0x0000000100001010
237EXE: size 0x0000000000000008
238EXE: offset 4112
239EXE: align 2^3 (8)
240EXE: reloff 0
241EXE: nreloc 0
242EXE: type S_LAZY_SYMBOL_POINTERS
243EXE: attributes (none)
244EXE: reserved1 3 (index into indirect symbol table)
245EXE: reserved2 0
246EXE: Load command 3
247EXE: cmd LC_SEGMENT_64
248EXE: cmdsize 72
249EXE: segname __LINKEDIT
250EXE: vmaddr 0x0000000100002000
251EXE: vmsize 0x0000000000001000
252EXE: fileoff 8192
253EXE: filesize 304
254EXE: maxprot rwx
255EXE: initprot r--
256EXE: nsects 0
257EXE: flags (none)
258EXE: Load command 4
259EXE: cmd LC_DYLD_INFO_ONLY
260EXE: cmdsize 48
261EXE: rebase_off 8192
262EXE: rebase_size 8
263EXE: bind_off 8200
264EXE: bind_size 24
265EXE: weak_bind_off 0
266EXE: weak_bind_size 0
267EXE: lazy_bind_off 8224
268EXE: lazy_bind_size 16
269EXE: export_off 8240
270EXE: export_size 48
271EXE: Load command 5
272EXE: cmd LC_SYMTAB
273EXE: cmdsize 24
274EXE: symoff 8360
275EXE: nsyms 4
276EXE: stroff 8440
277EXE: strsize 56
278EXE: Load command 6
279EXE: cmd LC_DYSYMTAB
280EXE: cmdsize 80
281EXE: ilocalsym 0
282EXE: nlocalsym 0
283EXE: iextdefsym 0
284EXE: nextdefsym 2
285EXE: iundefsym 2
286EXE: nundefsym 2
287EXE: tocoff 0
288EXE: ntoc 0
289EXE: modtaboff 0
290EXE: nmodtab 0
291EXE: extrefsymoff 0
292EXE: nextrefsyms 0
293EXE: indirectsymoff 8424
294EXE: nindirectsyms 4
295EXE: extreloff 0
296EXE: nextrel 0
297EXE: locreloff 0
298EXE: nlocrel 0
299EXE: Load command 7
300EXE: cmd LC_LOAD_DYLINKER
301EXE: cmdsize 32
302EXE: name /usr/lib/dyld (offset 12)
303EXE: Load command 8
304EXE: cmd LC_UUID
305EXE: cmdsize 24
306EXE: uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762
307EXE: Load command 9
308EXE: cmd LC_VERSION_MIN_MACOSX
309EXE: cmdsize 16
310EXE: version 10.9
311EXE: sdk 10.9
312EXE: Load command 10
313EXE: cmd LC_SOURCE_VERSION
314EXE: cmdsize 16
315EXE: version 0.0
316EXE: Load command 11
317EXE: cmd LC_MAIN
318EXE: cmdsize 24
319EXE: entryoff 3888
320EXE: stacksize 0
321EXE: Load command 12
322EXE: cmd LC_LOAD_DYLIB
323EXE: cmdsize 56
324EXE: name /usr/lib/libSystem.B.dylib (offset 24)
Kevin Enderby8ae63c12014-09-04 16:54:47 +0000325EXE: current version 1197.1.1
326EXE: compatibility version 1.0.0
327EXE: Load command 13
328EXE: cmd LC_FUNCTION_STARTS
329EXE: cmdsize 16
330EXE: dataoff 8288
331EXE: datasize 8
332EXE: Load command 14
333EXE: cmd LC_DATA_IN_CODE
334EXE: cmdsize 16
335EXE: dataoff 8296
336EXE: datasize 0
337EXE: Load command 15
338EXE: cmd LC_DYLIB_CODE_SIGN_DRS
339EXE: cmdsize 16
340EXE: dataoff 8296
341EXE: datasize 64
Nick Kledzik600f2452014-10-18 01:50:55 +0000342
343
344LOAD: Load command 10
345LOAD: cmd LC_LOAD_DYLIB
346LOAD: cmdsize 48
347LOAD: name /usr/lib/foo1.dylib (offset 24)
Nick Kledzik600f2452014-10-18 01:50:55 +0000348LOAD: current version 0.0.0
349LOAD: compatibility version 0.0.0
350LOAD: Load command 11
351LOAD: cmd LC_LOAD_WEAK_DYLIB
352LOAD: cmdsize 48
353LOAD: name /usr/lib/foo2.dylib (offset 24)
Nick Kledzik600f2452014-10-18 01:50:55 +0000354LOAD: current version 0.0.0
355LOAD: compatibility version 0.0.0
356LOAD: Load command 12
357LOAD: cmd LC_REEXPORT_DYLIB
358LOAD: cmdsize 48
359LOAD: name /usr/lib/foo3.dylib (offset 24)
Nick Kledzik600f2452014-10-18 01:50:55 +0000360LOAD: current version 0.0.0
361LOAD: compatibility version 0.0.0
362LOAD: Load command 13
363LOAD: cmd LC_LAZY_LOAD_DYLIB
364LOAD: cmdsize 48
365LOAD: name /usr/lib/foo4.dylib (offset 24)
Nick Kledzik600f2452014-10-18 01:50:55 +0000366LOAD: current version 0.0.0
367LOAD: compatibility version 0.0.0
368