xref: /freebsd/contrib/file/magic/Magdir/netbsd (revision 48c779cdecb5f803e5fe5d761987e976ca9609db)
1
2#------------------------------------------------------------------------------
3# $File: netbsd,v 1.26 2019/01/01 03:11:23 christos Exp $
4# netbsd:  file(1) magic for NetBSD objects
5#
6# All new-style magic numbers are in network byte order.
7# The old-style magic numbers are indistinguishable from the same magic
8# numbers used in other systems, and are handled, for all those systems,
9# in aout.
10#
11
120	name	netbsd-detail
13>20	lelong	x		@%#x
14>4	lelong	>0		\b+T=%d
15>8	lelong	>0		\b+D=%d
16>12	lelong	>0		\b+B=%d
17>16	lelong	>0		\b+S=%d
18>24	lelong	>0		\b+TR=%d
19>28	lelong	>0		\b+TD=%d
20
210	name			netbsd-4096
22>0	byte			&0x80
23>>20	lelong			<4096		shared library
24>>20	lelong			=4096		dynamically linked executable
25>>20	lelong			>4096		dynamically linked executable
26>0	byte			^0x80		executable
27>16	lelong			>0		not stripped
28
290	name			netbsd-8192
30>0	byte			&0x80
31>>20	lelong			<8192		shared library
32>>20	lelong			=8192		dynamically linked executable
33>>20	lelong			>8192		dynamically linked executable
34>0	byte			^0x80		executable
35>16	lelong			>0		not stripped
36>0	use			netbsd-detail
37
380	name			netbsd-normal
39>0	byte			&0x80		dynamically linked executable
40>0	byte			^0x80
41>>0	byte			&0x40		position independent
42>>20	lelong			!0		executable
43>>20	lelong			=0		object file
44>16	lelong			>0		not stripped
45>0	use			netbsd-detail
46
470	name			netbsd-pure
48>0	byte			&0x80		dynamically linked executable
49>0	byte			^0x80		executable
50>16	lelong			>0		not stripped
51>0	use			netbsd-detail
52
530	name			netbsd-core
54>12	string			>\0		from '%s'
55>32	lelong			!0		(signal %d)
56
570	belong&0377777777	041400413	a.out NetBSD/i386 demand paged
58>0	use			netbsd-4096
59
600	belong&0377777777	041400410	a.out NetBSD/i386 pure
61>0	use			netbsd-pure
62
630	belong&0377777777	041400407	a.out NetBSD/i386
64>0	use			netbsd-normal
65
660	belong&0377777777	041400507	a.out NetBSD/i386 core
67>0	use			netbsd-core
68
690	belong&0377777777	041600413	a.out NetBSD/m68k demand paged
70>0	use			\^netbsd-8192
71
720	belong&0377777777	041600410	a.out NetBSD/m68k pure
73>0	use			\^netbsd-pure
74
750	belong&0377777777	041600407	a.out NetBSD/m68k
76>0	use			\^netbsd-normal
77
780	belong&0377777777	041600507	a.out NetBSD/m68k core
79>0	use			\^netbsd-core
80
810	belong&0377777777	042000413	a.out NetBSD/m68k4k demand paged
82>0	use			\^netbsd-4096
83
840	belong&0377777777	042000410	a.out NetBSD/m68k4k pure
85>0	use			\^netbsd-pure
86
870	belong&0377777777	042000407	a.out NetBSD/m68k4k
88>0	use			\^netbsd-normal
89
900	belong&0377777777	042000507	a.out NetBSD/m68k4k core
91>0	use			\^netbsd-core
92
930	belong&0377777777	042200413	a.out NetBSD/ns32532 demand paged
94>0	use			netbsd-4096
95
960	belong&0377777777	042200410	a.out NetBSD/ns32532 pure
97>0	use			netbsd-pure
98
990	belong&0377777777	042200407	a.out NetBSD/ns32532
100>0	use			netbsd-normal
101
1020	belong&0377777777	042200507	a.out NetBSD/ns32532 core
103>0	use			netbsd-core
104
1050	belong&0377777777	045200507	a.out NetBSD/powerpc core
106>0	use			netbsd-core
107
1080	belong&0377777777	042400413	a.out NetBSD/SPARC demand paged
109>0	use			\^netbsd-8192
110
1110	belong&0377777777	042400410	a.out NetBSD/SPARC pure
112>0	use			\^netbsd-pure
113
1140	belong&0377777777	042400407	a.out NetBSD/SPARC
115>0	use			\^netbsd-normal
116
1170	belong&0377777777	042400507	a.out NetBSD/SPARC core
118>0	use			\^netbsd-core
119
1200	belong&0377777777	042600413	a.out NetBSD/pmax demand paged
121>0	use			netbsd-4096
122
1230	belong&0377777777	042600410	a.out NetBSD/pmax pure
124>0	use			\^netbsd-pure
125
1260	belong&0377777777	042600407	a.out NetBSD/pmax
127>0	use			netbsd-normal
128
1290	belong&0377777777	042600507	a.out NetBSD/pmax core
130>0	use			netbsd-core
131
1320	belong&0377777777	043000413	a.out NetBSD/vax 1k demand paged
133>0	use			netbsd-4096
134
1350	belong&0377777777	043000410	a.out NetBSD/vax 1k pure
136>0	use			netbsd-pure
137
1380	belong&0377777777	043000407	a.out NetBSD/vax 1k
139>0	use			netbsd-normal
140
1410	belong&0377777777	043000507	a.out NetBSD/vax 1k core
142>0	use			netbsd-core
143
1440	belong&0377777777	045400413	a.out NetBSD/vax 4k demand paged
145>0	use			netbsd-4096
146
1470	belong&0377777777	045400410	a.out NetBSD/vax 4k pure
148>0	use			netbsd-pure
149
1500	belong&0377777777	045400407	a.out NetBSD/vax 4k
151>0	use			netbsd-normal
152
1530	belong&0377777777	045400507	a.out NetBSD/vax 4k core
154>0	use			netbsd-core
155
156# NetBSD/alpha does not support (and has never supported) a.out objects,
157# so no rules are provided for them.  NetBSD/alpha ELF objects are
158# dealt with in "elf".
1590	lelong		0x00070185		ECOFF NetBSD/alpha binary
160>10	leshort		0x0001			not stripped
161>10	leshort		0x0000			stripped
1620	belong&0377777777	043200507	a.out NetBSD/alpha core
163>12	string			>\0		from '%s'
164>32	lelong			!0		(signal %d)
165
1660	belong&0377777777	043400413	a.out NetBSD/mips demand paged
167>0	use			\^netbsd-8192
168
169>16	belong			>0		not stripped
1700	belong&0377777777	043400410	a.out NetBSD/mips pure
171>0	use			netbsd-pure
172
1730	belong&0377777777	043400407	a.out NetBSD/mips
174>0	use			netbsd-normal
175
1760	belong&0377777777	043400507	a.out NetBSD/mips core
177>0	use			netbsd-core
178
1790	belong&0377777777	043600413	a.out NetBSD/arm32 demand paged
180>0	use			netbsd-4096
181
1820	belong&0377777777	043600410	a.out NetBSD/arm32 pure
183>0	use			netbsd-pure
184
1850	belong&0377777777	043600407	a.out NetBSD/arm32
186>0	use			netbsd-normal
187
188# NetBSD/arm26 has always used ELF objects, but it shares a core file
189# format with NetBSD/arm32.
1900	belong&0377777777	043600507	a.out NetBSD/arm core
191>0	use			netbsd-core
192
193# Kernel core dump format
1940	belong&0x0000ffff 0x00008fca	NetBSD kernel core file
195>0	belong&0x03ff0000 0x00000000	\b, Unknown
196>0	belong&0x03ff0000 0x00010000	\b, sun 68010/68020
197>0	belong&0x03ff0000 0x00020000	\b, sun 68020
198>0	belong&0x03ff0000 0x00640000	\b, 386 PC
199>0	belong&0x03ff0000 0x00860000	\b, i386 BSD
200>0	belong&0x03ff0000 0x00870000	\b, m68k BSD (8K pages)
201>0	belong&0x03ff0000 0x00880000	\b, m68k BSD (4K pages)
202>0	belong&0x03ff0000 0x00890000	\b, ns32532 BSD
203>0	belong&0x03ff0000 0x008a0000	\b, SPARC/32 BSD
204>0	belong&0x03ff0000 0x008b0000	\b, pmax BSD
205>0	belong&0x03ff0000 0x008c0000	\b, vax BSD (1K pages)
206>0	belong&0x03ff0000 0x008d0000	\b, alpha BSD
207>0	belong&0x03ff0000 0x008e0000	\b, mips BSD (Big Endian)
208>0	belong&0x03ff0000 0x008f0000	\b, arm6 BSD
209>0	belong&0x03ff0000 0x00900000	\b, m68k BSD (2K pages)
210>0	belong&0x03ff0000 0x00910000	\b, sh3 BSD
211>0	belong&0x03ff0000 0x00950000	\b, ppc BSD (Big Endian)
212>0	belong&0x03ff0000 0x00960000	\b, vax BSD (4K pages)
213>0	belong&0x03ff0000 0x00970000	\b, mips1 BSD
214>0	belong&0x03ff0000 0x00980000	\b, mips2 BSD
215>0	belong&0x03ff0000 0x00990000	\b, m88k BSD
216>0	belong&0x03ff0000 0x00920000	\b, parisc BSD
217>0	belong&0x03ff0000 0x009b0000	\b, sh5/64 BSD
218>0	belong&0x03ff0000 0x009c0000	\b, SPARC/64 BSD
219>0	belong&0x03ff0000 0x009d0000	\b, amd64 BSD
220>0	belong&0x03ff0000 0x009e0000	\b, sh5/32 BSD
221>0	belong&0x03ff0000 0x009f0000	\b, ia64 BSD
222>0	belong&0x03ff0000 0x00b70000	\b, aarch64 BSD
223>0	belong&0x03ff0000 0x00b80000	\b, or1k BSD
224>0	belong&0x03ff0000 0x00b90000	\b, Risk-V BSD
225>0	belong&0x03ff0000 0x00c80000	\b, hp200 BSD
226>0	belong&0x03ff0000 0x012c0000	\b, hp300 BSD
227>0	belong&0x03ff0000 0x020b0000	\b, hp800 HP-UX
228>0	belong&0x03ff0000 0x020c0000	\b, hp200/hp300 HP-UX
229>0	belong&0xfc000000 0x04000000	\b, CPU
230>0	belong&0xfc000000 0x08000000	\b, DATA
231>0	belong&0xfc000000 0x10000000	\b, STACK
232>4	leshort	x			\b, (headersize = %d
233>6	leshort	x			\b, segmentsize = %d
234>8	lelong	x			\b, segments = %d)
235
236# little endian only for now.
2370	name		ktrace
238>4	leshort		7
239>>6	leshort		<3		NetBSD ktrace file version %d
240>>>12	string		x		from %s
241>>>56	string		x		\b, emulation %s
242>>>8	lelong		<65536		\b, pid=%d
243
24456	string		netbsd
245>0	use		ktrace
24656	string		linux
247>0	use		ktrace
24856	string		sunos
249>0	use		ktrace
25056	string		hpux
251>0	use		ktrace
252