mach 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. #------------------------------------------------------------
  2. # $File: mach,v 1.20 2015/05/21 18:28:41 christos Exp $
  3. # Mach has two magic numbers, 0xcafebabe and 0xfeedface.
  4. # Unfortunately the first, cafebabe, is shared with
  5. # Java ByteCode, so they are both handled in the file "cafebabe".
  6. # The "feedface" ones are handled herein.
  7. #------------------------------------------------------------
  8. # if set, it's for the 64-bit version of the architecture
  9. # yes, this is separate from the low-order magic number bit
  10. # it's also separate from the "64-bit libraries" bit in the
  11. # upper 8 bits of the CPU subtype
  12. 0 name mach-o-cpu
  13. >0 belong&0x01000000 0
  14. #
  15. # 32-bit ABIs.
  16. #
  17. # 1 vax
  18. >>0 belong&0x00ffffff 1
  19. >>>4 belong&0x00ffffff 0 vax
  20. >>>4 belong&0x00ffffff 1 vax11/780
  21. >>>4 belong&0x00ffffff 2 vax11/785
  22. >>>4 belong&0x00ffffff 3 vax11/750
  23. >>>4 belong&0x00ffffff 4 vax11/730
  24. >>>4 belong&0x00ffffff 5 uvaxI
  25. >>>4 belong&0x00ffffff 6 uvaxII
  26. >>>4 belong&0x00ffffff 7 vax8200
  27. >>>4 belong&0x00ffffff 8 vax8500
  28. >>>4 belong&0x00ffffff 9 vax8600
  29. >>>4 belong&0x00ffffff 10 vax8650
  30. >>>4 belong&0x00ffffff 11 vax8800
  31. >>>4 belong&0x00ffffff 12 uvaxIII
  32. >>>4 belong&0x00ffffff >12 vax subarchitecture=%d
  33. >>0 belong&0x00ffffff 2 romp
  34. >>0 belong&0x00ffffff 3 architecture=3
  35. >>0 belong&0x00ffffff 4 ns32032
  36. >>0 belong&0x00ffffff 5 ns32332
  37. >>0 belong&0x00ffffff 6 m68k
  38. # 7 x86
  39. >>0 belong&0x00ffffff 7
  40. >>>4 belong&0x0000000f 3 i386
  41. >>>4 belong&0x0000000f 4 i486
  42. >>>>4 belong&0x00fffff0 0
  43. >>>>4 belong&0x00fffff0 0x80 \bsx
  44. >>>4 belong&0x0000000f 5 i586
  45. >>>4 belong&0x0000000f 6
  46. >>>>4 belong&0x00fffff0 0 p6
  47. >>>>4 belong&0x00fffff0 0x10 pentium_pro
  48. >>>>4 belong&0x00fffff0 0x20 pentium_2_m0x20
  49. >>>>4 belong&0x00fffff0 0x30 pentium_2_m3
  50. >>>>4 belong&0x00fffff0 0x40 pentium_2_m0x40
  51. >>>>4 belong&0x00fffff0 0x50 pentium_2_m5
  52. >>>>4 belong&0x00fffff0 >0x50 pentium_2_m0x%x
  53. >>>4 belong&0x0000000f 7 celeron
  54. >>>>4 belong&0x00fffff0 0x00 \b_m0x%x
  55. >>>>4 belong&0x00fffff0 0x10 \b_m0x%x
  56. >>>>4 belong&0x00fffff0 0x20 \b_m0x%x
  57. >>>>4 belong&0x00fffff0 0x30 \b_m0x%x
  58. >>>>4 belong&0x00fffff0 0x40 \b_m0x%x
  59. >>>>4 belong&0x00fffff0 0x50 \b_m0x%x
  60. >>>>4 belong&0x00fffff0 0x60
  61. >>>>4 belong&0x00fffff0 0x70 \b_mobile
  62. >>>>4 belong&0x00fffff0 >0x70 \b_m0x%x
  63. >>>4 belong&0x0000000f 8 pentium_3
  64. >>>>4 belong&0x00fffff0 0x00
  65. >>>>4 belong&0x00fffff0 0x10 \b_m
  66. >>>>4 belong&0x00fffff0 0x20 \b_xeon
  67. >>>>4 belong&0x00fffff0 >0x20 \b_m0x%x
  68. >>>4 belong&0x0000000f 9 pentiumM
  69. >>>>4 belong&0x00fffff0 0x00
  70. >>>>4 belong&0x00fffff0 >0x00 \b_m0x%x
  71. >>>4 belong&0x0000000f 10 pentium_4
  72. >>>>4 belong&0x00fffff0 0x00
  73. >>>>4 belong&0x00fffff0 0x10 \b_m
  74. >>>>4 belong&0x00fffff0 >0x10 \b_m0x%x
  75. >>>4 belong&0x0000000f 11 itanium
  76. >>>>4 belong&0x00fffff0 0x00
  77. >>>>4 belong&0x00fffff0 0x10 \b_2
  78. >>>>4 belong&0x00fffff0 >0x10 \b_m0x%x
  79. >>>4 belong&0x0000000f 12 xeon
  80. >>>>4 belong&0x00fffff0 0x00
  81. >>>>4 belong&0x00fffff0 0x10 \b_mp
  82. >>>>4 belong&0x00fffff0 >0x10 \b_m0x%x
  83. >>>4 belong&0x0000000f >12 ia32 family=%d
  84. >>>>4 belong&0x00fffff0 0x00
  85. >>>>4 belong&0x00fffff0 >0x00 model=%x
  86. >>0 belong&0x00ffffff 8 mips
  87. >>>4 belong&0x00ffffff 1 R2300
  88. >>>4 belong&0x00ffffff 2 R2600
  89. >>>4 belong&0x00ffffff 3 R2800
  90. >>>4 belong&0x00ffffff 4 R2000a
  91. >>>4 belong&0x00ffffff 5 R2000
  92. >>>4 belong&0x00ffffff 6 R3000a
  93. >>>4 belong&0x00ffffff 7 R3000
  94. >>>4 belong&0x00ffffff >7 subarchitecture=%d
  95. >>0 belong&0x00ffffff 9 ns32532
  96. >>0 belong&0x00ffffff 10 mc98000
  97. >>0 belong&0x00ffffff 11 hppa
  98. >>>4 belong&0x00ffffff 0 7100
  99. >>>4 belong&0x00ffffff 1 7100LC
  100. >>>4 belong&0x00ffffff >1 subarchitecture=%d
  101. >>0 belong&0x00ffffff 12 arm
  102. >>>4 belong&0x00ffffff 0
  103. >>>4 belong&0x00ffffff 1 subarchitecture=%d
  104. >>>4 belong&0x00ffffff 2 subarchitecture=%d
  105. >>>4 belong&0x00ffffff 3 subarchitecture=%d
  106. >>>4 belong&0x00ffffff 4 subarchitecture=%d
  107. >>>4 belong&0x00ffffff 5 \b_v4t
  108. >>>4 belong&0x00ffffff 6 \b_v6
  109. >>>4 belong&0x00ffffff 7 \b_v5tej
  110. >>>4 belong&0x00ffffff 8 \b_xscale
  111. >>>4 belong&0x00ffffff 9 \b_v7
  112. >>>4 belong&0x00ffffff 10 \b_v7f
  113. >>>4 belong&0x00ffffff 11 subarchitecture=%d
  114. >>>4 belong&0x00ffffff 12 \b_v7k
  115. >>>4 belong&0x00ffffff >12 subarchitecture=%d
  116. # 13 m88k
  117. >>0 belong&0x00ffffff 13
  118. >>>4 belong&0x00ffffff 0 mc88000
  119. >>>4 belong&0x00ffffff 1 mc88100
  120. >>>4 belong&0x00ffffff 2 mc88110
  121. >>>4 belong&0x00ffffff >2 mc88000 subarchitecture=%d
  122. >>0 belong&0x00ffffff 14 SPARC
  123. >>0 belong&0x00ffffff 15 i860g
  124. >>0 belong&0x00ffffff 16 alpha
  125. >>0 belong&0x00ffffff 17 rs6000
  126. >>0 belong&0x00ffffff 18 ppc
  127. >>>4 belong&0x00ffffff 0
  128. >>>4 belong&0x00ffffff 1 \b_601
  129. >>>4 belong&0x00ffffff 2 \b_602
  130. >>>4 belong&0x00ffffff 3 \b_603
  131. >>>4 belong&0x00ffffff 4 \b_603e
  132. >>>4 belong&0x00ffffff 5 \b_603ev
  133. >>>4 belong&0x00ffffff 6 \b_604
  134. >>>4 belong&0x00ffffff 7 \b_604e
  135. >>>4 belong&0x00ffffff 8 \b_620
  136. >>>4 belong&0x00ffffff 9 \b_650
  137. >>>4 belong&0x00ffffff 10 \b_7400
  138. >>>4 belong&0x00ffffff 11 \b_7450
  139. >>>4 belong&0x00ffffff 100 \b_970
  140. >>>4 belong&0x00ffffff >100 subarchitecture=%d
  141. >>0 belong&0x00ffffff >18 architecture=%d
  142. >0 belong&0x01000000 0x01000000
  143. #
  144. # 64-bit ABIs.
  145. #
  146. >>0 belong&0x00ffffff 0 64-bit architecture=%d
  147. >>0 belong&0x00ffffff 1 64-bit architecture=%d
  148. >>0 belong&0x00ffffff 2 64-bit architecture=%d
  149. >>0 belong&0x00ffffff 3 64-bit architecture=%d
  150. >>0 belong&0x00ffffff 4 64-bit architecture=%d
  151. >>0 belong&0x00ffffff 5 64-bit architecture=%d
  152. >>0 belong&0x00ffffff 6 64-bit architecture=%d
  153. >>0 belong&0x00ffffff 7 x86_64
  154. >>>4 belong&0x00ffffff 0 subarchitecture=%d
  155. >>>4 belong&0x00ffffff 1 subarchitecture=%d
  156. >>>4 belong&0x00ffffff 2 subarchitecture=%d
  157. >>>4 belong&0x00ffffff 3
  158. >>>4 belong&0x00ffffff 4 \b_arch1
  159. >>>4 belong&0x00ffffff >4 subarchitecture=%d
  160. >>0 belong&0x00ffffff 8 64-bit architecture=%d
  161. >>0 belong&0x00ffffff 9 64-bit architecture=%d
  162. >>0 belong&0x00ffffff 10 64-bit architecture=%d
  163. >>0 belong&0x00ffffff 11 64-bit architecture=%d
  164. >>0 belong&0x00ffffff 12 64-bit architecture=%d
  165. >>0 belong&0x00ffffff 13 64-bit architecture=%d
  166. >>0 belong&0x00ffffff 14 64-bit architecture=%d
  167. >>0 belong&0x00ffffff 15 64-bit architecture=%d
  168. >>0 belong&0x00ffffff 16 64-bit architecture=%d
  169. >>0 belong&0x00ffffff 17 64-bit architecture=%d
  170. >>0 belong&0x00ffffff 18 ppc64
  171. >>>4 belong&0x00ffffff 0
  172. >>>4 belong&0x00ffffff 1 \b_601
  173. >>>4 belong&0x00ffffff 2 \b_602
  174. >>>4 belong&0x00ffffff 3 \b_603
  175. >>>4 belong&0x00ffffff 4 \b_603e
  176. >>>4 belong&0x00ffffff 5 \b_603ev
  177. >>>4 belong&0x00ffffff 6 \b_604
  178. >>>4 belong&0x00ffffff 7 \b_604e
  179. >>>4 belong&0x00ffffff 8 \b_620
  180. >>>4 belong&0x00ffffff 9 \b_650
  181. >>>4 belong&0x00ffffff 10 \b_7400
  182. >>>4 belong&0x00ffffff 11 \b_7450
  183. >>>4 belong&0x00ffffff 100 \b_970
  184. >>>4 belong&0x00ffffff >100 subarchitecture=%d
  185. >>0 belong&0x00ffffff >18 64-bit architecture=%d
  186. 0 name mach-o-be
  187. >0 byte 0xcf 64-bit
  188. >4 use mach-o-cpu
  189. >12 belong 1 object
  190. >12 belong 2 executable
  191. >12 belong 3 fixed virtual memory shared library
  192. >12 belong 4 core
  193. >12 belong 5 preload executable
  194. >12 belong 6 dynamically linked shared library
  195. >12 belong 7 dynamic linker
  196. >12 belong 8 bundle
  197. >12 belong 9 dynamically linked shared library stub
  198. >12 belong 10 dSYM companion file
  199. >12 belong 11 kext bundle
  200. >12 belong >11
  201. >>12 belong x filetype=%d
  202. #
  203. 0 lelong&0xfffffffe 0xfeedface Mach-O
  204. !:strength +1
  205. !:mime application/x-mach-binary
  206. >0 use \^mach-o-be
  207. 0 belong&0xfffffffe 0xfeedface Mach-O
  208. !:strength +1
  209. !:mime application/x-mach-binary
  210. >0 use mach-o-be