| // 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 |