Module: ELFTools::Constants::EM

Included in:
ELFTools::Constants
Defined in:
lib/elftools/constants.rb,
lib/elftools/constants/machine.rb,
lib/elftools/constants/machine_names.rb

Overview

Machine architectures, records in e_machine.

Constant Summary collapse

EM_NONE =

No machine

0
EM_M32 =

AT&T WE 32100

1
EM_SPARC =

SUN SPARC

2
EM_386 =

Intel 80386

3
EM_68K =

Motorola m68k family

4
EM_88K =

Motorola m88k family

5
EM_IAMCU =

Intel MCU

6
EM_860 =

Intel 80860

7
EM_MIPS =

MIPS R3000

8
EM_S370 =

IBM System/370

9
EM_MIPS_RS3_LE =

MIPS R3000 little-endian (Oct 4 1999 Draft). Deprecated

10
EM_PARISC =

HPPA

15
EM_PPC_OLD =

Old version of PowerPC. Deprecated

17
EM_VPP550 =

Fujitsu VPP500

17
EM_SPARC32PLUS =

Sun's "v8plus"

18
EM_960 =

Intel 80960

19
EM_PPC =

PowerPC

20
EM_PPC64 =

64-bit PowerPC

21
EM_S390 =

IBM S/390

22
EM_SPU =

Sony/Toshiba/IBM SPU

23
EM_V800 =

NEC V800 series

36
EM_FR20 =

Fujitsu FR20

37
EM_RH32 =

TRW RH32

38
EM_MCORE =

Motorola M*Core

39
EM_RCE =

Old name for MCore

39
EM_ARM =

ARM

40
EM_OLD_ALPHA =

Digital Alpha

41
EM_SH =

Renesas (formerly Hitachi) / SuperH SH

42
EM_SPARCV9 =

SPARC v9 64-bit

43
EM_TRICORE =

Siemens Tricore embedded processor

44
EM_ARC =

ARC Cores

45
EM_H8_300 =

Renesas (formerly Hitachi) H8/300

46
EM_H8_300H =

Renesas (formerly Hitachi) H8/300H

47
EM_H8S =

Renesas (formerly Hitachi) H8S

48
EM_H8_500 =

Renesas (formerly Hitachi) H8/500

49
EM_IA_64 =

Intel IA-64 Processor

50
EM_MIPS_X =

Stanford MIPS-X

51
EM_COLDFIRE =

Motorola Coldfire

52
EM_68HC12 =

Motorola M68HC12

53
EM_MMA =

Fujitsu Multimedia Accelerator

54
EM_PCP =

Siemens PCP

55
EM_NCPU =

Sony nCPU embedded RISC processor

56
EM_NDR1 =

Denso NDR1 microprocessor

57
EM_STARCORE =

Motorola Star*Core processor

58
EM_ME16 =

Toyota ME16 processor

59
EM_ST100 =

STMicroelectronics ST100 processor

60
EM_TINYJ =

Advanced Logic Corp. TinyJ embedded processor

61
EM_X86_64 =

Advanced Micro Devices X86-64 processor

62
EM_PDSP =

Sony DSP Processor

63
EM_PDP10 =

Digital Equipment Corp. PDP-10

64
EM_PDP11 =

Digital Equipment Corp. PDP-11

65
EM_FX66 =

Siemens FX66 microcontroller

66
EM_ST9PLUS =

STMicroelectronics ST9+ 8/16 bit microcontroller

67
EM_ST7 =

STMicroelectronics ST7 8-bit microcontroller

68
EM_68HC16 =

Motorola MC68HC16 Microcontroller

69
EM_68HC11 =

Motorola MC68HC11 Microcontroller

70
EM_68HC08 =

Motorola MC68HC08 Microcontroller

71
EM_68HC05 =

Motorola MC68HC05 Microcontroller

72
EM_SVX =

Silicon Graphics SVx

73
EM_ST19 =

STMicroelectronics ST19 8-bit cpu

74
EM_VAX =

Digital VAX

75
EM_CRIS =

Axis Communications 32-bit embedded processor

76
EM_JAVELIN =

Infineon Technologies 32-bit embedded cpu

77
EM_FIREPATH =

Element 14 64-bit DSP processor

78
EM_ZSP =

LSI Logic's 16-bit DSP processor

79
EM_MMIX =

Donald Knuth's educational 64-bit processor

80
EM_HUANY =

Harvard's machine-independent format

81
EM_PRISM =

SiTera Prism

82
EM_AVR =

Atmel AVR 8-bit microcontroller

83
EM_FR30 =

Fujitsu FR30

84
EM_D10V =

Mitsubishi D10V

85
EM_D30V =

Mitsubishi D30V

86
EM_V850 =

Renesas V850 (formerly NEC V850)

87
EM_M32R =

Renesas M32R (formerly Mitsubishi M32R)

88
EM_MN10300 =

Matsushita MN10300

89
EM_MN10200 =

Matsushita MN10200

90
EM_PJ =

picoJava

91
EM_OR1K =

OpenRISC 1000 32-bit embedded processor

92
EM_ARC_COMPACT =

ARC International ARCompact processor

93
EM_XTENSA =

Tensilica Xtensa Architecture

94
EM_SCORE_OLD =

Old Sunplus S+core7 backend magic number. Written in the absence of an ABI

95
EM_VIDEOCORE =

Alphamosaic VideoCore processor

95
EM_TMM_GPP =

Thompson Multimedia General Purpose Processor

96
EM_NS32K =

National Semiconductor 32000 series

97
EM_TPC =

Tenor Network TPC processor

98
EM_PJ_OLD =

Old value for picoJava. Deprecated

99
EM_SNP1K =

Trebia SNP 1000 processor

99
EM_ST200 =

STMicroelectronics ST200 microcontroller

100
EM_IP2K =

Ubicom IP2022 micro controller

101
EM_MAX =

MAX Processor

102
EM_CR =

National Semiconductor CompactRISC

103
EM_F2MC16 =

Fujitsu F2MC16

104
EM_MSP430 =

TI msp430 micro controller

105
EM_BLACKFIN =

ADI Blackfin

106
EM_SE_C33 =

S1C33 Family of Seiko Epson processors

107
EM_SEP =

Sharp embedded microprocessor

108
EM_ARCA =

Arca RISC Microprocessor

109
EM_UNICORE =

Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University

110
EM_EXCESS =

eXcess: 16/32/64-bit configurable embedded CPU

111
EM_DXP =

Icera Semiconductor Inc. Deep Execution Processor

112
EM_ALTERA_NIOS2 =

Altera Nios II soft-core processor

113
EM_CRX =

National Semiconductor CRX

114
EM_CR16_OLD =

Old, value for National Semiconductor CompactRISC. Deprecated

115
EM_XGATE =

Motorola XGATE embedded processor

115
EM_C166 =

Infineon C16x/XC16x processor

116
EM_M16C =

Renesas M16C series microprocessors

117
EM_DSPIC30F =

Microchip Technology dsPIC30F Digital Signal Controller

118
EM_CE =

Freescale Communication Engine RISC core

119
EM_M32C =

Renesas M32C series microprocessors

120
EM_TSK3000 =

Altium TSK3000 core

131
EM_RS08 =

Freescale RS08 embedded processor

132
EM_ECOG2 =

Cyan Technology eCOG2 microprocessor

134
EM_SCORE =

Sunplus Score

135
EM_SCORE7 =

Sunplus S+core7 RISC processor

135
EM_DSP24 =

New Japan Radio (NJR) 24-bit DSP Processor

136
EM_VIDEOCORE3 =

Broadcom VideoCore III processor

137
EM_LATTICEMICO32 =

RISC processor for Lattice FPGA architecture

138
EM_SE_C17 =

Seiko Epson C17 family

139
EM_TI_C6000 =

Texas Instruments TMS320C6000 DSP family

140
EM_TI_C2000 =

Texas Instruments TMS320C2000 DSP family

141
EM_TI_C5500 =

Texas Instruments TMS320C55x DSP family

142
EM_TI_PRU =

Texas Instruments Programmable Realtime Unit

144
EM_MMDSP_PLUS =

STMicroelectronics 64bit VLIW Data Signal Processor

160
EM_CYPRESS_M8C =

Cypress M8C microprocessor

161
EM_R32C =

Renesas R32C series microprocessors

162
EM_TRIMEDIA =

NXP Semiconductors TriMedia architecture family

163
EM_QDSP6 =

QUALCOMM DSP6 Processor

164
EM_8051 =

Intel 8051 and variants

165
EM_STXP7X =

STMicroelectronics STxP7x family

166
EM_NDS32 =

Andes Technology compact code size embedded RISC processor family

167
EM_ECOG1 =

Cyan Technology eCOG1X family

168
EM_ECOG1X =

Cyan Technology eCOG1X family

168
EM_MAXQ30 =

Dallas Semiconductor MAXQ30 Core Micro-controllers

169
EM_XIMO16 =

New Japan Radio (NJR) 16-bit DSP Processor

170
EM_MANIK =

M2000 Reconfigurable RISC Microprocessor

171
EM_CRAYNV2 =

Cray Inc. NV2 vector architecture

172
EM_RX =

Renesas RX family

173
EM_METAG =

Imagination Technologies Meta processor architecture

174
EM_MCST_ELBRUS =

MCST Elbrus general purpose hardware architecture

175
EM_ECOG16 =

Cyan Technology eCOG16 family

176
EM_CR16 =

National Semiconductor CompactRISC 16-bit processor

177
EM_ETPU =

Freescale Extended Time Processing Unit

178
EM_SLE9X =

Infineon Technologies SLE9X core

179
EM_L1OM =

Intel L1OM

180
EM_K1OM =

Intel K1OM

181
EM_INTEL182 =

Reserved by Intel

182
EM_AARCH64 =

ARM 64-bit architecture

183
EM_ARM184 =

Reserved by ARM

184
EM_AVR32 =

Atmel Corporation 32-bit microprocessor family

185
EM_STM8 =

STMicroeletronics STM8 8-bit microcontroller

186
EM_TILE64 =

Tilera TILE64 multicore architecture family

187
EM_TILEPRO =

Tilera TILEPro multicore architecture family

188
EM_MICROBLAZE =

Xilinx MicroBlaze 32-bit RISC soft processor core

189
EM_CUDA =

NVIDIA CUDA architecture

190
EM_TILEGX =

Tilera TILE-Gx multicore architecture family

191
EM_CLOUDSHIELD =

CloudShield architecture family

192
EM_COREA_1ST =

KIPO-KAIST Core-A 1st generation processor family

193
EM_COREA_2ND =

KIPO-KAIST Core-A 2nd generation processor family

194
EM_ARC_COMPACT2 =

Synopsys ARCompact V2

195
EM_OPEN8 =

Open8 8-bit RISC soft processor core

196
EM_RL78 =

Renesas RL78 family

197
EM_VIDEOCORE5 =

Broadcom VideoCore V processor

198
EM_78K0R =

Renesas 78K0R

199
EM_56800EX =

Freescale 56800EX Digital Signal Controller (DSC)

200
EM_BA1 =

Beyond BA1 CPU architecture

201
EM_BA2 =

Beyond BA2 CPU architecture

202
EM_XCORE =

XMOS xCORE processor family

203
EM_MCHP_PIC =

Microchip 8-bit PIC(r) family

204
EM_INTELGT =

Intel Graphics Technology

205
EM_INTEL206 =

Reserved by Intel

206
EM_INTEL207 =

Reserved by Intel

207
EM_INTEL208 =

Reserved by Intel

208
EM_INTEL209 =

Reserved by Intel

209
EM_KM32 =

KM211 KM32 32-bit processor

210
EM_KMX32 =

KM211 KMX32 32-bit processor

211
EM_KMX16 =

KM211 KMX16 16-bit processor

212
EM_KMX8 =

KM211 KMX8 8-bit processor

213
EM_KVARC =

KM211 KVARC processor

214
EM_CDP =

Paneve CDP architecture family

215
EM_COGE =

Cognitive Smart Memory Processor

216
EM_COOL =

Bluechip Systems CoolEngine

217
EM_NORC =

Nanoradio Optimized RISC

218
EM_CSR_KALIMBA =

CSR Kalimba architecture family

219
EM_Z80 =

Zilog Z80

220
EM_VISIUM =

Controls and Data Services VISIUMcore processor

221
EM_FT32 =

FTDI Chip FT32 high performance 32-bit RISC architecture

222
EM_MOXIE =

Moxie processor family

223
EM_AMDGPU =

AMD GPU architecture

224
EM_RISCV =

RISC-V

243
EM_LANAI =

Lanai 32-bit processor

244
EM_CEVA =

CEVA Processor Architecture Family

245
EM_CEVA_X2 =

CEVA X2 Processor Family

246
EM_BPF =

Linux BPF - in-kernel virtual machine

247
EM_GRAPHCORE_IPU =

Graphcore Intelligent Processing Unit

248
EM_IMG1 =

Imagination Technologies

249
EM_NFP =

Netronome Flow Processor

250
EM_VE =

NEC Vector Engine

251
EM_CSKY =

C-SKY processor family

252
EM_ARC_COMPACT3_64 =

Synopsys ARCv2.3 64-bit

253
EM_MCS6502 =

MOS Technology MCS 6502 processor

254
EM_ARC_COMPACT3 =

Synopsys ARCv2.3 32-bit

255
EM_KVX =

Kalray VLIW core of the MPPA processor family

256
EM_65816 =

WDC 65816/65C816

257
EM_LOONGARCH =

LoongArch

258
EM_KF32 =

ChipON KungFu32

259
EM_U16_U8CORE =

LAPIS nX-U16/U8

260
EM_TACHYUM =

Tachyum

261
EM_56800EF =

NXP 56800EF Digital Signal Controller (DSC)

262
EM_AVR_OLD =

AVR magic number. Written in the absense of an ABI

4183
EM_MSP430_OLD =

MSP430 magic number. Written in the absense of everything

4185
EM_ADAPTEVA_EPIPHANY =

Adapteva's Epiphany architecture

4643
EM_MT =

Morpho MT. Written in the absense of an ABI

9520
EM_CYGNUS_FR30 =

FR30 magic number - no EABI available

13_104
EM_WEBASSEMBLY =

Unofficial value for Web Assembly binaries, as used by LLVM

16_727
EM_XC16X =

Infineon Technologies 16-bit microcontroller with C166-V2 core

18_056
EM_S12Z =

Freescale S12Z. The Freescale toolchain generates elf files with this value

19_951
EM_CYGNUS_FRV =

FRV magic number - no EABI available??

21_569
EM_DLX =

DLX magic number. Written in the absense of an ABI

23_205
EM_CYGNUS_D10V =

D10V backend magic number. Written in the absence of an ABI

30_288
EM_CYGNUS_D30V =

D30V backend magic number. Written in the absence of an ABI

30_326
EM_IP2K_OLD =

Ubicom IP2xxx; Written in the absense of an ABI

33_303
EM_CYGNUS_POWERPC =

Cygnus PowerPC ELF backend. Written in the absence of an ABI

36_901
EM_ALPHA =

Alpha backend magic number. Written in the absence of an ABI

36_902
EM_CYGNUS_M32R =

Cygnus M32R ELF backend. Written in the absence of an ABI

36_929
EM_CYGNUS_V850 =

V850 backend magic number. Written in the absense of an ABI

36_992
EM_S390_OLD =

old S/390 backend magic number. Written in the absence of an ABI

41_872
EM_XTENSA_OLD =

Old, unofficial value for Xtensa

43_975
EM_XSTORMY16 =

Sanyo XStormy16 CPU core

44_357
EM_MICROBLAZE_OLD =

Old MicroBlaze

47_787
EM_CYGNUS_MN10300 =

mn10200 and mn10300 backend magic numbers. Written in the absense of an ABI

48_879
EM_CYGNUS_MN10200 =

mn10200 and mn10300 backend magic numbers. Written in the absense of an ABI

57_005
EM_CYGNUS_MEP =

Toshiba MeP

61_453
EM_M32C_OLD =

Renesas M32C and M16C

65_200
EM_IQ2000 =

Vitesse IQ2000

65_210
EM_NIOS32 =

NIOS magic number - no EABI available

65_211
EM_MOXIE_OLD =

Old, unofficial value for Moxie

65_261
NAMES =

Name of each machine, see mapping.

Returns:

  • (Hash{Integer => String})
{
  EM_NONE => 'No machine',
  EM_M32 => 'AT&T WE 32100',
  EM_SPARC => 'SUN SPARC',
  EM_386 => 'Intel 80386',
  EM_68K => 'Motorola m68k family',
  EM_88K => 'Motorola m88k family',
  EM_IAMCU => 'Intel MCU',
  EM_860 => 'Intel 80860',
  EM_MIPS => 'MIPS R3000',
  EM_S370 => 'IBM System/370',
  EM_MIPS_RS3_LE => 'MIPS R3000 little-endian (Oct 4 1999 Draft). Deprecated',
  EM_PARISC => 'HPPA',
  EM_VPP550 => 'Fujitsu VPP500',
  EM_SPARC32PLUS => "Sun's \"v8plus\"",
  EM_960 => 'Intel 80960',
  EM_PPC => 'PowerPC',
  EM_PPC64 => '64-bit PowerPC',
  EM_S390 => 'IBM S/390',
  EM_SPU => 'Sony/Toshiba/IBM SPU',
  EM_V800 => 'NEC V800 series',
  EM_FR20 => 'Fujitsu FR20',
  EM_RH32 => 'TRW RH32',
  EM_MCORE => 'Motorola M*Core',
  EM_ARM => 'ARM',
  EM_OLD_ALPHA => 'Digital Alpha',
  EM_SH => 'Renesas (formerly Hitachi) / SuperH SH',
  EM_SPARCV9 => 'SPARC v9 64-bit',
  EM_TRICORE => 'Siemens Tricore embedded processor',
  EM_ARC => 'ARC Cores',
  EM_H8_300 => 'Renesas (formerly Hitachi) H8/300',
  EM_H8_300H => 'Renesas (formerly Hitachi) H8/300H',
  EM_H8S => 'Renesas (formerly Hitachi) H8S',
  EM_H8_500 => 'Renesas (formerly Hitachi) H8/500',
  EM_IA_64 => 'Intel IA-64 Processor',
  EM_MIPS_X => 'Stanford MIPS-X',
  EM_COLDFIRE => 'Motorola Coldfire',
  EM_68HC12 => 'Motorola M68HC12',
  EM_MMA => 'Fujitsu Multimedia Accelerator',
  EM_PCP => 'Siemens PCP',
  EM_NCPU => 'Sony nCPU embedded RISC processor',
  EM_NDR1 => 'Denso NDR1 microprocessor',
  EM_STARCORE => 'Motorola Star*Core processor',
  EM_ME16 => 'Toyota ME16 processor',
  EM_ST100 => 'STMicroelectronics ST100 processor',
  EM_TINYJ => 'Advanced Logic Corp. TinyJ embedded processor',
  EM_X86_64 => 'Advanced Micro Devices X86-64 processor',
  EM_PDSP => 'Sony DSP Processor',
  EM_PDP10 => 'Digital Equipment Corp. PDP-10',
  EM_PDP11 => 'Digital Equipment Corp. PDP-11',
  EM_FX66 => 'Siemens FX66 microcontroller',
  EM_ST9PLUS => 'STMicroelectronics ST9+ 8/16 bit microcontroller',
  EM_ST7 => 'STMicroelectronics ST7 8-bit microcontroller',
  EM_68HC16 => 'Motorola MC68HC16 Microcontroller',
  EM_68HC11 => 'Motorola MC68HC11 Microcontroller',
  EM_68HC08 => 'Motorola MC68HC08 Microcontroller',
  EM_68HC05 => 'Motorola MC68HC05 Microcontroller',
  EM_SVX => 'Silicon Graphics SVx',
  EM_ST19 => 'STMicroelectronics ST19 8-bit cpu',
  EM_VAX => 'Digital VAX',
  EM_CRIS => 'Axis Communications 32-bit embedded processor',
  EM_JAVELIN => 'Infineon Technologies 32-bit embedded cpu',
  EM_FIREPATH => 'Element 14 64-bit DSP processor',
  EM_ZSP => "LSI Logic's 16-bit DSP processor",
  EM_MMIX => "Donald Knuth's educational 64-bit processor",
  EM_HUANY => "Harvard's machine-independent format",
  EM_PRISM => 'SiTera Prism',
  EM_AVR => 'Atmel AVR 8-bit microcontroller',
  EM_FR30 => 'Fujitsu FR30',
  EM_D10V => 'Mitsubishi D10V',
  EM_D30V => 'Mitsubishi D30V',
  EM_V850 => 'Renesas V850 (formerly NEC V850)',
  EM_M32R => 'Renesas M32R (formerly Mitsubishi M32R)',
  EM_MN10300 => 'Matsushita MN10300',
  EM_MN10200 => 'Matsushita MN10200',
  EM_PJ => 'picoJava',
  EM_OR1K => 'OpenRISC 1000 32-bit embedded processor',
  EM_ARC_COMPACT => 'ARC International ARCompact processor',
  EM_XTENSA => 'Tensilica Xtensa Architecture',
  EM_VIDEOCORE => 'Alphamosaic VideoCore processor',
  EM_TMM_GPP => 'Thompson Multimedia General Purpose Processor',
  EM_NS32K => 'National Semiconductor 32000 series',
  EM_TPC => 'Tenor Network TPC processor',
  EM_SNP1K => 'Trebia SNP 1000 processor',
  EM_ST200 => 'STMicroelectronics ST200 microcontroller',
  EM_IP2K => 'Ubicom IP2022 micro controller',
  EM_MAX => 'MAX Processor',
  EM_CR => 'National Semiconductor CompactRISC',
  EM_F2MC16 => 'Fujitsu F2MC16',
  EM_MSP430 => 'TI msp430 micro controller',
  EM_BLACKFIN => 'ADI Blackfin',
  EM_SE_C33 => 'S1C33 Family of Seiko Epson processors',
  EM_SEP => 'Sharp embedded microprocessor',
  EM_ARCA => 'Arca RISC Microprocessor',
  EM_UNICORE => 'Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University',
  EM_EXCESS => 'eXcess: 16/32/64-bit configurable embedded CPU',
  EM_DXP => 'Icera Semiconductor Inc. Deep Execution Processor',
  EM_ALTERA_NIOS2 => 'Altera Nios II soft-core processor',
  EM_CRX => 'National Semiconductor CRX',
  EM_XGATE => 'Motorola XGATE embedded processor',
  EM_C166 => 'Infineon C16x/XC16x processor',
  EM_M16C => 'Renesas M16C series microprocessors',
  EM_DSPIC30F => 'Microchip Technology dsPIC30F Digital Signal Controller',
  EM_CE => 'Freescale Communication Engine RISC core',
  EM_M32C => 'Renesas M32C series microprocessors',
  EM_TSK3000 => 'Altium TSK3000 core',
  EM_RS08 => 'Freescale RS08 embedded processor',
  EM_ECOG2 => 'Cyan Technology eCOG2 microprocessor',
  EM_SCORE7 => 'Sunplus S+core7 RISC processor',
  EM_DSP24 => 'New Japan Radio (NJR) 24-bit DSP Processor',
  EM_VIDEOCORE3 => 'Broadcom VideoCore III processor',
  EM_LATTICEMICO32 => 'RISC processor for Lattice FPGA architecture',
  EM_SE_C17 => 'Seiko Epson C17 family',
  EM_TI_C6000 => 'Texas Instruments TMS320C6000 DSP family',
  EM_TI_C2000 => 'Texas Instruments TMS320C2000 DSP family',
  EM_TI_C5500 => 'Texas Instruments TMS320C55x DSP family',
  EM_TI_PRU => 'Texas Instruments Programmable Realtime Unit',
  EM_MMDSP_PLUS => 'STMicroelectronics 64bit VLIW Data Signal Processor',
  EM_CYPRESS_M8C => 'Cypress M8C microprocessor',
  EM_R32C => 'Renesas R32C series microprocessors',
  EM_TRIMEDIA => 'NXP Semiconductors TriMedia architecture family',
  EM_QDSP6 => 'QUALCOMM DSP6 Processor',
  EM_8051 => 'Intel 8051 and variants',
  EM_STXP7X => 'STMicroelectronics STxP7x family',
  EM_NDS32 => 'Andes Technology compact code size embedded RISC processor family',
  EM_ECOG1 => 'Cyan Technology eCOG1X family',
  EM_MAXQ30 => 'Dallas Semiconductor MAXQ30 Core Micro-controllers',
  EM_XIMO16 => 'New Japan Radio (NJR) 16-bit DSP Processor',
  EM_MANIK => 'M2000 Reconfigurable RISC Microprocessor',
  EM_CRAYNV2 => 'Cray Inc. NV2 vector architecture',
  EM_RX => 'Renesas RX family',
  EM_METAG => 'Imagination Technologies Meta processor architecture',
  EM_MCST_ELBRUS => 'MCST Elbrus general purpose hardware architecture',
  EM_ECOG16 => 'Cyan Technology eCOG16 family',
  EM_CR16 => 'National Semiconductor CompactRISC 16-bit processor',
  EM_ETPU => 'Freescale Extended Time Processing Unit',
  EM_SLE9X => 'Infineon Technologies SLE9X core',
  EM_L1OM => 'Intel L1OM',
  EM_K1OM => 'Intel K1OM',
  EM_INTEL182 => 'Reserved by Intel',
  EM_AARCH64 => 'ARM 64-bit architecture',
  EM_ARM184 => 'Reserved by ARM',
  EM_AVR32 => 'Atmel Corporation 32-bit microprocessor family',
  EM_STM8 => 'STMicroeletronics STM8 8-bit microcontroller',
  EM_TILE64 => 'Tilera TILE64 multicore architecture family',
  EM_TILEPRO => 'Tilera TILEPro multicore architecture family',
  EM_MICROBLAZE => 'Xilinx MicroBlaze 32-bit RISC soft processor core',
  EM_CUDA => 'NVIDIA CUDA architecture',
  EM_TILEGX => 'Tilera TILE-Gx multicore architecture family',
  EM_CLOUDSHIELD => 'CloudShield architecture family',
  EM_COREA_1ST => 'KIPO-KAIST Core-A 1st generation processor family',
  EM_COREA_2ND => 'KIPO-KAIST Core-A 2nd generation processor family',
  EM_ARC_COMPACT2 => 'Synopsys ARCompact V2',
  EM_OPEN8 => 'Open8 8-bit RISC soft processor core',
  EM_RL78 => 'Renesas RL78 family',
  EM_VIDEOCORE5 => 'Broadcom VideoCore V processor',
  EM_78K0R => 'Renesas 78K0R',
  EM_56800EX => 'Freescale 56800EX Digital Signal Controller (DSC)',
  EM_BA1 => 'Beyond BA1 CPU architecture',
  EM_BA2 => 'Beyond BA2 CPU architecture',
  EM_XCORE => 'XMOS xCORE processor family',
  EM_MCHP_PIC => 'Microchip 8-bit PIC(r) family',
  EM_INTELGT => 'Intel Graphics Technology',
  EM_INTEL206 => 'Reserved by Intel',
  EM_INTEL207 => 'Reserved by Intel',
  EM_INTEL208 => 'Reserved by Intel',
  EM_INTEL209 => 'Reserved by Intel',
  EM_KM32 => 'KM211 KM32 32-bit processor',
  EM_KMX32 => 'KM211 KMX32 32-bit processor',
  EM_KMX16 => 'KM211 KMX16 16-bit processor',
  EM_KMX8 => 'KM211 KMX8 8-bit processor',
  EM_KVARC => 'KM211 KVARC processor',
  EM_CDP => 'Paneve CDP architecture family',
  EM_COGE => 'Cognitive Smart Memory Processor',
  EM_COOL => 'Bluechip Systems CoolEngine',
  EM_NORC => 'Nanoradio Optimized RISC',
  EM_CSR_KALIMBA => 'CSR Kalimba architecture family',
  EM_Z80 => 'Zilog Z80',
  EM_VISIUM => 'Controls and Data Services VISIUMcore processor',
  EM_FT32 => 'FTDI Chip FT32 high performance 32-bit RISC architecture',
  EM_MOXIE => 'Moxie processor family',
  EM_AMDGPU => 'AMD GPU architecture',
  EM_RISCV => 'RISC-V',
  EM_LANAI => 'Lanai 32-bit processor',
  EM_CEVA => 'CEVA Processor Architecture Family',
  EM_CEVA_X2 => 'CEVA X2 Processor Family',
  EM_BPF => 'Linux BPF - in-kernel virtual machine',
  EM_GRAPHCORE_IPU => 'Graphcore Intelligent Processing Unit',
  EM_IMG1 => 'Imagination Technologies',
  EM_NFP => 'Netronome Flow Processor',
  EM_VE => 'NEC Vector Engine',
  EM_CSKY => 'C-SKY processor family',
  EM_ARC_COMPACT3_64 => 'Synopsys ARCv2.3 64-bit',
  EM_MCS6502 => 'MOS Technology MCS 6502 processor',
  EM_ARC_COMPACT3 => 'Synopsys ARCv2.3 32-bit',
  EM_KVX => 'Kalray VLIW core of the MPPA processor family',
  EM_65816 => 'WDC 65816/65C816',
  EM_LOONGARCH => 'LoongArch',
  EM_KF32 => 'ChipON KungFu32',
  EM_U16_U8CORE => 'LAPIS nX-U16/U8',
  EM_TACHYUM => 'Tachyum',
  EM_56800EF => 'NXP 56800EF Digital Signal Controller (DSC)',
  EM_AVR_OLD => 'AVR magic number. Written in the absense of an ABI',
  EM_MSP430_OLD => 'MSP430 magic number. Written in the absense of everything',
  EM_ADAPTEVA_EPIPHANY => "Adapteva's Epiphany architecture",
  EM_MT => 'Morpho MT. Written in the absense of an ABI',
  EM_CYGNUS_FR30 => 'FR30 magic number - no EABI available',
  EM_WEBASSEMBLY => 'Unofficial value for Web Assembly binaries, as used by LLVM',
  EM_XC16X => 'Infineon Technologies 16-bit microcontroller with C166-V2 core',
  EM_S12Z => 'Freescale S12Z. The Freescale toolchain generates elf files with this value',
  EM_CYGNUS_FRV => 'FRV magic number - no EABI available??',
  EM_DLX => 'DLX magic number. Written in the absense of an ABI',
  EM_CYGNUS_D10V => 'D10V backend magic number. Written in the absence of an ABI',
  EM_CYGNUS_D30V => 'D30V backend magic number. Written in the absence of an ABI',
  EM_IP2K_OLD => 'Ubicom IP2xxx; Written in the absense of an ABI',
  EM_CYGNUS_POWERPC => 'Cygnus PowerPC ELF backend. Written in the absence of an ABI',
  EM_ALPHA => 'Alpha backend magic number. Written in the absence of an ABI',
  EM_CYGNUS_M32R => 'Cygnus M32R ELF backend. Written in the absence of an ABI',
  EM_CYGNUS_V850 => 'V850 backend magic number. Written in the absense of an ABI',
  EM_S390_OLD => 'old S/390 backend magic number. Written in the absence of an ABI',
  EM_XTENSA_OLD => 'Old, unofficial value for Xtensa',
  EM_XSTORMY16 => 'Sanyo XStormy16 CPU core',
  EM_MICROBLAZE_OLD => 'Old MicroBlaze',
  EM_CYGNUS_MN10300 => 'mn10200 and mn10300 backend magic numbers. Written in the absense of an ABI',
  EM_CYGNUS_MN10200 => 'mn10200 and mn10300 backend magic numbers. Written in the absense of an ABI',
  EM_CYGNUS_MEP => 'Toshiba MeP',
  EM_M32C_OLD => 'Renesas M32C and M16C',
  EM_IQ2000 => 'Vitesse IQ2000',
  EM_NIOS32 => 'NIOS magic number - no EABI available',
  EM_MOXIE_OLD => 'Old, unofficial value for Moxie'
}.freeze

Class Method Summary collapse

Class Method Details

.mapping(val) ⇒ String

Return the architecture name according to val. Used by ELFFile#machine.

Examples:

mapping(3)
#=> 'Intel 80386'
mapping(62)
#=> 'Advanced Micro Devices X86-64 processor'
mapping(243)
#=> 'RISC-V'
mapping(1337)
#=> '<unknown>: 0x539'

Parameters:

  • val (Integer)

    Value of e_machine.

Returns:

  • (String)

    Name of architecture.



285
286
287
# File 'lib/elftools/constants.rb', line 285

def self.mapping(val)
  NAMES.fetch(val) { format('<unknown>: 0x%x', val) }
end