diff options
Diffstat (limited to 'usr.bin/file/magdir/elf')
-rw-r--r-- | usr.bin/file/magdir/elf | 210 |
1 files changed, 140 insertions, 70 deletions
diff --git a/usr.bin/file/magdir/elf b/usr.bin/file/magdir/elf index 6783a3e4921..304d27a85ac 100644 --- a/usr.bin/file/magdir/elf +++ b/usr.bin/file/magdir/elf @@ -1,4 +1,4 @@ -# $OpenBSD: elf,v 1.15 2006/10/12 03:32:32 drahn Exp $ +# $OpenBSD: elf,v 1.16 2008/05/08 01:40:57 chl Exp $ #------------------------------------------------------------------------------ # elf: file(1) magic for ELF executables @@ -6,7 +6,6 @@ # We have to check the byte order flag to see what byte order all the # other stuff in the header is in. # -# MIPS RS3000 may also be for MIPS RS2000. # What're the correct byte orders for the nCUBE and the Fujitsu VPP500? # # updated by Daniel Quinlan (quinlan@yggdrasil.com) @@ -20,57 +19,91 @@ >>16 leshort 1 relocatable, >>16 leshort 2 executable, >>16 leshort 3 shared object, -# only for MIPS ->>18 leshort 8 -# only for 32-bit ->>>4 byte 1 ->>>>36 lelong&0xf0000000 0x00000000 MIPS-I, ->>>>36 lelong&0xf0000000 0x10000000 MIPS-II, ->>>>36 lelong&0xf0000000 0x20000000 MIPS-III, ->>>>36 lelong&0xf0000000 0x30000000 MIPS-IV, ->>>>36 lelong&0xf0000000 0x40000000 MIPS-V, ->>>>36 lelong&0xf0000000 0x60000000 MIPS32, ->>>>36 lelong&0xf0000000 0x70000000 MIPS64, ->>>>36 lelong&0xf0000000 0x80000000 MIPS32 rel2, ->>>>36 lelong&0xf0000000 0x90000000 MIPS64 rel2, -# only for 64-bit ->>>4 byte 2 ->>>>48 lelong&0xf0000000 0x00000000 MIPS-I, ->>>>48 lelong&0xf0000000 0x10000000 MIPS-II, ->>>>48 lelong&0xf0000000 0x20000000 MIPS-III, ->>>>48 lelong&0xf0000000 0x30000000 MIPS-IV, ->>>>48 lelong&0xf0000000 0x40000000 MIPS-V, ->>>>48 lelong&0xf0000000 0x60000000 MIPS32, ->>>>48 lelong&0xf0000000 0x70000000 MIPS64 , ->>>>48 lelong&0xf0000000 0x80000000 MIPS32 rel2, ->>>>48 lelong&0xf0000000 0x90000000 MIPS64 rel2, # Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de> +# corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> >>16 leshort 4 core file ->>>400 lelong >0 (signal %d), +# Core file detection is not reliable. +#>>>(0x38+0xcc) string >\0 of '%s' +#>>>(0x38+0x10) lelong >0 (signal %d), >>16 leshort &0xff00 processor-specific, >>18 leshort 0 no machine, >>18 leshort 1 AT&T WE32100 - invalid byte order, >>18 leshort 2 SPARC - invalid byte order, >>18 leshort 3 Intel 80386, ->>18 leshort 4 Motorola 68000 - invalid byte order, +>>18 leshort 4 Motorola +>>>36 lelong &0x01000000 68000 - invalid byte order, +>>>36 lelong &0x00810000 CPU32 - invalid byte order, +>>>36 lelong 0 68020 - invalid byte order, >>18 leshort 5 Motorola 88000 - invalid byte order, >>18 leshort 6 Intel 80486, >>18 leshort 7 Intel 80860, -# >>18 leshort 8 MIPS, +# The official e_machine number for MIPS is now #8, regardless of endianness. +# The second number (#10) will be deprecated later. For now, we still +# say something if #10 is encountered, but only gory details for #8. +>>18 leshort 8 MIPS, +>>>36 lelong &0x20 N32 +>>18 leshort 10 MIPS, +>>>36 lelong &0x20 N32 +>>18 leshort 8 +# only for 32-bit +>>>4 byte 1 +>>>>36 lelong&0xf0000000 0x00000000 MIPS-I +>>>>36 lelong&0xf0000000 0x10000000 MIPS-II +>>>>36 lelong&0xf0000000 0x20000000 MIPS-III +>>>>36 lelong&0xf0000000 0x30000000 MIPS-IV +>>>>36 lelong&0xf0000000 0x40000000 MIPS-V +>>>>36 lelong&0xf0000000 0x60000000 MIPS32 +>>>>36 lelong&0xf0000000 0x70000000 MIPS64 +>>>>36 lelong&0xf0000000 0x80000000 MIPS32 rel2 +>>>>36 lelong&0xf0000000 0x90000000 MIPS64 rel2 +# only for 64-bit +>>>4 byte 2 +>>>>48 lelong&0xf0000000 0x00000000 MIPS-I +>>>>48 lelong&0xf0000000 0x10000000 MIPS-II +>>>>48 lelong&0xf0000000 0x20000000 MIPS-III +>>>>48 lelong&0xf0000000 0x30000000 MIPS-IV +>>>>48 lelong&0xf0000000 0x40000000 MIPS-V +>>>>48 lelong&0xf0000000 0x60000000 MIPS32 +>>>>48 lelong&0xf0000000 0x70000000 MIPS64 +>>>>48 lelong&0xf0000000 0x80000000 MIPS32 rel2 +>>>>48 lelong&0xf0000000 0x90000000 MIPS64 rel2 >>18 leshort 9 Amdahl - invalid byte order, >>18 leshort 10 MIPS (deprecated), >>18 leshort 11 RS6000 - invalid byte order, >>18 leshort 15 PA-RISC - invalid byte order, +>>>50 leshort 0x0214 2.0 +>>>48 leshort &0x0008 (LP64), >>18 leshort 16 nCUBE, ->>18 leshort 17 VPP500, +>>18 leshort 17 Fujitsu VPP500, >>18 leshort 18 SPARC32PLUS, >>18 leshort 20 PowerPC, +>>18 leshort 22 IBM S/390, +>>18 leshort 36 NEC V800, +>>18 leshort 37 Fujitsu FR20, +>>18 leshort 38 TRW RH-32, +>>18 leshort 39 Motorola RCE, >>18 leshort 40 ARM, ->>18 leshort 42 SH ->>18 leshort 43 SPARC64 - invalid byte order, ->>18 leshort 62 AMD64, ->>18 leshort 75 VAX, ->>18 leshort 0x9026 Alpha, +>>18 leshort 41 Alpha, +>>18 leshort 0xa390 IBM S/390 (obsolete), +>>18 leshort 42 Renesas SH, +>>18 leshort 43 SPARC V9 - invalid byte order, +>>18 leshort 44 Siemens Tricore Embedded Processor, +>>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., +>>18 leshort 46 Renesas H8/300, +>>18 leshort 47 Renesas H8/300H, +>>18 leshort 48 Renesas H8S, +>>18 leshort 49 Renesas H8/500, +>>18 leshort 50 IA-64, +>>18 leshort 51 Stanford MIPS-X, +>>18 leshort 52 Motorola Coldfire, +>>18 leshort 53 Motorola M68HC12, +>>18 leshort 62 x86-64, +>>18 leshort 75 Digital VAX, +>>18 leshort 88 Renesas M32R, +>>18 leshort 94 Tensilica Xtensa, +>>18 leshort 97 NatSemi 32k, +>>18 leshort 106 Analog Devices Blackfin, +>>18 leshort 0x9026 Alpha (unofficial), >>20 lelong 0 invalid version >>20 lelong 1 version 1 >>36 lelong 1 MathCoPro/FPU/MAU Required @@ -79,56 +112,93 @@ >>16 beshort 1 relocatable, >>16 beshort 2 executable, >>16 beshort 3 shared object, -# only for MIPS ->>18 beshort 8 -# only for 32-bit ->>>4 byte 1 ->>>>36 belong&0xf0000000 0x00000000 MIPS-I, ->>>>36 belong&0xf0000000 0x10000000 MIPS-II, ->>>>36 belong&0xf0000000 0x20000000 MIPS-III, ->>>>36 belong&0xf0000000 0x30000000 MIPS-IV, ->>>>36 belong&0xf0000000 0x40000000 MIPS-V, ->>>>36 belong&0xf0000000 0x60000000 MIPS32, ->>>>36 belong&0xf0000000 0x70000000 MIPS64, ->>>>36 belong&0xf0000000 0x80000000 MIPS32 rel2, ->>>>36 belong&0xf0000000 0x90000000 MIPS64 rel2, -# only for 64-bit ->>>4 byte 2 ->>>>48 belong&0xf0000000 0x00000000 MIPS-I, ->>>>48 belong&0xf0000000 0x10000000 MIPS-II, ->>>>48 belong&0xf0000000 0x20000000 MIPS-III, ->>>>48 belong&0xf0000000 0x30000000 MIPS-IV, ->>>>48 belong&0xf0000000 0x40000000 MIPS-V, ->>>>48 belong&0xf0000000 0x60000000 MIPS32, ->>>>48 belong&0xf0000000 0x70000000 MIPS64 , ->>>>48 belong&0xf0000000 0x80000000 MIPS32 rel2, ->>>>48 belong&0xf0000000 0x90000000 MIPS64 rel2, >>16 beshort 4 core file, ->>>400 lelong >0 (signal %d), +#>>>(0x38+0xcc) string >\0 of '%s' +#>>>(0x38+0x10) belong >0 (signal %d), >>16 beshort &0xff00 processor-specific, >>18 beshort 0 no machine, >>18 beshort 1 AT&T WE32100, >>18 beshort 2 SPARC, >>18 beshort 3 Intel 80386 - invalid byte order, ->>18 beshort 4 Motorola 68000, +>>18 beshort 4 Motorola +>>>36 belong &0x01000000 68000, +>>>36 belong &0x00810000 CPU32, +>>>36 belong 0 68020, >>18 beshort 5 Motorola 88000, >>18 beshort 6 Intel 80486 - invalid byte order, >>18 beshort 7 Intel 80860, -# >>18 beshort 8 MIPS, +# only for MIPS - see comment in little-endian section above. +>>18 beshort 8 MIPS, +>>>36 belong &0x20 N32 +>>18 beshort 10 MIPS, +>>>36 belong &0x20 N32 +>>18 beshort 8 +# only for 32-bit +>>>4 byte 1 +>>>>36 belong&0xf0000000 0x00000000 MIPS-I +>>>>36 belong&0xf0000000 0x10000000 MIPS-II +>>>>36 belong&0xf0000000 0x20000000 MIPS-III +>>>>36 belong&0xf0000000 0x30000000 MIPS-IV +>>>>36 belong&0xf0000000 0x40000000 MIPS-V +>>>>36 belong&0xf0000000 0x60000000 MIPS32 +>>>>36 belong&0xf0000000 0x70000000 MIPS64 +>>>>36 belong&0xf0000000 0x80000000 MIPS32 rel2 +>>>>36 belong&0xf0000000 0x90000000 MIPS64 rel2 +# only for 64-bit +>>>4 byte 2 +>>>>48 belong&0xf0000000 0x00000000 MIPS-I +>>>>48 belong&0xf0000000 0x10000000 MIPS-II +>>>>48 belong&0xf0000000 0x20000000 MIPS-III +>>>>48 belong&0xf0000000 0x30000000 MIPS-IV +>>>>48 belong&0xf0000000 0x40000000 MIPS-V +>>>>48 belong&0xf0000000 0x60000000 MIPS32 +>>>>48 belong&0xf0000000 0x70000000 MIPS64 +>>>>48 belong&0xf0000000 0x80000000 MIPS32 rel2 +>>>>48 belong&0xf0000000 0x90000000 MIPS64 rel2 >>18 beshort 9 Amdahl, >>18 beshort 10 MIPS (deprecated), >>18 beshort 11 RS6000, ->>18 beshort 15 PA-RISC, +>>18 beshort 15 PA-RISC +>>>50 beshort 0x0214 2.0 +>>>48 beshort &0x0008 (LP64) >>18 beshort 16 nCUBE, ->>18 beshort 17 VPP500, +>>18 beshort 17 Fujitsu VPP500, >>18 beshort 18 SPARC32PLUS, ->>18 beshort 20 PowerPC, +>>>36 belong&0xffff00 &0x000100 V8+ Required, +>>>36 belong&0xffff00 &0x000200 Sun UltraSPARC1 Extensions Required, +>>>36 belong&0xffff00 &0x000400 HaL R1 Extensions Required, +>>>36 belong&0xffff00 &0x000800 Sun UltraSPARC3 Extensions Required, +>>18 beshort 20 PowerPC or cisco 4500, +>>18 beshort 21 64-bit PowerPC or cisco 7500, +>>18 beshort 22 IBM S/390, +>>18 beshort 23 Cell SPU, +>>18 beshort 24 cisco SVIP, +>>18 beshort 25 cisco 7200, +>>18 beshort 36 NEC V800 or cisco 12000, +>>18 beshort 37 Fujitsu FR20, +>>18 beshort 38 TRW RH-32, +>>18 beshort 39 Motorola RCE, >>18 beshort 40 ARM, ->>18 beshort 42 SH - invalid byte order, ->>18 beshort 43 SPARC64, ->>18 beshort 62 AMD64 - invalid byte order, ->>18 beshort 75 VAX - invalid byte order, ->>18 beshort 0x9026 Alpha, +>>18 beshort 41 Alpha, +>>18 beshort 42 Renesas SH, +>>18 beshort 43 SPARC V9, +>>18 beshort 44 Siemens Tricore Embedded Processor, +>>18 beshort 45 Argonaut RISC Core, Argonaut Technologies Inc., +>>18 beshort 46 Renesas H8/300, +>>18 beshort 47 Renesas H8/300H, +>>18 beshort 48 Renesas H8S, +>>18 beshort 49 Renesas H8/500, +>>18 beshort 50 IA-64, +>>18 beshort 51 Stanford MIPS-X, +>>18 beshort 52 Motorola Coldfire, +>>18 beshort 53 Motorola M68HC12, +>>18 beshort 73 Cray NV1, +>>18 beshort 75 Digital VAX, +>>18 beshort 88 Renesas M32R, +>>18 beshort 94 Tensilica Xtensa, +>>18 beshort 97 NatSemi 32k, +>>18 beshort 0x9026 Alpha (unofficial), +>>18 beshort 0xa390 IBM S/390 (obsolete), >>20 belong 0 invalid version >>20 belong 1 version 1 >>36 belong 1 MathCoPro/FPU/MAU Required |