xref: /dflybsd-src/contrib/file/magic/Magdir/netbsd (revision 6fca56fb90a257291c53bba3b861b751027c3e3d)
1327e51cbSPeter Avalos
2327e51cbSPeter Avalos#------------------------------------------------------------------------------
3*6fca56fbSSascha Wildner# $File: netbsd,v 1.26 2019/01/01 03:11:23 christos Exp $
4327e51cbSPeter Avalos# netbsd:  file(1) magic for NetBSD objects
5327e51cbSPeter Avalos#
6327e51cbSPeter Avalos# All new-style magic numbers are in network byte order.
7e8af9738SPeter Avalos# The old-style magic numbers are indistinguishable from the same magic
8e8af9738SPeter Avalos# numbers used in other systems, and are handled, for all those systems,
9e8af9738SPeter Avalos# in aout.
10327e51cbSPeter Avalos#
11327e51cbSPeter Avalos
12*6fca56fbSSascha Wildner0	name	netbsd-detail
13*6fca56fbSSascha Wildner>20	lelong	x		@%#x
14*6fca56fbSSascha Wildner>4	lelong	>0		\b+T=%d
15*6fca56fbSSascha Wildner>8	lelong	>0		\b+D=%d
16*6fca56fbSSascha Wildner>12	lelong	>0		\b+B=%d
17*6fca56fbSSascha Wildner>16	lelong	>0		\b+S=%d
18*6fca56fbSSascha Wildner>24	lelong	>0		\b+TR=%d
19*6fca56fbSSascha Wildner>28	lelong	>0		\b+TD=%d
20*6fca56fbSSascha Wildner
21*6fca56fbSSascha Wildner0	name			netbsd-4096
22327e51cbSPeter Avalos>0	byte			&0x80
23327e51cbSPeter Avalos>>20	lelong			<4096		shared library
24327e51cbSPeter Avalos>>20	lelong			=4096		dynamically linked executable
25327e51cbSPeter Avalos>>20	lelong			>4096		dynamically linked executable
26327e51cbSPeter Avalos>0	byte			^0x80		executable
27327e51cbSPeter Avalos>16	lelong			>0		not stripped
28*6fca56fbSSascha Wildner
29*6fca56fbSSascha Wildner0	name			netbsd-8192
30*6fca56fbSSascha Wildner>0	byte			&0x80
31*6fca56fbSSascha Wildner>>20	lelong			<8192		shared library
32*6fca56fbSSascha Wildner>>20	lelong			=8192		dynamically linked executable
33*6fca56fbSSascha Wildner>>20	lelong			>8192		dynamically linked executable
34327e51cbSPeter Avalos>0	byte			^0x80		executable
35327e51cbSPeter Avalos>16	lelong			>0		not stripped
36*6fca56fbSSascha Wildner>0	use			netbsd-detail
37*6fca56fbSSascha Wildner
38*6fca56fbSSascha Wildner0	name			netbsd-normal
39327e51cbSPeter Avalos>0	byte			&0x80		dynamically linked executable
40327e51cbSPeter Avalos>0	byte			^0x80
41327e51cbSPeter Avalos>>0	byte			&0x40		position independent
42327e51cbSPeter Avalos>>20	lelong			!0		executable
43327e51cbSPeter Avalos>>20	lelong			=0		object file
44327e51cbSPeter Avalos>16	lelong			>0		not stripped
45*6fca56fbSSascha Wildner>0	use			netbsd-detail
46*6fca56fbSSascha Wildner
47*6fca56fbSSascha Wildner0	name			netbsd-pure
48*6fca56fbSSascha Wildner>0	byte			&0x80		dynamically linked executable
49*6fca56fbSSascha Wildner>0	byte			^0x80		executable
50*6fca56fbSSascha Wildner>16	lelong			>0		not stripped
51*6fca56fbSSascha Wildner>0	use			netbsd-detail
52*6fca56fbSSascha Wildner
53*6fca56fbSSascha Wildner0	name			netbsd-core
54327e51cbSPeter Avalos>12	string			>\0		from '%s'
55327e51cbSPeter Avalos>32	lelong			!0		(signal %d)
56327e51cbSPeter Avalos
57*6fca56fbSSascha Wildner0	belong&0377777777	041400413	a.out NetBSD/i386 demand paged
58*6fca56fbSSascha Wildner>0	use			netbsd-4096
59*6fca56fbSSascha Wildner
60*6fca56fbSSascha Wildner0	belong&0377777777	041400410	a.out NetBSD/i386 pure
61*6fca56fbSSascha Wildner>0	use			netbsd-pure
62*6fca56fbSSascha Wildner
63*6fca56fbSSascha Wildner0	belong&0377777777	041400407	a.out NetBSD/i386
64*6fca56fbSSascha Wildner>0	use			netbsd-normal
65*6fca56fbSSascha Wildner
66*6fca56fbSSascha Wildner0	belong&0377777777	041400507	a.out NetBSD/i386 core
67*6fca56fbSSascha Wildner>0	use			netbsd-core
68*6fca56fbSSascha Wildner
69327e51cbSPeter Avalos0	belong&0377777777	041600413	a.out NetBSD/m68k demand paged
70*6fca56fbSSascha Wildner>0	use			\^netbsd-8192
71*6fca56fbSSascha Wildner
72327e51cbSPeter Avalos0	belong&0377777777	041600410	a.out NetBSD/m68k pure
73*6fca56fbSSascha Wildner>0	use			\^netbsd-pure
74*6fca56fbSSascha Wildner
75327e51cbSPeter Avalos0	belong&0377777777	041600407	a.out NetBSD/m68k
76*6fca56fbSSascha Wildner>0	use			\^netbsd-normal
77*6fca56fbSSascha Wildner
78327e51cbSPeter Avalos0	belong&0377777777	041600507	a.out NetBSD/m68k core
79*6fca56fbSSascha Wildner>0	use			\^netbsd-core
80327e51cbSPeter Avalos
81327e51cbSPeter Avalos0	belong&0377777777	042000413	a.out NetBSD/m68k4k demand paged
82*6fca56fbSSascha Wildner>0	use			\^netbsd-4096
83*6fca56fbSSascha Wildner
84327e51cbSPeter Avalos0	belong&0377777777	042000410	a.out NetBSD/m68k4k pure
85*6fca56fbSSascha Wildner>0	use			\^netbsd-pure
86*6fca56fbSSascha Wildner
87327e51cbSPeter Avalos0	belong&0377777777	042000407	a.out NetBSD/m68k4k
88*6fca56fbSSascha Wildner>0	use			\^netbsd-normal
89*6fca56fbSSascha Wildner
90327e51cbSPeter Avalos0	belong&0377777777	042000507	a.out NetBSD/m68k4k core
91*6fca56fbSSascha Wildner>0	use			\^netbsd-core
92327e51cbSPeter Avalos
93327e51cbSPeter Avalos0	belong&0377777777	042200413	a.out NetBSD/ns32532 demand paged
94*6fca56fbSSascha Wildner>0	use			netbsd-4096
95*6fca56fbSSascha Wildner
96327e51cbSPeter Avalos0	belong&0377777777	042200410	a.out NetBSD/ns32532 pure
97*6fca56fbSSascha Wildner>0	use			netbsd-pure
98*6fca56fbSSascha Wildner
99327e51cbSPeter Avalos0	belong&0377777777	042200407	a.out NetBSD/ns32532
100*6fca56fbSSascha Wildner>0	use			netbsd-normal
101*6fca56fbSSascha Wildner
102327e51cbSPeter Avalos0	belong&0377777777	042200507	a.out NetBSD/ns32532 core
103*6fca56fbSSascha Wildner>0	use			netbsd-core
104327e51cbSPeter Avalos
105327e51cbSPeter Avalos0	belong&0377777777	045200507	a.out NetBSD/powerpc core
106*6fca56fbSSascha Wildner>0	use			netbsd-core
107327e51cbSPeter Avalos
10882c5fa3eSPeter Avalos0	belong&0377777777	042400413	a.out NetBSD/SPARC demand paged
109*6fca56fbSSascha Wildner>0	use			\^netbsd-8192
110*6fca56fbSSascha Wildner
11182c5fa3eSPeter Avalos0	belong&0377777777	042400410	a.out NetBSD/SPARC pure
112*6fca56fbSSascha Wildner>0	use			\^netbsd-pure
113*6fca56fbSSascha Wildner
11482c5fa3eSPeter Avalos0	belong&0377777777	042400407	a.out NetBSD/SPARC
115*6fca56fbSSascha Wildner>0	use			\^netbsd-normal
116*6fca56fbSSascha Wildner
11782c5fa3eSPeter Avalos0	belong&0377777777	042400507	a.out NetBSD/SPARC core
118*6fca56fbSSascha Wildner>0	use			\^netbsd-core
119327e51cbSPeter Avalos
120327e51cbSPeter Avalos0	belong&0377777777	042600413	a.out NetBSD/pmax demand paged
121*6fca56fbSSascha Wildner>0	use			netbsd-4096
122*6fca56fbSSascha Wildner
123327e51cbSPeter Avalos0	belong&0377777777	042600410	a.out NetBSD/pmax pure
124*6fca56fbSSascha Wildner>0	use			\^netbsd-pure
125*6fca56fbSSascha Wildner
126327e51cbSPeter Avalos0	belong&0377777777	042600407	a.out NetBSD/pmax
127*6fca56fbSSascha Wildner>0	use			netbsd-normal
128*6fca56fbSSascha Wildner
129327e51cbSPeter Avalos0	belong&0377777777	042600507	a.out NetBSD/pmax core
130*6fca56fbSSascha Wildner>0	use			netbsd-core
131327e51cbSPeter Avalos
132327e51cbSPeter Avalos0	belong&0377777777	043000413	a.out NetBSD/vax 1k demand paged
133*6fca56fbSSascha Wildner>0	use			netbsd-4096
134*6fca56fbSSascha Wildner
135327e51cbSPeter Avalos0	belong&0377777777	043000410	a.out NetBSD/vax 1k pure
136*6fca56fbSSascha Wildner>0	use			netbsd-pure
137*6fca56fbSSascha Wildner
138327e51cbSPeter Avalos0	belong&0377777777	043000407	a.out NetBSD/vax 1k
139*6fca56fbSSascha Wildner>0	use			netbsd-normal
140*6fca56fbSSascha Wildner
141327e51cbSPeter Avalos0	belong&0377777777	043000507	a.out NetBSD/vax 1k core
142*6fca56fbSSascha Wildner>0	use			netbsd-core
143327e51cbSPeter Avalos
144327e51cbSPeter Avalos0	belong&0377777777	045400413	a.out NetBSD/vax 4k demand paged
145*6fca56fbSSascha Wildner>0	use			netbsd-4096
146*6fca56fbSSascha Wildner
147327e51cbSPeter Avalos0	belong&0377777777	045400410	a.out NetBSD/vax 4k pure
148*6fca56fbSSascha Wildner>0	use			netbsd-pure
149*6fca56fbSSascha Wildner
150327e51cbSPeter Avalos0	belong&0377777777	045400407	a.out NetBSD/vax 4k
151*6fca56fbSSascha Wildner>0	use			netbsd-normal
152*6fca56fbSSascha Wildner
153327e51cbSPeter Avalos0	belong&0377777777	045400507	a.out NetBSD/vax 4k core
154*6fca56fbSSascha Wildner>0	use			netbsd-core
155327e51cbSPeter Avalos
156327e51cbSPeter Avalos# NetBSD/alpha does not support (and has never supported) a.out objects,
157327e51cbSPeter Avalos# so no rules are provided for them.  NetBSD/alpha ELF objects are
158327e51cbSPeter Avalos# dealt with in "elf".
159327e51cbSPeter Avalos0	lelong		0x00070185		ECOFF NetBSD/alpha binary
160327e51cbSPeter Avalos>10	leshort		0x0001			not stripped
161327e51cbSPeter Avalos>10	leshort		0x0000			stripped
162327e51cbSPeter Avalos0	belong&0377777777	043200507	a.out NetBSD/alpha core
163327e51cbSPeter Avalos>12	string			>\0		from '%s'
164327e51cbSPeter Avalos>32	lelong			!0		(signal %d)
165327e51cbSPeter Avalos
166327e51cbSPeter Avalos0	belong&0377777777	043400413	a.out NetBSD/mips demand paged
167*6fca56fbSSascha Wildner>0	use			\^netbsd-8192
168*6fca56fbSSascha Wildner
169327e51cbSPeter Avalos>16	belong			>0		not stripped
170327e51cbSPeter Avalos0	belong&0377777777	043400410	a.out NetBSD/mips pure
171*6fca56fbSSascha Wildner>0	use			netbsd-pure
172*6fca56fbSSascha Wildner
173327e51cbSPeter Avalos0	belong&0377777777	043400407	a.out NetBSD/mips
174*6fca56fbSSascha Wildner>0	use			netbsd-normal
175*6fca56fbSSascha Wildner
176327e51cbSPeter Avalos0	belong&0377777777	043400507	a.out NetBSD/mips core
177*6fca56fbSSascha Wildner>0	use			netbsd-core
178327e51cbSPeter Avalos
179327e51cbSPeter Avalos0	belong&0377777777	043600413	a.out NetBSD/arm32 demand paged
180*6fca56fbSSascha Wildner>0	use			netbsd-4096
181*6fca56fbSSascha Wildner
182327e51cbSPeter Avalos0	belong&0377777777	043600410	a.out NetBSD/arm32 pure
183*6fca56fbSSascha Wildner>0	use			netbsd-pure
184*6fca56fbSSascha Wildner
185327e51cbSPeter Avalos0	belong&0377777777	043600407	a.out NetBSD/arm32
186*6fca56fbSSascha Wildner>0	use			netbsd-normal
187*6fca56fbSSascha Wildner
188327e51cbSPeter Avalos# NetBSD/arm26 has always used ELF objects, but it shares a core file
189327e51cbSPeter Avalos# format with NetBSD/arm32.
190327e51cbSPeter Avalos0	belong&0377777777	043600507	a.out NetBSD/arm core
191*6fca56fbSSascha Wildner>0	use			netbsd-core
1929f86ab30SPeter Avalos
1939f86ab30SPeter Avalos# Kernel core dump format
1949f86ab30SPeter Avalos0	belong&0x0000ffff 0x00008fca	NetBSD kernel core file
1959f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00000000	\b, Unknown
19682c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00010000	\b, sun 68010/68020
1979f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00020000	\b, sun 68020
1989f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00640000	\b, 386 PC
1999f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00860000	\b, i386 BSD
2009f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00870000	\b, m68k BSD (8K pages)
2019f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00880000	\b, m68k BSD (4K pages)
2029f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00890000	\b, ns32532 BSD
20382c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x008a0000	\b, SPARC/32 BSD
2049f86ab30SPeter Avalos>0	belong&0x03ff0000 0x008b0000	\b, pmax BSD
2059f86ab30SPeter Avalos>0	belong&0x03ff0000 0x008c0000	\b, vax BSD (1K pages)
2069f86ab30SPeter Avalos>0	belong&0x03ff0000 0x008d0000	\b, alpha BSD
2079f86ab30SPeter Avalos>0	belong&0x03ff0000 0x008e0000	\b, mips BSD (Big Endian)
2089f86ab30SPeter Avalos>0	belong&0x03ff0000 0x008f0000	\b, arm6 BSD
2099f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00900000	\b, m68k BSD (2K pages)
2109f86ab30SPeter Avalos>0	belong&0x03ff0000 0x00910000	\b, sh3 BSD
21182c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00950000	\b, ppc BSD (Big Endian)
21282c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00960000	\b, vax BSD (4K pages)
21382c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00970000	\b, mips1 BSD
21482c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00980000	\b, mips2 BSD
21582c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00990000	\b, m88k BSD
21682c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00920000	\b, parisc BSD
21782c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x009b0000	\b, sh5/64 BSD
21882c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x009c0000	\b, SPARC/64 BSD
21982c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x009d0000	\b, amd64 BSD
22082c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x009e0000	\b, sh5/32 BSD
22182c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x009f0000	\b, ia64 BSD
22282c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00b70000	\b, aarch64 BSD
22382c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00b80000	\b, or1k BSD
22482c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00b90000	\b, Risk-V BSD
22582c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x00c80000	\b, hp200 BSD
22682c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x012c0000	\b, hp300 BSD
22782c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x020b0000	\b, hp800 HP-UX
22882c5fa3eSPeter Avalos>0	belong&0x03ff0000 0x020c0000	\b, hp200/hp300 HP-UX
2299f86ab30SPeter Avalos>0	belong&0xfc000000 0x04000000	\b, CPU
2309f86ab30SPeter Avalos>0	belong&0xfc000000 0x08000000	\b, DATA
2319f86ab30SPeter Avalos>0	belong&0xfc000000 0x10000000	\b, STACK
2329f86ab30SPeter Avalos>4	leshort	x			\b, (headersize = %d
2339f86ab30SPeter Avalos>6	leshort	x			\b, segmentsize = %d
234*6fca56fbSSascha Wildner>8	lelong	x			\b, segments = %d)
235c30bd091SSascha Wildner
236c30bd091SSascha Wildner# little endian only for now.
237c30bd091SSascha Wildner0	name		ktrace
238c30bd091SSascha Wildner>4	leshort		7
239c30bd091SSascha Wildner>>6	leshort		<3		NetBSD ktrace file version %d
240c30bd091SSascha Wildner>>>12	string		x		from %s
241c30bd091SSascha Wildner>>>56	string		x		\b, emulation %s
242c30bd091SSascha Wildner>>>8	lelong		<65536		\b, pid=%d
243c30bd091SSascha Wildner
244c30bd091SSascha Wildner56	string		netbsd
245c30bd091SSascha Wildner>0	use		ktrace
246c30bd091SSascha Wildner56	string		linux
247c30bd091SSascha Wildner>0	use		ktrace
248c30bd091SSascha Wildner56	string		sunos
249c30bd091SSascha Wildner>0	use		ktrace
250c30bd091SSascha Wildner56	string		hpux
251c30bd091SSascha Wildner>0	use		ktrace
252