macho-private-headers.test 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. // RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-arm | FileCheck %s
  2. // RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-arm \
  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 ARM V7 0x00 OBJECT 3 568 SUBSECTIONS_VIA_SYMBOLS
  7. CHECK: Load command 0
  8. CHECK: cmd LC_SEGMENT
  9. CHECK: cmdsize 464
  10. CHECK: segname
  11. CHECK: vmaddr 0x00000000
  12. CHECK: vmsize 0x00000043
  13. CHECK: fileoff 596
  14. CHECK: filesize 67
  15. CHECK: maxprot rwx
  16. CHECK: initprot rwx
  17. CHECK: nsects 6
  18. CHECK: flags (none)
  19. CHECK: Section
  20. CHECK: sectname __text
  21. CHECK: segname __TEXT
  22. CHECK: addr 0x00000000
  23. CHECK: size 0x00000036
  24. CHECK: offset 596
  25. CHECK: align 2^2 (4)
  26. CHECK: reloff 664
  27. CHECK: nreloc 5
  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 __textcoal_nt
  34. CHECK: segname __TEXT
  35. CHECK: addr 0x00000036
  36. CHECK: size 0x00000000
  37. CHECK: offset 650
  38. CHECK: align 2^0 (1)
  39. CHECK: reloff 0
  40. CHECK: nreloc 0
  41. CHECK: type S_COALESCED
  42. CHECK: attributes PURE_INSTRUCTIONS
  43. CHECK: reserved1 0
  44. CHECK: reserved2 0
  45. CHECK: Section
  46. CHECK: sectname __const_coal
  47. CHECK: segname __TEXT
  48. CHECK: addr 0x00000036
  49. CHECK: size 0x00000000
  50. CHECK: offset 650
  51. CHECK: align 2^0 (1)
  52. CHECK: reloff 0
  53. CHECK: nreloc 0
  54. CHECK: type S_COALESCED
  55. CHECK: attributes (none)
  56. CHECK: reserved1 0
  57. CHECK: reserved2 0
  58. CHECK: Section
  59. CHECK: sectname __picsymbolstub4
  60. CHECK: segname __TEXT
  61. CHECK: addr 0x00000036
  62. CHECK: size 0x00000000
  63. CHECK: offset 650
  64. CHECK: align 2^0 (1)
  65. CHECK: reloff 0
  66. CHECK: nreloc 0
  67. CHECK: type S_SYMBOL_STUBS
  68. CHECK: attributes (none)
  69. CHECK: reserved1 0 (index into indirect symbol table)
  70. CHECK: reserved2 16 (size of stubs)
  71. CHECK: Section
  72. CHECK: sectname __StaticInit
  73. CHECK: segname __TEXT
  74. CHECK: addr 0x00000036
  75. CHECK: size 0x00000000
  76. CHECK: offset 650
  77. CHECK: align 2^0 (1)
  78. CHECK: reloff 0
  79. CHECK: nreloc 0
  80. CHECK: type S_REGULAR
  81. CHECK: attributes PURE_INSTRUCTIONS
  82. CHECK: reserved1 0
  83. CHECK: reserved2 0
  84. CHECK: Section
  85. CHECK: sectname __cstring
  86. CHECK: segname __TEXT
  87. CHECK: addr 0x00000036
  88. CHECK: size 0x0000000d
  89. CHECK: offset 650
  90. CHECK: align 2^0 (1)
  91. CHECK: reloff 0
  92. CHECK: nreloc 0
  93. CHECK: type S_CSTRING_LITERALS
  94. CHECK: attributes (none)
  95. CHECK: reserved1 0
  96. CHECK: reserved2 0
  97. CHECK: Load command 1
  98. CHECK: cmd LC_SYMTAB
  99. CHECK: cmdsize 24
  100. CHECK: symoff 704
  101. CHECK: nsyms 2
  102. CHECK: stroff 728
  103. CHECK: strsize 16
  104. CHECK: Load command 2
  105. CHECK: cmd LC_DYSYMTAB
  106. CHECK: cmdsize 80
  107. CHECK: ilocalsym 0
  108. CHECK: nlocalsym 0
  109. CHECK: iextdefsym 0
  110. CHECK: nextdefsym 1
  111. CHECK: iundefsym 1
  112. CHECK: nundefsym 1
  113. CHECK: tocoff 0
  114. CHECK: ntoc 0
  115. CHECK: modtaboff 0
  116. CHECK: nmodtab 0
  117. CHECK: extrefsymoff 0
  118. CHECK: nextrefsyms 0
  119. CHECK: indirectsymoff 0
  120. CHECK: nindirectsyms 0
  121. CHECK: extreloff 0
  122. CHECK: nextrel 0
  123. CHECK: locreloff 0
  124. CHECK: nlocrel 0
  125. EXE: Mach header
  126. EXE: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
  127. EXE: MH_MAGIC ARM V7 0x00 EXECUTE 17 1012 NOUNDEFS DYLDLINK TWOLEVEL PIE
  128. EXE: Load command 0
  129. EXE: cmd LC_SEGMENT
  130. EXE: cmdsize 56
  131. EXE: segname __PAGEZERO
  132. EXE: vmaddr 0x00000000
  133. EXE: vmsize 0x00004000
  134. EXE: fileoff 0
  135. EXE: filesize 0
  136. EXE: maxprot ---
  137. EXE: initprot ---
  138. EXE: nsects 0
  139. EXE: flags (none)
  140. EXE: Load command 1
  141. EXE: cmd LC_SEGMENT
  142. EXE: cmdsize 328
  143. EXE: segname __TEXT
  144. EXE: vmaddr 0x00004000
  145. EXE: vmsize 0x00008000
  146. EXE: fileoff 0
  147. EXE: filesize 32768
  148. EXE: maxprot r-x
  149. EXE: initprot r-x
  150. EXE: nsects 4
  151. EXE: flags (none)
  152. EXE: Section
  153. EXE: sectname __text
  154. EXE: segname __TEXT
  155. EXE: addr 0x0000bf84
  156. EXE: size 0x00000036
  157. EXE: offset 32644
  158. EXE: align 2^2 (4)
  159. EXE: reloff 0
  160. EXE: nreloc 0
  161. EXE: type S_REGULAR
  162. EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
  163. EXE: reserved1 0
  164. EXE: reserved2 0
  165. EXE: Section
  166. EXE: sectname __stub_helper
  167. EXE: segname __TEXT
  168. EXE: addr 0x0000bfbc
  169. EXE: size 0x00000030
  170. EXE: offset 32700
  171. EXE: align 2^2 (4)
  172. EXE: reloff 0
  173. EXE: nreloc 0
  174. EXE: type S_REGULAR
  175. EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
  176. EXE: reserved1 0
  177. EXE: reserved2 0
  178. EXE: Section
  179. EXE: sectname __cstring
  180. EXE: segname __TEXT
  181. EXE: addr 0x0000bfec
  182. EXE: size 0x0000000d
  183. EXE: offset 32748
  184. EXE: align 2^0 (1)
  185. EXE: reloff 0
  186. EXE: nreloc 0
  187. EXE: type S_CSTRING_LITERALS
  188. EXE: attributes (none)
  189. EXE: reserved1 0
  190. EXE: reserved2 0
  191. EXE: Section
  192. EXE: sectname __symbolstub1
  193. EXE: segname __TEXT
  194. EXE: addr 0x0000bffc
  195. EXE: size 0x00000004
  196. EXE: offset 32764
  197. EXE: align 2^2 (4)
  198. EXE: reloff 0
  199. EXE: nreloc 0
  200. EXE: type S_SYMBOL_STUBS
  201. EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
  202. EXE: reserved1 0 (index into indirect symbol table)
  203. EXE: reserved2 4 (size of stubs)
  204. EXE: Load command 2
  205. EXE: cmd LC_SEGMENT
  206. EXE: cmdsize 192
  207. EXE: segname __DATA
  208. EXE: vmaddr 0x0000c000
  209. EXE: vmsize 0x00004000
  210. EXE: fileoff 32768
  211. EXE: filesize 16384
  212. EXE: maxprot rw-
  213. EXE: initprot rw-
  214. EXE: nsects 2
  215. EXE: flags (none)
  216. EXE: Section
  217. EXE: sectname __lazy_symbol
  218. EXE: segname __DATA
  219. EXE: addr 0x0000c000
  220. EXE: size 0x00000004
  221. EXE: offset 32768
  222. EXE: align 2^2 (4)
  223. EXE: reloff 0
  224. EXE: nreloc 0
  225. EXE: type S_LAZY_SYMBOL_POINTERS
  226. EXE: attributes (none)
  227. EXE: reserved1 1 (index into indirect symbol table)
  228. EXE: reserved2 0
  229. EXE: Section
  230. EXE: sectname __nl_symbol_ptr
  231. EXE: segname __DATA
  232. EXE: addr 0x0000c004
  233. EXE: size 0x00000008
  234. EXE: offset 32772
  235. EXE: align 2^2 (4)
  236. EXE: reloff 0
  237. EXE: nreloc 0
  238. EXE: type S_NON_LAZY_SYMBOL_POINTERS
  239. EXE: attributes (none)
  240. EXE: reserved1 2 (index into indirect symbol table)
  241. EXE: reserved2 0
  242. EXE: Load command 3
  243. EXE: cmd LC_SEGMENT
  244. EXE: cmdsize 56
  245. EXE: segname __LINKEDIT
  246. EXE: vmaddr 0x00010000
  247. EXE: vmsize 0x00004000
  248. EXE: fileoff 49152
  249. EXE: filesize 256
  250. EXE: maxprot r--
  251. EXE: initprot r--
  252. EXE: nsects 0
  253. EXE: flags (none)
  254. EXE: Load command 4
  255. EXE: cmd LC_DYLD_INFO_ONLY
  256. EXE: cmdsize 48
  257. EXE: rebase_off 49152
  258. EXE: rebase_size 4
  259. EXE: bind_off 49156
  260. EXE: bind_size 24
  261. EXE: weak_bind_off 0
  262. EXE: weak_bind_size 0
  263. EXE: lazy_bind_off 49180
  264. EXE: lazy_bind_size 16
  265. EXE: export_off 49196
  266. EXE: export_size 44
  267. EXE: Load command 5
  268. EXE: cmd LC_SYMTAB
  269. EXE: cmdsize 24
  270. EXE: symoff 49264
  271. EXE: nsyms 5
  272. EXE: stroff 49340
  273. EXE: strsize 68
  274. EXE: Load command 6
  275. EXE: cmd LC_DYSYMTAB
  276. EXE: cmdsize 80
  277. EXE: ilocalsym 0
  278. EXE: nlocalsym 1
  279. EXE: iextdefsym 1
  280. EXE: nextdefsym 2
  281. EXE: iundefsym 3
  282. EXE: nundefsym 2
  283. EXE: tocoff 0
  284. EXE: ntoc 0
  285. EXE: modtaboff 0
  286. EXE: nmodtab 0
  287. EXE: extrefsymoff 0
  288. EXE: nextrefsyms 0
  289. EXE: indirectsymoff 49324
  290. EXE: nindirectsyms 4
  291. EXE: extreloff 0
  292. EXE: nextrel 0
  293. EXE: locreloff 0
  294. EXE: nlocrel 0
  295. EXE: Load command 7
  296. EXE: cmd LC_LOAD_DYLINKER
  297. EXE: cmdsize 28
  298. EXE: name /usr/lib/dyld (offset 12)
  299. EXE: Load command 8
  300. EXE: cmd LC_UUID
  301. EXE: cmdsize 24
  302. EXE: uuid C2D9351C-1EF1-330B-A2AB-EED6CF7D2C5D
  303. EXE: Load command 9
  304. EXE: cmd LC_VERSION_MIN_IPHONEOS
  305. EXE: cmdsize 16
  306. EXE: version 8.0
  307. EXE: sdk 8.0
  308. EXE: Load command 10
  309. EXE: cmd LC_SOURCE_VERSION
  310. EXE: cmdsize 16
  311. EXE: version 0.0
  312. EXE: Load command 11
  313. EXE: cmd LC_MAIN
  314. EXE: cmdsize 24
  315. EXE: entryoff 32645
  316. EXE: stacksize 0
  317. EXE: Load command 12
  318. EXE: cmd LC_ENCRYPTION_INFO
  319. EXE: cmdsize 20
  320. EXE: cryptoff 16384
  321. EXE: cryptsize 16384
  322. EXE: cryptid 0
  323. EXE: Load command 13
  324. EXE: cmd LC_LOAD_DYLIB
  325. EXE: cmdsize 52
  326. EXE: name /usr/lib/libSystem.B.dylib (offset 24)
  327. EXE: current version 1213.0.0
  328. EXE: compatibility version 1.0.0
  329. EXE: Load command 14
  330. EXE: cmd LC_FUNCTION_STARTS
  331. EXE: cmdsize 16
  332. EXE: dataoff 49240
  333. EXE: datasize 4
  334. EXE: Load command 15
  335. EXE: cmd LC_DATA_IN_CODE
  336. EXE: cmdsize 16
  337. EXE: dataoff 49244
  338. EXE: datasize 0
  339. EXE: Load command 16
  340. EXE: cmd LC_DYLIB_CODE_SIGN_DRS
  341. EXE: cmdsize 16
  342. EXE: dataoff 49244
  343. EXE: datasize 20