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
14 CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
15 CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS
17 CHECK: cmd LC_SEGMENT_64
20 CHECK: vmaddr 0x0000000000000000
21 CHECK: vmsize 0x00000000000000a8
29 CHECK: sectname __text
31 CHECK: addr 0x0000000000000000
32 CHECK: size 0x000000000000003b
38 CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
42 CHECK: sectname __cstring
44 CHECK: addr 0x000000000000003b
45 CHECK: size 0x000000000000000d
50 CHECK: type S_CSTRING_LITERALS
51 CHECK: attributes (none)
55 CHECK: sectname __compact_unwind
57 CHECK: addr 0x0000000000000048
58 CHECK: size 0x0000000000000020
64 CHECK: attributes DEBUG
68 CHECK: sectname __eh_frame
70 CHECK: addr 0x0000000000000068
71 CHECK: size 0x0000000000000040
76 CHECK: type S_COALESCED
77 CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT
88 CHECK: cmd LC_DYSYMTAB
100 CHECK: extrefsymoff 0
102 CHECK: indirectsymoff 0
103 CHECK: nindirectsyms 0
110 EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
111 EXE: MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 16 1296 NOUNDEFS DYLDLINK TWOLEVEL PIE
113 EXE: cmd LC_SEGMENT_64
115 EXE: segname __PAGEZERO
116 EXE: vmaddr 0x0000000000000000
117 EXE: vmsize 0x0000000100000000
125 EXE: cmd LC_SEGMENT_64
128 EXE: vmaddr 0x0000000100000000
129 EXE: vmsize 0x0000000000001000
139 EXE: addr 0x0000000100000f30
140 EXE: size 0x000000000000003b
146 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
150 EXE: sectname __stubs
152 EXE: addr 0x0000000100000f6c
153 EXE: size 0x0000000000000006
158 EXE: type S_SYMBOL_STUBS
159 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
160 EXE: reserved1 0 (index into indirect symbol table)
161 EXE: reserved2 6 (size of stubs)
163 EXE: sectname __stub_helper
165 EXE: addr 0x0000000100000f74
166 EXE: size 0x000000000000001a
172 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
176 EXE: sectname __cstring
178 EXE: addr 0x0000000100000f8e
179 EXE: size 0x000000000000000d
184 EXE: type S_CSTRING_LITERALS
185 EXE: attributes (none)
189 EXE: sectname __unwind_info
191 EXE: addr 0x0000000100000f9b
192 EXE: size 0x0000000000000048
198 EXE: attributes (none)
202 EXE: sectname __eh_frame
204 EXE: addr 0x0000000100000fe8
205 EXE: size 0x0000000000000018
211 EXE: attributes (none)
215 EXE: cmd LC_SEGMENT_64
218 EXE: vmaddr 0x0000000100001000
219 EXE: vmsize 0x0000000000001000
227 EXE: sectname __nl_symbol_ptr
229 EXE: addr 0x0000000100001000
230 EXE: size 0x0000000000000010
235 EXE: type S_NON_LAZY_SYMBOL_POINTERS
236 EXE: attributes (none)
237 EXE: reserved1 1 (index into indirect symbol table)
240 EXE: sectname __la_symbol_ptr
242 EXE: addr 0x0000000100001010
243 EXE: size 0x0000000000000008
248 EXE: type S_LAZY_SYMBOL_POINTERS
249 EXE: attributes (none)
250 EXE: reserved1 3 (index into indirect symbol table)
253 EXE: cmd LC_SEGMENT_64
255 EXE: segname __LINKEDIT
256 EXE: vmaddr 0x0000000100002000
257 EXE: vmsize 0x0000000000001000
265 EXE: cmd LC_DYLD_INFO_ONLY
272 EXE: weak_bind_size 0
273 EXE: lazy_bind_off 8224
274 EXE: lazy_bind_size 16
299 EXE: indirectsymoff 8424
306 EXE: cmd LC_LOAD_DYLINKER
308 EXE: name /usr/lib/dyld (offset 12)
312 EXE: uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762
314 EXE: cmd LC_VERSION_MIN_MACOSX
319 EXE: cmd LC_SOURCE_VERSION
328 EXE: cmd LC_LOAD_DYLIB
330 EXE: name /usr/lib/libSystem.B.dylib (offset 24)
331 EXE: current version 1197.1.1
332 EXE: compatibility version 1.0.0
334 EXE: cmd LC_FUNCTION_STARTS
339 EXE: cmd LC_DATA_IN_CODE
344 EXE: cmd LC_DYLIB_CODE_SIGN_DRS
350 LOAD: Load command 10
351 LOAD: cmd LC_LOAD_DYLIB
353 LOAD: name /usr/lib/foo1.dylib (offset 24)
354 LOAD: current version 0.0.0
355 LOAD: compatibility version 0.0.0
356 LOAD: Load command 11
357 LOAD: cmd LC_LOAD_WEAK_DYLIB
359 LOAD: name /usr/lib/foo2.dylib (offset 24)
360 LOAD: current version 0.0.0
361 LOAD: compatibility version 0.0.0
362 LOAD: Load command 12
363 LOAD: cmd LC_REEXPORT_DYLIB
365 LOAD: name /usr/lib/foo3.dylib (offset 24)
366 LOAD: current version 0.0.0
367 LOAD: compatibility version 0.0.0
368 LOAD: Load command 13
369 LOAD: cmd LC_LAZY_LOAD_DYLIB
371 LOAD: name /usr/lib/foo4.dylib (offset 24)
372 LOAD: current version 0.0.0
373 LOAD: compatibility version 0.0.0
375 LD_OPT: Load command 4
376 LD_OPT: cmd LC_LINKER_OPTION
379 LD_OPT: string #1 -lc++
380 LD_OPT: Load command 5
381 LD_OPT: cmd LC_LINKER_OPTION
384 LD_OPT: string #1 -framework
385 LD_OPT: string #2 Foundation
387 SUB_FRAME: Load command 10
388 SUB_FRAME: cmd LC_SUB_FRAMEWORK
389 SUB_FRAME: cmdsize 16
390 SUB_FRAME: umbrella Bar (offset 12)
392 SUB_UMB: Load command 5
393 SUB_UMB: cmd LC_SUB_UMBRELLA
395 SUB_UMB: sub_umbrella Foo (offset 12)