macho-private-headers.test 7.8 KB

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