file_cmds-60.tar.gz
[apple/file_cmds.git] / file / magdir / elf
1
2 #------------------------------------------------------------------------------
3 # elf:  file(1) magic for ELF executables
4 #
5 # We have to check the byte order flag to see what byte order all the
6 # other stuff in the header is in.
7 #
8 # MIPS RS3000 may also be for MIPS RS2000.
9 # What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
10 #
11 # updated by Daniel Quinlan (quinlan@yggdrasil.com)
12 0       string          \177ELF         ELF
13 >4      byte            0               invalid class
14 >4      byte            1               32-bit
15 >4      byte            2               64-bit
16 >5      byte            0               invalid byte order
17 >5      byte            1               LSB
18 >>16    leshort         0               no file type,
19 >>16    leshort         1               relocatable,
20 >>16    leshort         2               executable,
21 >>16    leshort         3               shared object,
22 # Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de>
23 >>16    leshort         4               core file
24 >>>400  lelong          >0              (signal %d),
25 >>16    leshort         &0xff00         processor-specific,
26 >>18    leshort         0               no machine,
27 >>18    leshort         1               AT&T WE32100 - invalid byte order,
28 >>18    leshort         2               SPARC - invalid byte order,
29 >>18    leshort         3               Intel 80386,
30 >>18    leshort         4               Motorola 68000 - invalid byte order,
31 >>18    leshort         5               Motorola 88000 - invalid byte order,
32 >>18    leshort         6               Intel 80486,
33 >>18    leshort         7               Intel 80860,
34 >>18    leshort         8               MIPS RS3000_BE - invalid byte order,
35 >>18    leshort         9               Amdahl - invalid byte order,
36 >>18    leshort         10              MIPS RS3000_LE,
37 >>18    leshort         11              RS6000 - invalid byte order,
38 >>18    leshort         15              PA-RISC - invalid byte order,
39 >>18    leshort         16              nCUBE,
40 >>18    leshort         17              VPP500,
41 >>18    leshort         18              SPARC32PLUS,
42 >>18    leshort         20              PowerPC,
43 >>18    leshort         0x9026          Alpha,
44 >>20    lelong          0               invalid version
45 >>20    lelong          1               version 1
46 >>36    lelong          1               MathCoPro/FPU/MAU Required
47 >5      byte            2               MSB
48 >>16    beshort         0               no file type,
49 >>16    beshort         1               relocatable,
50 >>16    beshort         2               executable,
51 >>16    beshort         3               shared object,
52 >>16    beshort         4               core file,
53 >>>400  lelong          >0              (signal %d),
54 >>16    beshort         &0xff00         processor-specific,
55 >>18    beshort         0               no machine,
56 >>18    beshort         1               AT&T WE32100,
57 >>18    beshort         2               SPARC,
58 >>18    beshort         3               Intel 80386 - invalid byte order,
59 >>18    beshort         4               Motorola 68000,
60 >>18    beshort         5               Motorola 88000,
61 >>18    beshort         6               Intel 80486 - invalid byte order,
62 >>18    beshort         7               Intel 80860,
63 >>18    beshort         8               MIPS RS3000_BE,
64 >>18    beshort         9               Amdahl,
65 >>18    beshort         10              MIPS RS3000_LE - invalid byte order,
66 >>18    beshort         11              RS6000,
67 >>18    beshort         15              PA-RISC,
68 >>18    beshort         16              nCUBE,
69 >>18    beshort         17              VPP500,
70 >>18    beshort         18              SPARC32PLUS,
71 >>18    beshort         20              PowerPC,
72 >>18    beshort         0x9026          Alpha,
73 >>20    belong          0               invalid version
74 >>20    belong          1               version 1
75 >>36    belong          1               MathCoPro/FPU/MAU Required