1*0a6a1f1dSLionel Sambuc// RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-aarch64 | FileCheck %s 2*0a6a1f1dSLionel Sambuc// RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-aarch64 \ 3*0a6a1f1dSLionel Sambuc// RUN: | FileCheck %s -check-prefix=EXE 4*0a6a1f1dSLionel Sambuc 5*0a6a1f1dSLionel SambucCHECK: Mach header 6*0a6a1f1dSLionel SambucCHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags 7*0a6a1f1dSLionel SambucCHECK: MH_MAGIC_64 ARM64 ALL 0x00 OBJECT 4 352 SUBSECTIONS_VIA_SYMBOLS 8*0a6a1f1dSLionel SambucCHECK: Load command 0 9*0a6a1f1dSLionel SambucCHECK: cmd LC_SEGMENT_64 10*0a6a1f1dSLionel SambucCHECK: cmdsize 232 11*0a6a1f1dSLionel SambucCHECK: segname 12*0a6a1f1dSLionel SambucCHECK: vmaddr 0x0000000000000000 13*0a6a1f1dSLionel SambucCHECK: vmsize 0x000000000000004d 14*0a6a1f1dSLionel SambucCHECK: fileoff 384 15*0a6a1f1dSLionel SambucCHECK: filesize 77 16*0a6a1f1dSLionel SambucCHECK: maxprot rwx 17*0a6a1f1dSLionel SambucCHECK: initprot rwx 18*0a6a1f1dSLionel SambucCHECK: nsects 2 19*0a6a1f1dSLionel SambucCHECK: flags (none) 20*0a6a1f1dSLionel SambucCHECK: Section 21*0a6a1f1dSLionel SambucCHECK: sectname __text 22*0a6a1f1dSLionel SambucCHECK: segname __TEXT 23*0a6a1f1dSLionel SambucCHECK: addr 0x0000000000000000 24*0a6a1f1dSLionel SambucCHECK: size 0x0000000000000040 25*0a6a1f1dSLionel SambucCHECK: offset 384 26*0a6a1f1dSLionel SambucCHECK: align 2^2 (4) 27*0a6a1f1dSLionel SambucCHECK: reloff 464 28*0a6a1f1dSLionel SambucCHECK: nreloc 3 29*0a6a1f1dSLionel SambucCHECK: type S_REGULAR 30*0a6a1f1dSLionel SambucCHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS 31*0a6a1f1dSLionel SambucCHECK: reserved1 0 32*0a6a1f1dSLionel SambucCHECK: reserved2 0 33*0a6a1f1dSLionel SambucCHECK: Section 34*0a6a1f1dSLionel SambucCHECK: sectname __cstring 35*0a6a1f1dSLionel SambucCHECK: segname __TEXT 36*0a6a1f1dSLionel SambucCHECK: addr 0x0000000000000040 37*0a6a1f1dSLionel SambucCHECK: size 0x000000000000000d 38*0a6a1f1dSLionel SambucCHECK: offset 448 39*0a6a1f1dSLionel SambucCHECK: align 2^0 (1) 40*0a6a1f1dSLionel SambucCHECK: reloff 0 41*0a6a1f1dSLionel SambucCHECK: nreloc 0 42*0a6a1f1dSLionel SambucCHECK: type S_CSTRING_LITERALS 43*0a6a1f1dSLionel SambucCHECK: attributes (none) 44*0a6a1f1dSLionel SambucCHECK: reserved1 0 45*0a6a1f1dSLionel SambucCHECK: reserved2 0 46*0a6a1f1dSLionel SambucCHECK: Load command 1 47*0a6a1f1dSLionel SambucCHECK: cmd LC_VERSION_MIN_IPHONEOS 48*0a6a1f1dSLionel SambucCHECK: cmdsize 16 49*0a6a1f1dSLionel SambucCHECK: version 9.0 50*0a6a1f1dSLionel SambucCHECK: sdk n/a 51*0a6a1f1dSLionel SambucCHECK: Load command 2 52*0a6a1f1dSLionel SambucCHECK: cmd LC_SYMTAB 53*0a6a1f1dSLionel SambucCHECK: cmdsize 24 54*0a6a1f1dSLionel SambucCHECK: symoff 488 55*0a6a1f1dSLionel SambucCHECK: nsyms 5 56*0a6a1f1dSLionel SambucCHECK: stroff 568 57*0a6a1f1dSLionel SambucCHECK: strsize 36 58*0a6a1f1dSLionel SambucCHECK: Load command 3 59*0a6a1f1dSLionel SambucCHECK: cmd LC_DYSYMTAB 60*0a6a1f1dSLionel SambucCHECK: cmdsize 80 61*0a6a1f1dSLionel SambucCHECK: ilocalsym 0 62*0a6a1f1dSLionel SambucCHECK: nlocalsym 3 63*0a6a1f1dSLionel SambucCHECK: iextdefsym 3 64*0a6a1f1dSLionel SambucCHECK: nextdefsym 1 65*0a6a1f1dSLionel SambucCHECK: iundefsym 4 66*0a6a1f1dSLionel SambucCHECK: nundefsym 1 67*0a6a1f1dSLionel SambucCHECK: tocoff 0 68*0a6a1f1dSLionel SambucCHECK: ntoc 0 69*0a6a1f1dSLionel SambucCHECK: modtaboff 0 70*0a6a1f1dSLionel SambucCHECK: nmodtab 0 71*0a6a1f1dSLionel SambucCHECK: extrefsymoff 0 72*0a6a1f1dSLionel SambucCHECK: nextrefsyms 0 73*0a6a1f1dSLionel SambucCHECK: indirectsymoff 0 74*0a6a1f1dSLionel SambucCHECK: nindirectsyms 0 75*0a6a1f1dSLionel SambucCHECK: extreloff 0 76*0a6a1f1dSLionel SambucCHECK: nextrel 0 77*0a6a1f1dSLionel SambucCHECK: locreloff 0 78*0a6a1f1dSLionel SambucCHECK: nlocrel 0 79*0a6a1f1dSLionel Sambuc 80*0a6a1f1dSLionel SambucEXE: Mach header 81*0a6a1f1dSLionel SambucEXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags 82*0a6a1f1dSLionel SambucEXE: MH_MAGIC_64 ARM64 ALL 0x00 EXECUTE 17 1240 NOUNDEFS DYLDLINK TWOLEVEL PIE 83*0a6a1f1dSLionel SambucEXE: Load command 0 84*0a6a1f1dSLionel SambucEXE: cmd LC_SEGMENT_64 85*0a6a1f1dSLionel SambucEXE: cmdsize 72 86*0a6a1f1dSLionel SambucEXE: segname __PAGEZERO 87*0a6a1f1dSLionel SambucEXE: vmaddr 0x0000000000000000 88*0a6a1f1dSLionel SambucEXE: vmsize 0x0000000100000000 89*0a6a1f1dSLionel SambucEXE: fileoff 0 90*0a6a1f1dSLionel SambucEXE: filesize 0 91*0a6a1f1dSLionel SambucEXE: maxprot --- 92*0a6a1f1dSLionel SambucEXE: initprot --- 93*0a6a1f1dSLionel SambucEXE: nsects 0 94*0a6a1f1dSLionel SambucEXE: flags (none) 95*0a6a1f1dSLionel SambucEXE: Load command 1 96*0a6a1f1dSLionel SambucEXE: cmd LC_SEGMENT_64 97*0a6a1f1dSLionel SambucEXE: cmdsize 472 98*0a6a1f1dSLionel SambucEXE: segname __TEXT 99*0a6a1f1dSLionel SambucEXE: vmaddr 0x0000000100000000 100*0a6a1f1dSLionel SambucEXE: vmsize 0x0000000000008000 101*0a6a1f1dSLionel SambucEXE: fileoff 0 102*0a6a1f1dSLionel SambucEXE: filesize 32768 103*0a6a1f1dSLionel SambucEXE: maxprot r-x 104*0a6a1f1dSLionel SambucEXE: initprot r-x 105*0a6a1f1dSLionel SambucEXE: nsects 5 106*0a6a1f1dSLionel SambucEXE: flags (none) 107*0a6a1f1dSLionel SambucEXE: Section 108*0a6a1f1dSLionel SambucEXE: sectname __text 109*0a6a1f1dSLionel SambucEXE: segname __TEXT 110*0a6a1f1dSLionel SambucEXE: addr 0x0000000100007f38 111*0a6a1f1dSLionel SambucEXE: size 0x0000000000000040 112*0a6a1f1dSLionel SambucEXE: offset 32568 113*0a6a1f1dSLionel SambucEXE: align 2^2 (4) 114*0a6a1f1dSLionel SambucEXE: reloff 0 115*0a6a1f1dSLionel SambucEXE: nreloc 0 116*0a6a1f1dSLionel SambucEXE: type S_REGULAR 117*0a6a1f1dSLionel SambucEXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS 118*0a6a1f1dSLionel SambucEXE: reserved1 0 119*0a6a1f1dSLionel SambucEXE: reserved2 0 120*0a6a1f1dSLionel SambucEXE: Section 121*0a6a1f1dSLionel SambucEXE: sectname __stubs 122*0a6a1f1dSLionel SambucEXE: segname __TEXT 123*0a6a1f1dSLionel SambucEXE: addr 0x0000000100007f78 124*0a6a1f1dSLionel SambucEXE: size 0x000000000000000c 125*0a6a1f1dSLionel SambucEXE: offset 32632 126*0a6a1f1dSLionel SambucEXE: align 2^1 (2) 127*0a6a1f1dSLionel SambucEXE: reloff 0 128*0a6a1f1dSLionel SambucEXE: nreloc 0 129*0a6a1f1dSLionel SambucEXE: type S_SYMBOL_STUBS 130*0a6a1f1dSLionel SambucEXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS 131*0a6a1f1dSLionel SambucEXE: reserved1 0 (index into indirect symbol table) 132*0a6a1f1dSLionel SambucEXE: reserved2 12 (size of stubs) 133*0a6a1f1dSLionel SambucEXE: Section 134*0a6a1f1dSLionel SambucEXE: sectname __stub_helper 135*0a6a1f1dSLionel SambucEXE: segname __TEXT 136*0a6a1f1dSLionel SambucEXE: addr 0x0000000100007f84 137*0a6a1f1dSLionel SambucEXE: size 0x0000000000000024 138*0a6a1f1dSLionel SambucEXE: offset 32644 139*0a6a1f1dSLionel SambucEXE: align 2^2 (4) 140*0a6a1f1dSLionel SambucEXE: reloff 0 141*0a6a1f1dSLionel SambucEXE: nreloc 0 142*0a6a1f1dSLionel SambucEXE: type S_REGULAR 143*0a6a1f1dSLionel SambucEXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS 144*0a6a1f1dSLionel SambucEXE: reserved1 0 145*0a6a1f1dSLionel SambucEXE: reserved2 0 146*0a6a1f1dSLionel SambucEXE: Section 147*0a6a1f1dSLionel SambucEXE: sectname __cstring 148*0a6a1f1dSLionel SambucEXE: segname __TEXT 149*0a6a1f1dSLionel SambucEXE: addr 0x0000000100007fa8 150*0a6a1f1dSLionel SambucEXE: size 0x000000000000000d 151*0a6a1f1dSLionel SambucEXE: offset 32680 152*0a6a1f1dSLionel SambucEXE: align 2^0 (1) 153*0a6a1f1dSLionel SambucEXE: reloff 0 154*0a6a1f1dSLionel SambucEXE: nreloc 0 155*0a6a1f1dSLionel SambucEXE: type S_CSTRING_LITERALS 156*0a6a1f1dSLionel SambucEXE: attributes (none) 157*0a6a1f1dSLionel SambucEXE: reserved1 0 158*0a6a1f1dSLionel SambucEXE: reserved2 0 159*0a6a1f1dSLionel SambucEXE: Section 160*0a6a1f1dSLionel SambucEXE: sectname __unwind_info 161*0a6a1f1dSLionel SambucEXE: segname __TEXT 162*0a6a1f1dSLionel SambucEXE: addr 0x0000000100007fb8 163*0a6a1f1dSLionel SambucEXE: size 0x0000000000000048 164*0a6a1f1dSLionel SambucEXE: offset 32696 165*0a6a1f1dSLionel SambucEXE: align 2^2 (4) 166*0a6a1f1dSLionel SambucEXE: reloff 0 167*0a6a1f1dSLionel SambucEXE: nreloc 0 168*0a6a1f1dSLionel SambucEXE: type S_REGULAR 169*0a6a1f1dSLionel SambucEXE: attributes (none) 170*0a6a1f1dSLionel SambucEXE: reserved1 0 171*0a6a1f1dSLionel SambucEXE: reserved2 0 172*0a6a1f1dSLionel SambucEXE: Load command 2 173*0a6a1f1dSLionel SambucEXE: cmd LC_SEGMENT_64 174*0a6a1f1dSLionel SambucEXE: cmdsize 232 175*0a6a1f1dSLionel SambucEXE: segname __DATA 176*0a6a1f1dSLionel SambucEXE: vmaddr 0x0000000100008000 177*0a6a1f1dSLionel SambucEXE: vmsize 0x0000000000004000 178*0a6a1f1dSLionel SambucEXE: fileoff 32768 179*0a6a1f1dSLionel SambucEXE: filesize 16384 180*0a6a1f1dSLionel SambucEXE: maxprot rw- 181*0a6a1f1dSLionel SambucEXE: initprot rw- 182*0a6a1f1dSLionel SambucEXE: nsects 2 183*0a6a1f1dSLionel SambucEXE: flags (none) 184*0a6a1f1dSLionel SambucEXE: Section 185*0a6a1f1dSLionel SambucEXE: sectname __got 186*0a6a1f1dSLionel SambucEXE: segname __DATA 187*0a6a1f1dSLionel SambucEXE: addr 0x0000000100008000 188*0a6a1f1dSLionel SambucEXE: size 0x0000000000000010 189*0a6a1f1dSLionel SambucEXE: offset 32768 190*0a6a1f1dSLionel SambucEXE: align 2^3 (8) 191*0a6a1f1dSLionel SambucEXE: reloff 0 192*0a6a1f1dSLionel SambucEXE: nreloc 0 193*0a6a1f1dSLionel SambucEXE: type S_NON_LAZY_SYMBOL_POINTERS 194*0a6a1f1dSLionel SambucEXE: attributes (none) 195*0a6a1f1dSLionel SambucEXE: reserved1 1 (index into indirect symbol table) 196*0a6a1f1dSLionel SambucEXE: reserved2 0 197*0a6a1f1dSLionel SambucEXE: Section 198*0a6a1f1dSLionel SambucEXE: sectname __la_symbol_ptr 199*0a6a1f1dSLionel SambucEXE: segname __DATA 200*0a6a1f1dSLionel SambucEXE: addr 0x0000000100008010 201*0a6a1f1dSLionel SambucEXE: size 0x0000000000000008 202*0a6a1f1dSLionel SambucEXE: offset 32784 203*0a6a1f1dSLionel SambucEXE: align 2^3 (8) 204*0a6a1f1dSLionel SambucEXE: reloff 0 205*0a6a1f1dSLionel SambucEXE: nreloc 0 206*0a6a1f1dSLionel SambucEXE: type S_LAZY_SYMBOL_POINTERS 207*0a6a1f1dSLionel SambucEXE: attributes (none) 208*0a6a1f1dSLionel SambucEXE: reserved1 3 (index into indirect symbol table) 209*0a6a1f1dSLionel SambucEXE: reserved2 0 210*0a6a1f1dSLionel SambucEXE: Load command 3 211*0a6a1f1dSLionel SambucEXE: cmd LC_SEGMENT_64 212*0a6a1f1dSLionel SambucEXE: cmdsize 72 213*0a6a1f1dSLionel SambucEXE: segname __LINKEDIT 214*0a6a1f1dSLionel SambucEXE: vmaddr 0x000000010000c000 215*0a6a1f1dSLionel SambucEXE: vmsize 0x0000000000004000 216*0a6a1f1dSLionel SambucEXE: fileoff 49152 217*0a6a1f1dSLionel SambucEXE: filesize 264 218*0a6a1f1dSLionel SambucEXE: maxprot r-- 219*0a6a1f1dSLionel SambucEXE: initprot r-- 220*0a6a1f1dSLionel SambucEXE: nsects 0 221*0a6a1f1dSLionel SambucEXE: flags (none) 222*0a6a1f1dSLionel SambucEXE: Load command 4 223*0a6a1f1dSLionel SambucEXE: cmd LC_DYLD_INFO_ONLY 224*0a6a1f1dSLionel SambucEXE: cmdsize 48 225*0a6a1f1dSLionel SambucEXE: rebase_off 49152 226*0a6a1f1dSLionel SambucEXE: rebase_size 8 227*0a6a1f1dSLionel SambucEXE: bind_off 49160 228*0a6a1f1dSLionel SambucEXE: bind_size 24 229*0a6a1f1dSLionel SambucEXE: weak_bind_off 0 230*0a6a1f1dSLionel SambucEXE: weak_bind_size 0 231*0a6a1f1dSLionel SambucEXE: lazy_bind_off 49184 232*0a6a1f1dSLionel SambucEXE: lazy_bind_size 16 233*0a6a1f1dSLionel SambucEXE: export_off 49200 234*0a6a1f1dSLionel SambucEXE: export_size 48 235*0a6a1f1dSLionel SambucEXE: Load command 5 236*0a6a1f1dSLionel SambucEXE: cmd LC_SYMTAB 237*0a6a1f1dSLionel SambucEXE: cmdsize 24 238*0a6a1f1dSLionel SambucEXE: symoff 49280 239*0a6a1f1dSLionel SambucEXE: nsyms 4 240*0a6a1f1dSLionel SambucEXE: stroff 49360 241*0a6a1f1dSLionel SambucEXE: strsize 56 242*0a6a1f1dSLionel SambucEXE: Load command 6 243*0a6a1f1dSLionel SambucEXE: cmd LC_DYSYMTAB 244*0a6a1f1dSLionel SambucEXE: cmdsize 80 245*0a6a1f1dSLionel SambucEXE: ilocalsym 0 246*0a6a1f1dSLionel SambucEXE: nlocalsym 0 247*0a6a1f1dSLionel SambucEXE: iextdefsym 0 248*0a6a1f1dSLionel SambucEXE: nextdefsym 2 249*0a6a1f1dSLionel SambucEXE: iundefsym 2 250*0a6a1f1dSLionel SambucEXE: nundefsym 2 251*0a6a1f1dSLionel SambucEXE: tocoff 0 252*0a6a1f1dSLionel SambucEXE: ntoc 0 253*0a6a1f1dSLionel SambucEXE: modtaboff 0 254*0a6a1f1dSLionel SambucEXE: nmodtab 0 255*0a6a1f1dSLionel SambucEXE: extrefsymoff 0 256*0a6a1f1dSLionel SambucEXE: nextrefsyms 0 257*0a6a1f1dSLionel SambucEXE: indirectsymoff 49344 258*0a6a1f1dSLionel SambucEXE: nindirectsyms 4 259*0a6a1f1dSLionel SambucEXE: extreloff 0 260*0a6a1f1dSLionel SambucEXE: nextrel 0 261*0a6a1f1dSLionel SambucEXE: locreloff 0 262*0a6a1f1dSLionel SambucEXE: nlocrel 0 263*0a6a1f1dSLionel SambucEXE: Load command 7 264*0a6a1f1dSLionel SambucEXE: cmd LC_LOAD_DYLINKER 265*0a6a1f1dSLionel SambucEXE: cmdsize 32 266*0a6a1f1dSLionel SambucEXE: name /usr/lib/dyld (offset 12) 267*0a6a1f1dSLionel SambucEXE: Load command 8 268*0a6a1f1dSLionel SambucEXE: cmd LC_UUID 269*0a6a1f1dSLionel SambucEXE: cmdsize 24 270*0a6a1f1dSLionel SambucEXE: uuid D687F888-CD3F-3276-8C94-BA3CCA21D820 271*0a6a1f1dSLionel SambucEXE: Load command 9 272*0a6a1f1dSLionel SambucEXE: cmd LC_VERSION_MIN_IPHONEOS 273*0a6a1f1dSLionel SambucEXE: cmdsize 16 274*0a6a1f1dSLionel SambucEXE: version 9.0 275*0a6a1f1dSLionel SambucEXE: sdk 9.0 276*0a6a1f1dSLionel SambucEXE: Load command 10 277*0a6a1f1dSLionel SambucEXE: cmd LC_SOURCE_VERSION 278*0a6a1f1dSLionel SambucEXE: cmdsize 16 279*0a6a1f1dSLionel SambucEXE: version 0.0 280*0a6a1f1dSLionel SambucEXE: Load command 11 281*0a6a1f1dSLionel SambucEXE: cmd LC_MAIN 282*0a6a1f1dSLionel SambucEXE: cmdsize 24 283*0a6a1f1dSLionel SambucEXE: entryoff 32568 284*0a6a1f1dSLionel SambucEXE: stacksize 0 285*0a6a1f1dSLionel SambucEXE: Load command 12 286*0a6a1f1dSLionel SambucEXE: cmd LC_ENCRYPTION_INFO_64 287*0a6a1f1dSLionel SambucEXE: cmdsize 24 288*0a6a1f1dSLionel SambucEXE: cryptoff 16384 289*0a6a1f1dSLionel SambucEXE: cryptsize 16384 290*0a6a1f1dSLionel SambucEXE: cryptid 0 291*0a6a1f1dSLionel SambucEXE: pad 0 292*0a6a1f1dSLionel SambucEXE: Load command 13 293*0a6a1f1dSLionel SambucEXE: cmd LC_LOAD_DYLIB 294*0a6a1f1dSLionel SambucEXE: cmdsize 56 295*0a6a1f1dSLionel SambucEXE: name /usr/lib/libSystem.B.dylib (offset 24) 296*0a6a1f1dSLionel SambucEXE: current version 1215.0.0 297*0a6a1f1dSLionel SambucEXE: compatibility version 1.0.0 298*0a6a1f1dSLionel SambucEXE: Load command 14 299*0a6a1f1dSLionel SambucEXE: cmd LC_FUNCTION_STARTS 300*0a6a1f1dSLionel SambucEXE: cmdsize 16 301*0a6a1f1dSLionel SambucEXE: dataoff 49248 302*0a6a1f1dSLionel SambucEXE: datasize 8 303*0a6a1f1dSLionel SambucEXE: Load command 15 304*0a6a1f1dSLionel SambucEXE: cmd LC_DATA_IN_CODE 305*0a6a1f1dSLionel SambucEXE: cmdsize 16 306*0a6a1f1dSLionel SambucEXE: dataoff 49256 307*0a6a1f1dSLionel SambucEXE: datasize 0 308*0a6a1f1dSLionel SambucEXE: Load command 16 309*0a6a1f1dSLionel SambucEXE: cmd LC_DYLIB_CODE_SIGN_DRS 310*0a6a1f1dSLionel SambucEXE: cmdsize 16 311*0a6a1f1dSLionel SambucEXE: dataoff 49256 312*0a6a1f1dSLionel SambucEXE: datasize 24 313