diff options
Diffstat (limited to 'llvm/test/tools/llvm-objdump/MachO/private-headers.test')
-rw-r--r-- | llvm/test/tools/llvm-objdump/MachO/private-headers.test | 556 |
1 files changed, 556 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/MachO/private-headers.test b/llvm/test/tools/llvm-objdump/MachO/private-headers.test new file mode 100644 index 000000000000..b8642fcf6e05 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/MachO/private-headers.test @@ -0,0 +1,556 @@ +// RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s +// RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=EXE +// RUN: llvm-objdump -p %p/Inputs/dylibLoadKinds.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=LOAD +// RUN: llvm-objdump -p %p/Inputs/linkerOption.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=LD_OPT +// RUN: llvm-objdump -p %p/Inputs/dylibSubFramework.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=SUB_FRAME +// RUN: llvm-objdump -p %p/Inputs/dylibSubUmbrella.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=SUB_UMB +// RUN: llvm-objdump -p %p/Inputs/dylibSubLibrary.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=SUB_LIB +// RUN: llvm-objdump -p %p/Inputs/dylibSubClient.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=SUB_CLI +// RUN: llvm-objdump -p %p/Inputs/dylibRoutines.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=ROUTINE +// RUN: llvm-objdump -p %p/Inputs/exeThread.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=THREAD +// RUN: llvm-objdump -macho -p -arch i386 %p/Inputs/macho-universal.x86_64.i386 \ +// RUN: | FileCheck %s -check-prefix=FATi386 +// RUN: llvm-objdump -p -arch i386 %p/Inputs/macho-universal.x86_64.i386 \ +// RUN: | FileCheck %s -check-prefix=FATi386 +// RUN: llvm-objdump -p -non-verbose %p/Inputs/hello.obj.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=NON_VERBOSE +// RUN: llvm-objdump -p %p/Inputs/codesig.macho-x86_64 \ +// RUN: | FileCheck %s -check-prefix=CODESIG +// RUN: llvm-objdump -p %p/Inputs/note.macho-x86 \ +// RUN: | FileCheck %s -check-prefix=NOTE + +CHECK: Mach header +CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags +CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS +CHECK: Load command 0 +CHECK: cmd LC_SEGMENT_64 +CHECK: cmdsize 392 +CHECK: segname +CHECK: vmaddr 0x0000000000000000 +CHECK: vmsize 0x00000000000000a8 +CHECK: fileoff 528 +CHECK: filesize 168 +CHECK: maxprot rwx +CHECK: initprot rwx +CHECK: nsects 4 +CHECK: flags (none) +CHECK: Section +CHECK: sectname __text +CHECK: segname __TEXT +CHECK: addr 0x0000000000000000 +CHECK: size 0x000000000000003b +CHECK: offset 528 +CHECK: align 2^4 (16) +CHECK: reloff 696 +CHECK: nreloc 2 +CHECK: type S_REGULAR +CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS +CHECK: reserved1 0 +CHECK: reserved2 0 +CHECK: Section +CHECK: sectname __cstring +CHECK: segname __TEXT +CHECK: addr 0x000000000000003b +CHECK: size 0x000000000000000d +CHECK: offset 587 +CHECK: align 2^0 (1) +CHECK: reloff 0 +CHECK: nreloc 0 +CHECK: type S_CSTRING_LITERALS +CHECK: attributes (none) +CHECK: reserved1 0 +CHECK: reserved2 0 +CHECK: Section +CHECK: sectname __compact_unwind +CHECK: segname __LD +CHECK: addr 0x0000000000000048 +CHECK: size 0x0000000000000020 +CHECK: offset 600 +CHECK: align 2^3 (8) +CHECK: reloff 712 +CHECK: nreloc 1 +CHECK: type S_REGULAR +CHECK: attributes DEBUG +CHECK: reserved1 0 +CHECK: reserved2 0 +CHECK: Section +CHECK: sectname __eh_frame +CHECK: segname __TEXT +CHECK: addr 0x0000000000000068 +CHECK: size 0x0000000000000040 +CHECK: offset 632 +CHECK: align 2^3 (8) +CHECK: reloff 0 +CHECK: nreloc 0 +CHECK: type S_COALESCED +CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT +CHECK: reserved1 0 +CHECK: reserved2 0 +CHECK: Load command 1 +CHECK: cmd LC_SYMTAB +CHECK: cmdsize 24 +CHECK: symoff 720 +CHECK: nsyms 5 +CHECK: stroff 800 +CHECK: strsize 44 +CHECK: Load command 2 +CHECK: cmd LC_DYSYMTAB +CHECK: cmdsize 80 +CHECK: ilocalsym 0 +CHECK: nlocalsym 2 +CHECK: iextdefsym 2 +CHECK: nextdefsym 2 +CHECK: iundefsym 4 +CHECK: nundefsym 1 +CHECK: tocoff 0 +CHECK: ntoc 0 +CHECK: modtaboff 0 +CHECK: nmodtab 0 +CHECK: extrefsymoff 0 +CHECK: nextrefsyms 0 +CHECK: indirectsymoff 0 +CHECK: nindirectsyms 0 +CHECK: extreloff 0 +CHECK: nextrel 0 +CHECK: locreloff 0 +CHECK: nlocrel 0 + +EXE: Mach header +EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags +EXE: MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 16 1296 NOUNDEFS DYLDLINK TWOLEVEL PIE +EXE: Load command 0 +EXE: cmd LC_SEGMENT_64 +EXE: cmdsize 72 +EXE: segname __PAGEZERO +EXE: vmaddr 0x0000000000000000 +EXE: vmsize 0x0000000100000000 +EXE: fileoff 0 +EXE: filesize 0 +EXE: maxprot --- +EXE: initprot --- +EXE: nsects 0 +EXE: flags (none) +EXE: Load command 1 +EXE: cmd LC_SEGMENT_64 +EXE: cmdsize 552 +EXE: segname __TEXT +EXE: vmaddr 0x0000000100000000 +EXE: vmsize 0x0000000000001000 +EXE: fileoff 0 +EXE: filesize 4096 +EXE: maxprot rwx +EXE: initprot r-x +EXE: nsects 6 +EXE: flags (none) +EXE: Section +EXE: sectname __text +EXE: segname __TEXT +EXE: addr 0x0000000100000f30 +EXE: size 0x000000000000003b +EXE: offset 3888 +EXE: align 2^4 (16) +EXE: reloff 0 +EXE: nreloc 0 +EXE: type S_REGULAR +EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS +EXE: reserved1 0 +EXE: reserved2 0 +EXE: Section +EXE: sectname __stubs +EXE: segname __TEXT +EXE: addr 0x0000000100000f6c +EXE: size 0x0000000000000006 +EXE: offset 3948 +EXE: align 2^1 (2) +EXE: reloff 0 +EXE: nreloc 0 +EXE: type S_SYMBOL_STUBS +EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS +EXE: reserved1 0 (index into indirect symbol table) +EXE: reserved2 6 (size of stubs) +EXE: Section +EXE: sectname __stub_helper +EXE: segname __TEXT +EXE: addr 0x0000000100000f74 +EXE: size 0x000000000000001a +EXE: offset 3956 +EXE: align 2^2 (4) +EXE: reloff 0 +EXE: nreloc 0 +EXE: type S_REGULAR +EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS +EXE: reserved1 0 +EXE: reserved2 0 +EXE: Section +EXE: sectname __cstring +EXE: segname __TEXT +EXE: addr 0x0000000100000f8e +EXE: size 0x000000000000000d +EXE: offset 3982 +EXE: align 2^0 (1) +EXE: reloff 0 +EXE: nreloc 0 +EXE: type S_CSTRING_LITERALS +EXE: attributes (none) +EXE: reserved1 0 +EXE: reserved2 0 +EXE: Section +EXE: sectname __unwind_info +EXE: segname __TEXT +EXE: addr 0x0000000100000f9b +EXE: size 0x0000000000000048 +EXE: offset 3995 +EXE: align 2^0 (1) +EXE: reloff 0 +EXE: nreloc 0 +EXE: type S_REGULAR +EXE: attributes (none) +EXE: reserved1 0 +EXE: reserved2 0 +EXE: Section +EXE: sectname __eh_frame +EXE: segname __TEXT +EXE: addr 0x0000000100000fe8 +EXE: size 0x0000000000000018 +EXE: offset 4072 +EXE: align 2^3 (8) +EXE: reloff 0 +EXE: nreloc 0 +EXE: type S_REGULAR +EXE: attributes (none) +EXE: reserved1 0 +EXE: reserved2 0 +EXE: Load command 2 +EXE: cmd LC_SEGMENT_64 +EXE: cmdsize 232 +EXE: segname __DATA +EXE: vmaddr 0x0000000100001000 +EXE: vmsize 0x0000000000001000 +EXE: fileoff 4096 +EXE: filesize 4096 +EXE: maxprot rwx +EXE: initprot rw- +EXE: nsects 2 +EXE: flags (none) +EXE: Section +EXE: sectname __nl_symbol_ptr +EXE: segname __DATA +EXE: addr 0x0000000100001000 +EXE: size 0x0000000000000010 +EXE: offset 4096 +EXE: align 2^3 (8) +EXE: reloff 0 +EXE: nreloc 0 +EXE: type S_NON_LAZY_SYMBOL_POINTERS +EXE: attributes (none) +EXE: reserved1 1 (index into indirect symbol table) +EXE: reserved2 0 +EXE: Section +EXE: sectname __la_symbol_ptr +EXE: segname __DATA +EXE: addr 0x0000000100001010 +EXE: size 0x0000000000000008 +EXE: offset 4112 +EXE: align 2^3 (8) +EXE: reloff 0 +EXE: nreloc 0 +EXE: type S_LAZY_SYMBOL_POINTERS +EXE: attributes (none) +EXE: reserved1 3 (index into indirect symbol table) +EXE: reserved2 0 +EXE: Load command 3 +EXE: cmd LC_SEGMENT_64 +EXE: cmdsize 72 +EXE: segname __LINKEDIT +EXE: vmaddr 0x0000000100002000 +EXE: vmsize 0x0000000000001000 +EXE: fileoff 8192 +EXE: filesize 304 +EXE: maxprot rwx +EXE: initprot r-- +EXE: nsects 0 +EXE: flags (none) +EXE: Load command 4 +EXE: cmd LC_DYLD_INFO_ONLY +EXE: cmdsize 48 +EXE: rebase_off 8192 +EXE: rebase_size 8 +EXE: bind_off 8200 +EXE: bind_size 24 +EXE: weak_bind_off 0 +EXE: weak_bind_size 0 +EXE: lazy_bind_off 8224 +EXE: lazy_bind_size 16 +EXE: export_off 8240 +EXE: export_size 48 +EXE: Load command 5 +EXE: cmd LC_SYMTAB +EXE: cmdsize 24 +EXE: symoff 8360 +EXE: nsyms 4 +EXE: stroff 8440 +EXE: strsize 56 +EXE: Load command 6 +EXE: cmd LC_DYSYMTAB +EXE: cmdsize 80 +EXE: ilocalsym 0 +EXE: nlocalsym 0 +EXE: iextdefsym 0 +EXE: nextdefsym 2 +EXE: iundefsym 2 +EXE: nundefsym 2 +EXE: tocoff 0 +EXE: ntoc 0 +EXE: modtaboff 0 +EXE: nmodtab 0 +EXE: extrefsymoff 0 +EXE: nextrefsyms 0 +EXE: indirectsymoff 8424 +EXE: nindirectsyms 4 +EXE: extreloff 0 +EXE: nextrel 0 +EXE: locreloff 0 +EXE: nlocrel 0 +EXE: Load command 7 +EXE: cmd LC_LOAD_DYLINKER +EXE: cmdsize 32 +EXE: name /usr/lib/dyld (offset 12) +EXE: Load command 8 +EXE: cmd LC_UUID +EXE: cmdsize 24 +EXE: uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762 +EXE: Load command 9 +EXE: cmd LC_VERSION_MIN_MACOSX +EXE: cmdsize 16 +EXE: version 10.9 +EXE: sdk 10.9 +EXE: Load command 10 +EXE: cmd LC_SOURCE_VERSION +EXE: cmdsize 16 +EXE: version 0.0 +EXE: Load command 11 +EXE: cmd LC_MAIN +EXE: cmdsize 24 +EXE: entryoff 3888 +EXE: stacksize 0 +EXE: Load command 12 +EXE: cmd LC_LOAD_DYLIB +EXE: cmdsize 56 +EXE: name /usr/lib/libSystem.B.dylib (offset 24) +EXE: current version 1197.1.1 +EXE: compatibility version 1.0.0 +EXE: Load command 13 +EXE: cmd LC_FUNCTION_STARTS +EXE: cmdsize 16 +EXE: dataoff 8288 +EXE: datasize 8 +EXE: Load command 14 +EXE: cmd LC_DATA_IN_CODE +EXE: cmdsize 16 +EXE: dataoff 8296 +EXE: datasize 0 +EXE: Load command 15 +EXE: cmd LC_DYLIB_CODE_SIGN_DRS +EXE: cmdsize 16 +EXE: dataoff 8296 +EXE: datasize 64 + + +LOAD: Load command 10 +LOAD: cmd LC_LOAD_DYLIB +LOAD: cmdsize 48 +LOAD: name /usr/lib/foo1.dylib (offset 24) +LOAD: current version 0.0.0 +LOAD: compatibility version 0.0.0 +LOAD: Load command 11 +LOAD: cmd LC_LOAD_WEAK_DYLIB +LOAD: cmdsize 48 +LOAD: name /usr/lib/foo2.dylib (offset 24) +LOAD: current version 0.0.0 +LOAD: compatibility version 0.0.0 +LOAD: Load command 12 +LOAD: cmd LC_REEXPORT_DYLIB +LOAD: cmdsize 48 +LOAD: name /usr/lib/foo3.dylib (offset 24) +LOAD: current version 0.0.0 +LOAD: compatibility version 0.0.0 +LOAD: Load command 13 +LOAD: cmd LC_LAZY_LOAD_DYLIB +LOAD: cmdsize 48 +LOAD: name /usr/lib/foo4.dylib (offset 24) +LOAD: current version 0.0.0 +LOAD: compatibility version 0.0.0 + +LD_OPT: Load command 4 +LD_OPT: cmd LC_LINKER_OPTION +LD_OPT: cmdsize 24 +LD_OPT: count 1 +LD_OPT: string #1 -lc++ +LD_OPT: Load command 5 +LD_OPT: cmd LC_LINKER_OPTION +LD_OPT: cmdsize 40 +LD_OPT: count 2 +LD_OPT: string #1 -framework +LD_OPT: string #2 Foundation + +SUB_FRAME: Load command 10 +SUB_FRAME: cmd LC_SUB_FRAMEWORK +SUB_FRAME: cmdsize 16 +SUB_FRAME: umbrella Bar (offset 12) + +SUB_UMB: Load command 5 +SUB_UMB: cmd LC_SUB_UMBRELLA +SUB_UMB: cmdsize 16 +SUB_UMB: sub_umbrella Foo (offset 12) + +SUB_LIB: Load command 5 +SUB_LIB: cmd LC_SUB_LIBRARY +SUB_LIB: cmdsize 20 +SUB_LIB: sub_library libfoo (offset 12) + +SUB_CLI: Load command 10 +SUB_CLI: cmd LC_SUB_CLIENT +SUB_CLI: cmdsize 16 +SUB_CLI: client bar (offset 12) + +ROUTINE: Load command 6 +ROUTINE: cmd LC_ROUTINES_64 +ROUTINE: cmdsize 72 +ROUTINE: init_address 0x0000000000000f80 +ROUTINE: init_module 0 +ROUTINE: reserved1 0 +ROUTINE: reserved2 0 +ROUTINE: reserved3 0 +ROUTINE: reserved4 0 +ROUTINE: reserved5 0 +ROUTINE: reserved6 0 + +THREAD: Load command 10 +THREAD: cmd LC_UNIXTHREAD +THREAD: cmdsize 184 +THREAD: flavor x86_THREAD_STATE64 +THREAD: count x86_THREAD_STATE64_COUNT +THREAD: rax 0x0000000000000000 rbx 0x0000000000000000 rcx 0x0000000000000000 +THREAD: rdx 0x0000000000000000 rdi 0x0000000000000000 rsi 0x0000000000000000 +THREAD: rbp 0x0000000000000000 rsp 0x0000000000000000 r8 0x0000000000000000 +THREAD: r9 0x0000000000000000 r10 0x0000000000000000 r11 0x0000000000000000 +THREAD: r12 0x0000000000000000 r13 0x0000000000000000 r14 0x0000000000000000 +THREAD: r15 0x0000000000000000 rip 0x0000000100000d00 +THREAD: rflags 0x0000000000000000 cs 0x0000000000000000 fs 0x0000000000000000 +THREAD: gs 0x0000000000000000 + +FATi386: Mach header +FATi386: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags +FATi386: MH_MAGIC I386 ALL 0x00 EXECUTE 16 716 NOUNDEFS DYLDLINK TWOLEVEL PIE MH_NO_HEAP_EXECUTION + +NON_VERBOSE: Mach header +NON_VERBOSE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags +NON_VERBOSE: 0xfeedfacf 16777223 3 0x00 1 3 496 0x00002000 +NON_VERBOSE: Load command 0 +NON_VERBOSE: cmd LC_SEGMENT_64 +NON_VERBOSE: cmdsize 392 +NON_VERBOSE: segname +NON_VERBOSE: vmaddr 0x0000000000000000 +NON_VERBOSE: vmsize 0x00000000000000a8 +NON_VERBOSE: fileoff 528 +NON_VERBOSE: filesize 168 +NON_VERBOSE: maxprot 0x00000007 +NON_VERBOSE: initprot 0x00000007 +NON_VERBOSE: nsects 4 +NON_VERBOSE: flags 0x0 +NON_VERBOSE: Section +NON_VERBOSE: sectname __text +NON_VERBOSE: segname __TEXT +NON_VERBOSE: addr 0x0000000000000000 +NON_VERBOSE: size 0x000000000000003b +NON_VERBOSE: offset 528 +NON_VERBOSE: align 2^4 (16) +NON_VERBOSE: reloff 696 +NON_VERBOSE: nreloc 2 +NON_VERBOSE: flags 0x80000400 +NON_VERBOSE: reserved1 0 +NON_VERBOSE: reserved2 0 +NON_VERBOSE: Section +NON_VERBOSE: sectname __cstring +NON_VERBOSE: segname __TEXT +NON_VERBOSE: addr 0x000000000000003b +NON_VERBOSE: size 0x000000000000000d +NON_VERBOSE: offset 587 +NON_VERBOSE: align 2^0 (1) +NON_VERBOSE: reloff 0 +NON_VERBOSE: nreloc 0 +NON_VERBOSE: flags 0x00000002 +NON_VERBOSE: reserved1 0 +NON_VERBOSE: reserved2 0 +NON_VERBOSE: Section +NON_VERBOSE: sectname __compact_unwind +NON_VERBOSE: segname __LD +NON_VERBOSE: addr 0x0000000000000048 +NON_VERBOSE: size 0x0000000000000020 +NON_VERBOSE: offset 600 +NON_VERBOSE: align 2^3 (8) +NON_VERBOSE: reloff 712 +NON_VERBOSE: nreloc 1 +NON_VERBOSE: flags 0x02000000 +NON_VERBOSE: reserved1 0 +NON_VERBOSE: reserved2 0 +NON_VERBOSE: Section +NON_VERBOSE: sectname __eh_frame +NON_VERBOSE: segname __TEXT +NON_VERBOSE: addr 0x0000000000000068 +NON_VERBOSE: size 0x0000000000000040 +NON_VERBOSE: offset 632 +NON_VERBOSE: align 2^3 (8) +NON_VERBOSE: reloff 0 +NON_VERBOSE: nreloc 0 +NON_VERBOSE: flags 0x6800000b +NON_VERBOSE: reserved1 0 +NON_VERBOSE: reserved2 0 +NON_VERBOSE: Load command 1 +NON_VERBOSE: cmd LC_SYMTAB +NON_VERBOSE: cmdsize 24 +NON_VERBOSE: symoff 720 +NON_VERBOSE: nsyms 5 +NON_VERBOSE: stroff 800 +NON_VERBOSE: strsize 44 +NON_VERBOSE: Load command 2 +NON_VERBOSE: cmd LC_DYSYMTAB +NON_VERBOSE: cmdsize 80 +NON_VERBOSE: ilocalsym 0 +NON_VERBOSE: nlocalsym 2 +NON_VERBOSE: iextdefsym 2 +NON_VERBOSE: nextdefsym 2 +NON_VERBOSE: iundefsym 4 +NON_VERBOSE: nundefsym 1 +NON_VERBOSE: tocoff 0 +NON_VERBOSE: ntoc 0 +NON_VERBOSE: modtaboff 0 +NON_VERBOSE: nmodtab 0 +NON_VERBOSE: extrefsymoff 0 +NON_VERBOSE: nextrefsyms 0 +NON_VERBOSE: indirectsymoff 0 +NON_VERBOSE: nindirectsyms 0 +NON_VERBOSE: extreloff 0 +NON_VERBOSE: nextrel 0 +NON_VERBOSE: locreloff 0 +NON_VERBOSE: nlocrel 0 + +CODESIG: cmd LC_CODE_SIGNATURE +CODESIG: cmdsize 16 +CODESIG: dataoff 8496 +CODESIG: datasize 64 + +NOTE: cmd LC_NOTE +NOTE: cmdsize 40 +NOTE: data_owner DATA OWNER +NOTE: offset 68 +NOTE: size 8 |