558 lines · plain
1// RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s2// RUN: llvm-otool -lv %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s3// RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-x86_64 \4// RUN: | FileCheck %s -check-prefix=EXE5// RUN: llvm-objdump -p %p/Inputs/dylibLoadKinds.macho-x86_64 \6// RUN: | FileCheck %s -check-prefix=LOAD7// RUN: llvm-objdump -p %p/Inputs/linkerOption.macho-x86_64 \8// RUN: | FileCheck %s -check-prefix=LD_OPT9// RUN: llvm-objdump -p %p/Inputs/dylibSubFramework.macho-x86_64 \10// RUN: | FileCheck %s -check-prefix=SUB_FRAME11// RUN: llvm-objdump -p %p/Inputs/dylibSubUmbrella.macho-x86_64 \12// RUN: | FileCheck %s -check-prefix=SUB_UMB13// RUN: llvm-objdump -p %p/Inputs/dylibSubLibrary.macho-x86_64 \14// RUN: | FileCheck %s -check-prefix=SUB_LIB15// RUN: llvm-objdump -p %p/Inputs/dylibSubClient.macho-x86_64 \16// RUN: | FileCheck %s -check-prefix=SUB_CLI17// RUN: llvm-objdump -p %p/Inputs/dylibRoutines.macho-x86_64 \18// RUN: | FileCheck %s -check-prefix=ROUTINE19// RUN: llvm-objdump -p %p/Inputs/exeThread.macho-x86_64 \20// RUN: | FileCheck %s -check-prefix=THREAD21// RUN: llvm-objdump --macho -p --arch i386 %p/Inputs/macho-universal.x86_64.i386 \22// RUN: | FileCheck %s -check-prefix=FATi38623// RUN: llvm-objdump -p --arch i386 %p/Inputs/macho-universal.x86_64.i386 \24// RUN: | FileCheck %s -check-prefix=FATi38625// RUN: llvm-objdump -p --non-verbose %p/Inputs/hello.obj.macho-x86_64 \26// RUN: | FileCheck %s -check-prefix=NON_VERBOSE27// RUN: llvm-objdump -p %p/Inputs/codesig.macho-x86_64 \28// RUN: | FileCheck %s -check-prefix=CODESIG29// RUN: llvm-objdump -p %p/Inputs/note.macho-x86 \30// RUN: | FileCheck %s -check-prefix=NOTE31 32CHECK: Mach header33CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags34CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS35CHECK: Load command 036CHECK: cmd LC_SEGMENT_6437CHECK: cmdsize 39238CHECK: segname 39CHECK: vmaddr 0x000000000000000040CHECK: vmsize 0x00000000000000a841CHECK: fileoff 52842CHECK: filesize 16843CHECK: maxprot rwx44CHECK: initprot rwx45CHECK: nsects 446CHECK: flags (none)47CHECK: Section48CHECK: sectname __text49CHECK: segname __TEXT50CHECK: addr 0x000000000000000051CHECK: size 0x000000000000003b52CHECK: offset 52853CHECK: align 2^4 (16)54CHECK: reloff 69655CHECK: nreloc 256CHECK: type S_REGULAR57CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS58CHECK: reserved1 059CHECK: reserved2 060CHECK: Section61CHECK: sectname __cstring62CHECK: segname __TEXT63CHECK: addr 0x000000000000003b64CHECK: size 0x000000000000000d65CHECK: offset 58766CHECK: align 2^0 (1)67CHECK: reloff 068CHECK: nreloc 069CHECK: type S_CSTRING_LITERALS70CHECK: attributes (none)71CHECK: reserved1 072CHECK: reserved2 073CHECK: Section74CHECK: sectname __compact_unwind75CHECK: segname __LD76CHECK: addr 0x000000000000004877CHECK: size 0x000000000000002078CHECK: offset 60079CHECK: align 2^3 (8)80CHECK: reloff 71281CHECK: nreloc 182CHECK: type S_REGULAR83CHECK: attributes DEBUG84CHECK: reserved1 085CHECK: reserved2 086CHECK: Section87CHECK: sectname __eh_frame88CHECK: segname __TEXT89CHECK: addr 0x000000000000006890CHECK: size 0x000000000000004091CHECK: offset 63292CHECK: align 2^3 (8)93CHECK: reloff 094CHECK: nreloc 095CHECK: type S_COALESCED96CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT97CHECK: reserved1 098CHECK: reserved2 099CHECK: Load command 1100CHECK: cmd LC_SYMTAB101CHECK: cmdsize 24102CHECK: symoff 720103CHECK: nsyms 5104CHECK: stroff 800105CHECK: strsize 44106CHECK: Load command 2107CHECK: cmd LC_DYSYMTAB108CHECK: cmdsize 80109CHECK: ilocalsym 0110CHECK: nlocalsym 2111CHECK: iextdefsym 2112CHECK: nextdefsym 2113CHECK: iundefsym 4114CHECK: nundefsym 1115CHECK: tocoff 0116CHECK: ntoc 0117CHECK: modtaboff 0118CHECK: nmodtab 0119CHECK: extrefsymoff 0120CHECK: nextrefsyms 0121CHECK: indirectsymoff 0122CHECK: nindirectsyms 0123CHECK: extreloff 0124CHECK: nextrel 0125CHECK: locreloff 0126CHECK: nlocrel 0127 128EXE: Mach header129EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags130EXE: MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 16 1296 NOUNDEFS DYLDLINK TWOLEVEL PIE131EXE: Load command 0132EXE: cmd LC_SEGMENT_64133EXE: cmdsize 72134EXE: segname __PAGEZERO135EXE: vmaddr 0x0000000000000000136EXE: vmsize 0x0000000100000000137EXE: fileoff 0138EXE: filesize 0139EXE: maxprot ---140EXE: initprot ---141EXE: nsects 0142EXE: flags (none)143EXE: Load command 1144EXE: cmd LC_SEGMENT_64145EXE: cmdsize 552146EXE: segname __TEXT147EXE: vmaddr 0x0000000100000000148EXE: vmsize 0x0000000000001000149EXE: fileoff 0150EXE: filesize 4096151EXE: maxprot rwx152EXE: initprot r-x153EXE: nsects 6154EXE: flags (none)155EXE: Section156EXE: sectname __text157EXE: segname __TEXT158EXE: addr 0x0000000100000f30159EXE: size 0x000000000000003b160EXE: offset 3888161EXE: align 2^4 (16)162EXE: reloff 0163EXE: nreloc 0164EXE: type S_REGULAR165EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS166EXE: reserved1 0167EXE: reserved2 0168EXE: Section169EXE: sectname __stubs170EXE: segname __TEXT171EXE: addr 0x0000000100000f6c172EXE: size 0x0000000000000006173EXE: offset 3948174EXE: align 2^1 (2)175EXE: reloff 0176EXE: nreloc 0177EXE: type S_SYMBOL_STUBS178EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS179EXE: reserved1 0 (index into indirect symbol table)180EXE: reserved2 6 (size of stubs)181EXE: Section182EXE: sectname __stub_helper183EXE: segname __TEXT184EXE: addr 0x0000000100000f74185EXE: size 0x000000000000001a186EXE: offset 3956187EXE: align 2^2 (4)188EXE: reloff 0189EXE: nreloc 0190EXE: type S_REGULAR191EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS192EXE: reserved1 0193EXE: reserved2 0194EXE: Section195EXE: sectname __cstring196EXE: segname __TEXT197EXE: addr 0x0000000100000f8e198EXE: size 0x000000000000000d199EXE: offset 3982200EXE: align 2^0 (1)201EXE: reloff 0202EXE: nreloc 0203EXE: type S_CSTRING_LITERALS204EXE: attributes (none)205EXE: reserved1 0206EXE: reserved2 0207EXE: Section208EXE: sectname __unwind_info209EXE: segname __TEXT210EXE: addr 0x0000000100000f9b211EXE: size 0x0000000000000048212EXE: offset 3995213EXE: align 2^0 (1)214EXE: reloff 0215EXE: nreloc 0216EXE: type S_REGULAR217EXE: attributes (none)218EXE: reserved1 0219EXE: reserved2 0220EXE: Section221EXE: sectname __eh_frame222EXE: segname __TEXT223EXE: addr 0x0000000100000fe8224EXE: size 0x0000000000000018225EXE: offset 4072226EXE: align 2^3 (8)227EXE: reloff 0228EXE: nreloc 0229EXE: type S_REGULAR230EXE: attributes (none)231EXE: reserved1 0232EXE: reserved2 0233EXE: Load command 2234EXE: cmd LC_SEGMENT_64235EXE: cmdsize 232236EXE: segname __DATA237EXE: vmaddr 0x0000000100001000238EXE: vmsize 0x0000000000001000239EXE: fileoff 4096240EXE: filesize 4096241EXE: maxprot rwx242EXE: initprot rw-243EXE: nsects 2244EXE: flags (none)245EXE: Section246EXE: sectname __nl_symbol_ptr247EXE: segname __DATA248EXE: addr 0x0000000100001000249EXE: size 0x0000000000000010250EXE: offset 4096251EXE: align 2^3 (8)252EXE: reloff 0253EXE: nreloc 0254EXE: type S_NON_LAZY_SYMBOL_POINTERS255EXE: attributes (none)256EXE: reserved1 1 (index into indirect symbol table)257EXE: reserved2 0258EXE: Section259EXE: sectname __la_symbol_ptr260EXE: segname __DATA261EXE: addr 0x0000000100001010262EXE: size 0x0000000000000008263EXE: offset 4112264EXE: align 2^3 (8)265EXE: reloff 0266EXE: nreloc 0267EXE: type S_LAZY_SYMBOL_POINTERS268EXE: attributes (none)269EXE: reserved1 3 (index into indirect symbol table)270EXE: reserved2 0271EXE: Load command 3272EXE: cmd LC_SEGMENT_64273EXE: cmdsize 72274EXE: segname __LINKEDIT275EXE: vmaddr 0x0000000100002000276EXE: vmsize 0x0000000000001000277EXE: fileoff 8192278EXE: filesize 304279EXE: maxprot rwx280EXE: initprot r--281EXE: nsects 0282EXE: flags (none)283EXE: Load command 4284EXE: cmd LC_DYLD_INFO_ONLY285EXE: cmdsize 48286EXE: rebase_off 8192287EXE: rebase_size 8288EXE: bind_off 8200289EXE: bind_size 24290EXE: weak_bind_off 0291EXE: weak_bind_size 0292EXE: lazy_bind_off 8224293EXE: lazy_bind_size 16294EXE: export_off 8240295EXE: export_size 48296EXE: Load command 5297EXE: cmd LC_SYMTAB298EXE: cmdsize 24299EXE: symoff 8360300EXE: nsyms 4301EXE: stroff 8440302EXE: strsize 56303EXE: Load command 6304EXE: cmd LC_DYSYMTAB305EXE: cmdsize 80306EXE: ilocalsym 0307EXE: nlocalsym 0308EXE: iextdefsym 0309EXE: nextdefsym 2310EXE: iundefsym 2311EXE: nundefsym 2312EXE: tocoff 0313EXE: ntoc 0314EXE: modtaboff 0315EXE: nmodtab 0316EXE: extrefsymoff 0317EXE: nextrefsyms 0318EXE: indirectsymoff 8424319EXE: nindirectsyms 4320EXE: extreloff 0321EXE: nextrel 0322EXE: locreloff 0323EXE: nlocrel 0324EXE: Load command 7325EXE: cmd LC_LOAD_DYLINKER326EXE: cmdsize 32327EXE: name /usr/lib/dyld (offset 12)328EXE: Load command 8329EXE: cmd LC_UUID330EXE: cmdsize 24331EXE: uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762332EXE: Load command 9333EXE: cmd LC_VERSION_MIN_MACOSX334EXE: cmdsize 16335EXE: version 10.9336EXE: sdk 10.9337EXE: Load command 10338EXE: cmd LC_SOURCE_VERSION339EXE: cmdsize 16340EXE: version 0.0341EXE: Load command 11342EXE: cmd LC_MAIN343EXE: cmdsize 24344EXE: entryoff 3888345EXE: stacksize 0346EXE: Load command 12347EXE: cmd LC_LOAD_DYLIB348EXE: cmdsize 56349EXE: name /usr/lib/libSystem.B.dylib (offset 24)350EXE: current version 1197.1.1351EXE: compatibility version 1.0.0352EXE: Load command 13353EXE: cmd LC_FUNCTION_STARTS354EXE: cmdsize 16355EXE: dataoff 8288356EXE: datasize 8357EXE: Load command 14358EXE: cmd LC_DATA_IN_CODE359EXE: cmdsize 16360EXE: dataoff 8296361EXE: datasize 0362EXE: Load command 15363EXE: cmd LC_DYLIB_CODE_SIGN_DRS364EXE: cmdsize 16365EXE: dataoff 8296366EXE: datasize 64367 368 369LOAD: Load command 10370LOAD: cmd LC_LOAD_DYLIB371LOAD: cmdsize 48372LOAD: name /usr/lib/foo1.dylib (offset 24)373LOAD: current version 0.0.0374LOAD: compatibility version 0.0.0375LOAD: Load command 11376LOAD: cmd LC_LOAD_WEAK_DYLIB377LOAD: cmdsize 48378LOAD: name /usr/lib/foo2.dylib (offset 24)379LOAD: current version 0.0.0380LOAD: compatibility version 0.0.0381LOAD: Load command 12382LOAD: cmd LC_REEXPORT_DYLIB383LOAD: cmdsize 48384LOAD: name /usr/lib/foo3.dylib (offset 24)385LOAD: current version 0.0.0386LOAD: compatibility version 0.0.0387LOAD: Load command 13388LOAD: cmd LC_LAZY_LOAD_DYLIB389LOAD: cmdsize 48390LOAD: name /usr/lib/foo4.dylib (offset 24)391LOAD: current version 0.0.0392LOAD: compatibility version 0.0.0393 394LD_OPT: Load command 4395LD_OPT: cmd LC_LINKER_OPTION396LD_OPT: cmdsize 24397LD_OPT: count 1398LD_OPT: string #1 -lc++399LD_OPT: Load command 5400LD_OPT: cmd LC_LINKER_OPTION401LD_OPT: cmdsize 40402LD_OPT: count 2403LD_OPT: string #1 -framework404LD_OPT: string #2 Foundation405 406SUB_FRAME: Load command 10407SUB_FRAME: cmd LC_SUB_FRAMEWORK408SUB_FRAME: cmdsize 16409SUB_FRAME: umbrella Bar (offset 12)410 411SUB_UMB: Load command 5412SUB_UMB: cmd LC_SUB_UMBRELLA413SUB_UMB: cmdsize 16414SUB_UMB: sub_umbrella Foo (offset 12)415 416SUB_LIB: Load command 5417SUB_LIB: cmd LC_SUB_LIBRARY418SUB_LIB: cmdsize 20419SUB_LIB: sub_library libfoo (offset 12)420 421SUB_CLI: Load command 10422SUB_CLI: cmd LC_SUB_CLIENT423SUB_CLI: cmdsize 16424SUB_CLI: client bar (offset 12)425 426ROUTINE: Load command 6427ROUTINE: cmd LC_ROUTINES_64428ROUTINE: cmdsize 72429ROUTINE: init_address 0x0000000000000f80430ROUTINE: init_module 0431ROUTINE: reserved1 0432ROUTINE: reserved2 0433ROUTINE: reserved3 0434ROUTINE: reserved4 0435ROUTINE: reserved5 0436ROUTINE: reserved6 0437 438THREAD: Load command 10439THREAD: cmd LC_UNIXTHREAD440THREAD: cmdsize 184441THREAD: flavor x86_THREAD_STATE64442THREAD: count x86_THREAD_STATE64_COUNT443THREAD: rax 0x0000000000000000 rbx 0x0000000000000000 rcx 0x0000000000000000444THREAD: rdx 0x0000000000000000 rdi 0x0000000000000000 rsi 0x0000000000000000445THREAD: rbp 0x0000000000000000 rsp 0x0000000000000000 r8 0x0000000000000000446THREAD: r9 0x0000000000000000 r10 0x0000000000000000 r11 0x0000000000000000447THREAD: r12 0x0000000000000000 r13 0x0000000000000000 r14 0x0000000000000000448THREAD: r15 0x0000000000000000 rip 0x0000000100000d00449THREAD: rflags 0x0000000000000000 cs 0x0000000000000000 fs 0x0000000000000000450THREAD: gs 0x0000000000000000451 452FATi386: Mach header453FATi386: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags454FATi386: MH_MAGIC I386 ALL 0x00 EXECUTE 16 716 NOUNDEFS DYLDLINK TWOLEVEL PIE MH_NO_HEAP_EXECUTION455 456NON_VERBOSE: Mach header457NON_VERBOSE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags458NON_VERBOSE: 0xfeedfacf 16777223 3 0x00 1 3 496 0x00002000459NON_VERBOSE: Load command 0460NON_VERBOSE: cmd LC_SEGMENT_64461NON_VERBOSE: cmdsize 392462NON_VERBOSE: segname 463NON_VERBOSE: vmaddr 0x0000000000000000464NON_VERBOSE: vmsize 0x00000000000000a8465NON_VERBOSE: fileoff 528466NON_VERBOSE: filesize 168467NON_VERBOSE: maxprot 0x00000007468NON_VERBOSE: initprot 0x00000007469NON_VERBOSE: nsects 4470NON_VERBOSE: flags 0x0471NON_VERBOSE: Section472NON_VERBOSE: sectname __text473NON_VERBOSE: segname __TEXT474NON_VERBOSE: addr 0x0000000000000000475NON_VERBOSE: size 0x000000000000003b476NON_VERBOSE: offset 528477NON_VERBOSE: align 2^4 (16)478NON_VERBOSE: reloff 696479NON_VERBOSE: nreloc 2480NON_VERBOSE: flags 0x80000400481NON_VERBOSE: reserved1 0482NON_VERBOSE: reserved2 0483NON_VERBOSE: Section484NON_VERBOSE: sectname __cstring485NON_VERBOSE: segname __TEXT486NON_VERBOSE: addr 0x000000000000003b487NON_VERBOSE: size 0x000000000000000d488NON_VERBOSE: offset 587489NON_VERBOSE: align 2^0 (1)490NON_VERBOSE: reloff 0491NON_VERBOSE: nreloc 0492NON_VERBOSE: flags 0x00000002493NON_VERBOSE: reserved1 0494NON_VERBOSE: reserved2 0495NON_VERBOSE: Section496NON_VERBOSE: sectname __compact_unwind497NON_VERBOSE: segname __LD498NON_VERBOSE: addr 0x0000000000000048499NON_VERBOSE: size 0x0000000000000020500NON_VERBOSE: offset 600501NON_VERBOSE: align 2^3 (8)502NON_VERBOSE: reloff 712503NON_VERBOSE: nreloc 1504NON_VERBOSE: flags 0x02000000505NON_VERBOSE: reserved1 0506NON_VERBOSE: reserved2 0507NON_VERBOSE: Section508NON_VERBOSE: sectname __eh_frame509NON_VERBOSE: segname __TEXT510NON_VERBOSE: addr 0x0000000000000068511NON_VERBOSE: size 0x0000000000000040512NON_VERBOSE: offset 632513NON_VERBOSE: align 2^3 (8)514NON_VERBOSE: reloff 0515NON_VERBOSE: nreloc 0516NON_VERBOSE: flags 0x6800000b517NON_VERBOSE: reserved1 0518NON_VERBOSE: reserved2 0519NON_VERBOSE: Load command 1520NON_VERBOSE: cmd LC_SYMTAB521NON_VERBOSE: cmdsize 24522NON_VERBOSE: symoff 720523NON_VERBOSE: nsyms 5524NON_VERBOSE: stroff 800525NON_VERBOSE: strsize 44526NON_VERBOSE: Load command 2527NON_VERBOSE: cmd LC_DYSYMTAB528NON_VERBOSE: cmdsize 80529NON_VERBOSE: ilocalsym 0530NON_VERBOSE: nlocalsym 2531NON_VERBOSE: iextdefsym 2532NON_VERBOSE: nextdefsym 2533NON_VERBOSE: iundefsym 4534NON_VERBOSE: nundefsym 1535NON_VERBOSE: tocoff 0536NON_VERBOSE: ntoc 0537NON_VERBOSE: modtaboff 0538NON_VERBOSE: nmodtab 0539NON_VERBOSE: extrefsymoff 0540NON_VERBOSE: nextrefsyms 0541NON_VERBOSE: indirectsymoff 0542NON_VERBOSE: nindirectsyms 0543NON_VERBOSE: extreloff 0544NON_VERBOSE: nextrel 0545NON_VERBOSE: locreloff 0546NON_VERBOSE: nlocrel 0547 548CODESIG: cmd LC_CODE_SIGNATURE549CODESIG: cmdsize 16550CODESIG: dataoff 8496551CODESIG: datasize 64552 553NOTE: cmd LC_NOTE554NOTE: cmdsize 40555NOTE: data_owner DATA OWNER556NOTE: offset 68557NOTE: size 8558