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