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 |