// RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-aarch64 | FileCheck %s
// RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-aarch64 \
// RUN: | FileCheck %s -check-prefix=EXE
CHECK: Mach header
CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
CHECK: MH_MAGIC_64 ARM64 ALL 0x00 OBJECT 4 352 SUBSECTIONS_VIA_SYMBOLS
CHECK: Load command 0
CHECK: cmd LC_SEGMENT_64
CHECK: cmdsize 232
CHECK: segname
CHECK: vmaddr 0x0000000000000000
CHECK: vmsize 0x000000000000004d
CHECK: fileoff 384
CHECK: filesize 77
CHECK: maxprot rwx
CHECK: initprot rwx
CHECK: nsects 2
CHECK: flags (none)
CHECK: Section
CHECK: sectname __text
CHECK: segname __TEXT
CHECK: addr 0x0000000000000000
CHECK: size 0x0000000000000040
CHECK: offset 384
CHECK: align 2^2 (4)
CHECK: reloff 464
CHECK: nreloc 3
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 0x0000000000000040
CHECK: size 0x000000000000000d
CHECK: offset 448
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_VERSION_MIN_IPHONEOS
CHECK: cmdsize 16
CHECK: version 9.0
CHECK: sdk n/a
CHECK: Load command 2
CHECK: cmd LC_SYMTAB
CHECK: cmdsize 24
CHECK: symoff 488
CHECK: nsyms 5
CHECK: stroff 568
CHECK: strsize 36
CHECK: Load command 3
CHECK: cmd LC_DYSYMTAB
CHECK: cmdsize 80
CHECK: ilocalsym 0
CHECK: nlocalsym 3
CHECK: iextdefsym 3
CHECK: nextdefsym 1
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 ARM64 ALL 0x00 EXECUTE 17 1240 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 472
EXE: segname __TEXT
EXE: vmaddr 0x0000000100000000
EXE: vmsize 0x0000000000008000
EXE: fileoff 0
EXE: filesize 32768
EXE: maxprot r-x
EXE: initprot r-x
EXE: nsects 5
EXE: flags (none)
EXE: Section
EXE: sectname __text
EXE: segname __TEXT
EXE: addr 0x0000000100007f38
EXE: size 0x0000000000000040
EXE: offset 32568
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 __stubs
EXE: segname __TEXT
EXE: addr 0x0000000100007f78
EXE: size 0x000000000000000c
EXE: offset 32632
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 12 (size of stubs)
EXE: Section
EXE: sectname __stub_helper
EXE: segname __TEXT
EXE: addr 0x0000000100007f84
EXE: size 0x0000000000000024
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 __cstring
EXE: segname __TEXT
EXE: addr 0x0000000100007fa8
EXE: size 0x000000000000000d
EXE: offset 32680
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 0x0000000100007fb8
EXE: size 0x0000000000000048
EXE: offset 32696
EXE: align 2^2 (4)
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 0x0000000100008000
EXE: vmsize 0x0000000000004000
EXE: fileoff 32768
EXE: filesize 16384
EXE: maxprot rw-
EXE: initprot rw-
EXE: nsects 2
EXE: flags (none)
EXE: Section
EXE: sectname __got
EXE: segname __DATA
EXE: addr 0x0000000100008000
EXE: size 0x0000000000000010
EXE: offset 32768
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 0x0000000100008010
EXE: size 0x0000000000000008
EXE: offset 32784
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 0x000000010000c000
EXE: vmsize 0x0000000000004000
EXE: fileoff 49152
EXE: filesize 264
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 8
EXE: bind_off 49160
EXE: bind_size 24
EXE: weak_bind_off 0
EXE: weak_bind_size 0
EXE: lazy_bind_off 49184
EXE: lazy_bind_size 16
EXE: export_off 49200
EXE: export_size 48
EXE: Load command 5
EXE: cmd LC_SYMTAB
EXE: cmdsize 24
EXE: symoff 49280
EXE: nsyms 4
EXE: stroff 49360
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 49344
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 D687F888-CD3F-3276-8C94-BA3CCA21D820
EXE: Load command 9
EXE: cmd LC_VERSION_MIN_IPHONEOS
EXE: cmdsize 16
EXE: version 9.0
EXE: sdk 9.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 32568
EXE: stacksize 0
EXE: Load command 12
EXE: cmd LC_ENCRYPTION_INFO_64
EXE: cmdsize 24
EXE: cryptoff 16384
EXE: cryptsize 16384
EXE: cryptid 0
EXE: pad 0
EXE: Load command 13
EXE: cmd LC_LOAD_DYLIB
EXE: cmdsize 56
EXE: name /usr/lib/libSystem.B.dylib (offset 24)
EXE: current version 1215.0.0
EXE: compatibility version 1.0.0
EXE: Load command 14
EXE: cmd LC_FUNCTION_STARTS
EXE: cmdsize 16
EXE: dataoff 49248
EXE: datasize 8
EXE: Load command 15
EXE: cmd LC_DATA_IN_CODE
EXE: cmdsize 16
EXE: dataoff 49256
EXE: datasize 0
EXE: Load command 16
EXE: cmd LC_DYLIB_CODE_SIGN_DRS
EXE: cmdsize 16
EXE: dataoff 49256
EXE: datasize 24