1 // RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
2 // RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-x86_64 \
3 // RUN: | FileCheck %s -check-prefix=EXE
4 // RUN: llvm-objdump -p %p/Inputs/dylibLoadKinds.macho-x86_64 \
5 // RUN: | FileCheck %s -check-prefix=LOAD
8 CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
9 CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS
11 CHECK: cmd LC_SEGMENT_64
14 CHECK: vmaddr 0x0000000000000000
15 CHECK: vmsize 0x00000000000000a8
23 CHECK: sectname __text
25 CHECK: addr 0x0000000000000000
26 CHECK: size 0x000000000000003b
32 CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
36 CHECK: sectname __cstring
38 CHECK: addr 0x000000000000003b
39 CHECK: size 0x000000000000000d
44 CHECK: type S_CSTRING_LITERALS
45 CHECK: attributes (none)
49 CHECK: sectname __compact_unwind
51 CHECK: addr 0x0000000000000048
52 CHECK: size 0x0000000000000020
58 CHECK: attributes DEBUG
62 CHECK: sectname __eh_frame
64 CHECK: addr 0x0000000000000068
65 CHECK: size 0x0000000000000040
70 CHECK: type S_COALESCED
71 CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT
82 CHECK: cmd LC_DYSYMTAB
96 CHECK: indirectsymoff 0
97 CHECK: nindirectsyms 0
104 EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
105 EXE: MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 16 1296 NOUNDEFS DYLDLINK TWOLEVEL PIE
107 EXE: cmd LC_SEGMENT_64
109 EXE: segname __PAGEZERO
110 EXE: vmaddr 0x0000000000000000
111 EXE: vmsize 0x0000000100000000
119 EXE: cmd LC_SEGMENT_64
122 EXE: vmaddr 0x0000000100000000
123 EXE: vmsize 0x0000000000001000
133 EXE: addr 0x0000000100000f30
134 EXE: size 0x000000000000003b
140 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
144 EXE: sectname __stubs
146 EXE: addr 0x0000000100000f6c
147 EXE: size 0x0000000000000006
152 EXE: type S_SYMBOL_STUBS
153 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
154 EXE: reserved1 0 (index into indirect symbol table)
155 EXE: reserved2 6 (size of stubs)
157 EXE: sectname __stub_helper
159 EXE: addr 0x0000000100000f74
160 EXE: size 0x000000000000001a
166 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
170 EXE: sectname __cstring
172 EXE: addr 0x0000000100000f8e
173 EXE: size 0x000000000000000d
178 EXE: type S_CSTRING_LITERALS
179 EXE: attributes (none)
183 EXE: sectname __unwind_info
185 EXE: addr 0x0000000100000f9b
186 EXE: size 0x0000000000000048
192 EXE: attributes (none)
196 EXE: sectname __eh_frame
198 EXE: addr 0x0000000100000fe8
199 EXE: size 0x0000000000000018
205 EXE: attributes (none)
209 EXE: cmd LC_SEGMENT_64
212 EXE: vmaddr 0x0000000100001000
213 EXE: vmsize 0x0000000000001000
221 EXE: sectname __nl_symbol_ptr
223 EXE: addr 0x0000000100001000
224 EXE: size 0x0000000000000010
229 EXE: type S_NON_LAZY_SYMBOL_POINTERS
230 EXE: attributes (none)
231 EXE: reserved1 1 (index into indirect symbol table)
234 EXE: sectname __la_symbol_ptr
236 EXE: addr 0x0000000100001010
237 EXE: size 0x0000000000000008
242 EXE: type S_LAZY_SYMBOL_POINTERS
243 EXE: attributes (none)
244 EXE: reserved1 3 (index into indirect symbol table)
247 EXE: cmd LC_SEGMENT_64
249 EXE: segname __LINKEDIT
250 EXE: vmaddr 0x0000000100002000
251 EXE: vmsize 0x0000000000001000
259 EXE: cmd LC_DYLD_INFO_ONLY
266 EXE: weak_bind_size 0
267 EXE: lazy_bind_off 8224
268 EXE: lazy_bind_size 16
293 EXE: indirectsymoff 8424
300 EXE: cmd LC_LOAD_DYLINKER
302 EXE: name /usr/lib/dyld (offset 12)
306 EXE: uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762
308 EXE: cmd LC_VERSION_MIN_MACOSX
313 EXE: cmd LC_SOURCE_VERSION
322 EXE: cmd LC_LOAD_DYLIB
324 EXE: name /usr/lib/libSystem.B.dylib (offset 24)
325 EXE: current version 1197.1.1
326 EXE: compatibility version 1.0.0
328 EXE: cmd LC_FUNCTION_STARTS
333 EXE: cmd LC_DATA_IN_CODE
338 EXE: cmd LC_DYLIB_CODE_SIGN_DRS
344 LOAD: Load command 10
345 LOAD: cmd LC_LOAD_DYLIB
347 LOAD: name /usr/lib/foo1.dylib (offset 24)
348 LOAD: time stamp 2 Wed Dec 31 16:00:02 1969
349 LOAD: current version 0.0.0
350 LOAD: compatibility version 0.0.0
351 LOAD: Load command 11
352 LOAD: cmd LC_LOAD_WEAK_DYLIB
354 LOAD: name /usr/lib/foo2.dylib (offset 24)
355 LOAD: time stamp 2 Wed Dec 31 16:00:02 1969
356 LOAD: current version 0.0.0
357 LOAD: compatibility version 0.0.0
358 LOAD: Load command 12
359 LOAD: cmd LC_REEXPORT_DYLIB
361 LOAD: name /usr/lib/foo3.dylib (offset 24)
362 LOAD: time stamp 2 Wed Dec 31 16:00:02 1969
363 LOAD: current version 0.0.0
364 LOAD: compatibility version 0.0.0
365 LOAD: Load command 13
366 LOAD: cmd LC_LAZY_LOAD_DYLIB
368 LOAD: name /usr/lib/foo4.dylib (offset 24)
369 LOAD: time stamp 2 Wed Dec 31 16:00:02 1969
370 LOAD: current version 0.0.0
371 LOAD: compatibility version 0.0.0