xref: /dragonfly/contrib/file/magic/Magdir/netbsd (revision 6fca56fb90a257291c53bba3b861b751027c3e3d)
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