xref: /freebsd-src/contrib/file/magic/Magdir/netbsd (revision 48c779cdecb5f803e5fe5d761987e976ca9609db)
1b6cee71dSXin LI
2b6cee71dSXin LI#------------------------------------------------------------------------------
3*48c779cdSXin LI# $File: netbsd,v 1.26 2019/01/01 03:11:23 christos Exp $
4b6cee71dSXin LI# netbsd:  file(1) magic for NetBSD objects
5b6cee71dSXin LI#
6b6cee71dSXin LI# All new-style magic numbers are in network byte order.
7b6cee71dSXin LI# The old-style magic numbers are indistinguishable from the same magic
8b6cee71dSXin LI# numbers used in other systems, and are handled, for all those systems,
9b6cee71dSXin LI# in aout.
10b6cee71dSXin LI#
11b6cee71dSXin LI
12*48c779cdSXin LI0	name	netbsd-detail
13*48c779cdSXin LI>20	lelong	x		@%#x
14*48c779cdSXin LI>4	lelong	>0		\b+T=%d
15*48c779cdSXin LI>8	lelong	>0		\b+D=%d
16*48c779cdSXin LI>12	lelong	>0		\b+B=%d
17*48c779cdSXin LI>16	lelong	>0		\b+S=%d
18*48c779cdSXin LI>24	lelong	>0		\b+TR=%d
19*48c779cdSXin LI>28	lelong	>0		\b+TD=%d
20*48c779cdSXin LI
21*48c779cdSXin LI0	name			netbsd-4096
22b6cee71dSXin LI>0	byte			&0x80
23b6cee71dSXin LI>>20	lelong			<4096		shared library
24b6cee71dSXin LI>>20	lelong			=4096		dynamically linked executable
25b6cee71dSXin LI>>20	lelong			>4096		dynamically linked executable
26b6cee71dSXin LI>0	byte			^0x80		executable
27b6cee71dSXin LI>16	lelong			>0		not stripped
28*48c779cdSXin LI
29*48c779cdSXin LI0	name			netbsd-8192
30*48c779cdSXin LI>0	byte			&0x80
31*48c779cdSXin LI>>20	lelong			<8192		shared library
32*48c779cdSXin LI>>20	lelong			=8192		dynamically linked executable
33*48c779cdSXin LI>>20	lelong			>8192		dynamically linked executable
34b6cee71dSXin LI>0	byte			^0x80		executable
35b6cee71dSXin LI>16	lelong			>0		not stripped
36*48c779cdSXin LI>0	use			netbsd-detail
37*48c779cdSXin LI
38*48c779cdSXin LI0	name			netbsd-normal
39b6cee71dSXin LI>0	byte			&0x80		dynamically linked executable
40b6cee71dSXin LI>0	byte			^0x80
41b6cee71dSXin LI>>0	byte			&0x40		position independent
42b6cee71dSXin LI>>20	lelong			!0		executable
43b6cee71dSXin LI>>20	lelong			=0		object file
44b6cee71dSXin LI>16	lelong			>0		not stripped
45*48c779cdSXin LI>0	use			netbsd-detail
46*48c779cdSXin LI
47*48c779cdSXin LI0	name			netbsd-pure
48*48c779cdSXin LI>0	byte			&0x80		dynamically linked executable
49*48c779cdSXin LI>0	byte			^0x80		executable
50*48c779cdSXin LI>16	lelong			>0		not stripped
51*48c779cdSXin LI>0	use			netbsd-detail
52*48c779cdSXin LI
53*48c779cdSXin LI0	name			netbsd-core
54b6cee71dSXin LI>12	string			>\0		from '%s'
55b6cee71dSXin LI>32	lelong			!0		(signal %d)
56b6cee71dSXin LI
57*48c779cdSXin LI0	belong&0377777777	041400413	a.out NetBSD/i386 demand paged
58*48c779cdSXin LI>0	use			netbsd-4096
59*48c779cdSXin LI
60*48c779cdSXin LI0	belong&0377777777	041400410	a.out NetBSD/i386 pure
61*48c779cdSXin LI>0	use			netbsd-pure
62*48c779cdSXin LI
63*48c779cdSXin LI0	belong&0377777777	041400407	a.out NetBSD/i386
64*48c779cdSXin LI>0	use			netbsd-normal
65*48c779cdSXin LI
66*48c779cdSXin LI0	belong&0377777777	041400507	a.out NetBSD/i386 core
67*48c779cdSXin LI>0	use			netbsd-core
68*48c779cdSXin LI
69b6cee71dSXin LI0	belong&0377777777	041600413	a.out NetBSD/m68k demand paged
70*48c779cdSXin LI>0	use			\^netbsd-8192
71*48c779cdSXin LI
72b6cee71dSXin LI0	belong&0377777777	041600410	a.out NetBSD/m68k pure
73*48c779cdSXin LI>0	use			\^netbsd-pure
74*48c779cdSXin LI
75b6cee71dSXin LI0	belong&0377777777	041600407	a.out NetBSD/m68k
76*48c779cdSXin LI>0	use			\^netbsd-normal
77*48c779cdSXin LI
78b6cee71dSXin LI0	belong&0377777777	041600507	a.out NetBSD/m68k core
79*48c779cdSXin LI>0	use			\^netbsd-core
80b6cee71dSXin LI
81b6cee71dSXin LI0	belong&0377777777	042000413	a.out NetBSD/m68k4k demand paged
82*48c779cdSXin LI>0	use			\^netbsd-4096
83*48c779cdSXin LI
84b6cee71dSXin LI0	belong&0377777777	042000410	a.out NetBSD/m68k4k pure
85*48c779cdSXin LI>0	use			\^netbsd-pure
86*48c779cdSXin LI
87b6cee71dSXin LI0	belong&0377777777	042000407	a.out NetBSD/m68k4k
88*48c779cdSXin LI>0	use			\^netbsd-normal
89*48c779cdSXin LI
90b6cee71dSXin LI0	belong&0377777777	042000507	a.out NetBSD/m68k4k core
91*48c779cdSXin LI>0	use			\^netbsd-core
92b6cee71dSXin LI
93b6cee71dSXin LI0	belong&0377777777	042200413	a.out NetBSD/ns32532 demand paged
94*48c779cdSXin LI>0	use			netbsd-4096
95*48c779cdSXin LI
96b6cee71dSXin LI0	belong&0377777777	042200410	a.out NetBSD/ns32532 pure
97*48c779cdSXin LI>0	use			netbsd-pure
98*48c779cdSXin LI
99b6cee71dSXin LI0	belong&0377777777	042200407	a.out NetBSD/ns32532
100*48c779cdSXin LI>0	use			netbsd-normal
101*48c779cdSXin LI
102b6cee71dSXin LI0	belong&0377777777	042200507	a.out NetBSD/ns32532 core
103*48c779cdSXin LI>0	use			netbsd-core
104b6cee71dSXin LI
105b6cee71dSXin LI0	belong&0377777777	045200507	a.out NetBSD/powerpc core
106*48c779cdSXin LI>0	use			netbsd-core
107b6cee71dSXin LI
108b6cee71dSXin LI0	belong&0377777777	042400413	a.out NetBSD/SPARC demand paged
109*48c779cdSXin LI>0	use			\^netbsd-8192
110*48c779cdSXin LI
111b6cee71dSXin LI0	belong&0377777777	042400410	a.out NetBSD/SPARC pure
112*48c779cdSXin LI>0	use			\^netbsd-pure
113*48c779cdSXin LI
114b6cee71dSXin LI0	belong&0377777777	042400407	a.out NetBSD/SPARC
115*48c779cdSXin LI>0	use			\^netbsd-normal
116*48c779cdSXin LI
117b6cee71dSXin LI0	belong&0377777777	042400507	a.out NetBSD/SPARC core
118*48c779cdSXin LI>0	use			\^netbsd-core
119b6cee71dSXin LI
120b6cee71dSXin LI0	belong&0377777777	042600413	a.out NetBSD/pmax demand paged
121*48c779cdSXin LI>0	use			netbsd-4096
122*48c779cdSXin LI
123b6cee71dSXin LI0	belong&0377777777	042600410	a.out NetBSD/pmax pure
124*48c779cdSXin LI>0	use			\^netbsd-pure
125*48c779cdSXin LI
126b6cee71dSXin LI0	belong&0377777777	042600407	a.out NetBSD/pmax
127*48c779cdSXin LI>0	use			netbsd-normal
128*48c779cdSXin LI
129b6cee71dSXin LI0	belong&0377777777	042600507	a.out NetBSD/pmax core
130*48c779cdSXin LI>0	use			netbsd-core
131b6cee71dSXin LI
132b6cee71dSXin LI0	belong&0377777777	043000413	a.out NetBSD/vax 1k demand paged
133*48c779cdSXin LI>0	use			netbsd-4096
134*48c779cdSXin LI
135b6cee71dSXin LI0	belong&0377777777	043000410	a.out NetBSD/vax 1k pure
136*48c779cdSXin LI>0	use			netbsd-pure
137*48c779cdSXin LI
138b6cee71dSXin LI0	belong&0377777777	043000407	a.out NetBSD/vax 1k
139*48c779cdSXin LI>0	use			netbsd-normal
140*48c779cdSXin LI
141b6cee71dSXin LI0	belong&0377777777	043000507	a.out NetBSD/vax 1k core
142*48c779cdSXin LI>0	use			netbsd-core
143b6cee71dSXin LI
144b6cee71dSXin LI0	belong&0377777777	045400413	a.out NetBSD/vax 4k demand paged
145*48c779cdSXin LI>0	use			netbsd-4096
146*48c779cdSXin LI
147b6cee71dSXin LI0	belong&0377777777	045400410	a.out NetBSD/vax 4k pure
148*48c779cdSXin LI>0	use			netbsd-pure
149*48c779cdSXin LI
150b6cee71dSXin LI0	belong&0377777777	045400407	a.out NetBSD/vax 4k
151*48c779cdSXin LI>0	use			netbsd-normal
152*48c779cdSXin LI
153b6cee71dSXin LI0	belong&0377777777	045400507	a.out NetBSD/vax 4k core
154*48c779cdSXin LI>0	use			netbsd-core
155b6cee71dSXin LI
156b6cee71dSXin LI# NetBSD/alpha does not support (and has never supported) a.out objects,
157b6cee71dSXin LI# so no rules are provided for them.  NetBSD/alpha ELF objects are
158b6cee71dSXin LI# dealt with in "elf".
159b6cee71dSXin LI0	lelong		0x00070185		ECOFF NetBSD/alpha binary
160b6cee71dSXin LI>10	leshort		0x0001			not stripped
161b6cee71dSXin LI>10	leshort		0x0000			stripped
162b6cee71dSXin LI0	belong&0377777777	043200507	a.out NetBSD/alpha core
163b6cee71dSXin LI>12	string			>\0		from '%s'
164b6cee71dSXin LI>32	lelong			!0		(signal %d)
165b6cee71dSXin LI
166b6cee71dSXin LI0	belong&0377777777	043400413	a.out NetBSD/mips demand paged
167*48c779cdSXin LI>0	use			\^netbsd-8192
168*48c779cdSXin LI
169b6cee71dSXin LI>16	belong			>0		not stripped
170b6cee71dSXin LI0	belong&0377777777	043400410	a.out NetBSD/mips pure
171*48c779cdSXin LI>0	use			netbsd-pure
172*48c779cdSXin LI
173b6cee71dSXin LI0	belong&0377777777	043400407	a.out NetBSD/mips
174*48c779cdSXin LI>0	use			netbsd-normal
175*48c779cdSXin LI
176b6cee71dSXin LI0	belong&0377777777	043400507	a.out NetBSD/mips core
177*48c779cdSXin LI>0	use			netbsd-core
178b6cee71dSXin LI
179b6cee71dSXin LI0	belong&0377777777	043600413	a.out NetBSD/arm32 demand paged
180*48c779cdSXin LI>0	use			netbsd-4096
181*48c779cdSXin LI
182b6cee71dSXin LI0	belong&0377777777	043600410	a.out NetBSD/arm32 pure
183*48c779cdSXin LI>0	use			netbsd-pure
184*48c779cdSXin LI
185b6cee71dSXin LI0	belong&0377777777	043600407	a.out NetBSD/arm32
186*48c779cdSXin LI>0	use			netbsd-normal
187*48c779cdSXin LI
188b6cee71dSXin LI# NetBSD/arm26 has always used ELF objects, but it shares a core file
189b6cee71dSXin LI# format with NetBSD/arm32.
190b6cee71dSXin LI0	belong&0377777777	043600507	a.out NetBSD/arm core
191*48c779cdSXin LI>0	use			netbsd-core
192b6cee71dSXin LI
193b6cee71dSXin LI# Kernel core dump format
194b6cee71dSXin LI0	belong&0x0000ffff 0x00008fca	NetBSD kernel core file
195b6cee71dSXin LI>0	belong&0x03ff0000 0x00000000	\b, Unknown
196c2931133SXin LI>0	belong&0x03ff0000 0x00010000	\b, sun 68010/68020
197b6cee71dSXin LI>0	belong&0x03ff0000 0x00020000	\b, sun 68020
198b6cee71dSXin LI>0	belong&0x03ff0000 0x00640000	\b, 386 PC
199b6cee71dSXin LI>0	belong&0x03ff0000 0x00860000	\b, i386 BSD
200b6cee71dSXin LI>0	belong&0x03ff0000 0x00870000	\b, m68k BSD (8K pages)
201b6cee71dSXin LI>0	belong&0x03ff0000 0x00880000	\b, m68k BSD (4K pages)
202b6cee71dSXin LI>0	belong&0x03ff0000 0x00890000	\b, ns32532 BSD
203b6cee71dSXin LI>0	belong&0x03ff0000 0x008a0000	\b, SPARC/32 BSD
204b6cee71dSXin LI>0	belong&0x03ff0000 0x008b0000	\b, pmax BSD
205b6cee71dSXin LI>0	belong&0x03ff0000 0x008c0000	\b, vax BSD (1K pages)
206b6cee71dSXin LI>0	belong&0x03ff0000 0x008d0000	\b, alpha BSD
207b6cee71dSXin LI>0	belong&0x03ff0000 0x008e0000	\b, mips BSD (Big Endian)
208b6cee71dSXin LI>0	belong&0x03ff0000 0x008f0000	\b, arm6 BSD
209b6cee71dSXin LI>0	belong&0x03ff0000 0x00900000	\b, m68k BSD (2K pages)
210b6cee71dSXin LI>0	belong&0x03ff0000 0x00910000	\b, sh3 BSD
211c2931133SXin LI>0	belong&0x03ff0000 0x00950000	\b, ppc BSD (Big Endian)
212c2931133SXin LI>0	belong&0x03ff0000 0x00960000	\b, vax BSD (4K pages)
213c2931133SXin LI>0	belong&0x03ff0000 0x00970000	\b, mips1 BSD
214c2931133SXin LI>0	belong&0x03ff0000 0x00980000	\b, mips2 BSD
215c2931133SXin LI>0	belong&0x03ff0000 0x00990000	\b, m88k BSD
216c2931133SXin LI>0	belong&0x03ff0000 0x00920000	\b, parisc BSD
217c2931133SXin LI>0	belong&0x03ff0000 0x009b0000	\b, sh5/64 BSD
218c2931133SXin LI>0	belong&0x03ff0000 0x009c0000	\b, SPARC/64 BSD
219c2931133SXin LI>0	belong&0x03ff0000 0x009d0000	\b, amd64 BSD
220c2931133SXin LI>0	belong&0x03ff0000 0x009e0000	\b, sh5/32 BSD
221c2931133SXin LI>0	belong&0x03ff0000 0x009f0000	\b, ia64 BSD
222c2931133SXin LI>0	belong&0x03ff0000 0x00b70000	\b, aarch64 BSD
223c2931133SXin LI>0	belong&0x03ff0000 0x00b80000	\b, or1k BSD
224c2931133SXin LI>0	belong&0x03ff0000 0x00b90000	\b, Risk-V BSD
225c2931133SXin LI>0	belong&0x03ff0000 0x00c80000	\b, hp200 BSD
226c2931133SXin LI>0	belong&0x03ff0000 0x012c0000	\b, hp300 BSD
227c2931133SXin LI>0	belong&0x03ff0000 0x020b0000	\b, hp800 HP-UX
228c2931133SXin LI>0	belong&0x03ff0000 0x020c0000	\b, hp200/hp300 HP-UX
229b6cee71dSXin LI>0	belong&0xfc000000 0x04000000	\b, CPU
230b6cee71dSXin LI>0	belong&0xfc000000 0x08000000	\b, DATA
231b6cee71dSXin LI>0	belong&0xfc000000 0x10000000	\b, STACK
232b6cee71dSXin LI>4	leshort	x			\b, (headersize = %d
233b6cee71dSXin LI>6	leshort	x			\b, segmentsize = %d
23458a0f0d0SEitan Adler>8	lelong	x			\b, segments = %d)
2353e41d09dSXin LI
2363e41d09dSXin LI# little endian only for now.
2373e41d09dSXin LI0	name		ktrace
2383e41d09dSXin LI>4	leshort		7
2393e41d09dSXin LI>>6	leshort		<3		NetBSD ktrace file version %d
2403e41d09dSXin LI>>>12	string		x		from %s
2413e41d09dSXin LI>>>56	string		x		\b, emulation %s
2423e41d09dSXin LI>>>8	lelong		<65536		\b, pid=%d
2433e41d09dSXin LI
2443e41d09dSXin LI56	string		netbsd
2453e41d09dSXin LI>0	use		ktrace
2463e41d09dSXin LI56	string		linux
2473e41d09dSXin LI>0	use		ktrace
2483e41d09dSXin LI56	string		sunos
2493e41d09dSXin LI>0	use		ktrace
2503e41d09dSXin LI56	string		hpux
2513e41d09dSXin LI>0	use		ktrace
252