]> CyberLeo.Net >> Repos - FreeBSD/releng/10.3.git/blob - contrib/file/magic/Magdir/elf
Update file(1) to new version with security update. [EN-18:02.file]
[FreeBSD/releng/10.3.git] / contrib / file / magic / Magdir / elf
1
2 #------------------------------------------------------------------------------
3 # $File: elf,v 1.70 2016/06/02 12:36:30 christos Exp $
4 # elf:  file(1) magic for ELF executables
5 #
6 # We have to check the byte order flag to see what byte order all the
7 # other stuff in the header is in.
8 #
9 # What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
10 #
11 # Created by: unknown
12 # Modified by (1): Daniel Quinlan <quinlan@yggdrasil.com>
13 # Modified by (2): Peter Tobias <tobias@server.et-inf.fho-emden.de> (core support)
14 # Modified by (3): Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> (fix of core support)
15 # Modified by (4): <gerardo.cacciari@gmail.com> (VMS Itanium)
16 # Modified by (5): Matthias Urlichs <smurf@debian.org> (Listing of many architectures)
17
18 0       name            elf-mips
19 >0      lelong&0xf0000000       0x00000000      MIPS-I
20 >0      lelong&0xf0000000       0x10000000      MIPS-II
21 >0      lelong&0xf0000000       0x20000000      MIPS-III
22 >0      lelong&0xf0000000       0x30000000      MIPS-IV
23 >0      lelong&0xf0000000       0x40000000      MIPS-V
24 >0      lelong&0xf0000000       0x50000000      MIPS32
25 >0      lelong&0xf0000000       0x60000000      MIPS64
26 >0      lelong&0xf0000000       0x70000000      MIPS32 rel2
27 >0      lelong&0xf0000000       0x80000000      MIPS64 rel2
28 >0      lelong&0xf0000000       0x90000000      MIPS32 rel6
29 >0      lelong&0xf0000000       0xa0000000      MIPS64 rel6
30
31 0       name            elf-sparc
32 >0      lelong&0x00ffff00       0x00000100      V8+ Required,
33 >0      lelong&0x00ffff00       0x00000200      Sun UltraSPARC1 Extensions Required,
34 >0      lelong&0x00ffff00       0x00000400      HaL R1 Extensions Required,
35 >0      lelong&0x00ffff00       0x00000800      Sun UltraSPARC3 Extensions Required,
36 >0      lelong&0x3              0               total store ordering,
37 >0      lelong&0x3              1               partial store ordering,
38 >0      lelong&0x3              2               relaxed memory ordering,
39
40 0       name            elf-pa-risc
41 >2      leshort         0x0214          2.0
42 >0      leshort         &0x0008         (LP64)
43
44 0       name            elf-le
45 >16     leshort         0               no file type,
46 !:mime  application/octet-stream
47 >16     leshort         1               relocatable,
48 !:mime  application/x-object
49 >16     leshort         2               executable,
50 !:mime  application/x-executable
51 >16     leshort         3               shared object,
52 !:mime  application/x-sharedlib
53 >16     leshort         4               core file
54 !:mime  application/x-coredump
55 # Core file detection is not reliable.
56 #>>>(0x38+0xcc) string  >\0             of '%s'
57 #>>>(0x38+0x10) lelong  >0              (signal %d),
58 >16     leshort         &0xff00         processor-specific,
59 >18     clear           x
60 >18     leshort         0               no machine,
61 >18     leshort         1               AT&T WE32100,
62 >18     leshort         2               SPARC,
63 >18     leshort         3               Intel 80386,
64 >18     leshort         4               Motorola m68k,
65 >>4     byte            1
66 >>>36   lelong          &0x01000000     68000,
67 >>>36   lelong          &0x00810000     CPU32,
68 >>>36   lelong          0               68020,
69 >18     leshort         5               Motorola m88k,
70 >18     leshort         6               Intel 80486,
71 >18     leshort         7               Intel 80860,
72 # The official e_machine number for MIPS is now #8, regardless of endianness.
73 # The second number (#10) will be deprecated later. For now, we still
74 # say something if #10 is encountered, but only gory details for #8.
75 >18     leshort         8               MIPS,
76 >>4     byte            1
77 >>>36   lelong          &0x20           N32
78 >18     leshort         10              MIPS,
79 >>4     byte            1
80 >>>36   lelong          &0x20           N32
81 >18     leshort         8
82 # only for 32-bit
83 >>4     byte            1
84 >>>36   use             elf-mips
85 # only for 64-bit
86 >>4     byte            2
87 >>>48   use             elf-mips
88 >18     leshort         9               Amdahl,
89 >18     leshort         10              MIPS (deprecated),
90 >18     leshort         11              RS6000,
91 >18     leshort         15              PA-RISC,
92 # only for 32-bit
93 >>4     byte            1
94 >>>36   use             elf-pa-risc
95 # only for 64-bit
96 >>4     byte            2
97 >>>48   use             elf-pa-risc
98 >18     leshort         16              nCUBE,
99 >18     leshort         17              Fujitsu VPP500,
100 >18     leshort         18              SPARC32PLUS,
101 # only for 32-bit
102 >>4     byte            1
103 >>>36   use             elf-sparc
104 >18     leshort         19              Intel 80960,
105 >18     leshort         20              PowerPC or cisco 4500,
106 >18     leshort         21              64-bit PowerPC or cisco 7500,
107 >18     leshort         22              IBM S/390,
108 >18     leshort         23              Cell SPU,
109 >18     leshort         24              cisco SVIP,
110 >18     leshort         25              cisco 7200,
111 >18     leshort         36              NEC V800 or cisco 12000,
112 >18     leshort         37              Fujitsu FR20,
113 >18     leshort         38              TRW RH-32,
114 >18     leshort         39              Motorola RCE,
115 >18     leshort         40              ARM,
116 >>4     byte            1
117 >>>36   lelong&0xff000000       0x04000000      EABI4
118 >>>36   lelong&0xff000000       0x05000000      EABI5
119 >>>36   lelong          &0x00800000     BE8
120 >>>36   lelong          &0x00400000     LE8
121 >18     leshort         41              Alpha,
122 >18     leshort         42              Renesas SH,
123 >18     leshort         43              SPARC V9,
124 >>4     byte            2
125 >>>48   use             elf-sparc
126 >18     leshort         44              Siemens Tricore Embedded Processor,
127 >18     leshort         45              Argonaut RISC Core, Argonaut Technologies Inc.,
128 >18     leshort         46              Renesas H8/300,
129 >18     leshort         47              Renesas H8/300H,
130 >18     leshort         48              Renesas H8S,
131 >18     leshort         49              Renesas H8/500,
132 >18     leshort         50              IA-64,
133 >18     leshort         51              Stanford MIPS-X,
134 >18     leshort         52              Motorola Coldfire,
135 >18     leshort         53              Motorola M68HC12,
136 >18     leshort         54              Fujitsu MMA,
137 >18     leshort         55              Siemens PCP,
138 >18     leshort         56              Sony nCPU,
139 >18     leshort         57              Denso NDR1,
140 >18     leshort         58              Start*Core,
141 >18     leshort         59              Toyota ME16,
142 >18     leshort         60              ST100,
143 >18     leshort         61              Tinyj emb.,
144 >18     leshort         62              x86-64,
145 >18     leshort         63              Sony DSP,
146 >18     leshort         64              DEC PDP-10,
147 >18     leshort         65              DEC PDP-11,
148 >18     leshort         66              FX66,
149 >18     leshort         67              ST9+ 8/16 bit,
150 >18     leshort         68              ST7 8 bit,
151 >18     leshort         69              MC68HC16,
152 >18     leshort         70              MC68HC11,
153 >18     leshort         71              MC68HC08,
154 >18     leshort         72              MC68HC05,
155 >18     leshort         73              SGI SVx or Cray NV1,
156 >18     leshort         74              ST19 8 bit,
157 >18     leshort         75              Digital VAX,
158 >18     leshort         76              Axis cris,
159 >18     leshort         77              Infineon 32-bit embedded,
160 >18     leshort         78              Element 14 64-bit DSP,
161 >18     leshort         79              LSI Logic 16-bit DSP,
162 >18     leshort         80              MMIX,
163 >18     leshort         81              Harvard machine-independent,
164 >18     leshort         82              SiTera Prism,
165 >18     leshort         83              Atmel AVR 8-bit,
166 >18     leshort         84              Fujitsu FR30,
167 >18     leshort         85              Mitsubishi D10V,
168 >18     leshort         86              Mitsubishi D30V,
169 >18     leshort         87              NEC v850,
170 >18     leshort         88              Renesas M32R,
171 >18     leshort         89              Matsushita MN10300,
172 >18     leshort         90              Matsushita MN10200,
173 >18     leshort         91              picoJava,
174 >18     leshort         92              OpenRISC,
175 >18     leshort         93              ARC Cores Tangent-A5,
176 >18     leshort         94              Tensilica Xtensa,
177 >18     leshort         95              Alphamosaic VideoCore,
178 >18     leshort         96              Thompson Multimedia,
179 >18     leshort         97              NatSemi 32k,
180 >18     leshort         98              Tenor Network TPC,
181 >18     leshort         99              Trebia SNP 1000,
182 >18     leshort         100             STMicroelectronics ST200,
183 >18     leshort         101             Ubicom IP2022,
184 >18     leshort         102             MAX Processor,
185 >18     leshort         103             NatSemi CompactRISC,
186 >18     leshort         104             Fujitsu F2MC16,
187 >18     leshort         105             TI msp430,
188 >18     leshort         106             Analog Devices Blackfin,
189 >18     leshort         107             S1C33 Family of Seiko Epson,
190 >18     leshort         108             Sharp embedded,
191 >18     leshort         109             Arca RISC,
192 >18     leshort         110             PKU-Unity Ltd.,
193 >18     leshort         111             eXcess: 16/32/64-bit,
194 >18     leshort         112             Icera Deep Execution Processor,
195 >18     leshort         113             Altera Nios II,
196 >18     leshort         114             NatSemi CRX,
197 >18     leshort         115             Motorola XGATE,
198 >18     leshort         116             Infineon C16x/XC16x,
199 >18     leshort         117             Renesas M16C series,
200 >18     leshort         118             Microchip dsPIC30F,
201 >18     leshort         119             Freescale RISC core,
202 >18     leshort         120             Renesas M32C series,
203 >18     leshort         131             Altium TSK3000 core,
204 >18     leshort         132             Freescale RS08,
205 >18     leshort         134             Cyan Technology eCOG2,
206 >18     leshort         135             Sunplus S+core7 RISC,
207 >18     leshort         136             New Japan Radio (NJR) 24-bit DSP,
208 >18     leshort         137             Broadcom VideoCore III,
209 >18     leshort         138             LatticeMico32,
210 >18     leshort         139             Seiko Epson C17 family,
211 >18     leshort         140             TI TMS320C6000 DSP family,
212 >18     leshort         141             TI TMS320C2000 DSP family,
213 >18     leshort         142             TI TMS320C55x DSP family,
214 >18     leshort         160             STMicroelectronics 64bit VLIW DSP,
215 >18     leshort         161             Cypress M8C,
216 >18     leshort         162             Renesas R32C series,
217 >18     leshort         163             NXP TriMedia family,
218 >18     leshort         164             QUALCOMM DSP6,
219 >18     leshort         165             Intel 8051 and variants,
220 >18     leshort         166             STMicroelectronics STxP7x family,
221 >18     leshort         167             Andes embedded RISC,
222 >18     leshort         168             Cyan eCOG1X family,
223 >18     leshort         169             Dallas MAXQ30,
224 >18     leshort         170             New Japan Radio (NJR) 16-bit DSP,
225 >18     leshort         171             M2000 Reconfigurable RISC,
226 >18     leshort         172             Cray NV2 vector architecture,
227 >18     leshort         173             Renesas RX family,
228 >18     leshort         174             META,
229 >18     leshort         175             MCST Elbrus,
230 >18     leshort         176             Cyan Technology eCOG16 family,
231 >18     leshort         177             NatSemi CompactRISC,
232 >18     leshort         178             Freescale Extended Time Processing Unit,
233 >18     leshort         179             Infineon SLE9X,
234 >18     leshort         180             Intel L1OM,
235 >18     leshort         181             Intel K1OM,
236 >18     leshort         183             ARM aarch64,
237 >18     leshort         185             Atmel 32-bit family,
238 >18     leshort         186             STMicroeletronics STM8 8-bit,
239 >18     leshort         187             Tilera TILE64,
240 >18     leshort         188             Tilera TILEPro,
241 >18     leshort         189             Xilinx MicroBlaze 32-bit RISC,
242 >18     leshort         190             NVIDIA CUDA architecture,
243 >18     leshort         191             Tilera TILE-Gx,
244 >18     leshort         197             Renesas RL78 family,
245 >18     leshort         199             Renesas 78K0R,
246 >18     leshort         200             Freescale 56800EX,
247 >18     leshort         201             Beyond BA1,
248 >18     leshort         202             Beyond BA2,
249 >18     leshort         203             XMOS xCORE,
250 >18     leshort         204             Microchip 8-bit PIC(r),
251 >18     leshort         210             KM211 KM32,
252 >18     leshort         211             KM211 KMX32,
253 >18     leshort         212             KM211 KMX16,
254 >18     leshort         213             KM211 KMX8,
255 >18     leshort         214             KM211 KVARC,
256 >18     leshort         215             Paneve CDP,
257 >18     leshort         216             Cognitive Smart Memory,
258 >18     leshort         217             iCelero CoolEngine,
259 >18     leshort         218             Nanoradio Optimized RISC,
260 >18     leshort         243             UCB RISC-V,
261 >18     leshort         0x1057          AVR (unofficial),
262 >18     leshort         0x1059          MSP430 (unofficial),
263 >18     leshort         0x1223          Adapteva Epiphany (unofficial),
264 >18     leshort         0x2530          Morpho MT (unofficial),
265 >18     leshort         0x3330          FR30 (unofficial),
266 >18     leshort         0x3426          OpenRISC (obsolete),
267 >18     leshort         0x4688          Infineon C166 (unofficial),
268 >18     leshort         0x5441          Cygnus FRV (unofficial),
269 >18     leshort         0x5aa5          DLX (unofficial),
270 >18     leshort         0x7650          Cygnus D10V (unofficial),
271 >18     leshort         0x7676          Cygnus D30V (unofficial),
272 >18     leshort         0x8217          Ubicom IP2xxx (unofficial),
273 >18     leshort         0x8472          OpenRISC (obsolete),
274 >18     leshort         0x9025          Cygnus PowerPC (unofficial),
275 >18     leshort         0x9026          Alpha (unofficial),
276 >18     leshort         0x9041          Cygnus M32R (unofficial),
277 >18     leshort         0x9080          Cygnus V850 (unofficial),
278 >18     leshort         0xa390          IBM S/390 (obsolete),
279 >18     leshort         0xabc7          Old Xtensa (unofficial),
280 >18     leshort         0xad45          xstormy16 (unofficial),
281 >18     leshort         0xbaab          Old MicroBlaze (unofficial),,
282 >18     leshort         0xbeef          Cygnus MN10300 (unofficial),
283 >18     leshort         0xdead          Cygnus MN10200 (unofficial),
284 >18     leshort         0xf00d          Toshiba MeP (unofficial),
285 >18     leshort         0xfeb0          Renesas M32C (unofficial),
286 >18     leshort         0xfeba          Vitesse IQ2000 (unofficial),
287 >18     leshort         0xfebb          NIOS (unofficial),
288 >18     leshort         0xfeed          Moxie (unofficial),
289 >18     default         x
290 >>18    leshort         x               *unknown arch 0x%x*
291 >20     lelong          0               invalid version
292 >20     lelong          1               version 1
293
294 0       string          \177ELF         ELF
295 !:strength *2
296 >4      byte            0               invalid class
297 >4      byte            1               32-bit
298 >4      byte            2               64-bit
299 >5      byte            0               invalid byte order
300 >5      byte            1               LSB
301 >>0     use             elf-le
302 >5      byte            2               MSB
303 >>0     use             \^elf-le
304 >7      byte            0               (SYSV)
305 >7      byte            1               (HP-UX)
306 >7      byte            2               (NetBSD)
307 >7      byte            3               (GNU/Linux)
308 >7      byte            4               (GNU/Hurd)
309 >7      byte            5               (86Open)
310 >7      byte            6               (Solaris)
311 >7      byte            7               (Monterey)
312 >7      byte            8               (IRIX)
313 >7      byte            9               (FreeBSD)
314 >7      byte            10              (Tru64)
315 >7      byte            11              (Novell Modesto)
316 >7      byte            12              (OpenBSD)
317 >7      byte            13              (OpenVMS)
318 >7      byte            14              (HP NonStop Kernel)
319 >7      byte            15              (AROS Research Operating System)
320 >7      byte            16              (FenixOS)
321 >7      byte            17              (Nuxi CloudABI)
322 >7      byte            97              (ARM)
323 >7      byte            255             (embedded)