1da0c48c4Sopenharmony_ci/* Returns a human readable description of an ELF header e_machine value.
2da0c48c4Sopenharmony_ci   Copyright (C) 2019 Red Hat, Inc.
3da0c48c4Sopenharmony_ci   This file is part of elfutils.
4da0c48c4Sopenharmony_ci
5da0c48c4Sopenharmony_ci   This file is free software; you can redistribute it and/or modify
6da0c48c4Sopenharmony_ci   it under the terms of either
7da0c48c4Sopenharmony_ci
8da0c48c4Sopenharmony_ci     * the GNU Lesser General Public License as published by the Free
9da0c48c4Sopenharmony_ci       Software Foundation; either version 3 of the License, or (at
10da0c48c4Sopenharmony_ci       your option) any later version
11da0c48c4Sopenharmony_ci
12da0c48c4Sopenharmony_ci   or
13da0c48c4Sopenharmony_ci
14da0c48c4Sopenharmony_ci     * the GNU General Public License as published by the Free
15da0c48c4Sopenharmony_ci       Software Foundation; either version 2 of the License, or (at
16da0c48c4Sopenharmony_ci       your option) any later version
17da0c48c4Sopenharmony_ci
18da0c48c4Sopenharmony_ci   or both in parallel, as here.
19da0c48c4Sopenharmony_ci
20da0c48c4Sopenharmony_ci   elfutils is distributed in the hope that it will be useful, but
21da0c48c4Sopenharmony_ci   WITHOUT ANY WARRANTY; without even the implied warranty of
22da0c48c4Sopenharmony_ci   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23da0c48c4Sopenharmony_ci   General Public License for more details.
24da0c48c4Sopenharmony_ci
25da0c48c4Sopenharmony_ci   You should have received copies of the GNU General Public License and
26da0c48c4Sopenharmony_ci   the GNU Lesser General Public License along with this program.  If
27da0c48c4Sopenharmony_ci   not, see <http://www.gnu.org/licenses/>.  */
28da0c48c4Sopenharmony_ci
29da0c48c4Sopenharmony_ci#ifdef HAVE_CONFIG_H
30da0c48c4Sopenharmony_ci# include <config.h>
31da0c48c4Sopenharmony_ci#endif
32da0c48c4Sopenharmony_ci
33da0c48c4Sopenharmony_ci#include "libdwelf.h"
34da0c48c4Sopenharmony_ci
35da0c48c4Sopenharmony_ci
36da0c48c4Sopenharmony_ciconst char *
37da0c48c4Sopenharmony_cidwelf_elf_e_machine_string (int machine)
38da0c48c4Sopenharmony_ci{
39da0c48c4Sopenharmony_ci  switch (machine)
40da0c48c4Sopenharmony_ci    {
41da0c48c4Sopenharmony_ci    case EM_NONE:
42da0c48c4Sopenharmony_ci      return "None";
43da0c48c4Sopenharmony_ci    case EM_M32:
44da0c48c4Sopenharmony_ci      return "WE32100";
45da0c48c4Sopenharmony_ci    case EM_SPARC:
46da0c48c4Sopenharmony_ci      return "SPARC";
47da0c48c4Sopenharmony_ci    case EM_386:
48da0c48c4Sopenharmony_ci      return "Intel 80386";
49da0c48c4Sopenharmony_ci    case EM_68K:
50da0c48c4Sopenharmony_ci      return "M68K";
51da0c48c4Sopenharmony_ci    case EM_88K:
52da0c48c4Sopenharmony_ci      return "M88K";
53da0c48c4Sopenharmony_ci    case EM_IAMCU:
54da0c48c4Sopenharmony_ci      return "Intel MCU";
55da0c48c4Sopenharmony_ci    case EM_860:
56da0c48c4Sopenharmony_ci      return "Intel 80860";
57da0c48c4Sopenharmony_ci    case EM_MIPS:
58da0c48c4Sopenharmony_ci      return "MIPS R3000";
59da0c48c4Sopenharmony_ci    case EM_S370:
60da0c48c4Sopenharmony_ci      return "IBM System/370";
61da0c48c4Sopenharmony_ci    case EM_MIPS_RS3_LE:
62da0c48c4Sopenharmony_ci      return "MIPS R3000";
63da0c48c4Sopenharmony_ci    case EM_PARISC:
64da0c48c4Sopenharmony_ci      return "HPPA";
65da0c48c4Sopenharmony_ci    case EM_VPP500:
66da0c48c4Sopenharmony_ci      return "Fujitsu VPP500";
67da0c48c4Sopenharmony_ci    case EM_SPARC32PLUS:
68da0c48c4Sopenharmony_ci      return "SPARC v8+";
69da0c48c4Sopenharmony_ci    case EM_960:
70da0c48c4Sopenharmony_ci      return "Intel 80960";
71da0c48c4Sopenharmony_ci    case EM_PPC:
72da0c48c4Sopenharmony_ci      return "PowerPC";
73da0c48c4Sopenharmony_ci    case EM_PPC64:
74da0c48c4Sopenharmony_ci      return "PowerPC64";
75da0c48c4Sopenharmony_ci    case EM_S390:
76da0c48c4Sopenharmony_ci      return "IBM S/390";
77da0c48c4Sopenharmony_ci    case EM_SPU:
78da0c48c4Sopenharmony_ci      return "IBM SPU/SPC";
79da0c48c4Sopenharmony_ci    case EM_V800:
80da0c48c4Sopenharmony_ci      return "NEC V800";
81da0c48c4Sopenharmony_ci    case EM_FR20:
82da0c48c4Sopenharmony_ci      return "Fujitsu FR20";
83da0c48c4Sopenharmony_ci    case EM_RH32:
84da0c48c4Sopenharmony_ci      return "TRW RH-32";
85da0c48c4Sopenharmony_ci    case EM_RCE:
86da0c48c4Sopenharmony_ci      return "Motorola RCE";
87da0c48c4Sopenharmony_ci    case EM_ARM:
88da0c48c4Sopenharmony_ci      return "ARM";
89da0c48c4Sopenharmony_ci    case EM_FAKE_ALPHA:
90da0c48c4Sopenharmony_ci      return "Digital Alpha";
91da0c48c4Sopenharmony_ci    case EM_SH:
92da0c48c4Sopenharmony_ci      return "SH";
93da0c48c4Sopenharmony_ci    case EM_SPARCV9:
94da0c48c4Sopenharmony_ci      return "SPARC v9";
95da0c48c4Sopenharmony_ci    case EM_TRICORE:
96da0c48c4Sopenharmony_ci      return "Siemens Tricore";
97da0c48c4Sopenharmony_ci    case EM_ARC:
98da0c48c4Sopenharmony_ci      return "ARC";
99da0c48c4Sopenharmony_ci    case EM_H8_300:
100da0c48c4Sopenharmony_ci      return "H8/300";
101da0c48c4Sopenharmony_ci    case EM_H8_300H:
102da0c48c4Sopenharmony_ci      return "H8/300H";
103da0c48c4Sopenharmony_ci    case EM_H8S:
104da0c48c4Sopenharmony_ci      return "H8S";
105da0c48c4Sopenharmony_ci    case EM_H8_500:
106da0c48c4Sopenharmony_ci      return "H8/500";
107da0c48c4Sopenharmony_ci    case EM_IA_64:
108da0c48c4Sopenharmony_ci      return "Intel IA-64";
109da0c48c4Sopenharmony_ci    case EM_MIPS_X:
110da0c48c4Sopenharmony_ci      return "Stanford MIPS-X";
111da0c48c4Sopenharmony_ci    case EM_COLDFIRE:
112da0c48c4Sopenharmony_ci      return "Motorola Coldfire";
113da0c48c4Sopenharmony_ci    case EM_68HC12:
114da0c48c4Sopenharmony_ci      return "Motorola M68HC12";
115da0c48c4Sopenharmony_ci    case EM_MMA:
116da0c48c4Sopenharmony_ci      return "Fujitsu MMA Multimedia Accelerator";
117da0c48c4Sopenharmony_ci    case EM_PCP:
118da0c48c4Sopenharmony_ci      return "Siemens PCP";
119da0c48c4Sopenharmony_ci    case EM_NCPU:
120da0c48c4Sopenharmony_ci      return "Sony nCPU embedded RISC";
121da0c48c4Sopenharmony_ci    case EM_NDR1:
122da0c48c4Sopenharmony_ci      return "Denso NDR1 microprocessor";
123da0c48c4Sopenharmony_ci    case EM_STARCORE:
124da0c48c4Sopenharmony_ci      return "Motorola Star*Core processor";
125da0c48c4Sopenharmony_ci    case EM_ME16:
126da0c48c4Sopenharmony_ci      return "Toyota ME16 processor";
127da0c48c4Sopenharmony_ci    case EM_ST100:
128da0c48c4Sopenharmony_ci      return "STMicroelectronic ST100";
129da0c48c4Sopenharmony_ci    case EM_TINYJ:
130da0c48c4Sopenharmony_ci      return "Advanced Logic Corporation Tinyj";
131da0c48c4Sopenharmony_ci    case EM_X86_64:
132da0c48c4Sopenharmony_ci      return "AMD x86-64";
133da0c48c4Sopenharmony_ci    case EM_PDSP:
134da0c48c4Sopenharmony_ci      return "Sony DSP Processor";
135da0c48c4Sopenharmony_ci    case EM_PDP10:
136da0c48c4Sopenharmony_ci      return "Digital PDP-10";
137da0c48c4Sopenharmony_ci    case EM_PDP11:
138da0c48c4Sopenharmony_ci      return "Digital PDP-11";
139da0c48c4Sopenharmony_ci    case EM_FX66:
140da0c48c4Sopenharmony_ci      return "Siemens FX66 microcontroller";
141da0c48c4Sopenharmony_ci    case EM_ST9PLUS:
142da0c48c4Sopenharmony_ci      return "STMicroelectronics ST9+";
143da0c48c4Sopenharmony_ci    case EM_ST7:
144da0c48c4Sopenharmony_ci      return "STMicroelectronics ST7";
145da0c48c4Sopenharmony_ci    case EM_68HC16:
146da0c48c4Sopenharmony_ci      return "Motorola MC68HC16 microcontroller";
147da0c48c4Sopenharmony_ci    case EM_68HC11:
148da0c48c4Sopenharmony_ci      return "Motorola MC68HC11 microcontroller";
149da0c48c4Sopenharmony_ci    case EM_68HC08:
150da0c48c4Sopenharmony_ci      return "Motorola MC68HC08 microcontroller";
151da0c48c4Sopenharmony_ci    case EM_68HC05:
152da0c48c4Sopenharmony_ci      return "Motorola MC68HC05 microcontroller";
153da0c48c4Sopenharmony_ci    case EM_SVX:
154da0c48c4Sopenharmony_ci      return "Silicon Graphics SVx";
155da0c48c4Sopenharmony_ci    case EM_ST19:
156da0c48c4Sopenharmony_ci      return "STMicroelectronics ST19";
157da0c48c4Sopenharmony_ci    case EM_VAX:
158da0c48c4Sopenharmony_ci      return "Digital VAX";
159da0c48c4Sopenharmony_ci    case EM_CRIS:
160da0c48c4Sopenharmony_ci      return "Axis Communications 32-bit embedded processor";
161da0c48c4Sopenharmony_ci    case EM_JAVELIN:
162da0c48c4Sopenharmony_ci      return "Infineon Technologies 32-bit embedded processor";
163da0c48c4Sopenharmony_ci    case EM_FIREPATH:
164da0c48c4Sopenharmony_ci      return "Element 14 64-bit DSP Processor";
165da0c48c4Sopenharmony_ci    case EM_ZSP:
166da0c48c4Sopenharmony_ci      return "LSI Logic 16-bit DSP Processor";
167da0c48c4Sopenharmony_ci    case EM_MMIX:
168da0c48c4Sopenharmony_ci      return "Donald Knuth's educational 64-bit processor";
169da0c48c4Sopenharmony_ci    case EM_HUANY:
170da0c48c4Sopenharmony_ci      return "Harvard University machine-independent object";
171da0c48c4Sopenharmony_ci    case EM_PRISM:
172da0c48c4Sopenharmony_ci      return "SiTera Prism";
173da0c48c4Sopenharmony_ci    case EM_AVR:
174da0c48c4Sopenharmony_ci      return "Atmel AVR 8-bit microcontroller";
175da0c48c4Sopenharmony_ci    case EM_FR30:
176da0c48c4Sopenharmony_ci      return "Fujitsu FR30";
177da0c48c4Sopenharmony_ci    case EM_D10V:
178da0c48c4Sopenharmony_ci      return "Mitsubishi D10V";
179da0c48c4Sopenharmony_ci    case EM_D30V:
180da0c48c4Sopenharmony_ci      return "Mitsubishi D30V";
181da0c48c4Sopenharmony_ci    case EM_V850:
182da0c48c4Sopenharmony_ci      return "NEC v850";
183da0c48c4Sopenharmony_ci    case EM_M32R:
184da0c48c4Sopenharmony_ci      return "Mitsubishi M32R";
185da0c48c4Sopenharmony_ci    case EM_MN10300:
186da0c48c4Sopenharmony_ci      return "Matsushita MN10300";
187da0c48c4Sopenharmony_ci    case EM_MN10200:
188da0c48c4Sopenharmony_ci      return "Matsushita MN10200";
189da0c48c4Sopenharmony_ci    case EM_PJ:
190da0c48c4Sopenharmony_ci      return "picoJava";
191da0c48c4Sopenharmony_ci    case EM_OPENRISC:
192da0c48c4Sopenharmony_ci      return "OpenRISC";
193da0c48c4Sopenharmony_ci    case EM_ARC_COMPACT:
194da0c48c4Sopenharmony_ci      return "ARC International ARCompact";
195da0c48c4Sopenharmony_ci    case EM_XTENSA:
196da0c48c4Sopenharmony_ci      return "Tensilica Xtensa Architecture";
197da0c48c4Sopenharmony_ci    case EM_VIDEOCORE:
198da0c48c4Sopenharmony_ci      return "Alphamosaic VideoCore";
199da0c48c4Sopenharmony_ci    case EM_TMM_GPP:
200da0c48c4Sopenharmony_ci      return "Thompson Multimedia General Purpose Processor";
201da0c48c4Sopenharmony_ci    case EM_NS32K:
202da0c48c4Sopenharmony_ci      return "National Semiconductor 32000";
203da0c48c4Sopenharmony_ci    case EM_TPC:
204da0c48c4Sopenharmony_ci      return "Tenor Network TPC";
205da0c48c4Sopenharmony_ci    case EM_SNP1K:
206da0c48c4Sopenharmony_ci      return "Trebia SNP 1000";
207da0c48c4Sopenharmony_ci    case EM_ST200:
208da0c48c4Sopenharmony_ci      return "STMicroelectronics ST200";
209da0c48c4Sopenharmony_ci    case EM_IP2K:
210da0c48c4Sopenharmony_ci      return "Ubicom IP2xxx";
211da0c48c4Sopenharmony_ci    case EM_MAX:
212da0c48c4Sopenharmony_ci      return "MAX processor";
213da0c48c4Sopenharmony_ci    case EM_CR:
214da0c48c4Sopenharmony_ci      return "National Semiconductor CompactRISC";
215da0c48c4Sopenharmony_ci    case EM_F2MC16:
216da0c48c4Sopenharmony_ci      return "Fujitsu F2MC16";
217da0c48c4Sopenharmony_ci    case EM_MSP430:
218da0c48c4Sopenharmony_ci      return "Texas Instruments msp430";
219da0c48c4Sopenharmony_ci    case EM_BLACKFIN:
220da0c48c4Sopenharmony_ci      return "Analog Devices Blackfin DSP";
221da0c48c4Sopenharmony_ci    case EM_SE_C33:
222da0c48c4Sopenharmony_ci      return "Seiko Epson S1C33";
223da0c48c4Sopenharmony_ci    case EM_SEP:
224da0c48c4Sopenharmony_ci      return "Sharp embedded microprocessor";
225da0c48c4Sopenharmony_ci    case EM_ARCA:
226da0c48c4Sopenharmony_ci      return "Arca RISC";
227da0c48c4Sopenharmony_ci    case EM_UNICORE:
228da0c48c4Sopenharmony_ci      return "Unicore";
229da0c48c4Sopenharmony_ci    case EM_EXCESS:
230da0c48c4Sopenharmony_ci      return "eXcess configurable CPU";
231da0c48c4Sopenharmony_ci    case EM_DXP:
232da0c48c4Sopenharmony_ci      return "Icera Semiconductor Deep Execution Processor";
233da0c48c4Sopenharmony_ci    case EM_ALTERA_NIOS2:
234da0c48c4Sopenharmony_ci      return "Altera Nios II";
235da0c48c4Sopenharmony_ci    case EM_CRX:
236da0c48c4Sopenharmony_ci      return "National Semiconductor CompactRISC CRX";
237da0c48c4Sopenharmony_ci    case EM_XGATE:
238da0c48c4Sopenharmony_ci      return "Motorola XGATE";
239da0c48c4Sopenharmony_ci    case EM_C166:
240da0c48c4Sopenharmony_ci      return "Infineon C16x/XC16x";
241da0c48c4Sopenharmony_ci    case EM_M16C:
242da0c48c4Sopenharmony_ci      return "Renesas M16C";
243da0c48c4Sopenharmony_ci    case EM_DSPIC30F:
244da0c48c4Sopenharmony_ci      return "Microchip Technology dsPIC30F";
245da0c48c4Sopenharmony_ci    case EM_CE:
246da0c48c4Sopenharmony_ci      return "Freescale Communication Engine RISC";
247da0c48c4Sopenharmony_ci    case EM_M32C:
248da0c48c4Sopenharmony_ci      return "Renesas M32C";
249da0c48c4Sopenharmony_ci    case EM_TSK3000:
250da0c48c4Sopenharmony_ci      return "Altium TSK3000";
251da0c48c4Sopenharmony_ci    case EM_RS08:
252da0c48c4Sopenharmony_ci      return "Freescale RS08";
253da0c48c4Sopenharmony_ci    case EM_SHARC:
254da0c48c4Sopenharmony_ci      return "Analog Devices SHARC";
255da0c48c4Sopenharmony_ci    case EM_ECOG2:
256da0c48c4Sopenharmony_ci      return "Cyan Technology eCOG2";
257da0c48c4Sopenharmony_ci    case EM_SCORE7:
258da0c48c4Sopenharmony_ci      return "Sunplus S+core7 RISC";
259da0c48c4Sopenharmony_ci    case EM_DSP24:
260da0c48c4Sopenharmony_ci      return "New Japan Radio (NJR) 24-bit DSP";
261da0c48c4Sopenharmony_ci    case EM_VIDEOCORE3:
262da0c48c4Sopenharmony_ci      return "Broadcom VideoCore III";
263da0c48c4Sopenharmony_ci    case EM_LATTICEMICO32:
264da0c48c4Sopenharmony_ci      return "RISC for Lattice FPGA";
265da0c48c4Sopenharmony_ci    case EM_SE_C17:
266da0c48c4Sopenharmony_ci      return "Seiko Epson C17";
267da0c48c4Sopenharmony_ci    case EM_TI_C6000:
268da0c48c4Sopenharmony_ci      return "Texas Instruments TMS320C6000 DSP";
269da0c48c4Sopenharmony_ci    case EM_TI_C2000:
270da0c48c4Sopenharmony_ci      return "Texas Instruments TMS320C2000 DSP";
271da0c48c4Sopenharmony_ci    case EM_TI_C5500:
272da0c48c4Sopenharmony_ci      return "Texas Instruments TMS320C55x DSP";
273da0c48c4Sopenharmony_ci    case EM_TI_ARP32:
274da0c48c4Sopenharmony_ci      return "Texas Instruments Application Specific RISC";
275da0c48c4Sopenharmony_ci    case EM_TI_PRU:
276da0c48c4Sopenharmony_ci      return "Texas Instruments Programmable Realtime Unit";
277da0c48c4Sopenharmony_ci    case EM_MMDSP_PLUS:
278da0c48c4Sopenharmony_ci      return "STMicroelectronics 64bit VLIW DSP";
279da0c48c4Sopenharmony_ci    case EM_CYPRESS_M8C:
280da0c48c4Sopenharmony_ci      return "Cypress M8C";
281da0c48c4Sopenharmony_ci    case EM_R32C:
282da0c48c4Sopenharmony_ci      return "Renesas R32C";
283da0c48c4Sopenharmony_ci    case EM_TRIMEDIA:
284da0c48c4Sopenharmony_ci      return "NXP Semiconductors TriMedia";
285da0c48c4Sopenharmony_ci    case EM_QDSP6:
286da0c48c4Sopenharmony_ci      return "QUALCOMM DSP6";
287da0c48c4Sopenharmony_ci    case EM_8051:
288da0c48c4Sopenharmony_ci      return "Intel 8051 and variants";
289da0c48c4Sopenharmony_ci    case EM_STXP7X:
290da0c48c4Sopenharmony_ci      return "STMicroelectronics STxP7x";
291da0c48c4Sopenharmony_ci    case EM_NDS32:
292da0c48c4Sopenharmony_ci      return "Andes Technology compact code size embedded RISC";
293da0c48c4Sopenharmony_ci    case EM_ECOG1X:
294da0c48c4Sopenharmony_ci      return "Cyan Technology eCOG1X";
295da0c48c4Sopenharmony_ci    case EM_MAXQ30:
296da0c48c4Sopenharmony_ci      return "Dallas Semiconductor MAXQ30";
297da0c48c4Sopenharmony_ci    case EM_XIMO16:
298da0c48c4Sopenharmony_ci      return "New Japan Radio (NJR) 16-bit DSP";
299da0c48c4Sopenharmony_ci    case EM_MANIK:
300da0c48c4Sopenharmony_ci      return "M2000 Reconfigurable RISC";
301da0c48c4Sopenharmony_ci    case EM_CRAYNV2:
302da0c48c4Sopenharmony_ci      return "Cray NV2 vector architecture";
303da0c48c4Sopenharmony_ci    case EM_RX:
304da0c48c4Sopenharmony_ci      return "Renesas RX";
305da0c48c4Sopenharmony_ci    case EM_METAG:
306da0c48c4Sopenharmony_ci      return "Imagination Technologies META";
307da0c48c4Sopenharmony_ci    case EM_MCST_ELBRUS:
308da0c48c4Sopenharmony_ci      return "MCST Elbrus";
309da0c48c4Sopenharmony_ci    case EM_ECOG16:
310da0c48c4Sopenharmony_ci      return "Cyan Technology eCOG16";
311da0c48c4Sopenharmony_ci    case EM_CR16:
312da0c48c4Sopenharmony_ci      return "National Semiconductor CompactRISC";
313da0c48c4Sopenharmony_ci    case EM_ETPU:
314da0c48c4Sopenharmony_ci      return "Freescale Extended Time Processing Unit";
315da0c48c4Sopenharmony_ci    case EM_SLE9X:
316da0c48c4Sopenharmony_ci      return "Infineon Technologies SLE9X";
317da0c48c4Sopenharmony_ci    case EM_L10M:
318da0c48c4Sopenharmony_ci      return "Intel L10M";
319da0c48c4Sopenharmony_ci    case EM_K10M:
320da0c48c4Sopenharmony_ci      return "Intel K10M";
321da0c48c4Sopenharmony_ci    case EM_AARCH64:
322da0c48c4Sopenharmony_ci      return "AARCH64";
323da0c48c4Sopenharmony_ci    case EM_AVR32:
324da0c48c4Sopenharmony_ci      return "Amtel AVR32";
325da0c48c4Sopenharmony_ci    case EM_STM8:
326da0c48c4Sopenharmony_ci      return "STMicroelectronics STM8";
327da0c48c4Sopenharmony_ci    case EM_TILE64:
328da0c48c4Sopenharmony_ci      return "Tilera TILE64";
329da0c48c4Sopenharmony_ci    case EM_TILEPRO:
330da0c48c4Sopenharmony_ci      return "Tilera TILEPro";
331da0c48c4Sopenharmony_ci    case EM_MICROBLAZE:
332da0c48c4Sopenharmony_ci      return "Xilinx MicroBlaze";
333da0c48c4Sopenharmony_ci    case EM_CUDA:
334da0c48c4Sopenharmony_ci      return "NVIDIA CUDA";
335da0c48c4Sopenharmony_ci    case EM_TILEGX:
336da0c48c4Sopenharmony_ci      return "Tilera TILE-Gx";
337da0c48c4Sopenharmony_ci    case EM_CLOUDSHIELD:
338da0c48c4Sopenharmony_ci      return "CloudShield";
339da0c48c4Sopenharmony_ci    case EM_COREA_1ST:
340da0c48c4Sopenharmony_ci      return "KIPO-KAIST Core-A 1st gen";
341da0c48c4Sopenharmony_ci    case EM_COREA_2ND:
342da0c48c4Sopenharmony_ci      return "KIPO-KAIST Core-A 2nd gen";
343da0c48c4Sopenharmony_ci    case EM_ARCV2:
344da0c48c4Sopenharmony_ci      return "Synopsys ARCv2 ISA";
345da0c48c4Sopenharmony_ci    case EM_OPEN8:
346da0c48c4Sopenharmony_ci      return "Open8 RISC";
347da0c48c4Sopenharmony_ci    case EM_RL78:
348da0c48c4Sopenharmony_ci      return "Renesas RL78";
349da0c48c4Sopenharmony_ci    case EM_VIDEOCORE5:
350da0c48c4Sopenharmony_ci      return "Broadcom VideoCore V";
351da0c48c4Sopenharmony_ci    case EM_78KOR:
352da0c48c4Sopenharmony_ci      return "Renesas 78KOR";
353da0c48c4Sopenharmony_ci    case EM_56800EX:
354da0c48c4Sopenharmony_ci      return "Freescale 56800EX DSC";
355da0c48c4Sopenharmony_ci    case EM_BA1:
356da0c48c4Sopenharmony_ci      return "Beyond BA1";
357da0c48c4Sopenharmony_ci    case EM_BA2:
358da0c48c4Sopenharmony_ci      return "Beyond BA2";
359da0c48c4Sopenharmony_ci    case EM_XCORE:
360da0c48c4Sopenharmony_ci      return "XMOS xCORE";
361da0c48c4Sopenharmony_ci    case EM_MCHP_PIC:
362da0c48c4Sopenharmony_ci      return "Microchip 8-bit PIC";
363da0c48c4Sopenharmony_ci    case EM_INTELGT:
364da0c48c4Sopenharmony_ci      return "Intel Graphics Technology";
365da0c48c4Sopenharmony_ci    case EM_KM32:
366da0c48c4Sopenharmony_ci      return "KM211 KM32";
367da0c48c4Sopenharmony_ci    case EM_KMX32:
368da0c48c4Sopenharmony_ci      return "KM211 KMX32";
369da0c48c4Sopenharmony_ci    case EM_EMX16:
370da0c48c4Sopenharmony_ci      return "KM211 KMX16";
371da0c48c4Sopenharmony_ci    case EM_EMX8:
372da0c48c4Sopenharmony_ci      return "KM211 KMX8";
373da0c48c4Sopenharmony_ci    case EM_KVARC:
374da0c48c4Sopenharmony_ci      return "KM211 KVARC";
375da0c48c4Sopenharmony_ci    case EM_CDP:
376da0c48c4Sopenharmony_ci      return "Paneve CDP";
377da0c48c4Sopenharmony_ci    case EM_COGE:
378da0c48c4Sopenharmony_ci      return "Cognitive Smart Memory Processor";
379da0c48c4Sopenharmony_ci    case EM_COOL:
380da0c48c4Sopenharmony_ci      return "Bluechip CoolEngine";
381da0c48c4Sopenharmony_ci    case EM_NORC:
382da0c48c4Sopenharmony_ci      return "Nanoradio Optimized RISC";
383da0c48c4Sopenharmony_ci    case EM_CSR_KALIMBA:
384da0c48c4Sopenharmony_ci      return "CSR Kalimba";
385da0c48c4Sopenharmony_ci    case EM_Z80:
386da0c48c4Sopenharmony_ci      return "Zilog Z80";
387da0c48c4Sopenharmony_ci    case EM_VISIUM:
388da0c48c4Sopenharmony_ci      return "CDS VISIUMcore";
389da0c48c4Sopenharmony_ci    case EM_FT32:
390da0c48c4Sopenharmony_ci      return "FTDI Chip FT32";
391da0c48c4Sopenharmony_ci    case EM_MOXIE:
392da0c48c4Sopenharmony_ci      return "Moxie";
393da0c48c4Sopenharmony_ci    case EM_AMDGPU:
394da0c48c4Sopenharmony_ci      return "AMD GPU";
395da0c48c4Sopenharmony_ci    case EM_RISCV:
396da0c48c4Sopenharmony_ci      return "RISC-V";
397da0c48c4Sopenharmony_ci    case EM_BPF:
398da0c48c4Sopenharmony_ci      return "BPF";
399da0c48c4Sopenharmony_ci    case EM_CSKY:
400da0c48c4Sopenharmony_ci      return "C-SKY";
401da0c48c4Sopenharmony_ci    case EM_LOONGARCH:
402da0c48c4Sopenharmony_ci      return "LoongArch";
403da0c48c4Sopenharmony_ci
404da0c48c4Sopenharmony_ci    case EM_ALPHA:
405da0c48c4Sopenharmony_ci      return "Alpha";
406da0c48c4Sopenharmony_ci
407da0c48c4Sopenharmony_ci    default:
408da0c48c4Sopenharmony_ci      return NULL;
409da0c48c4Sopenharmony_ci    }
410da0c48c4Sopenharmony_ci}
411