Module: ELFTools::Constants::EM
- Included in:
- ELFTools::Constants
- Defined in:
- lib/elftools/constants.rb
Overview
These constants define the various ELF target machines.
Constant Summary collapse
- EM_NONE =
none
0- EM_M32 =
AT&T WE 32100
1- EM_SPARC =
SPARC
2- EM_386 =
Intel 80386
3- EM_68K =
Motorola 68000
4- EM_88K =
Motorola 88000
5- EM_486 =
Intel 80486
6- EM_860 =
Intel 80860
7- EM_MIPS =
MIPS R3000 (officially, big-endian only)
8- EM_S370 =
IBM System/370
9- EM_MIPS_RS3_LE =
Next two are historical and binaries and modules of these types will be rejected by Linux.
10- EM_MIPS_RS4_BE =
MIPS R3000 little-endian
10- EM_PARISC =
MIPS R4000 big-endian
15- EM_VPP500 =
HPPA
17- EM_SPARC32PLUS =
Fujitsu VPP500 (also some older versions of PowerPC)
18- EM_960 =
Sun’s “v8plus”
19- EM_PPC =
Intel 80960
20- EM_PPC64 =
PowerPC
21- EM_S390 =
PowerPC64
22- EM_SPU =
IBM S/390
23- EM_V800 =
Cell BE SPU
36- EM_FR20 =
NEC V800 series
37- EM_RH32 =
Fujitsu FR20
38- EM_RCE =
TRW RH32
39- EM_ARM =
Motorola M*Core
40- EM_SH =
ARM 32 bit
42- EM_SPARCV9 =
SuperH
43- EM_TRICORE =
SPARC v9 64-bit
44- EM_ARC =
Siemens Tricore embedded processor
45- EM_H8_300 =
ARC Cores
46- EM_H8_300H =
Renesas H8/300
47- EM_H8S =
Renesas H8/300H
48- EM_H8_500 =
Renesas H8S
49- EM_IA_64 =
Renesas H8/500H
50- EM_MIPS_X =
HP/Intel IA-64
51- EM_COLDFIRE =
Stanford MIPS-X
52- EM_68HC12 =
Motorola Coldfire
53- EM_MMA =
Motorola M68HC12
54- EM_PCP =
Fujitsu Multimedia Accelerator
55- EM_NCPU =
Siemens PCP
56- EM_NDR1 =
Sony nCPU embedded RISC processor
57- EM_STARCORE =
Denso NDR1 microprocessor
58- EM_ME16 =
Motorola Star*Core processor
59- EM_ST100 =
Toyota ME16 processor
60- EM_TINYJ =
STMicroelectronics ST100 processor
61- EM_X86_64 =
Advanced Logic Corp. TinyJ embedded processor
62- EM_PDSP =
AMD x86-64
63- EM_PDP10 =
Sony DSP Processor
64- EM_PDP11 =
Digital Equipment Corp. PDP-10
65- EM_FX66 =
Digital Equipment Corp. PDP-11
66- EM_ST9PLUS =
Siemens FX66 microcontroller
67- EM_ST7 =
STMicroelectronics ST9+ 8/16 bit microcontroller
68- EM_68HC16 =
STMicroelectronics ST7 8-bit microcontroller
69- EM_68HC11 =
Motorola MC68HC16 Microcontroller
70- EM_68HC08 =
Motorola MC68HC11 Microcontroller
71- EM_68HC05 =
Motorola MC68HC08 Microcontroller
72- EM_SVX =
Motorola MC68HC05 Microcontroller
73- EM_ST19 =
Silicon Graphics SVx
74- EM_VAX =
STMicroelectronics ST19 8-bit cpu
75- EM_CRIS =
Digital VAX
76- EM_JAVELIN =
Axis Communications 32-bit embedded processor
77- EM_FIREPATH =
Infineon Technologies 32-bit embedded cpu
78- EM_ZSP =
Element 14 64-bit DSP processor
79- EM_MMIX =
LSI Logic’s 16-bit DSP processor
80- EM_HUANY =
Donald Knuth’s educational 64-bit processor
81- EM_PRISM =
Harvard’s machine-independent format
82- EM_AVR =
SiTera Prism
83- EM_FR30 =
Atmel AVR 8-bit microcontroller
84- EM_D10V =
Fujitsu FR30
85- EM_D30V =
Mitsubishi D10V
86- EM_V850 =
Mitsubishi D30V
87- EM_M32R =
Renesas V850
88- EM_MN10300 =
Renesas M32R
89- EM_MN10200 =
Matsushita MN10300
90- EM_PJ =
Matsushita MN10200
91- EM_OPENRISC =
picoJava
92- EM_ARC_COMPACT =
OpenRISC 32-bit embedded processor
93- EM_XTENSA =
ARC International ARCompact processor
94- EM_VIDEOCORE =
Tensilica Xtensa Architecture
95- EM_TMM_GPP =
Alphamosaic VideoCore processor
96- EM_NS32K =
Thompson Multimedia General Purpose Processor
97- EM_TPC =
National Semiconductor 32000 series
98- EM_SNP1K =
Tenor Network TPC processor
99- EM_ST200 =
Trebia SNP 1000 processor
100- EM_IP2K =
STMicroelectronics ST200 microcontroller
101- EM_MAX =
Ubicom IP2022 micro controller
102- EM_CR =
MAX Processor
103- EM_F2MC16 =
National Semiconductor CompactRISC
104- EM_MSP430 =
Fujitsu F2MC16
105- EM_BLACKFIN =
TI msp430 micro controller
106- EM_SE_C33 =
ADI Blackfin Processor
107- EM_SEP =
S1C33 Family of Seiko Epson processors
108- EM_ARCA =
Sharp embedded microprocessor
109- EM_UNICORE =
Arca RISC Microprocessor
110- EM_EXCESS =
Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University
111- EM_DXP =
eXcess: 16/32/64-bit configurable embedded CPU
112- EM_ALTERA_NIOS2 =
Icera Semiconductor Inc. Deep Execution Processor
113- EM_CRX =
Altera Nios II soft-core processor
114- EM_XGATE =
National Semiconductor CRX
115- EM_C116 =
Motorola XGATE embedded processor
116- EM_M16C =
Infineon C16x/XC16x processor
117- EM_DSPIC30F =
Renesas M16C series microprocessors
118- EM_CE =
Microchip Technology dsPIC30F Digital Signal Controller
119- EM_M32C =
Freescale Communication Engine RISC core
120- EM_TSK3000 =
Freescale Communication Engine RISC core
131- EM_RS08 =
Altium TSK3000 core
132- EM_SHARC =
Freescale RS08 embedded processor
133- EM_ECOG2 =
Analog Devices SHARC family of 32-bit DSP processors
134- EM_SCORE7 =
Cyan Technology eCOG2 microprocessor
135- EM_DSP24 =
Sunplus S+core7 RISC processor
136- EM_VIDEOCORE3 =
New Japan Radio (NJR) 24-bit DSP Processor
137- EM_LATTICEMICO32 =
Broadcom VideoCore III processor
138- EM_SE_C17 =
RISC processor for Lattice FPGA architecture
139- EM_TI_C6000 =
Seiko Epson C17 family
140- EM_TI_C2000 =
The Texas Instruments TMS320C6000 DSP family
141- EM_TI_C5500 =
The Texas Instruments TMS320C2000 DSP family
142- EM_TI_ARP32 =
The Texas Instruments TMS320C55x DSP family
143- EM_TI_PRU =
Texas Instruments Application Specific RISC Processor, 32bit fetch
144- EM_MMDSP_PLUS =
Texas Instruments Programmable Realtime Unit
160- EM_CYPRESS_M8C =
STMicroelectronics 64bit VLIW Data Signal Processor
161- EM_R32C =
Cypress M8C microprocessor
162- EM_TRIMEDIA =
Renesas R32C series microprocessors
163- EM_QDSP6 =
NXP Semiconductors TriMedia architecture family
164- EM_8051 =
QUALCOMM DSP6 Processor
165- EM_STXP7X =
Intel 8051 and variants
166- EM_NDS32 =
STMicroelectronics STxP7x family
167- EM_ECOG1 =
Andes Technology compact code size embedded RISC processor family
168- EM_ECOG1X =
Cyan Technology eCOG1X family
168- EM_MAXQ30 =
Cyan Technology eCOG1X family
169- EM_XIMO16 =
Dallas Semiconductor MAXQ30 Core Micro-controllers
170- EM_MANIK =
New Japan Radio (NJR) 16-bit DSP Processor
171- EM_CRAYNV2 =
M2000 Reconfigurable RISC Microprocessor
172- EM_RX =
Cray Inc. NV2 vector architecture
173- EM_METAG =
Renesas RX family
174- EM_MCST_ELBRUS =
Imagination Technologies Meta processor architecture
175- EM_ECOG16 =
MCST Elbrus general purpose hardware architecture
176- EM_CR16 =
Cyan Technology eCOG16 family
177- EM_ETPU =
National Semiconductor CompactRISC 16-bit processor
178- EM_SLE9X =
Freescale Extended Time Processing Unit
179- EM_L1OM =
Infineon Technologies SLE9X core
180- EM_K1OM =
Intel L1OM
181- EM_AARCH64 =
Intel K1OM
183- EM_AVR32 =
ARM 64 bit
185- EM_STM8 =
Atmel Corporation 32-bit microprocessor family
186- EM_TILE64 =
STMicroeletronics STM8 8-bit microcontroller
187- EM_TILEPRO =
Tilera TILE64 multicore architecture family
188- EM_MICROBLAZE =
Tilera TILEPro
189- EM_CUDA =
Xilinx MicroBlaze
190- EM_TILEGX =
NVIDIA CUDA architecture
191- EM_CLOUDSHIELD =
Tilera TILE-Gx
192- EM_COREA_1ST =
CloudShield architecture family
193- EM_COREA_2ND =
KIPO-KAIST Core-A 1st generation processor family
194- EM_ARC_COMPACT2 =
KIPO-KAIST Core-A 2nd generation processor family
195- EM_OPEN8 =
Synopsys ARCompact V2
196- EM_RL78 =
Open8 8-bit RISC soft processor core
197- EM_VIDEOCORE5 =
Renesas RL78 family
198- EM_78K0R =
Broadcom VideoCore V processor
199- EM_56800EX =
Renesas 78K0R
200- EM_BA1 =
Freescale 56800EX Digital Signal Controller (DSC)
201- EM_BA2 =
Beyond BA1 CPU architecture
202- EM_XCORE =
Beyond BA2 CPU architecture
203- EM_MCHP_PIC =
XMOS xCORE processor family
204- EM_INTELGT =
Microchip 8-bit PIC® family
205- EM_KM32 =
Intel Graphics Technology
210- EM_KMX32 =
KM211 KM32 32-bit processor
211- EM_KMX16 =
KM211 KMX32 32-bit processor
212- EM_KMX8 =
KM211 KMX16 16-bit processor
213- EM_KVARC =
KM211 KMX8 8-bit processor
214- EM_CDP =
KM211 KVARC processor
215- EM_COGE =
Paneve CDP architecture family
216- EM_COOL =
Cognitive Smart Memory Processor
217- EM_NORC =
Bluechip Systems CoolEngine
218- EM_CSR_KALIMBA =
Nanoradio Optimized RISC
219- EM_Z80 =
CSR Kalimba architecture family
220- EM_VISIUM =
Zilog Z80
221- EM_FT32 =
Controls and Data Services VISIUMcore processor
222- EM_MOXIE =
FTDI Chip FT32 high performance 32-bit RISC architecture
223- EM_AMDGPU =
Moxie processor family
224- EM_LANAI =
AMD GPU architecture
244- EM_CEVA =
Lanai 32-bit processor
245- EM_CEVA_X2 =
CEVA Processor Architecture Family
246- EM_BPF =
CEVA X2 Processor Family
247- EM_GRAPHCORE_IPU =
Linux BPF - in-kernel virtual machine
248- EM_IMG1 =
Graphcore Intelligent Processing Unit
249- EM_NFP =
Imagination Technologies
250- EM_VE =
Netronome Flow Processor (NFP)
251- EM_CSKY =
NEC Vector Engine
252- EM_ARC_COMPACT3_64 =
C-SKY processor family
253- EM_MCS6502 =
Synopsys ARCv2.3 64-bit
254- EM_ARC_COMPACT3 =
MOS Technology MCS 6502 processor
255- EM_KVX =
Synopsys ARCv2.3 32-bit
256- EM_65816 =
Kalray VLIW core of the MPPA processor family
257- EM_LOONGARCH =
WDC 65816/65C816
258- EM_KF32 =
LoongArch
259- EM_U16_U8CORE =
ChipON KungFu32
260- EM_TACHYUM =
LAPIS nX-U16/U8
261- EM_56800EF =
Tachyum
262- EM_FRV =
NXP 56800EF Digital Signal Controller (DSC)
0x5441- EM_ALPHA =
This is an interim value that we will use until the committee comes up with a final number.
0x9026- EM_CYGNUS_M32R =
Bogus old m32r magic number, used by old tools.
0x9041- EM_S390_OLD =
This is the old interim value for S/390 architecture
0xA390
- EM_CYGNUS_MN10300 =
Also Panasonic/MEI MN10300, AM33
0xbeef
Class Method Summary collapse
-
.mapping(val) ⇒ String
Return the architecture name according to
val.
Class Method Details
.mapping(val) ⇒ String
Return the architecture name according to val. Used by ELFFile#machine.
Only supports famous archs.
427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 |
# File 'lib/elftools/constants.rb', line 427 def self.mapping(val) case val when EM_NONE then 'None' when EM_386, EM_486 then 'Intel 80386' when EM_860 then 'Intel 80860' when EM_MIPS then 'MIPS R3000' when EM_PPC then 'PowerPC' when EM_PPC64 then 'PowerPC64' when EM_ARM then 'ARM' when EM_IA_64 then 'Intel IA-64' when EM_AARCH64 then 'AArch64' when EM_X86_64 then 'Advanced Micro Devices X86-64' else format('<unknown>: 0x%x', val) end end |