Kevin Enderby | b76d386 | 2014-08-22 20:35:18 +0000 | [diff] [blame] | 1 | // RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s |
Kevin Enderby | 8ae63c1 | 2014-09-04 16:54:47 +0000 | [diff] [blame] | 2 | // RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-x86_64 \ |
| 3 | // RUN: | FileCheck %s -check-prefix=EXE |
Nick Kledzik | 600f245 | 2014-10-18 01:50:55 +0000 | [diff] [blame] | 4 | // RUN: llvm-objdump -p %p/Inputs/dylibLoadKinds.macho-x86_64 \ |
| 5 | // RUN: | FileCheck %s -check-prefix=LOAD |
Kevin Enderby | b76d386 | 2014-08-22 20:35:18 +0000 | [diff] [blame] | 6 | |
| 7 | CHECK: Mach header |
| 8 | CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags |
| 9 | CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS |
Kevin Enderby | 956366c | 2014-08-29 22:30:52 +0000 | [diff] [blame] | 10 | CHECK: Load command 0 |
| 11 | CHECK: cmd LC_SEGMENT_64 |
| 12 | CHECK: cmdsize 392 |
| 13 | CHECK: segname |
| 14 | CHECK: vmaddr 0x0000000000000000 |
| 15 | CHECK: vmsize 0x00000000000000a8 |
| 16 | CHECK: fileoff 528 |
| 17 | CHECK: filesize 168 |
| 18 | CHECK: maxprot rwx |
| 19 | CHECK: initprot rwx |
| 20 | CHECK: nsects 4 |
| 21 | CHECK: flags (none) |
| 22 | CHECK: Section |
| 23 | CHECK: sectname __text |
| 24 | CHECK: segname __TEXT |
| 25 | CHECK: addr 0x0000000000000000 |
| 26 | CHECK: size 0x000000000000003b |
| 27 | CHECK: offset 528 |
| 28 | CHECK: align 2^4 (16) |
| 29 | CHECK: reloff 696 |
| 30 | CHECK: nreloc 2 |
| 31 | CHECK: type S_REGULAR |
| 32 | CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS |
| 33 | CHECK: reserved1 0 |
| 34 | CHECK: reserved2 0 |
| 35 | CHECK: Section |
| 36 | CHECK: sectname __cstring |
| 37 | CHECK: segname __TEXT |
| 38 | CHECK: addr 0x000000000000003b |
| 39 | CHECK: size 0x000000000000000d |
| 40 | CHECK: offset 587 |
| 41 | CHECK: align 2^0 (1) |
| 42 | CHECK: reloff 0 |
| 43 | CHECK: nreloc 0 |
| 44 | CHECK: type S_CSTRING_LITERALS |
| 45 | CHECK: attributes (none) |
| 46 | CHECK: reserved1 0 |
| 47 | CHECK: reserved2 0 |
| 48 | CHECK: Section |
| 49 | CHECK: sectname __compact_unwind |
| 50 | CHECK: segname __LD |
| 51 | CHECK: addr 0x0000000000000048 |
| 52 | CHECK: size 0x0000000000000020 |
| 53 | CHECK: offset 600 |
| 54 | CHECK: align 2^3 (8) |
| 55 | CHECK: reloff 712 |
| 56 | CHECK: nreloc 1 |
| 57 | CHECK: type S_REGULAR |
| 58 | CHECK: attributes DEBUG |
| 59 | CHECK: reserved1 0 |
| 60 | CHECK: reserved2 0 |
| 61 | CHECK: Section |
| 62 | CHECK: sectname __eh_frame |
| 63 | CHECK: segname __TEXT |
| 64 | CHECK: addr 0x0000000000000068 |
| 65 | CHECK: size 0x0000000000000040 |
| 66 | CHECK: offset 632 |
| 67 | CHECK: align 2^3 (8) |
| 68 | CHECK: reloff 0 |
| 69 | CHECK: nreloc 0 |
| 70 | CHECK: type S_COALESCED |
| 71 | CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT |
| 72 | CHECK: reserved1 0 |
| 73 | CHECK: reserved2 0 |
| 74 | CHECK: Load command 1 |
| 75 | CHECK: cmd LC_SYMTAB |
| 76 | CHECK: cmdsize 24 |
| 77 | CHECK: symoff 720 |
| 78 | CHECK: nsyms 5 |
| 79 | CHECK: stroff 800 |
| 80 | CHECK: strsize 44 |
| 81 | CHECK: Load command 2 |
| 82 | CHECK: cmd LC_DYSYMTAB |
| 83 | CHECK: cmdsize 80 |
| 84 | CHECK: ilocalsym 0 |
| 85 | CHECK: nlocalsym 2 |
| 86 | CHECK: iextdefsym 2 |
| 87 | CHECK: nextdefsym 2 |
| 88 | CHECK: iundefsym 4 |
| 89 | CHECK: nundefsym 1 |
| 90 | CHECK: tocoff 0 |
| 91 | CHECK: ntoc 0 |
| 92 | CHECK: modtaboff 0 |
| 93 | CHECK: nmodtab 0 |
| 94 | CHECK: extrefsymoff 0 |
| 95 | CHECK: nextrefsyms 0 |
| 96 | CHECK: indirectsymoff 0 |
| 97 | CHECK: nindirectsyms 0 |
| 98 | CHECK: extreloff 0 |
| 99 | CHECK: nextrel 0 |
| 100 | CHECK: locreloff 0 |
| 101 | CHECK: nlocrel 0 |
Kevin Enderby | 8ae63c1 | 2014-09-04 16:54:47 +0000 | [diff] [blame] | 102 | |
| 103 | EXE: Mach header |
| 104 | EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags |
| 105 | EXE: MH_MAGIC_64 X86_64 ALL LIB64 EXECUTE 16 1296 NOUNDEFS DYLDLINK TWOLEVEL PIE |
| 106 | EXE: Load command 0 |
| 107 | EXE: cmd LC_SEGMENT_64 |
| 108 | EXE: cmdsize 72 |
| 109 | EXE: segname __PAGEZERO |
| 110 | EXE: vmaddr 0x0000000000000000 |
| 111 | EXE: vmsize 0x0000000100000000 |
| 112 | EXE: fileoff 0 |
| 113 | EXE: filesize 0 |
| 114 | EXE: maxprot --- |
| 115 | EXE: initprot --- |
| 116 | EXE: nsects 0 |
| 117 | EXE: flags (none) |
| 118 | EXE: Load command 1 |
| 119 | EXE: cmd LC_SEGMENT_64 |
| 120 | EXE: cmdsize 552 |
| 121 | EXE: segname __TEXT |
| 122 | EXE: vmaddr 0x0000000100000000 |
| 123 | EXE: vmsize 0x0000000000001000 |
| 124 | EXE: fileoff 0 |
| 125 | EXE: filesize 4096 |
| 126 | EXE: maxprot rwx |
| 127 | EXE: initprot r-x |
| 128 | EXE: nsects 6 |
| 129 | EXE: flags (none) |
| 130 | EXE: Section |
| 131 | EXE: sectname __text |
| 132 | EXE: segname __TEXT |
| 133 | EXE: addr 0x0000000100000f30 |
| 134 | EXE: size 0x000000000000003b |
| 135 | EXE: offset 3888 |
| 136 | EXE: align 2^4 (16) |
| 137 | EXE: reloff 0 |
| 138 | EXE: nreloc 0 |
| 139 | EXE: type S_REGULAR |
| 140 | EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS |
| 141 | EXE: reserved1 0 |
| 142 | EXE: reserved2 0 |
| 143 | EXE: Section |
| 144 | EXE: sectname __stubs |
| 145 | EXE: segname __TEXT |
| 146 | EXE: addr 0x0000000100000f6c |
| 147 | EXE: size 0x0000000000000006 |
| 148 | EXE: offset 3948 |
| 149 | EXE: align 2^1 (2) |
| 150 | EXE: reloff 0 |
| 151 | EXE: nreloc 0 |
| 152 | EXE: type S_SYMBOL_STUBS |
| 153 | EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS |
| 154 | EXE: reserved1 0 (index into indirect symbol table) |
| 155 | EXE: reserved2 6 (size of stubs) |
| 156 | EXE: Section |
| 157 | EXE: sectname __stub_helper |
| 158 | EXE: segname __TEXT |
| 159 | EXE: addr 0x0000000100000f74 |
| 160 | EXE: size 0x000000000000001a |
| 161 | EXE: offset 3956 |
| 162 | EXE: align 2^2 (4) |
| 163 | EXE: reloff 0 |
| 164 | EXE: nreloc 0 |
| 165 | EXE: type S_REGULAR |
| 166 | EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS |
| 167 | EXE: reserved1 0 |
| 168 | EXE: reserved2 0 |
| 169 | EXE: Section |
| 170 | EXE: sectname __cstring |
| 171 | EXE: segname __TEXT |
| 172 | EXE: addr 0x0000000100000f8e |
| 173 | EXE: size 0x000000000000000d |
| 174 | EXE: offset 3982 |
| 175 | EXE: align 2^0 (1) |
| 176 | EXE: reloff 0 |
| 177 | EXE: nreloc 0 |
| 178 | EXE: type S_CSTRING_LITERALS |
| 179 | EXE: attributes (none) |
| 180 | EXE: reserved1 0 |
| 181 | EXE: reserved2 0 |
| 182 | EXE: Section |
| 183 | EXE: sectname __unwind_info |
| 184 | EXE: segname __TEXT |
| 185 | EXE: addr 0x0000000100000f9b |
| 186 | EXE: size 0x0000000000000048 |
| 187 | EXE: offset 3995 |
| 188 | EXE: align 2^0 (1) |
| 189 | EXE: reloff 0 |
| 190 | EXE: nreloc 0 |
| 191 | EXE: type S_REGULAR |
| 192 | EXE: attributes (none) |
| 193 | EXE: reserved1 0 |
| 194 | EXE: reserved2 0 |
| 195 | EXE: Section |
| 196 | EXE: sectname __eh_frame |
| 197 | EXE: segname __TEXT |
| 198 | EXE: addr 0x0000000100000fe8 |
| 199 | EXE: size 0x0000000000000018 |
| 200 | EXE: offset 4072 |
| 201 | EXE: align 2^3 (8) |
| 202 | EXE: reloff 0 |
| 203 | EXE: nreloc 0 |
| 204 | EXE: type S_REGULAR |
| 205 | EXE: attributes (none) |
| 206 | EXE: reserved1 0 |
| 207 | EXE: reserved2 0 |
| 208 | EXE: Load command 2 |
| 209 | EXE: cmd LC_SEGMENT_64 |
| 210 | EXE: cmdsize 232 |
| 211 | EXE: segname __DATA |
| 212 | EXE: vmaddr 0x0000000100001000 |
| 213 | EXE: vmsize 0x0000000000001000 |
| 214 | EXE: fileoff 4096 |
| 215 | EXE: filesize 4096 |
| 216 | EXE: maxprot rwx |
| 217 | EXE: initprot rw- |
| 218 | EXE: nsects 2 |
| 219 | EXE: flags (none) |
| 220 | EXE: Section |
| 221 | EXE: sectname __nl_symbol_ptr |
| 222 | EXE: segname __DATA |
| 223 | EXE: addr 0x0000000100001000 |
| 224 | EXE: size 0x0000000000000010 |
| 225 | EXE: offset 4096 |
| 226 | EXE: align 2^3 (8) |
| 227 | EXE: reloff 0 |
| 228 | EXE: nreloc 0 |
| 229 | EXE: type S_NON_LAZY_SYMBOL_POINTERS |
| 230 | EXE: attributes (none) |
| 231 | EXE: reserved1 1 (index into indirect symbol table) |
| 232 | EXE: reserved2 0 |
| 233 | EXE: Section |
| 234 | EXE: sectname __la_symbol_ptr |
| 235 | EXE: segname __DATA |
| 236 | EXE: addr 0x0000000100001010 |
| 237 | EXE: size 0x0000000000000008 |
| 238 | EXE: offset 4112 |
| 239 | EXE: align 2^3 (8) |
| 240 | EXE: reloff 0 |
| 241 | EXE: nreloc 0 |
| 242 | EXE: type S_LAZY_SYMBOL_POINTERS |
| 243 | EXE: attributes (none) |
| 244 | EXE: reserved1 3 (index into indirect symbol table) |
| 245 | EXE: reserved2 0 |
| 246 | EXE: Load command 3 |
| 247 | EXE: cmd LC_SEGMENT_64 |
| 248 | EXE: cmdsize 72 |
| 249 | EXE: segname __LINKEDIT |
| 250 | EXE: vmaddr 0x0000000100002000 |
| 251 | EXE: vmsize 0x0000000000001000 |
| 252 | EXE: fileoff 8192 |
| 253 | EXE: filesize 304 |
| 254 | EXE: maxprot rwx |
| 255 | EXE: initprot r-- |
| 256 | EXE: nsects 0 |
| 257 | EXE: flags (none) |
| 258 | EXE: Load command 4 |
| 259 | EXE: cmd LC_DYLD_INFO_ONLY |
| 260 | EXE: cmdsize 48 |
| 261 | EXE: rebase_off 8192 |
| 262 | EXE: rebase_size 8 |
| 263 | EXE: bind_off 8200 |
| 264 | EXE: bind_size 24 |
| 265 | EXE: weak_bind_off 0 |
| 266 | EXE: weak_bind_size 0 |
| 267 | EXE: lazy_bind_off 8224 |
| 268 | EXE: lazy_bind_size 16 |
| 269 | EXE: export_off 8240 |
| 270 | EXE: export_size 48 |
| 271 | EXE: Load command 5 |
| 272 | EXE: cmd LC_SYMTAB |
| 273 | EXE: cmdsize 24 |
| 274 | EXE: symoff 8360 |
| 275 | EXE: nsyms 4 |
| 276 | EXE: stroff 8440 |
| 277 | EXE: strsize 56 |
| 278 | EXE: Load command 6 |
| 279 | EXE: cmd LC_DYSYMTAB |
| 280 | EXE: cmdsize 80 |
| 281 | EXE: ilocalsym 0 |
| 282 | EXE: nlocalsym 0 |
| 283 | EXE: iextdefsym 0 |
| 284 | EXE: nextdefsym 2 |
| 285 | EXE: iundefsym 2 |
| 286 | EXE: nundefsym 2 |
| 287 | EXE: tocoff 0 |
| 288 | EXE: ntoc 0 |
| 289 | EXE: modtaboff 0 |
| 290 | EXE: nmodtab 0 |
| 291 | EXE: extrefsymoff 0 |
| 292 | EXE: nextrefsyms 0 |
| 293 | EXE: indirectsymoff 8424 |
| 294 | EXE: nindirectsyms 4 |
| 295 | EXE: extreloff 0 |
| 296 | EXE: nextrel 0 |
| 297 | EXE: locreloff 0 |
| 298 | EXE: nlocrel 0 |
| 299 | EXE: Load command 7 |
| 300 | EXE: cmd LC_LOAD_DYLINKER |
| 301 | EXE: cmdsize 32 |
| 302 | EXE: name /usr/lib/dyld (offset 12) |
| 303 | EXE: Load command 8 |
| 304 | EXE: cmd LC_UUID |
| 305 | EXE: cmdsize 24 |
| 306 | EXE: uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762 |
| 307 | EXE: Load command 9 |
| 308 | EXE: cmd LC_VERSION_MIN_MACOSX |
| 309 | EXE: cmdsize 16 |
| 310 | EXE: version 10.9 |
| 311 | EXE: sdk 10.9 |
| 312 | EXE: Load command 10 |
| 313 | EXE: cmd LC_SOURCE_VERSION |
| 314 | EXE: cmdsize 16 |
| 315 | EXE: version 0.0 |
| 316 | EXE: Load command 11 |
| 317 | EXE: cmd LC_MAIN |
| 318 | EXE: cmdsize 24 |
| 319 | EXE: entryoff 3888 |
| 320 | EXE: stacksize 0 |
| 321 | EXE: Load command 12 |
| 322 | EXE: cmd LC_LOAD_DYLIB |
| 323 | EXE: cmdsize 56 |
| 324 | EXE: name /usr/lib/libSystem.B.dylib (offset 24) |
Kevin Enderby | 8ae63c1 | 2014-09-04 16:54:47 +0000 | [diff] [blame] | 325 | EXE: current version 1197.1.1 |
| 326 | EXE: compatibility version 1.0.0 |
| 327 | EXE: Load command 13 |
| 328 | EXE: cmd LC_FUNCTION_STARTS |
| 329 | EXE: cmdsize 16 |
| 330 | EXE: dataoff 8288 |
| 331 | EXE: datasize 8 |
| 332 | EXE: Load command 14 |
| 333 | EXE: cmd LC_DATA_IN_CODE |
| 334 | EXE: cmdsize 16 |
| 335 | EXE: dataoff 8296 |
| 336 | EXE: datasize 0 |
| 337 | EXE: Load command 15 |
| 338 | EXE: cmd LC_DYLIB_CODE_SIGN_DRS |
| 339 | EXE: cmdsize 16 |
| 340 | EXE: dataoff 8296 |
| 341 | EXE: datasize 64 |
Nick Kledzik | 600f245 | 2014-10-18 01:50:55 +0000 | [diff] [blame] | 342 | |
| 343 | |
| 344 | LOAD: Load command 10 |
| 345 | LOAD: cmd LC_LOAD_DYLIB |
| 346 | LOAD: cmdsize 48 |
| 347 | LOAD: name /usr/lib/foo1.dylib (offset 24) |
Nick Kledzik | 600f245 | 2014-10-18 01:50:55 +0000 | [diff] [blame] | 348 | LOAD: current version 0.0.0 |
| 349 | LOAD: compatibility version 0.0.0 |
| 350 | LOAD: Load command 11 |
| 351 | LOAD: cmd LC_LOAD_WEAK_DYLIB |
| 352 | LOAD: cmdsize 48 |
| 353 | LOAD: name /usr/lib/foo2.dylib (offset 24) |
Nick Kledzik | 600f245 | 2014-10-18 01:50:55 +0000 | [diff] [blame] | 354 | LOAD: current version 0.0.0 |
| 355 | LOAD: compatibility version 0.0.0 |
| 356 | LOAD: Load command 12 |
| 357 | LOAD: cmd LC_REEXPORT_DYLIB |
| 358 | LOAD: cmdsize 48 |
| 359 | LOAD: name /usr/lib/foo3.dylib (offset 24) |
Nick Kledzik | 600f245 | 2014-10-18 01:50:55 +0000 | [diff] [blame] | 360 | LOAD: current version 0.0.0 |
| 361 | LOAD: compatibility version 0.0.0 |
| 362 | LOAD: Load command 13 |
| 363 | LOAD: cmd LC_LAZY_LOAD_DYLIB |
| 364 | LOAD: cmdsize 48 |
| 365 | LOAD: name /usr/lib/foo4.dylib (offset 24) |
Nick Kledzik | 600f245 | 2014-10-18 01:50:55 +0000 | [diff] [blame] | 366 | LOAD: current version 0.0.0 |
| 367 | LOAD: compatibility version 0.0.0 |
| 368 | |