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