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
12 CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
13 CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS
15 CHECK: cmd LC_SEGMENT_64
18 CHECK: vmaddr 0x0000000000000000
19 CHECK: vmsize 0x00000000000000a8
27 CHECK: sectname __text
29 CHECK: addr 0x0000000000000000
30 CHECK: size 0x000000000000003b
36 CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
40 CHECK: sectname __cstring
42 CHECK: addr 0x000000000000003b
43 CHECK: size 0x000000000000000d
48 CHECK: type S_CSTRING_LITERALS
49 CHECK: attributes (none)
53 CHECK: sectname __compact_unwind
55 CHECK: addr 0x0000000000000048
56 CHECK: size 0x0000000000000020
62 CHECK: attributes DEBUG
66 CHECK: sectname __eh_frame
68 CHECK: addr 0x0000000000000068
69 CHECK: size 0x0000000000000040
74 CHECK: type S_COALESCED
75 CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT
86 CHECK: cmd LC_DYSYMTAB
100 CHECK: indirectsymoff 0
101 CHECK: nindirectsyms 0
108 EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
109 EXE: MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 16 1296 NOUNDEFS DYLDLINK TWOLEVEL PIE
111 EXE: cmd LC_SEGMENT_64
113 EXE: segname __PAGEZERO
114 EXE: vmaddr 0x0000000000000000
115 EXE: vmsize 0x0000000100000000
123 EXE: cmd LC_SEGMENT_64
126 EXE: vmaddr 0x0000000100000000
127 EXE: vmsize 0x0000000000001000
137 EXE: addr 0x0000000100000f30
138 EXE: size 0x000000000000003b
144 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
148 EXE: sectname __stubs
150 EXE: addr 0x0000000100000f6c
151 EXE: size 0x0000000000000006
156 EXE: type S_SYMBOL_STUBS
157 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
158 EXE: reserved1 0 (index into indirect symbol table)
159 EXE: reserved2 6 (size of stubs)
161 EXE: sectname __stub_helper
163 EXE: addr 0x0000000100000f74
164 EXE: size 0x000000000000001a
170 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
174 EXE: sectname __cstring
176 EXE: addr 0x0000000100000f8e
177 EXE: size 0x000000000000000d
182 EXE: type S_CSTRING_LITERALS
183 EXE: attributes (none)
187 EXE: sectname __unwind_info
189 EXE: addr 0x0000000100000f9b
190 EXE: size 0x0000000000000048
196 EXE: attributes (none)
200 EXE: sectname __eh_frame
202 EXE: addr 0x0000000100000fe8
203 EXE: size 0x0000000000000018
209 EXE: attributes (none)
213 EXE: cmd LC_SEGMENT_64
216 EXE: vmaddr 0x0000000100001000
217 EXE: vmsize 0x0000000000001000
225 EXE: sectname __nl_symbol_ptr
227 EXE: addr 0x0000000100001000
228 EXE: size 0x0000000000000010
233 EXE: type S_NON_LAZY_SYMBOL_POINTERS
234 EXE: attributes (none)
235 EXE: reserved1 1 (index into indirect symbol table)
238 EXE: sectname __la_symbol_ptr
240 EXE: addr 0x0000000100001010
241 EXE: size 0x0000000000000008
246 EXE: type S_LAZY_SYMBOL_POINTERS
247 EXE: attributes (none)
248 EXE: reserved1 3 (index into indirect symbol table)
251 EXE: cmd LC_SEGMENT_64
253 EXE: segname __LINKEDIT
254 EXE: vmaddr 0x0000000100002000
255 EXE: vmsize 0x0000000000001000
263 EXE: cmd LC_DYLD_INFO_ONLY
270 EXE: weak_bind_size 0
271 EXE: lazy_bind_off 8224
272 EXE: lazy_bind_size 16
297 EXE: indirectsymoff 8424
304 EXE: cmd LC_LOAD_DYLINKER
306 EXE: name /usr/lib/dyld (offset 12)
310 EXE: uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762
312 EXE: cmd LC_VERSION_MIN_MACOSX
317 EXE: cmd LC_SOURCE_VERSION
326 EXE: cmd LC_LOAD_DYLIB
328 EXE: name /usr/lib/libSystem.B.dylib (offset 24)
329 EXE: current version 1197.1.1
330 EXE: compatibility version 1.0.0
332 EXE: cmd LC_FUNCTION_STARTS
337 EXE: cmd LC_DATA_IN_CODE
342 EXE: cmd LC_DYLIB_CODE_SIGN_DRS
348 LOAD: Load command 10
349 LOAD: cmd LC_LOAD_DYLIB
351 LOAD: name /usr/lib/foo1.dylib (offset 24)
352 LOAD: current version 0.0.0
353 LOAD: compatibility version 0.0.0
354 LOAD: Load command 11
355 LOAD: cmd LC_LOAD_WEAK_DYLIB
357 LOAD: name /usr/lib/foo2.dylib (offset 24)
358 LOAD: current version 0.0.0
359 LOAD: compatibility version 0.0.0
360 LOAD: Load command 12
361 LOAD: cmd LC_REEXPORT_DYLIB
363 LOAD: name /usr/lib/foo3.dylib (offset 24)
364 LOAD: current version 0.0.0
365 LOAD: compatibility version 0.0.0
366 LOAD: Load command 13
367 LOAD: cmd LC_LAZY_LOAD_DYLIB
369 LOAD: name /usr/lib/foo4.dylib (offset 24)
370 LOAD: current version 0.0.0
371 LOAD: compatibility version 0.0.0
373 LD_OPT: Load command 4
374 LD_OPT: cmd LC_LINKER_OPTION
377 LD_OPT: string #1 -lc++
378 LD_OPT: Load command 5
379 LD_OPT: cmd LC_LINKER_OPTION
382 LD_OPT: string #1 -framework
383 LD_OPT: string #2 Foundation
385 SUB_FRAME: Load command 10
386 SUB_FRAME: cmd LC_SUB_FRAMEWORK
387 SUB_FRAME: cmdsize 16
388 SUB_FRAME: umbrella Bar (offset 12)