hp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  1. #------------------------------------------------------------------------------
  2. # $File: hp,v 1.25 2019/01/13 00:32:38 christos Exp $
  3. # hp: file(1) magic for Hewlett Packard machines (see also "printer")
  4. #
  5. # XXX - somebody should figure out whether any byte order needs to be
  6. # applied to the "TML" stuff; I'm assuming the Apollo stuff is
  7. # big-endian as it was mostly 68K-based.
  8. #
  9. # I think the 500 series was the old stack-based machines, running a
  10. # UNIX environment atop the "SUN kernel"; dunno whether it was
  11. # big-endian or little-endian.
  12. #
  13. # Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based;
  14. # hp300 are 68020+68881 based; hp400 are also 68k. The following basic
  15. # HP magic is useful for reference, but using "long" magic is a better
  16. # practice in order to avoid collisions.
  17. #
  18. # Guy Harris (guy@netapp.com): some additions to this list came from
  19. # HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1,
  20. # 1.2, and 2.0). The 1.2 and 2.0 stuff isn't in the HP-UX 10.0
  21. # "/etc/magic", though, except for the "archive file relocatable library"
  22. # stuff, and the 68030 and 68040 stuff isn't there at all - are they not
  23. # used in executables, or have they just not yet updated "/etc/magic"
  24. # completely?
  25. #
  26. # 0 beshort 200 hp200 (68010) BSD binary
  27. # 0 beshort 300 hp300 (68020+68881) BSD binary
  28. # 0 beshort 0x20c hp200/300 HP-UX binary
  29. # 0 beshort 0x20d hp400 (68030) HP-UX binary
  30. # 0 beshort 0x20e hp400 (68040?) HP-UX binary
  31. # 0 beshort 0x20b PA-RISC1.0 HP-UX binary
  32. # 0 beshort 0x210 PA-RISC1.1 HP-UX binary
  33. # 0 beshort 0x211 PA-RISC1.2 HP-UX binary
  34. # 0 beshort 0x214 PA-RISC2.0 HP-UX binary
  35. #
  36. # The "misc" stuff needs a byte order; the archives look suspiciously
  37. # like the old 177545 archives (0xff65 = 0177545).
  38. #
  39. #### Old Apollo stuff
  40. 0 beshort 0627 Apollo m68k COFF executable
  41. >18 beshort ^040000 not stripped
  42. >22 beshort >0 - version %d
  43. 0 beshort 0624 apollo a88k COFF executable
  44. >18 beshort ^040000 not stripped
  45. >22 beshort >0 - version %d
  46. 0 long 01203604016 TML 0123 byte-order format
  47. 0 long 01702407010 TML 1032 byte-order format
  48. 0 long 01003405017 TML 2301 byte-order format
  49. 0 long 01602007412 TML 3210 byte-order format
  50. #### PA-RISC 1.1
  51. 0 belong 0x02100106 PA-RISC1.1 relocatable object
  52. 0 belong 0x02100107 PA-RISC1.1 executable
  53. >168 belong &0x00000004 dynamically linked
  54. >(144) belong 0x054ef630 dynamically linked
  55. >96 belong >0 - not stripped
  56. 0 belong 0x02100108 PA-RISC1.1 shared executable
  57. >168 belong&0x4 0x4 dynamically linked
  58. >(144) belong 0x054ef630 dynamically linked
  59. >96 belong >0 - not stripped
  60. 0 belong 0x0210010b PA-RISC1.1 demand-load executable
  61. >168 belong&0x4 0x4 dynamically linked
  62. >(144) belong 0x054ef630 dynamically linked
  63. >96 belong >0 - not stripped
  64. 0 belong 0x0210010e PA-RISC1.1 shared library
  65. >96 belong >0 - not stripped
  66. 0 belong 0x0210010d PA-RISC1.1 dynamic load library
  67. >96 belong >0 - not stripped
  68. #### PA-RISC 2.0
  69. 0 belong 0x02140106 PA-RISC2.0 relocatable object
  70. 0 belong 0x02140107 PA-RISC2.0 executable
  71. >168 belong &0x00000004 dynamically linked
  72. >(144) belong 0x054ef630 dynamically linked
  73. >96 belong >0 - not stripped
  74. 0 belong 0x02140108 PA-RISC2.0 shared executable
  75. >168 belong &0x00000004 dynamically linked
  76. >(144) belong 0x054ef630 dynamically linked
  77. >96 belong >0 - not stripped
  78. 0 belong 0x0214010b PA-RISC2.0 demand-load executable
  79. >168 belong &0x00000004 dynamically linked
  80. >(144) belong 0x054ef630 dynamically linked
  81. >96 belong >0 - not stripped
  82. 0 belong 0x0214010e PA-RISC2.0 shared library
  83. >96 belong >0 - not stripped
  84. 0 belong 0x0214010d PA-RISC2.0 dynamic load library
  85. >96 belong >0 - not stripped
  86. #### 800
  87. 0 belong 0x020b0106 PA-RISC1.0 relocatable object
  88. 0 belong 0x020b0107 PA-RISC1.0 executable
  89. >168 belong&0x4 0x4 dynamically linked
  90. >(144) belong 0x054ef630 dynamically linked
  91. >96 belong >0 - not stripped
  92. 0 belong 0x020b0108 PA-RISC1.0 shared executable
  93. >168 belong&0x4 0x4 dynamically linked
  94. >(144) belong 0x054ef630 dynamically linked
  95. >96 belong >0 - not stripped
  96. 0 belong 0x020b010b PA-RISC1.0 demand-load executable
  97. >168 belong&0x4 0x4 dynamically linked
  98. >(144) belong 0x054ef630 dynamically linked
  99. >96 belong >0 - not stripped
  100. 0 belong 0x020b010e PA-RISC1.0 shared library
  101. >96 belong >0 - not stripped
  102. 0 belong 0x020b010d PA-RISC1.0 dynamic load library
  103. >96 belong >0 - not stripped
  104. #### 500
  105. 0 long 0x02080106 HP s500 relocatable executable
  106. >16 long >0 - version %d
  107. 0 long 0x02080107 HP s500 executable
  108. >16 long >0 - version %d
  109. 0 long 0x02080108 HP s500 pure executable
  110. >16 long >0 - version %d
  111. #### 200
  112. 0 belong 0x020c0108 HP s200 pure executable
  113. >4 beshort >0 - version %d
  114. >8 belong &0x80000000 save fp regs
  115. >8 belong &0x40000000 dynamically linked
  116. >8 belong &0x20000000 debuggable
  117. >36 belong >0 not stripped
  118. 0 belong 0x020c0107 HP s200 executable
  119. >4 beshort >0 - version %d
  120. >8 belong &0x80000000 save fp regs
  121. >8 belong &0x40000000 dynamically linked
  122. >8 belong &0x20000000 debuggable
  123. >36 belong >0 not stripped
  124. 0 belong 0x020c010b HP s200 demand-load executable
  125. >4 beshort >0 - version %d
  126. >8 belong &0x80000000 save fp regs
  127. >8 belong &0x40000000 dynamically linked
  128. >8 belong &0x20000000 debuggable
  129. >36 belong >0 not stripped
  130. 0 belong 0x020c0106 HP s200 relocatable executable
  131. >4 beshort >0 - version %d
  132. >6 beshort >0 - highwater %d
  133. >8 belong &0x80000000 save fp regs
  134. >8 belong &0x20000000 debuggable
  135. >8 belong &0x10000000 PIC
  136. 0 belong 0x020a0108 HP s200 (2.x release) pure executable
  137. >4 beshort >0 - version %d
  138. >36 belong >0 not stripped
  139. 0 belong 0x020a0107 HP s200 (2.x release) executable
  140. >4 beshort >0 - version %d
  141. >36 belong >0 not stripped
  142. 0 belong 0x020c010e HP s200 shared library
  143. >4 beshort >0 - version %d
  144. >6 beshort >0 - highwater %d
  145. >36 belong >0 not stripped
  146. 0 belong 0x020c010d HP s200 dynamic load library
  147. >4 beshort >0 - version %d
  148. >6 beshort >0 - highwater %d
  149. >36 belong >0 not stripped
  150. #### MISC
  151. 0 long 0x0000ff65 HP old archive
  152. 0 long 0x020aff65 HP s200 old archive
  153. 0 long 0x020cff65 HP s200 old archive
  154. 0 long 0x0208ff65 HP s500 old archive
  155. 0 long 0x015821a6 HP core file
  156. 0 long 0x4da7eee8 HP-WINDOWS font
  157. >8 byte >0 - version %d
  158. 0 string Bitmapfile HP Bitmapfile
  159. 0 string IMGfile CIS compimg HP Bitmapfile
  160. # XXX - see "lif"
  161. #0 short 0x8000 lif file
  162. 0 long 0x020c010c compiled Lisp
  163. 0 string msgcat01 HP NLS message catalog,
  164. >8 long >0 %d messages
  165. # Summary: HP-48/49 calculator
  166. # Created by: phk@data.fls.dk
  167. # Modified by (1): AMAKAWA Shuhei <sa264@cam.ac.uk>
  168. # Modified by (2): Samuel Thibault <samuel.thibault@ens-lyon.org> (HP49 support)
  169. 0 string HPHP HP
  170. >4 string 48 48 binary
  171. >4 string 49 49 binary
  172. >7 byte >64 - Rev %c
  173. >8 leshort 0x2911 (ADR)
  174. >8 leshort 0x2933 (REAL)
  175. >8 leshort 0x2955 (LREAL)
  176. >8 leshort 0x2977 (COMPLX)
  177. >8 leshort 0x299d (LCOMPLX)
  178. >8 leshort 0x29bf (CHAR)
  179. >8 leshort 0x29e8 (ARRAY)
  180. >8 leshort 0x2a0a (LNKARRAY)
  181. >8 leshort 0x2a2c (STRING)
  182. >8 leshort 0x2a4e (HXS)
  183. >8 leshort 0x2a74 (LIST)
  184. >8 leshort 0x2a96 (DIR)
  185. >8 leshort 0x2ab8 (ALG)
  186. >8 leshort 0x2ada (UNIT)
  187. >8 leshort 0x2afc (TAGGED)
  188. >8 leshort 0x2b1e (GROB)
  189. >8 leshort 0x2b40 (LIB)
  190. >8 leshort 0x2b62 (BACKUP)
  191. >8 leshort 0x2b88 (LIBDATA)
  192. >8 leshort 0x2d9d (PROG)
  193. >8 leshort 0x2dcc (CODE)
  194. >8 leshort 0x2e48 (GNAME)
  195. >8 leshort 0x2e6d (LNAME)
  196. >8 leshort 0x2e92 (XLIB)
  197. 0 string %%HP: HP text
  198. >6 string T(0) - T(0)
  199. >6 string T(1) - T(1)
  200. >6 string T(2) - T(2)
  201. >6 string T(3) - T(3)
  202. >10 string A(D) A(D)
  203. >10 string A(R) A(R)
  204. >10 string A(G) A(G)
  205. >14 string F(.) F(.);
  206. >14 string F(,) F(,);
  207. # Summary: HP-38/39 calculator
  208. # Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
  209. 0 string HP3
  210. >3 string 8 HP 38
  211. >3 string 9 HP 39
  212. >4 string Bin binary
  213. >4 string Asc ASCII
  214. >7 string A (Directory List)
  215. >7 string B (Zaplet)
  216. >7 string C (Note)
  217. >7 string D (Program)
  218. >7 string E (Variable)
  219. >7 string F (List)
  220. >7 string G (Matrix)
  221. >7 string H (Library)
  222. >7 string I (Target List)
  223. >7 string J (ASCII Vector specification)
  224. >7 string K (wildcard)
  225. # Summary: HP-38/39 calculator
  226. # Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
  227. 0 string HP3
  228. >3 string 8 HP 38
  229. >3 string 9 HP 39
  230. >4 string Bin binary
  231. >4 string Asc ASCII
  232. >7 string A (Directory List)
  233. >7 string B (Zaplet)
  234. >7 string C (Note)
  235. >7 string D (Program)
  236. >7 string E (Variable)
  237. >7 string F (List)
  238. >7 string G (Matrix)
  239. >7 string H (Library)
  240. >7 string I (Target List)
  241. >7 string J (ASCII Vector specification)
  242. >7 string K (wildcard)
  243. # hpBSD magic numbers
  244. 0 beshort 200 hp200 (68010) BSD
  245. >2 beshort 0407 impure binary
  246. >2 beshort 0410 read-only binary
  247. >2 beshort 0413 demand paged binary
  248. 0 beshort 300 hp300 (68020+68881) BSD
  249. >2 beshort 0407 impure binary
  250. >2 beshort 0410 read-only binary
  251. >2 beshort 0413 demand paged binary
  252. #
  253. # From David Gero <dgero@nortelnetworks.com>
  254. # HP-UX 10.20 core file format from /usr/include/sys/core.h
  255. # Unfortunately, HP-UX uses corehead blocks without specifying the order
  256. # There are four we care about:
  257. # CORE_KERNEL, which starts with the string "HP-UX"
  258. # CORE_EXEC, which contains the name of the command
  259. # CORE_PROC, which contains the signal number that caused the core dump
  260. # CORE_FORMAT, which contains the version of the core file format (== 1)
  261. # The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC
  262. # but we include all 6 variations of the order of the first 3, and
  263. # assume that PROC will always be last
  264. # Order 1: KERNEL, EXEC, FORMAT, PROC
  265. 0x10 string HP-UX
  266. >0 belong 2
  267. >>0xC belong 0x3C
  268. >>>0x4C belong 0x100
  269. >>>>0x58 belong 0x44
  270. >>>>>0xA0 belong 1
  271. >>>>>>0xAC belong 4
  272. >>>>>>>0xB0 belong 1
  273. >>>>>>>>0xB4 belong 4 core file
  274. >>>>>>>>>0x90 string >\0 from '%s'
  275. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  276. >>>>>>>>>0xC4 belong 4 - received SIGILL
  277. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  278. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  279. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  280. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  281. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  282. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  283. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  284. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  285. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  286. # Order 2: KERNEL, FORMAT, EXEC, PROC
  287. >>>0x4C belong 1
  288. >>>>0x58 belong 4
  289. >>>>>0x5C belong 1
  290. >>>>>>0x60 belong 0x100
  291. >>>>>>>0x6C belong 0x44
  292. >>>>>>>>0xB4 belong 4 core file
  293. >>>>>>>>>0xA4 string >\0 from '%s'
  294. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  295. >>>>>>>>>0xC4 belong 4 - received SIGILL
  296. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  297. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  298. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  299. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  300. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  301. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  302. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  303. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  304. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  305. # Order 3: FORMAT, KERNEL, EXEC, PROC
  306. 0x24 string HP-UX
  307. >0 belong 1
  308. >>0xC belong 4
  309. >>>0x10 belong 1
  310. >>>>0x14 belong 2
  311. >>>>>0x20 belong 0x3C
  312. >>>>>>0x60 belong 0x100
  313. >>>>>>>0x6C belong 0x44
  314. >>>>>>>>0xB4 belong 4 core file
  315. >>>>>>>>>0xA4 string >\0 from '%s'
  316. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  317. >>>>>>>>>0xC4 belong 4 - received SIGILL
  318. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  319. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  320. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  321. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  322. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  323. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  324. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  325. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  326. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  327. # Order 4: EXEC, KERNEL, FORMAT, PROC
  328. 0x64 string HP-UX
  329. >0 belong 0x100
  330. >>0xC belong 0x44
  331. >>>0x54 belong 2
  332. >>>>0x60 belong 0x3C
  333. >>>>>0xA0 belong 1
  334. >>>>>>0xAC belong 4
  335. >>>>>>>0xB0 belong 1
  336. >>>>>>>>0xB4 belong 4 core file
  337. >>>>>>>>>0x44 string >\0 from '%s'
  338. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  339. >>>>>>>>>0xC4 belong 4 - received SIGILL
  340. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  341. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  342. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  343. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  344. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  345. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  346. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  347. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  348. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  349. # Order 5: FORMAT, EXEC, KERNEL, PROC
  350. 0x78 string HP-UX
  351. >0 belong 1
  352. >>0xC belong 4
  353. >>>0x10 belong 1
  354. >>>>0x14 belong 0x100
  355. >>>>>0x20 belong 0x44
  356. >>>>>>0x68 belong 2
  357. >>>>>>>0x74 belong 0x3C
  358. >>>>>>>>0xB4 belong 4 core file
  359. >>>>>>>>>0x58 string >\0 from '%s'
  360. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  361. >>>>>>>>>0xC4 belong 4 - received SIGILL
  362. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  363. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  364. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  365. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  366. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  367. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  368. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  369. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  370. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ
  371. # Order 6: EXEC, FORMAT, KERNEL, PROC
  372. >0 belong 0x100
  373. >>0xC belong 0x44
  374. >>>0x54 belong 1
  375. >>>>0x60 belong 4
  376. >>>>>0x64 belong 1
  377. >>>>>>0x68 belong 2
  378. >>>>>>>0x74 belong 0x2C
  379. >>>>>>>>0xB4 belong 4 core file
  380. >>>>>>>>>0x44 string >\0 from '%s'
  381. >>>>>>>>>0xC4 belong 3 - received SIGQUIT
  382. >>>>>>>>>0xC4 belong 4 - received SIGILL
  383. >>>>>>>>>0xC4 belong 5 - received SIGTRAP
  384. >>>>>>>>>0xC4 belong 6 - received SIGABRT
  385. >>>>>>>>>0xC4 belong 7 - received SIGEMT
  386. >>>>>>>>>0xC4 belong 8 - received SIGFPE
  387. >>>>>>>>>0xC4 belong 10 - received SIGBUS
  388. >>>>>>>>>0xC4 belong 11 - received SIGSEGV
  389. >>>>>>>>>0xC4 belong 12 - received SIGSYS
  390. >>>>>>>>>0xC4 belong 33 - received SIGXCPU
  391. >>>>>>>>>0xC4 belong 34 - received SIGXFSZ