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
6 // RUN: llvm-objdump -p %p/Inputs/linkerOption.macho-x86_64 \
7 // RUN: | FileCheck %s -check-prefix=LD_OPT
8 // RUN: llvm-objdump -p %p/Inputs/dylibSubFramework.macho-x86_64 \
9 // RUN: | FileCheck %s -check-prefix=SUB_FRAME
10 // RUN: llvm-objdump -p %p/Inputs/dylibSubUmbrella.macho-x86_64 \
11 // RUN: | FileCheck %s -check-prefix=SUB_UMB
12 // RUN: llvm-objdump -p %p/Inputs/dylibSubLibrary.macho-x86_64 \
13 // RUN: | FileCheck %s -check-prefix=SUB_LIB
16 CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
17 CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS
19 CHECK: cmd LC_SEGMENT_64
22 CHECK: vmaddr 0x0000000000000000
23 CHECK: vmsize 0x00000000000000a8
31 CHECK: sectname __text
33 CHECK: addr 0x0000000000000000
34 CHECK: size 0x000000000000003b
40 CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
44 CHECK: sectname __cstring
46 CHECK: addr 0x000000000000003b
47 CHECK: size 0x000000000000000d
52 CHECK: type S_CSTRING_LITERALS
53 CHECK: attributes (none)
57 CHECK: sectname __compact_unwind
59 CHECK: addr 0x0000000000000048
60 CHECK: size 0x0000000000000020
66 CHECK: attributes DEBUG
70 CHECK: sectname __eh_frame
72 CHECK: addr 0x0000000000000068
73 CHECK: size 0x0000000000000040
78 CHECK: type S_COALESCED
79 CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT
90 CHECK: cmd LC_DYSYMTAB
102 CHECK: extrefsymoff 0
104 CHECK: indirectsymoff 0
105 CHECK: nindirectsyms 0
112 EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
113 EXE: MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 16 1296 NOUNDEFS DYLDLINK TWOLEVEL PIE
115 EXE: cmd LC_SEGMENT_64
117 EXE: segname __PAGEZERO
118 EXE: vmaddr 0x0000000000000000
119 EXE: vmsize 0x0000000100000000
127 EXE: cmd LC_SEGMENT_64
130 EXE: vmaddr 0x0000000100000000
131 EXE: vmsize 0x0000000000001000
141 EXE: addr 0x0000000100000f30
142 EXE: size 0x000000000000003b
148 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
152 EXE: sectname __stubs
154 EXE: addr 0x0000000100000f6c
155 EXE: size 0x0000000000000006
160 EXE: type S_SYMBOL_STUBS
161 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
162 EXE: reserved1 0 (index into indirect symbol table)
163 EXE: reserved2 6 (size of stubs)
165 EXE: sectname __stub_helper
167 EXE: addr 0x0000000100000f74
168 EXE: size 0x000000000000001a
174 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
178 EXE: sectname __cstring
180 EXE: addr 0x0000000100000f8e
181 EXE: size 0x000000000000000d
186 EXE: type S_CSTRING_LITERALS
187 EXE: attributes (none)
191 EXE: sectname __unwind_info
193 EXE: addr 0x0000000100000f9b
194 EXE: size 0x0000000000000048
200 EXE: attributes (none)
204 EXE: sectname __eh_frame
206 EXE: addr 0x0000000100000fe8
207 EXE: size 0x0000000000000018
213 EXE: attributes (none)
217 EXE: cmd LC_SEGMENT_64
220 EXE: vmaddr 0x0000000100001000
221 EXE: vmsize 0x0000000000001000
229 EXE: sectname __nl_symbol_ptr
231 EXE: addr 0x0000000100001000
232 EXE: size 0x0000000000000010
237 EXE: type S_NON_LAZY_SYMBOL_POINTERS
238 EXE: attributes (none)
239 EXE: reserved1 1 (index into indirect symbol table)
242 EXE: sectname __la_symbol_ptr
244 EXE: addr 0x0000000100001010
245 EXE: size 0x0000000000000008
250 EXE: type S_LAZY_SYMBOL_POINTERS
251 EXE: attributes (none)
252 EXE: reserved1 3 (index into indirect symbol table)
255 EXE: cmd LC_SEGMENT_64
257 EXE: segname __LINKEDIT
258 EXE: vmaddr 0x0000000100002000
259 EXE: vmsize 0x0000000000001000
267 EXE: cmd LC_DYLD_INFO_ONLY
274 EXE: weak_bind_size 0
275 EXE: lazy_bind_off 8224
276 EXE: lazy_bind_size 16
301 EXE: indirectsymoff 8424
308 EXE: cmd LC_LOAD_DYLINKER
310 EXE: name /usr/lib/dyld (offset 12)
314 EXE: uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762
316 EXE: cmd LC_VERSION_MIN_MACOSX
321 EXE: cmd LC_SOURCE_VERSION
330 EXE: cmd LC_LOAD_DYLIB
332 EXE: name /usr/lib/libSystem.B.dylib (offset 24)
333 EXE: current version 1197.1.1
334 EXE: compatibility version 1.0.0
336 EXE: cmd LC_FUNCTION_STARTS
341 EXE: cmd LC_DATA_IN_CODE
346 EXE: cmd LC_DYLIB_CODE_SIGN_DRS
352 LOAD: Load command 10
353 LOAD: cmd LC_LOAD_DYLIB
355 LOAD: name /usr/lib/foo1.dylib (offset 24)
356 LOAD: current version 0.0.0
357 LOAD: compatibility version 0.0.0
358 LOAD: Load command 11
359 LOAD: cmd LC_LOAD_WEAK_DYLIB
361 LOAD: name /usr/lib/foo2.dylib (offset 24)
362 LOAD: current version 0.0.0
363 LOAD: compatibility version 0.0.0
364 LOAD: Load command 12
365 LOAD: cmd LC_REEXPORT_DYLIB
367 LOAD: name /usr/lib/foo3.dylib (offset 24)
368 LOAD: current version 0.0.0
369 LOAD: compatibility version 0.0.0
370 LOAD: Load command 13
371 LOAD: cmd LC_LAZY_LOAD_DYLIB
373 LOAD: name /usr/lib/foo4.dylib (offset 24)
374 LOAD: current version 0.0.0
375 LOAD: compatibility version 0.0.0
377 LD_OPT: Load command 4
378 LD_OPT: cmd LC_LINKER_OPTION
381 LD_OPT: string #1 -lc++
382 LD_OPT: Load command 5
383 LD_OPT: cmd LC_LINKER_OPTION
386 LD_OPT: string #1 -framework
387 LD_OPT: string #2 Foundation
389 SUB_FRAME: Load command 10
390 SUB_FRAME: cmd LC_SUB_FRAMEWORK
391 SUB_FRAME: cmdsize 16
392 SUB_FRAME: umbrella Bar (offset 12)
394 SUB_UMB: Load command 5
395 SUB_UMB: cmd LC_SUB_UMBRELLA
397 SUB_UMB: sub_umbrella Foo (offset 12)
399 SUB_LIB: Load command 5
400 SUB_LIB: cmd LC_SUB_LIBRARY
402 SUB_LIB: sub_library libfoo (offset 12)