xref: /dflybsd-src/contrib/file/magic/Magdir/netbsd (revision 6fca56fb90a257291c53bba3b861b751027c3e3d)
1327e51cbSPeter Avalos
2327e51cbSPeter Avalos#------------------------------------------------------------------------------
36fca56fbSSascha 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
126fca56fbSSascha Wildner0	name	netbsd-detail
136fca56fbSSascha Wildner>20	lelong	x		@%#x
146fca56fbSSascha Wildner>4	lelong	>0		\b+T=%d
156fca56fbSSascha Wildner>8	lelong	>0		\b+D=%d
166fca56fbSSascha Wildner>12	lelong	>0		\b+B=%d
176fca56fbSSascha Wildner>16	lelong	>0		\b+S=%d
186fca56fbSSascha Wildner>24	lelong	>0		\b+TR=%d
196fca56fbSSascha Wildner>28	lelong	>0		\b+TD=%d
206fca56fbSSascha Wildner
216fca56fbSSascha 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
286fca56fbSSascha Wildner
296fca56fbSSascha Wildner0	name			netbsd-8192
306fca56fbSSascha Wildner>0	byte			&0x80
316fca56fbSSascha Wildner>>20	lelong			<8192		shared library
326fca56fbSSascha Wildner>>20	lelong			=8192		dynamically linked executable
336fca56fbSSascha Wildner>>20	lelong			>8192		dynamically linked executable
34327e51cbSPeter Avalos>0	byte			^0x80		executable
35327e51cbSPeter Avalos>16	lelong			>0		not stripped
366fca56fbSSascha Wildner>0	use			netbsd-detail
376fca56fbSSascha Wildner
386fca56fbSSascha 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
456fca56fbSSascha Wildner>0	use			netbsd-detail
466fca56fbSSascha Wildner
476fca56fbSSascha Wildner0	name			netbsd-pure
486fca56fbSSascha Wildner>0	byte			&0x80		dynamically linked executable
496fca56fbSSascha Wildner>0	byte			^0x80		executable
506fca56fbSSascha Wildner>16	lelong			>0		not stripped
516fca56fbSSascha Wildner>0	use			netbsd-detail
526fca56fbSSascha Wildner
536fca56fbSSascha Wildner0	name			netbsd-core
54327e51cbSPeter Avalos>12	string			>\0		from '%s'
55327e51cbSPeter Avalos>32	lelong			!0		(signal %d)
56327e51cbSPeter Avalos
576fca56fbSSascha Wildner0	belong&0377777777	041400413	a.out NetBSD/i386 demand paged
586fca56fbSSascha Wildner>0	use			netbsd-4096
596fca56fbSSascha Wildner
606fca56fbSSascha Wildner0	belong&0377777777	041400410	a.out NetBSD/i386 pure
616fca56fbSSascha Wildner>0	use			netbsd-pure
626fca56fbSSascha Wildner
636fca56fbSSascha Wildner0	belong&0377777777	041400407	a.out NetBSD/i386
646fca56fbSSascha Wildner>0	use			netbsd-normal
656fca56fbSSascha Wildner
666fca56fbSSascha Wildner0	belong&0377777777	041400507	a.out NetBSD/i386 core
676fca56fbSSascha Wildner>0	use			netbsd-core
686fca56fbSSascha Wildner
69327e51cbSPeter Avalos0	belong&0377777777	041600413	a.out NetBSD/m68k demand paged
706fca56fbSSascha Wildner>0	use			\^netbsd-8192
716fca56fbSSascha Wildner
72327e51cbSPeter Avalos0	belong&0377777777	041600410	a.out NetBSD/m68k pure
736fca56fbSSascha Wildner>0	use			\^netbsd-pure
746fca56fbSSascha Wildner
75327e51cbSPeter Avalos0	belong&0377777777	041600407	a.out NetBSD/m68k
766fca56fbSSascha Wildner>0	use			\^netbsd-normal
776fca56fbSSascha Wildner
78327e51cbSPeter Avalos0	belong&0377777777	041600507	a.out NetBSD/m68k core
796fca56fbSSascha Wildner>0	use			\^netbsd-core
80327e51cbSPeter Avalos
81327e51cbSPeter Avalos0	belong&0377777777	042000413	a.out NetBSD/m68k4k demand paged
826fca56fbSSascha Wildner>0	use			\^netbsd-4096
836fca56fbSSascha Wildner
84327e51cbSPeter Avalos0	belong&0377777777	042000410	a.out NetBSD/m68k4k pure
856fca56fbSSascha Wildner>0	use			\^netbsd-pure
866fca56fbSSascha Wildner
87327e51cbSPeter Avalos0	belong&0377777777	042000407	a.out NetBSD/m68k4k
886fca56fbSSascha Wildner>0	use			\^netbsd-normal
896fca56fbSSascha Wildner
90327e51cbSPeter Avalos0	belong&0377777777	042000507	a.out NetBSD/m68k4k core
916fca56fbSSascha Wildner>0	use			\^netbsd-core
92327e51cbSPeter Avalos
93327e51cbSPeter Avalos0	belong&0377777777	042200413	a.out NetBSD/ns32532 demand paged
946fca56fbSSascha Wildner>0	use			netbsd-4096
956fca56fbSSascha Wildner
96327e51cbSPeter Avalos0	belong&0377777777	042200410	a.out NetBSD/ns32532 pure
976fca56fbSSascha Wildner>0	use			netbsd-pure
986fca56fbSSascha Wildner
99327e51cbSPeter Avalos0	belong&0377777777	042200407	a.out NetBSD/ns32532
1006fca56fbSSascha Wildner>0	use			netbsd-normal
1016fca56fbSSascha Wildner
102327e51cbSPeter Avalos0	belong&0377777777	042200507	a.out NetBSD/ns32532 core
1036fca56fbSSascha Wildner>0	use			netbsd-core
104327e51cbSPeter Avalos
105327e51cbSPeter Avalos0	belong&0377777777	045200507	a.out NetBSD/powerpc core
1066fca56fbSSascha Wildner>0	use			netbsd-core
107327e51cbSPeter Avalos
10882c5fa3eSPeter Avalos0	belong&0377777777	042400413	a.out NetBSD/SPARC demand paged
1096fca56fbSSascha Wildner>0	use			\^netbsd-8192
1106fca56fbSSascha Wildner
11182c5fa3eSPeter Avalos0	belong&0377777777	042400410	a.out NetBSD/SPARC pure
1126fca56fbSSascha Wildner>0	use			\^netbsd-pure
1136fca56fbSSascha Wildner
11482c5fa3eSPeter Avalos0	belong&0377777777	042400407	a.out NetBSD/SPARC
1156fca56fbSSascha Wildner>0	use			\^netbsd-normal
1166fca56fbSSascha Wildner
11782c5fa3eSPeter Avalos0	belong&0377777777	042400507	a.out NetBSD/SPARC core
1186fca56fbSSascha Wildner>0	use			\^netbsd-core
119327e51cbSPeter Avalos
120327e51cbSPeter Avalos0	belong&0377777777	042600413	a.out NetBSD/pmax demand paged
1216fca56fbSSascha Wildner>0	use			netbsd-4096
1226fca56fbSSascha Wildner
123327e51cbSPeter Avalos0	belong&0377777777	042600410	a.out NetBSD/pmax pure
1246fca56fbSSascha Wildner>0	use			\^netbsd-pure
1256fca56fbSSascha Wildner
126327e51cbSPeter Avalos0	belong&0377777777	042600407	a.out NetBSD/pmax
1276fca56fbSSascha Wildner>0	use			netbsd-normal
1286fca56fbSSascha Wildner
129327e51cbSPeter Avalos0	belong&0377777777	042600507	a.out NetBSD/pmax core
1306fca56fbSSascha Wildner>0	use			netbsd-core
131327e51cbSPeter Avalos
132327e51cbSPeter Avalos0	belong&0377777777	043000413	a.out NetBSD/vax 1k demand paged
1336fca56fbSSascha Wildner>0	use			netbsd-4096
1346fca56fbSSascha Wildner
135327e51cbSPeter Avalos0	belong&0377777777	043000410	a.out NetBSD/vax 1k pure
1366fca56fbSSascha Wildner>0	use			netbsd-pure
1376fca56fbSSascha Wildner
138327e51cbSPeter Avalos0	belong&0377777777	043000407	a.out NetBSD/vax 1k
1396fca56fbSSascha Wildner>0	use			netbsd-normal
1406fca56fbSSascha Wildner
141327e51cbSPeter Avalos0	belong&0377777777	043000507	a.out NetBSD/vax 1k core
1426fca56fbSSascha Wildner>0	use			netbsd-core
143327e51cbSPeter Avalos
144327e51cbSPeter Avalos0	belong&0377777777	045400413	a.out NetBSD/vax 4k demand paged
1456fca56fbSSascha Wildner>0	use			netbsd-4096
1466fca56fbSSascha Wildner
147327e51cbSPeter Avalos0	belong&0377777777	045400410	a.out NetBSD/vax 4k pure
1486fca56fbSSascha Wildner>0	use			netbsd-pure
1496fca56fbSSascha Wildner
150327e51cbSPeter Avalos0	belong&0377777777	045400407	a.out NetBSD/vax 4k
1516fca56fbSSascha Wildner>0	use			netbsd-normal
1526fca56fbSSascha Wildner
153327e51cbSPeter Avalos0	belong&0377777777	045400507	a.out NetBSD/vax 4k core
1546fca56fbSSascha 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
1676fca56fbSSascha Wildner>0	use			\^netbsd-8192
1686fca56fbSSascha Wildner
169327e51cbSPeter Avalos>16	belong			>0		not stripped
170327e51cbSPeter Avalos0	belong&0377777777	043400410	a.out NetBSD/mips pure
1716fca56fbSSascha Wildner>0	use			netbsd-pure
1726fca56fbSSascha Wildner
173327e51cbSPeter Avalos0	belong&0377777777	043400407	a.out NetBSD/mips
1746fca56fbSSascha Wildner>0	use			netbsd-normal
1756fca56fbSSascha Wildner
176327e51cbSPeter Avalos0	belong&0377777777	043400507	a.out NetBSD/mips core
1776fca56fbSSascha Wildner>0	use			netbsd-core
178327e51cbSPeter Avalos
179327e51cbSPeter Avalos0	belong&0377777777	043600413	a.out NetBSD/arm32 demand paged
1806fca56fbSSascha Wildner>0	use			netbsd-4096
1816fca56fbSSascha Wildner
182327e51cbSPeter Avalos0	belong&0377777777	043600410	a.out NetBSD/arm32 pure
1836fca56fbSSascha Wildner>0	use			netbsd-pure
1846fca56fbSSascha Wildner
185327e51cbSPeter Avalos0	belong&0377777777	043600407	a.out NetBSD/arm32
1866fca56fbSSascha Wildner>0	use			netbsd-normal
1876fca56fbSSascha 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
1916fca56fbSSascha 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
2346fca56fbSSascha Wildner>8	lelong	x			\b, segments = %d)
235*c30bd091SSascha Wildner
236*c30bd091SSascha Wildner# little endian only for now.
237*c30bd091SSascha Wildner0	name		ktrace
238*c30bd091SSascha Wildner>4	leshort		7
239*c30bd091SSascha Wildner>>6	leshort		<3		NetBSD ktrace file version %d
240*c30bd091SSascha Wildner>>>12	string		x		from %s
241*c30bd091SSascha Wildner>>>56	string		x		\b, emulation %s
242*c30bd091SSascha Wildner>>>8	lelong		<65536		\b, pid=%d
243*c30bd091SSascha Wildner
244*c30bd091SSascha Wildner56	string		netbsd
245*c30bd091SSascha Wildner>0	use		ktrace
246*c30bd091SSascha Wildner56	string		linux
247*c30bd091SSascha Wildner>0	use		ktrace
248*c30bd091SSascha Wildner56	string		sunos
249*c30bd091SSascha Wildner>0	use		ktrace
250*c30bd091SSascha Wildner56	string		hpux
251*c30bd091SSascha Wildner>0	use		ktrace
252