| // RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-arm | FileCheck %s | |
| // RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-arm \ | |
| // RUN: | FileCheck %s -check-prefix=EXE | |
| // RUN: llvm-objdump -macho -private-headers %p/Inputs/thumb.armv7m \ | |
| // RUN: | FileCheck %s -check-prefix=THREAD | |
| CHECK: Mach header | |
| CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags | |
| CHECK: MH_MAGIC ARM V7 0x00 OBJECT 3 568 SUBSECTIONS_VIA_SYMBOLS | |
| CHECK: Load command 0 | |
| CHECK: cmd LC_SEGMENT | |
| CHECK: cmdsize 464 | |
| CHECK: segname | |
| CHECK: vmaddr 0x00000000 | |
| CHECK: vmsize 0x00000043 | |
| CHECK: fileoff 596 | |
| CHECK: filesize 67 | |
| CHECK: maxprot rwx | |
| CHECK: initprot rwx | |
| CHECK: nsects 6 | |
| CHECK: flags (none) | |
| CHECK: Section | |
| CHECK: sectname __text | |
| CHECK: segname __TEXT | |
| CHECK: addr 0x00000000 | |
| CHECK: size 0x00000036 | |
| CHECK: offset 596 | |
| CHECK: align 2^2 (4) | |
| CHECK: reloff 664 | |
| CHECK: nreloc 5 | |
| CHECK: type S_REGULAR | |
| CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS | |
| CHECK: reserved1 0 | |
| CHECK: reserved2 0 | |
| CHECK: Section | |
| CHECK: sectname __textcoal_nt | |
| CHECK: segname __TEXT | |
| CHECK: addr 0x00000036 | |
| CHECK: size 0x00000000 | |
| CHECK: offset 650 | |
| CHECK: align 2^0 (1) | |
| CHECK: reloff 0 | |
| CHECK: nreloc 0 | |
| CHECK: type S_COALESCED | |
| CHECK: attributes PURE_INSTRUCTIONS | |
| CHECK: reserved1 0 | |
| CHECK: reserved2 0 | |
| CHECK: Section | |
| CHECK: sectname __const_coal | |
| CHECK: segname __TEXT | |
| CHECK: addr 0x00000036 | |
| CHECK: size 0x00000000 | |
| CHECK: offset 650 | |
| CHECK: align 2^0 (1) | |
| CHECK: reloff 0 | |
| CHECK: nreloc 0 | |
| CHECK: type S_COALESCED | |
| CHECK: attributes (none) | |
| CHECK: reserved1 0 | |
| CHECK: reserved2 0 | |
| CHECK: Section | |
| CHECK: sectname __picsymbolstub4 | |
| CHECK: segname __TEXT | |
| CHECK: addr 0x00000036 | |
| CHECK: size 0x00000000 | |
| CHECK: offset 650 | |
| CHECK: align 2^0 (1) | |
| CHECK: reloff 0 | |
| CHECK: nreloc 0 | |
| CHECK: type S_SYMBOL_STUBS | |
| CHECK: attributes (none) | |
| CHECK: reserved1 0 (index into indirect symbol table) | |
| CHECK: reserved2 16 (size of stubs) | |
| CHECK: Section | |
| CHECK: sectname __StaticInit | |
| CHECK: segname __TEXT | |
| CHECK: addr 0x00000036 | |
| CHECK: size 0x00000000 | |
| CHECK: offset 650 | |
| CHECK: align 2^0 (1) | |
| CHECK: reloff 0 | |
| CHECK: nreloc 0 | |
| CHECK: type S_REGULAR | |
| CHECK: attributes PURE_INSTRUCTIONS | |
| CHECK: reserved1 0 | |
| CHECK: reserved2 0 | |
| CHECK: Section | |
| CHECK: sectname __cstring | |
| CHECK: segname __TEXT | |
| CHECK: addr 0x00000036 | |
| CHECK: size 0x0000000d | |
| CHECK: offset 650 | |
| 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: Load command 1 | |
| CHECK: cmd LC_SYMTAB | |
| CHECK: cmdsize 24 | |
| CHECK: symoff 704 | |
| CHECK: nsyms 2 | |
| CHECK: stroff 728 | |
| CHECK: strsize 16 | |
| CHECK: Load command 2 | |
| CHECK: cmd LC_DYSYMTAB | |
| CHECK: cmdsize 80 | |
| CHECK: ilocalsym 0 | |
| CHECK: nlocalsym 0 | |
| CHECK: iextdefsym 0 | |
| CHECK: nextdefsym 1 | |
| CHECK: iundefsym 1 | |
| 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 ARM V7 0x00 EXECUTE 17 1012 NOUNDEFS DYLDLINK TWOLEVEL PIE | |
| EXE: Load command 0 | |
| EXE: cmd LC_SEGMENT | |
| EXE: cmdsize 56 | |
| EXE: segname __PAGEZERO | |
| EXE: vmaddr 0x00000000 | |
| EXE: vmsize 0x00004000 | |
| EXE: fileoff 0 | |
| EXE: filesize 0 | |
| EXE: maxprot --- | |
| EXE: initprot --- | |
| EXE: nsects 0 | |
| EXE: flags (none) | |
| EXE: Load command 1 | |
| EXE: cmd LC_SEGMENT | |
| EXE: cmdsize 328 | |
| EXE: segname __TEXT | |
| EXE: vmaddr 0x00004000 | |
| EXE: vmsize 0x00008000 | |
| EXE: fileoff 0 | |
| EXE: filesize 32768 | |
| EXE: maxprot r-x | |
| EXE: initprot r-x | |
| EXE: nsects 4 | |
| EXE: flags (none) | |
| EXE: Section | |
| EXE: sectname __text | |
| EXE: segname __TEXT | |
| EXE: addr 0x0000bf84 | |
| EXE: size 0x00000036 | |
| EXE: offset 32644 | |
| 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 __stub_helper | |
| EXE: segname __TEXT | |
| EXE: addr 0x0000bfbc | |
| EXE: size 0x00000030 | |
| EXE: offset 32700 | |
| 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 0x0000bfec | |
| EXE: size 0x0000000d | |
| EXE: offset 32748 | |
| 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 __symbolstub1 | |
| EXE: segname __TEXT | |
| EXE: addr 0x0000bffc | |
| EXE: size 0x00000004 | |
| EXE: offset 32764 | |
| EXE: align 2^2 (4) | |
| 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 4 (size of stubs) | |
| EXE: Load command 2 | |
| EXE: cmd LC_SEGMENT | |
| EXE: cmdsize 192 | |
| EXE: segname __DATA | |
| EXE: vmaddr 0x0000c000 | |
| EXE: vmsize 0x00004000 | |
| EXE: fileoff 32768 | |
| EXE: filesize 16384 | |
| EXE: maxprot rw- | |
| EXE: initprot rw- | |
| EXE: nsects 2 | |
| EXE: flags (none) | |
| EXE: Section | |
| EXE: sectname __lazy_symbol | |
| EXE: segname __DATA | |
| EXE: addr 0x0000c000 | |
| EXE: size 0x00000004 | |
| EXE: offset 32768 | |
| EXE: align 2^2 (4) | |
| EXE: reloff 0 | |
| EXE: nreloc 0 | |
| EXE: type S_LAZY_SYMBOL_POINTERS | |
| EXE: attributes (none) | |
| EXE: reserved1 1 (index into indirect symbol table) | |
| EXE: reserved2 0 | |
| EXE: Section | |
| EXE: sectname __nl_symbol_ptr | |
| EXE: segname __DATA | |
| EXE: addr 0x0000c004 | |
| EXE: size 0x00000008 | |
| EXE: offset 32772 | |
| EXE: align 2^2 (4) | |
| EXE: reloff 0 | |
| EXE: nreloc 0 | |
| EXE: type S_NON_LAZY_SYMBOL_POINTERS | |
| EXE: attributes (none) | |
| EXE: reserved1 2 (index into indirect symbol table) | |
| EXE: reserved2 0 | |
| EXE: Load command 3 | |
| EXE: cmd LC_SEGMENT | |
| EXE: cmdsize 56 | |
| EXE: segname __LINKEDIT | |
| EXE: vmaddr 0x00010000 | |
| EXE: vmsize 0x00004000 | |
| EXE: fileoff 49152 | |
| EXE: filesize 256 | |
| EXE: maxprot r-- | |
| 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 49152 | |
| EXE: rebase_size 4 | |
| EXE: bind_off 49156 | |
| EXE: bind_size 24 | |
| EXE: weak_bind_off 0 | |
| EXE: weak_bind_size 0 | |
| EXE: lazy_bind_off 49180 | |
| EXE: lazy_bind_size 16 | |
| EXE: export_off 49196 | |
| EXE: export_size 44 | |
| EXE: Load command 5 | |
| EXE: cmd LC_SYMTAB | |
| EXE: cmdsize 24 | |
| EXE: symoff 49264 | |
| EXE: nsyms 5 | |
| EXE: stroff 49340 | |
| EXE: strsize 68 | |
| EXE: Load command 6 | |
| EXE: cmd LC_DYSYMTAB | |
| EXE: cmdsize 80 | |
| EXE: ilocalsym 0 | |
| EXE: nlocalsym 1 | |
| EXE: iextdefsym 1 | |
| EXE: nextdefsym 2 | |
| EXE: iundefsym 3 | |
| EXE: nundefsym 2 | |
| EXE: tocoff 0 | |
| EXE: ntoc 0 | |
| EXE: modtaboff 0 | |
| EXE: nmodtab 0 | |
| EXE: extrefsymoff 0 | |
| EXE: nextrefsyms 0 | |
| EXE: indirectsymoff 49324 | |
| 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 28 | |
| EXE: name /usr/lib/dyld (offset 12) | |
| EXE: Load command 8 | |
| EXE: cmd LC_UUID | |
| EXE: cmdsize 24 | |
| EXE: uuid C2D9351C-1EF1-330B-A2AB-EED6CF7D2C5D | |
| EXE: Load command 9 | |
| EXE: cmd LC_VERSION_MIN_IPHONEOS | |
| EXE: cmdsize 16 | |
| EXE: version 8.0 | |
| EXE: sdk 8.0 | |
| 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 32645 | |
| EXE: stacksize 0 | |
| EXE: Load command 12 | |
| EXE: cmd LC_ENCRYPTION_INFO | |
| EXE: cmdsize 20 | |
| EXE: cryptoff 16384 | |
| EXE: cryptsize 16384 | |
| EXE: cryptid 0 | |
| EXE: Load command 13 | |
| EXE: cmd LC_LOAD_DYLIB | |
| EXE: cmdsize 52 | |
| EXE: name /usr/lib/libSystem.B.dylib (offset 24) | |
| EXE: current version 1213.0.0 | |
| EXE: compatibility version 1.0.0 | |
| EXE: Load command 14 | |
| EXE: cmd LC_FUNCTION_STARTS | |
| EXE: cmdsize 16 | |
| EXE: dataoff 49240 | |
| EXE: datasize 4 | |
| EXE: Load command 15 | |
| EXE: cmd LC_DATA_IN_CODE | |
| EXE: cmdsize 16 | |
| EXE: dataoff 49244 | |
| EXE: datasize 0 | |
| EXE: Load command 16 | |
| EXE: cmd LC_DYLIB_CODE_SIGN_DRS | |
| EXE: cmdsize 16 | |
| EXE: dataoff 49244 | |
| EXE: datasize 20 | |
| THREAD: Load command 6 | |
| THREAD: cmd LC_UNIXTHREAD | |
| THREAD: cmdsize 84 | |
| THREAD: flavor ARM_THREAD_STATE | |
| THREAD: count ARM_THREAD_STATE_COUNT | |
| THREAD: r0 0x00000000 r1 0x00000000 r2 0x00000000 r3 0x00000000 | |
| THREAD: r4 0x00000000 r5 0x00000000 r6 0x00000000 r7 0x00000000 | |
| THREAD: r8 0x00000000 r9 0x00000000 r10 0x00000000 r11 0x00000000 | |
| THREAD: r12 0x00000000 sp 0x00000000 lr 0x00000000 pc 0x00001fff | |
| THREAD: cpsr 0x00000000 |