summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2018-06-11 03:26:21 +0000
committerRobert Mustacchi <rm@joyent.com>2018-06-28 14:39:40 +0000
commit0e23d370e331acbebe8ad55ddb59eb475b05405a (patch)
tree0a0133f908288203c370108994cd05a8d1705b00
parent9d61057f7fe1fe7aa75aaff08c48fe66778261c6 (diff)
downloadillumos-joyent-0e23d370e331acbebe8ad55ddb59eb475b05405a.tar.gz
OS-7010 update sys/elf.h for recent processors like aarch64/risc-v
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Richard Lowe <richlowe@richlowe.net> Reviewed by: Jake Saferstein <jake.saferstein@joyent.com> Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>
-rw-r--r--usr/src/cmd/file/file.c277
-rw-r--r--usr/src/cmd/sgs/libconv/common/elf.c333
-rw-r--r--usr/src/cmd/sgs/libconv/common/elf.msg220
-rw-r--r--usr/src/uts/common/sys/elf.h330
4 files changed, 939 insertions, 221 deletions
diff --git a/usr/src/cmd/file/file.c b/usr/src/cmd/file/file.c
index 6c7989d735..64379f3919 100644
--- a/usr/src/cmd/file/file.c
+++ b/usr/src/cmd/file/file.c
@@ -28,6 +28,7 @@
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright (c) 2018, Joyent, Inc.
*/
#define _LARGEFILE64_SOURCE
@@ -980,104 +981,188 @@ print_elf_machine(int machine)
* in /usr/include/sys/elf.h.
*/
static const char *mach_str[EM_NUM] = {
- "unknown machine", /* 0 - EM_NONE */
- "WE32100", /* 1 - EM_M32 */
- "SPARC", /* 2 - EM_SPARC */
- "80386", /* 3 - EM_386 */
- "M68000", /* 4 - EM_68K */
- "M88000", /* 5 - EM_88K */
- "80486", /* 6 - EM_486 */
- "i860", /* 7 - EM_860 */
- "MIPS RS3000 Big-Endian", /* 8 - EM_MIPS */
- "S/370", /* 9 - EM_S370 */
- "MIPS RS3000 Little-Endian", /* 10 - EM_MIPS_RS3_LE */
- "MIPS RS6000", /* 11 - EM_RS6000 */
- NULL, /* 12 - EM_UNKNOWN12 */
- NULL, /* 13 - EM_UNKNOWN13 */
- NULL, /* 14 - EM_UNKNOWN14 */
- "PA-RISC", /* 15 - EM_PA_RISC */
- "nCUBE", /* 16 - EM_nCUBE */
- "VPP500", /* 17 - EM_VPP500 */
- "SPARC32PLUS", /* 18 - EM_SPARC32PLUS */
- "i960", /* 19 - EM_960 */
- "PowerPC", /* 20 - EM_PPC */
- "PowerPC64", /* 21 - EM_PPC64 */
- "S/390", /* 22 - EM_S390 */
- NULL, /* 23 - EM_UNKNOWN23 */
- NULL, /* 24 - EM_UNKNOWN24 */
- NULL, /* 25 - EM_UNKNOWN25 */
- NULL, /* 26 - EM_UNKNOWN26 */
- NULL, /* 27 - EM_UNKNOWN27 */
- NULL, /* 28 - EM_UNKNOWN28 */
- NULL, /* 29 - EM_UNKNOWN29 */
- NULL, /* 30 - EM_UNKNOWN30 */
- NULL, /* 31 - EM_UNKNOWN31 */
- NULL, /* 32 - EM_UNKNOWN32 */
- NULL, /* 33 - EM_UNKNOWN33 */
- NULL, /* 34 - EM_UNKNOWN34 */
- NULL, /* 35 - EM_UNKNOWN35 */
- "V800", /* 36 - EM_V800 */
- "FR20", /* 37 - EM_FR20 */
- "RH32", /* 38 - EM_RH32 */
- "RCE", /* 39 - EM_RCE */
- "ARM", /* 40 - EM_ARM */
- "Alpha", /* 41 - EM_ALPHA */
- "S/390", /* 42 - EM_SH */
- "SPARCV9", /* 43 - EM_SPARCV9 */
- "Tricore", /* 44 - EM_TRICORE */
- "ARC", /* 45 - EM_ARC */
- "H8/300", /* 46 - EM_H8_300 */
- "H8/300H", /* 47 - EM_H8_300H */
- "H8S", /* 48 - EM_H8S */
- "H8/500", /* 49 - EM_H8_500 */
- "IA64", /* 50 - EM_IA_64 */
- "MIPS-X", /* 51 - EM_MIPS_X */
- "Coldfire", /* 52 - EM_COLDFIRE */
- "M68HC12", /* 53 - EM_68HC12 */
- "MMA", /* 54 - EM_MMA */
- "PCP", /* 55 - EM_PCP */
- "nCPU", /* 56 - EM_NCPU */
- "NDR1", /* 57 - EM_NDR1 */
- "Starcore", /* 58 - EM_STARCORE */
- "ME16", /* 59 - EM_ME16 */
- "ST100", /* 60 - EM_ST100 */
- "TINYJ", /* 61 - EM_TINYJ */
- "AMD64", /* 62 - EM_AMD64 */
- "PDSP", /* 63 - EM_PDSP */
- NULL, /* 64 - EM_UNKNOWN64 */
- NULL, /* 65 - EM_UNKNOWN65 */
- "FX66", /* 66 - EM_FX66 */
- "ST9 PLUS", /* 67 - EM_ST9PLUS */
- "ST7", /* 68 - EM_ST7 */
- "68HC16", /* 69 - EM_68HC16 */
- "68HC11", /* 70 - EM_68HC11 */
- "68H08", /* 71 - EM_68HC08 */
- "68HC05", /* 72 - EM_68HC05 */
- "SVX", /* 73 - EM_SVX */
- "ST19", /* 74 - EM_ST19 */
- "VAX", /* 75 - EM_VAX */
- "CRIS", /* 76 - EM_CRIS */
- "Javelin", /* 77 - EM_JAVELIN */
- "Firepath", /* 78 - EM_FIREPATH */
- "ZSP", /* 79 - EM_ZSP */
- "MMIX", /* 80 - EM_MMIX */
- "HUANY", /* 81 - EM_HUANY */
- "Prism", /* 82 - EM_PRISM */
- "AVR", /* 83 - EM_AVR */
- "FR30", /* 84 - EM_FR30 */
- "D10V", /* 85 - EM_D10V */
- "D30V", /* 86 - EM_D30V */
- "V850", /* 87 - EM_V850 */
- "M32R", /* 88 - EM_M32R */
- "MN10300", /* 89 - EM_MN10300 */
- "MN10200", /* 90 - EM_MN10200 */
- "picoJava", /* 91 - EM_PJ */
- "OpenRISC", /* 92 - EM_OPENRISC */
- "Tangent-A5", /* 93 - EM_ARC_A5 */
- "Xtensa" /* 94 - EM_XTENSA */
+ [EM_NONE] = "unknown machine",
+ [EM_M32] = "WE32100",
+ [EM_SPARC] = "SPARC",
+ [EM_386] = "80386",
+ [EM_68K] = "M68000",
+ [EM_88K] = "M88000",
+ [EM_486] = "80486",
+ [EM_860] = "i860",
+ [EM_MIPS] = "MIPS RS3000 Big-Endian",
+ [EM_S370] = "S/370",
+ [EM_MIPS_RS3_LE] = "MIPS RS3000 Little-Endian",
+ [EM_RS6000] = "MIPS RS6000",
+ [EM_PA_RISC] = "PA-RISC",
+ [EM_nCUBE] = "nCUBE",
+ [EM_VPP500] = "VPP500",
+ [EM_SPARC32PLUS] = "SPARC32PLUS",
+ [EM_960] = "i960",
+ [EM_PPC] = "PowerPC",
+ [EM_PPC64] = "PowerPC64",
+ [EM_S390] = "S/390",
+ [EM_V800] = "V800",
+ [EM_FR20] = "FR20",
+ [EM_RH32] = "RH32",
+ [EM_RCE] = "RCE",
+ [EM_ARM] = "ARM",
+ [EM_ALPHA] = "Alpha",
+ [EM_SH] = "S/390",
+ [EM_SPARCV9] = "SPARCV9",
+ [EM_TRICORE] = "Tricore",
+ [EM_ARC] = "ARC",
+ [EM_H8_300] = "H8/300",
+ [EM_H8_300H] = "H8/300H",
+ [EM_H8S] = "H8S",
+ [EM_H8_500] = "H8/500",
+ [EM_IA_64] = "IA64",
+ [EM_MIPS_X] = "MIPS-X",
+ [EM_COLDFIRE] = "Coldfire",
+ [EM_68HC12] = "M68HC12",
+ [EM_MMA] = "MMA",
+ [EM_PCP] = "PCP",
+ [EM_NCPU] = "nCPU",
+ [EM_NDR1] = "NDR1",
+ [EM_STARCORE] = "Starcore",
+ [EM_ME16] = "ME16",
+ [EM_ST100] = "ST100",
+ [EM_TINYJ] = "TINYJ",
+ [EM_AMD64] = "AMD64",
+ [EM_PDSP] = "PDSP",
+ [EM_FX66] = "FX66",
+ [EM_ST9PLUS] = "ST9 PLUS",
+ [EM_ST7] = "ST7",
+ [EM_68HC16] = "68HC16",
+ [EM_68HC11] = "68HC11",
+ [EM_68HC08] = "68H08",
+ [EM_68HC05] = "68HC05",
+ [EM_SVX] = "SVX",
+ [EM_ST19] = "ST19",
+ [EM_VAX] = "VAX",
+ [EM_CRIS] = "CRIS",
+ [EM_JAVELIN] = "Javelin",
+ [EM_FIREPATH] = "Firepath",
+ [EM_ZSP] = "ZSP",
+ [EM_MMIX] = "MMIX",
+ [EM_HUANY] = "HUANY",
+ [EM_PRISM] = "Prism",
+ [EM_AVR] = "AVR",
+ [EM_FR30] = "FR30",
+ [EM_D10V] = "D10V",
+ [EM_D30V] = "D30V",
+ [EM_V850] = "V850",
+ [EM_M32R] = "M32R",
+ [EM_MN10300] = "MN10300",
+ [EM_MN10200] = "MN10200",
+ [EM_PJ] = "picoJava",
+ [EM_OPENRISC] = "OpenRISC",
+ [EM_ARC_A5] = "Tangent-A5",
+ [EM_XTENSA] = "Xtensa",
+
+ [EM_VIDEOCORE] = "Videocore",
+ [EM_TMM_GPP] = "TMM_GPP",
+ [EM_NS32K] = "NS32K",
+ [EM_TPC] = "TPC",
+ [EM_SNP1K] = "SNP1K",
+ [EM_ST200] = "ST200",
+ [EM_IP2K] = "IP2K",
+ [EM_MAX] = "MAX",
+ [EM_CR] = "CompactRISC",
+ [EM_F2MC16] = "F2MC16",
+ [EM_MSP430] = "MSP430",
+ [EM_BLACKFIN] = "Blackfin",
+ [EM_SE_C33] = "S1C33",
+ [EM_SEP] = "SEP",
+ [EM_ARCA] = "Arca",
+ [EM_UNICORE] = "Unicore",
+ [EM_EXCESS] = "eXcess",
+ [EM_DXP] = "DXP",
+ [EM_ALTERA_NIOS2] = "Nios 2",
+ [EM_CRX] = "CompactRISC CRX",
+ [EM_XGATE] = "XGATE",
+ [EM_C166] = "C16x/XC16x",
+ [EM_M16C] = "M16C",
+ [EM_DSPIC30F] = "dsPIC30F",
+ [EM_CE] = "CE RISC",
+ [EM_M32C] = "M32C",
+ [EM_TSK3000] = "TSK3000",
+ [EM_RS08] = "RS08",
+ [EM_SHARC] = "SHARC",
+ [EM_ECOG2] = "eCOG2",
+ [EM_SCORE7] = "SCORE7",
+ [EM_DSP24] = "DSP24",
+ [EM_VIDEOCORE3] = "Videocore III",
+ [EM_LATTICEMICO32] = "LATTICEMICO32",
+ [EM_SE_C17] = "SE_C17",
+ [EM_TI_C6000] = "TMS320C6000",
+ [EM_TI_C2000] = "TMS320C2000",
+ [EM_TI_C5500] = "TMS320C55x",
+ [EM_TI_ARP32] = "ASRP32",
+ [EM_TI_PRU] = "TI_PRU",
+ [EM_MMDSP_PLUS] = "MMDSP_PLUS",
+ [EM_CYPRESS_M8C] = "M8C",
+ [EM_R32C] = "R32C",
+ [EM_TRIMEDIA] = "TriMedia",
+ [EM_QDSP6] = "QDSP6",
+ [EM_8051] = "8051",
+ [EM_STXP7X] = "STxP7x",
+ [EM_NDS32] = "NDS32",
+ [EM_ECOG1] = "eCOG1X",
+ [EM_MAXQ30] = "MAXQ30",
+ [EM_XIMO16] = "XIMO16",
+ [EM_MANIK] = "M2000",
+ [EM_CRAYNV2] = "CRAYNV2",
+ [EM_RX] = "RX",
+ [EM_METAG] = "METAG",
+ [EM_MCST_ELBRUS] = "Elbrus",
+ [EM_ECOG16] = "eCOG16",
+ [EM_CR16] = "CR16",
+ [EM_ETPU] = "ETPU",
+ [EM_SLE9X] = "SLE9X",
+ [EM_L10M] = "L10M",
+ [EM_K10M] = "K10M",
+
+ [EM_AARCH64] = "aarch64",
+
+ [EM_AVR32] = "AVR32",
+ [EM_STM8] = "STM8",
+ [EM_TILE64] = "TILE64",
+ [EM_TILEPRO] = "TILEPRO",
+ [EM_MICROBLAZE] = "MicroBlaze",
+ [EM_CUDA] = "CUDA",
+ [EM_TILEGX] = "TILE-Gx",
+ [EM_CLOUDSHIELD] = "CloudShield",
+ [EM_COREA_1ST] = "CORE-A 1st",
+ [EM_COREA_2ND] = "CORE-A 2nd",
+ [EM_ARC_COMPACT2] = "ARCompact V2",
+ [EM_OPEN8] = "Open8",
+ [EM_RL78] = "RL78",
+ [EM_VIDEOCORE5] = "VideoCore V",
+ [EM_78KOR] = "78KOR",
+ [EM_56800EX] = "56800EX",
+ [EM_BA1] = "BA1",
+ [EM_BA2] = "BA2",
+ [EM_XCORE] = "xCORE",
+ [EM_MCHP_PIC] = "MCHP_PIC",
+ [EM_KM32] = "KM32",
+ [EM_KMX32] = "KMX32",
+ [EM_KMX16] = "KMX16",
+ [EM_KMX8] = "KMX8",
+ [EM_KVARC] = "KVARC",
+ [EM_CDP] = "CDP",
+ [EM_COGE] = "COGE",
+ [EM_COOL] = "CoolEngine",
+ [EM_NORC] = "NORC",
+ [EM_CSR_KALIMBA] = "Kalimba",
+ [EM_Z80] = "Zilog Z80",
+ [EM_VISIUM] = "VISIUMcore",
+ [EM_FT32] = "FT32",
+ [EM_MOXIE] = "Moxie",
+ [EM_AMDGPU] = "AMD GPU",
+ [EM_RISCV] = "RISC-V"
};
/* If new machine is added, refuse to compile until we're updated */
-#if EM_NUM != 95
+#if EM_NUM != 244
#error "Number of known ELF machine constants has changed"
#endif
diff --git a/usr/src/cmd/sgs/libconv/common/elf.c b/usr/src/cmd/sgs/libconv/common/elf.c
index 73469c3506..4808b887b2 100644
--- a/usr/src/cmd/sgs/libconv/common/elf.c
+++ b/usr/src/cmd/sgs/libconv/common/elf.c
@@ -21,6 +21,7 @@
/*
* Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, Joyent, Inc.
*/
/*
@@ -265,7 +266,7 @@ ehdr_mach_strings(Conv_fmt_flags_t fmt_flags)
CONV_DS_MSG_INIT(EM_V800, mach_36_63_dmp) };
- static const Msg mach_66_94_cf[] = {
+ static const Msg mach_66_120_cf[] = {
MSG_EM_FX66_CF, MSG_EM_ST9PLUS_CF,
MSG_EM_ST7_CF, MSG_EM_68HC16_CF,
MSG_EM_68HC11_CF, MSG_EM_68HC08_CF,
@@ -280,9 +281,22 @@ ehdr_mach_strings(Conv_fmt_flags_t fmt_flags)
MSG_EM_M32R_CF, MSG_EM_MN10300_CF,
MSG_EM_MN10200_CF, MSG_EM_PJ_CF,
MSG_EM_OPENRISC_CF, MSG_EM_ARC_A5_CF,
- MSG_EM_XTENSA_CF
+ MSG_EM_XTENSA_CF, MSG_EM_VIDEOCORE_CF,
+ MSG_EM_TMM_GPP_CF, MSG_EM_NS32K_CF,
+ MSG_EM_TPC_CF, MSG_EM_SNP1K_CF,
+ MSG_EM_ST200_CF, MSG_EM_IP2K_CF,
+ MSG_EM_MAX_CF, MSG_EM_CR_CF,
+ MSG_EM_F2MC16_CF, MSG_EM_MSP430_CF,
+ MSG_EM_BLACKFIN_CF, MSG_EM_SE_C33_CF,
+ MSG_EM_SEP_CF, MSG_EM_ARCA_CF,
+ MSG_EM_UNICORE_CF, MSG_EM_EXCESS_CF,
+ MSG_EM_DXP_CF, MSG_EM_ALTERA_NIOS2_CF,
+ MSG_EM_CRX_CF, MSG_EM_XGATE_CF,
+ MSG_EM_C166_CF, MSG_EM_M16C_CF,
+ MSG_EM_DSPIC30F_CF, MSG_EM_CE_CF,
+ MSG_EM_M32C_CF
};
- static const Msg mach_66_94_nf[] = {
+ static const Msg mach_66_120_nf[] = {
MSG_EM_FX66_NF, MSG_EM_ST9PLUS_NF,
MSG_EM_ST7_NF, MSG_EM_68HC16_NF,
MSG_EM_68HC11_NF, MSG_EM_68HC08_NF,
@@ -297,9 +311,28 @@ ehdr_mach_strings(Conv_fmt_flags_t fmt_flags)
MSG_EM_M32R_NF, MSG_EM_MN10300_NF,
MSG_EM_MN10200_NF, MSG_EM_PJ_NF,
MSG_EM_OPENRISC_NF, MSG_EM_ARC_A5_NF,
- MSG_EM_XTENSA_NF
+ MSG_EM_XTENSA_NF, MSG_EM_VIDEOCORE_NF,
+ MSG_EM_TMM_GPP_NF, MSG_EM_NS32K_NF,
+ MSG_EM_TPC_NF, MSG_EM_SNP1K_NF,
+ MSG_EM_ST200_NF, MSG_EM_IP2K_NF,
+ MSG_EM_MAX_NF, MSG_EM_CR_NF,
+ MSG_EM_F2MC16_NF, MSG_EM_MSP430_NF,
+ MSG_EM_BLACKFIN_NF, MSG_EM_SE_C33_NF,
+ MSG_EM_SEP_NF, MSG_EM_ARCA_NF,
+ MSG_EM_UNICORE_NF, MSG_EM_EXCESS_NF,
+ MSG_EM_DXP_NF, MSG_EM_ALTERA_NIOS2_NF,
+ MSG_EM_CRX_NF, MSG_EM_XGATE_NF,
+ MSG_EM_C166_NF, MSG_EM_M16C_NF,
+ MSG_EM_DSPIC30F_NF, MSG_EM_CE_NF,
+ MSG_EM_TSK3000_NF, MSG_EM_RS08_NF,
+ MSG_EM_SHARC_NF, MSG_EM_ECOG2_NF,
+ MSG_EM_SCORE7_NF, MSG_EM_DSP24_NF,
+ MSG_EM_VIDEOCORE3_NF, MSG_EM_LATTICEMICO32_NF,
+ MSG_EM_SE_C17_NF, MSG_EM_TI_C6000_NF,
+ MSG_EM_TI_C2000_NF, MSG_EM_TI_C5500_NF,
+ MSG_EM_TI_ARP32_NF, MSG_EM_TI_PRU_NF
};
- static const Msg mach_66_94_dmp[] = {
+ static const Msg mach_66_120_dmp[] = {
MSG_EM_FX66_CF, MSG_EM_ST9PLUS_CF,
MSG_EM_ST7_CF, MSG_EM_68HC16_CF,
MSG_EM_68HC11_CF, MSG_EM_68HC08_CF,
@@ -314,34 +347,256 @@ ehdr_mach_strings(Conv_fmt_flags_t fmt_flags)
MSG_EM_M32R_CF, MSG_EM_MN10300_CF,
MSG_EM_MN10200_CF, MSG_EM_PJ_CF,
MSG_EM_OPENRISC_CF, MSG_EM_ARC_A5_CF,
- MSG_EM_XTENSA_CF
+ MSG_EM_XTENSA_CF, MSG_EM_VIDEOCORE_CF,
+ MSG_EM_TMM_GPP_CF, MSG_EM_NS32K_CF,
+ MSG_EM_TPC_CF, MSG_EM_SNP1K_CF,
+ MSG_EM_ST200_CF, MSG_EM_IP2K_CF,
+ MSG_EM_MAX_CF, MSG_EM_CR_CF,
+ MSG_EM_F2MC16_CF, MSG_EM_MSP430_CF,
+ MSG_EM_BLACKFIN_CF, MSG_EM_SE_C33_CF,
+ MSG_EM_SEP_CF, MSG_EM_ARCA_CF,
+ MSG_EM_UNICORE_CF, MSG_EM_EXCESS_CF,
+ MSG_EM_DXP_CF, MSG_EM_ALTERA_NIOS2_CF,
+ MSG_EM_CRX_CF, MSG_EM_XGATE_CF,
+ MSG_EM_C166_CF, MSG_EM_M16C_CF,
+ MSG_EM_DSPIC30F_CF, MSG_EM_CE_CF,
+ MSG_EM_M32C_CF
+ };
+
+ static const conv_ds_msg_t ds_mach_66_120_cf = {
+ CONV_DS_MSG_INIT(EM_FX66, mach_66_120_cf) };
+ static const conv_ds_msg_t ds_mach_66_120_nf = {
+ CONV_DS_MSG_INIT(EM_FX66, mach_66_120_nf) };
+ static const conv_ds_msg_t ds_mach_66_120_dmp = {
+ CONV_DS_MSG_INIT(EM_FX66, mach_66_120_dmp) };
+
+ static const Msg mach_131_144_cf[] = {
+ MSG_EM_TSK3000_CF, MSG_EM_RS08_CF,
+ MSG_EM_SHARC_CF, MSG_EM_ECOG2_CF,
+ MSG_EM_SCORE7_CF, MSG_EM_DSP24_CF,
+ MSG_EM_VIDEOCORE3_CF, MSG_EM_LATTICEMICO32_CF,
+ MSG_EM_SE_C17_CF, MSG_EM_TI_C6000_CF,
+ MSG_EM_TI_C2000_CF, MSG_EM_TI_C5500_CF,
+ MSG_EM_TI_ARP32_CF, MSG_EM_TI_PRU_CF
+ };
+ static const Msg mach_131_144_nf[] = {
+ MSG_EM_TSK3000_NF, MSG_EM_RS08_NF,
+ MSG_EM_SHARC_NF, MSG_EM_ECOG2_NF,
+ MSG_EM_SCORE7_NF, MSG_EM_DSP24_NF,
+ MSG_EM_VIDEOCORE3_NF, MSG_EM_LATTICEMICO32_NF,
+ MSG_EM_SE_C17_NF, MSG_EM_TI_C6000_NF,
+ MSG_EM_TI_C2000_NF, MSG_EM_TI_C5500_NF,
+ MSG_EM_TI_ARP32_NF, MSG_EM_TI_PRU_NF
+ };
+ static const Msg mach_131_144_dmp[] = {
+ MSG_EM_TSK3000_CF, MSG_EM_RS08_CF,
+ MSG_EM_SHARC_CF, MSG_EM_ECOG2_CF,
+ MSG_EM_SCORE7_CF, MSG_EM_DSP24_CF,
+ MSG_EM_VIDEOCORE3_CF, MSG_EM_LATTICEMICO32_CF,
+ MSG_EM_SE_C17_CF, MSG_EM_TI_C6000_CF,
+ MSG_EM_TI_C2000_CF, MSG_EM_TI_C5500_CF,
+ MSG_EM_TI_ARP32_CF, MSG_EM_TI_PRU_CF
+ };
+ static const conv_ds_msg_t ds_mach_131_144_cf = {
+ CONV_DS_MSG_INIT(EM_TSK3000, mach_131_144_cf) };
+ static const conv_ds_msg_t ds_mach_131_144_nf = {
+ CONV_DS_MSG_INIT(EM_TSK3000, mach_131_144_nf) };
+ static const conv_ds_msg_t ds_mach_131_144_dmp = {
+ CONV_DS_MSG_INIT(EM_TSK3000, mach_131_144_dmp) };
+
+ static const Msg mach_160_181_cf[] = {
+ MSG_EM_MMDSP_PLUS_CF, MSG_EM_CYPRESS_M8C_CF,
+ MSG_EM_R32C_CF, MSG_EM_TRIMEDIA_CF,
+ MSG_EM_QDSP6_CF, MSG_EM_8051_CF,
+ MSG_EM_STXP7X_CF, MSG_EM_NDS32_CF,
+ MSG_EM_ECOG1_CF, MSG_EM_MAXQ30_CF,
+ MSG_EM_XIMO16_CF, MSG_EM_MANIK_CF,
+ MSG_EM_CRAYNV2_CF, MSG_EM_RX_CF,
+ MSG_EM_METAG_CF, MSG_EM_MCST_ELBRUS_CF,
+ MSG_EM_ECOG16_CF, MSG_EM_CR16_CF,
+ MSG_EM_ETPU_CF, MSG_EM_SLE9X_CF,
+ MSG_EM_L10M_CF, MSG_EM_K10M_CF,
+ };
+ static const Msg mach_160_181_nf[] = {
+ MSG_EM_MMDSP_PLUS_NF, MSG_EM_CYPRESS_M8C_NF,
+ MSG_EM_R32C_NF, MSG_EM_TRIMEDIA_NF,
+ MSG_EM_QDSP6_NF, MSG_EM_8051_NF,
+ MSG_EM_STXP7X_NF, MSG_EM_NDS32_NF,
+ MSG_EM_ECOG1_NF, MSG_EM_MAXQ30_NF,
+ MSG_EM_XIMO16_NF, MSG_EM_MANIK_NF,
+ MSG_EM_CRAYNV2_NF, MSG_EM_RX_NF,
+ MSG_EM_METAG_NF, MSG_EM_MCST_ELBRUS_NF,
+ MSG_EM_ECOG16_NF, MSG_EM_CR16_NF,
+ MSG_EM_ETPU_NF, MSG_EM_SLE9X_NF,
+ MSG_EM_L10M_NF, MSG_EM_K10M_NF,
+ };
+ static const Msg mach_160_181_dmp[] = {
+ MSG_EM_MMDSP_PLUS_CF, MSG_EM_CYPRESS_M8C_CF,
+ MSG_EM_R32C_CF, MSG_EM_TRIMEDIA_CF,
+ MSG_EM_QDSP6_CF, MSG_EM_8051_CF,
+ MSG_EM_STXP7X_CF, MSG_EM_NDS32_CF,
+ MSG_EM_ECOG1_CF, MSG_EM_MAXQ30_CF,
+ MSG_EM_XIMO16_CF, MSG_EM_MANIK_CF,
+ MSG_EM_CRAYNV2_CF, MSG_EM_RX_CF,
+ MSG_EM_METAG_CF, MSG_EM_MCST_ELBRUS_CF,
+ MSG_EM_ECOG16_CF, MSG_EM_CR16_CF,
+ MSG_EM_ETPU_CF, MSG_EM_SLE9X_CF,
+ MSG_EM_L10M_CF, MSG_EM_K10M_CF,
+ };
+ static const conv_ds_msg_t ds_mach_160_181_cf = {
+ CONV_DS_MSG_INIT(EM_MMDSP_PLUS, mach_160_181_cf) };
+ static const conv_ds_msg_t ds_mach_160_181_nf = {
+ CONV_DS_MSG_INIT(EM_MMDSP_PLUS, mach_160_181_nf) };
+ static const conv_ds_msg_t ds_mach_160_181_dmp = {
+ CONV_DS_MSG_INIT(EM_MMDSP_PLUS, mach_160_181_dmp) };
+
+ static const Msg mach_183_cf[] = {
+ MSG_EM_AARCH64_CF
+ };
+ static const Msg mach_183_nf[] = {
+ MSG_EM_AARCH64_NF
+ };
+ static const Msg mach_183_dmp[] = {
+ MSG_EM_AARCH64_CF
+ };
+ static const conv_ds_msg_t ds_mach_183_cf = {
+ CONV_DS_MSG_INIT(EM_AARCH64, mach_183_cf) };
+ static const conv_ds_msg_t ds_mach_183_nf = {
+ CONV_DS_MSG_INIT(EM_AARCH64, mach_183_nf) };
+ static const conv_ds_msg_t ds_mach_183_dmp = {
+ CONV_DS_MSG_INIT(EM_AARCH64, mach_183_dmp) };
+
+ static const Msg mach_185_224_cf[] = {
+ MSG_EM_AVR32_CF, MSG_EM_STM8_CF,
+ MSG_EM_TILE64_CF, MSG_EM_TILEPRO_CF,
+ MSG_EM_MICROBLAZE_CF, MSG_EM_CUDA_CF,
+ MSG_EM_TILEGX_CF, MSG_EM_CLOUDSHIELD_CF,
+ MSG_EM_COREA_1ST_CF, MSG_EM_COREA_2ND_CF,
+ MSG_EM_ARC_COMPACT2_CF, MSG_EM_OPEN8_CF,
+ MSG_EM_RL78_CF, MSG_EM_VIDEOCORE5_CF,
+ MSG_EM_78KOR_CF, MSG_EM_56800EX_CF,
+ MSG_EM_BA1_CF, MSG_EM_BA2_CF,
+ MSG_EM_XCORE_CF, MSG_EM_MCHP_PIC_CF,
+ MSG_EM_INTEL205_CF, MSG_EM_INTEL206_CF,
+ MSG_EM_INTEL207_CF, MSG_EM_INTEL208_CF,
+ MSG_EM_INTEL209_CF, MSG_EM_KM32_CF,
+ MSG_EM_KMX32_CF, MSG_EM_KMX16_CF,
+ MSG_EM_KMX8_CF, MSG_EM_KVARC_CF,
+ MSG_EM_CDP_CF, MSG_EM_COGE_CF,
+ MSG_EM_COOL_CF, MSG_EM_NORC_CF,
+ MSG_EM_CSR_KALIMBA_CF, MSG_EM_Z80_CF,
+ MSG_EM_VISIUM_CF, MSG_EM_FT32_CF,
+ MSG_EM_MOXIE_CF, MSG_EM_AMDGPU_CF
+ };
+ static const Msg mach_185_224_nf[] = {
+ MSG_EM_AVR32_NF, MSG_EM_STM8_NF,
+ MSG_EM_TILE64_NF, MSG_EM_TILEPRO_NF,
+ MSG_EM_MICROBLAZE_NF, MSG_EM_CUDA_NF,
+ MSG_EM_TILEGX_NF, MSG_EM_CLOUDSHIELD_NF,
+ MSG_EM_COREA_1ST_NF, MSG_EM_COREA_2ND_NF,
+ MSG_EM_ARC_COMPACT2_NF, MSG_EM_OPEN8_NF,
+ MSG_EM_RL78_NF, MSG_EM_VIDEOCORE5_NF,
+ MSG_EM_78KOR_NF, MSG_EM_56800EX_NF,
+ MSG_EM_BA1_NF, MSG_EM_BA2_NF,
+ MSG_EM_XCORE_NF, MSG_EM_MCHP_PIC_NF,
+ MSG_EM_INTEL205_NF, MSG_EM_INTEL206_NF,
+ MSG_EM_INTEL207_NF, MSG_EM_INTEL208_NF,
+ MSG_EM_INTEL209_NF, MSG_EM_KM32_NF,
+ MSG_EM_KMX32_NF, MSG_EM_KMX16_NF,
+ MSG_EM_KMX8_NF, MSG_EM_KVARC_NF,
+ MSG_EM_CDP_NF, MSG_EM_COGE_NF,
+ MSG_EM_COOL_NF, MSG_EM_NORC_NF,
+ MSG_EM_CSR_KALIMBA_NF, MSG_EM_Z80_NF,
+ MSG_EM_VISIUM_NF, MSG_EM_FT32_NF,
+ MSG_EM_MOXIE_NF, MSG_EM_AMDGPU_NF
+ };
+ static const Msg mach_185_224_dmp[] = {
+ MSG_EM_AVR32_CF, MSG_EM_STM8_CF,
+ MSG_EM_TILE64_CF, MSG_EM_TILEPRO_CF,
+ MSG_EM_MICROBLAZE_CF, MSG_EM_CUDA_CF,
+ MSG_EM_TILEGX_CF, MSG_EM_CLOUDSHIELD_CF,
+ MSG_EM_COREA_1ST_CF, MSG_EM_COREA_2ND_CF,
+ MSG_EM_ARC_COMPACT2_CF, MSG_EM_OPEN8_CF,
+ MSG_EM_RL78_CF, MSG_EM_VIDEOCORE5_CF,
+ MSG_EM_78KOR_CF, MSG_EM_56800EX_CF,
+ MSG_EM_BA1_CF, MSG_EM_BA2_CF,
+ MSG_EM_XCORE_CF, MSG_EM_MCHP_PIC_CF,
+ MSG_EM_INTEL205_CF, MSG_EM_INTEL206_CF,
+ MSG_EM_INTEL207_CF, MSG_EM_INTEL208_CF,
+ MSG_EM_INTEL209_CF, MSG_EM_KM32_CF,
+ MSG_EM_KMX32_CF, MSG_EM_KMX16_CF,
+ MSG_EM_KMX8_CF, MSG_EM_KVARC_CF,
+ MSG_EM_CDP_CF, MSG_EM_COGE_CF,
+ MSG_EM_COOL_CF, MSG_EM_NORC_CF,
+ MSG_EM_CSR_KALIMBA_CF, MSG_EM_Z80_CF,
+ MSG_EM_VISIUM_CF, MSG_EM_FT32_CF,
+ MSG_EM_MOXIE_CF, MSG_EM_AMDGPU_CF
+ };
+
+ static const conv_ds_msg_t ds_mach_185_224_cf = {
+ CONV_DS_MSG_INIT(EM_AVR32, mach_185_224_cf) };
+ static const conv_ds_msg_t ds_mach_185_224_nf = {
+ CONV_DS_MSG_INIT(EM_AVR32, mach_185_224_nf) };
+ static const conv_ds_msg_t ds_mach_185_224_dmp = {
+ CONV_DS_MSG_INIT(EM_AVR32, mach_185_224_dmp) };
+
+
+ static const Msg mach_243_cf[] = {
+ MSG_EM_RISCV_CF
+ };
+ static const Msg mach_243_nf[] = {
+ MSG_EM_RISCV_NF
+ };
+ static const Msg mach_243_dmp[] = {
+ MSG_EM_RISCV_CF
};
-#if (EM_NUM != (EM_XTENSA + 1))
-#error "EM_NUM has grown"
-#endif
- static const conv_ds_msg_t ds_mach_66_94_cf = {
- CONV_DS_MSG_INIT(EM_FX66, mach_66_94_cf) };
- static const conv_ds_msg_t ds_mach_66_94_nf = {
- CONV_DS_MSG_INIT(EM_FX66, mach_66_94_nf) };
- static const conv_ds_msg_t ds_mach_66_94_dmp = {
- CONV_DS_MSG_INIT(EM_FX66, mach_66_94_dmp) };
+ static const conv_ds_msg_t ds_mach_243_cf = {
+ CONV_DS_MSG_INIT(EM_RISCV, mach_243_cf) };
+ static const conv_ds_msg_t ds_mach_243_nf = {
+ CONV_DS_MSG_INIT(EM_RISCV, mach_243_nf) };
+ static const conv_ds_msg_t ds_mach_243_dmp = {
+ CONV_DS_MSG_INIT(EM_RISCV, mach_243_dmp) };
+#if (EM_NUM != (EM_RISCV + 1))
+#error "EM_NUM has grown"
+#endif
/* Build NULL terminated return arrays for each string style */
static const conv_ds_t *ds_cf[] = {
- CONV_DS_ADDR(ds_mach_0_11_cf), CONV_DS_ADDR(ds_mach_15_22_cf),
- CONV_DS_ADDR(ds_mach_36_63_cf), CONV_DS_ADDR(ds_mach_66_94_cf),
+ CONV_DS_ADDR(ds_mach_0_11_cf),
+ CONV_DS_ADDR(ds_mach_15_22_cf),
+ CONV_DS_ADDR(ds_mach_36_63_cf),
+ CONV_DS_ADDR(ds_mach_66_120_cf),
+ CONV_DS_ADDR(ds_mach_131_144_cf),
+ CONV_DS_ADDR(ds_mach_160_181_cf),
+ CONV_DS_ADDR(ds_mach_183_cf),
+ CONV_DS_ADDR(ds_mach_185_224_cf),
+ CONV_DS_ADDR(ds_mach_243_cf),
NULL
};
static const conv_ds_t *ds_nf[] = {
- CONV_DS_ADDR(ds_mach_0_11_nf), CONV_DS_ADDR(ds_mach_15_22_nf),
- CONV_DS_ADDR(ds_mach_36_63_nf), CONV_DS_ADDR(ds_mach_66_94_nf),
+ CONV_DS_ADDR(ds_mach_0_11_nf),
+ CONV_DS_ADDR(ds_mach_15_22_nf),
+ CONV_DS_ADDR(ds_mach_36_63_nf),
+ CONV_DS_ADDR(ds_mach_66_120_nf),
+ CONV_DS_ADDR(ds_mach_131_144_nf),
+ CONV_DS_ADDR(ds_mach_160_181_nf),
+ CONV_DS_ADDR(ds_mach_183_nf),
+ CONV_DS_ADDR(ds_mach_185_224_nf),
+ CONV_DS_ADDR(ds_mach_243_nf),
NULL
};
static const conv_ds_t *ds_dmp[] = {
- CONV_DS_ADDR(ds_mach_0_11_dmp), CONV_DS_ADDR(ds_mach_15_22_dmp),
+ CONV_DS_ADDR(ds_mach_0_11_dmp),
+ CONV_DS_ADDR(ds_mach_15_22_dmp),
CONV_DS_ADDR(ds_mach_36_63_dmp),
- CONV_DS_ADDR(ds_mach_66_94_dmp), NULL
+ CONV_DS_ADDR(ds_mach_66_120_dmp),
+ CONV_DS_ADDR(ds_mach_131_144_dmp),
+ CONV_DS_ADDR(ds_mach_160_181_dmp),
+ CONV_DS_ADDR(ds_mach_183_dmp),
+ CONV_DS_ADDR(ds_mach_185_224_dmp),
+ CONV_DS_ADDR(ds_mach_243_dmp),
+ NULL
};
@@ -753,33 +1008,39 @@ ehdr_osabi_strings(Conv_fmt_flags_t fmt_flags)
CONV_DS_MSG_INIT(ELFOSABI_NONE, osabi_0_3_dmp) };
- static const Msg osabi_6_15_cf[] = {
+ static const Msg osabi_6_18_cf[] = {
MSG_OSABI_SOLARIS_CF, MSG_OSABI_AIX_CF,
MSG_OSABI_IRIX_CF, MSG_OSABI_FREEBSD_CF,
MSG_OSABI_TRU64_CF, MSG_OSABI_MODESTO_CF,
MSG_OSABI_OPENBSD_CF, MSG_OSABI_OPENVMS_CF,
- MSG_OSABI_NSK_CF, MSG_OSABI_AROS_CF
+ MSG_OSABI_NSK_CF, MSG_OSABI_AROS_CF,
+ MSG_OSABI_FENIXOS_CF, MSG_OSABI_CLOUDABI_CF,
+ MSG_OSABI_OPENVOS_CF
};
- static const Msg osabi_6_15_nf[] = {
+ static const Msg osabi_6_18_nf[] = {
MSG_OSABI_SOLARIS_NF, MSG_OSABI_AIX_NF,
MSG_OSABI_IRIX_NF, MSG_OSABI_FREEBSD_NF,
MSG_OSABI_TRU64_NF, MSG_OSABI_MODESTO_NF,
MSG_OSABI_OPENBSD_NF, MSG_OSABI_OPENVMS_NF,
- MSG_OSABI_NSK_NF, MSG_OSABI_AROS_NF
+ MSG_OSABI_NSK_NF, MSG_OSABI_AROS_NF,
+ MSG_OSABI_FENIXOS_NF, MSG_OSABI_CLOUDABI_NF,
+ MSG_OSABI_OPENVOS_NF
};
- static const Msg osabi_6_15_dmp[] = {
+ static const Msg osabi_6_18_dmp[] = {
MSG_OSABI_SOLARIS_DMP, MSG_OSABI_AIX_DMP,
MSG_OSABI_IRIX_DMP, MSG_OSABI_FREEBSD_DMP,
MSG_OSABI_TRU64_DMP, MSG_OSABI_MODESTO_DMP,
MSG_OSABI_OPENBSD_DMP, MSG_OSABI_OPENVMS_DMP,
- MSG_OSABI_NSK_DMP, MSG_OSABI_AROS_DMP
+ MSG_OSABI_NSK_DMP, MSG_OSABI_AROS_DMP,
+ MSG_OSABI_FENIXOS_DMP, MSG_OSABI_CLOUDABI_DMP,
+ MSG_OSABI_OPENVOS_DMP
};
- static const conv_ds_msg_t ds_osabi_6_15_cf = {
- CONV_DS_MSG_INIT(ELFOSABI_SOLARIS, osabi_6_15_cf) };
- static const conv_ds_msg_t ds_osabi_6_15_nf = {
- CONV_DS_MSG_INIT(ELFOSABI_SOLARIS, osabi_6_15_nf) };
- static const conv_ds_msg_t ds_osabi_6_15_dmp = {
- CONV_DS_MSG_INIT(ELFOSABI_SOLARIS, osabi_6_15_dmp) };
+ static const conv_ds_msg_t ds_osabi_6_18_cf = {
+ CONV_DS_MSG_INIT(ELFOSABI_SOLARIS, osabi_6_18_cf) };
+ static const conv_ds_msg_t ds_osabi_6_18_nf = {
+ CONV_DS_MSG_INIT(ELFOSABI_SOLARIS, osabi_6_18_nf) };
+ static const conv_ds_msg_t ds_osabi_6_18_dmp = {
+ CONV_DS_MSG_INIT(ELFOSABI_SOLARIS, osabi_6_18_dmp) };
static const Val_desc osabi_misc_cf[] = {
@@ -806,13 +1067,13 @@ ehdr_osabi_strings(Conv_fmt_flags_t fmt_flags)
/* Build NULL terminated return arrays for each string style */
static const conv_ds_t *ds_cf[] = {
- CONV_DS_ADDR(ds_osabi_0_3_cf), CONV_DS_ADDR(ds_osabi_6_15_cf),
+ CONV_DS_ADDR(ds_osabi_0_3_cf), CONV_DS_ADDR(ds_osabi_6_18_cf),
CONV_DS_ADDR(ds_osabi_misc_cf), NULL };
static const conv_ds_t *ds_nf[] = {
- CONV_DS_ADDR(ds_osabi_0_3_nf), CONV_DS_ADDR(ds_osabi_6_15_nf),
+ CONV_DS_ADDR(ds_osabi_0_3_nf), CONV_DS_ADDR(ds_osabi_6_18_nf),
CONV_DS_ADDR(ds_osabi_misc_nf), NULL };
static const conv_ds_t *ds_dmp[] = {
- CONV_DS_ADDR(ds_osabi_0_3_dmp), CONV_DS_ADDR(ds_osabi_6_15_dmp),
+ CONV_DS_ADDR(ds_osabi_0_3_dmp), CONV_DS_ADDR(ds_osabi_6_18_dmp),
CONV_DS_ADDR(ds_osabi_misc_dmp), NULL };
/* Select the strings to use */
diff --git a/usr/src/cmd/sgs/libconv/common/elf.msg b/usr/src/cmd/sgs/libconv/common/elf.msg
index 24325f05cd..95a36a09f4 100644
--- a/usr/src/cmd/sgs/libconv/common/elf.msg
+++ b/usr/src/cmd/sgs/libconv/common/elf.msg
@@ -22,6 +22,7 @@
#
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
+# Copyright (c) 2018, Joyent, Inc.
#
@ MSG_ELFCLASSNONE_CF "ELFCLASSNONE" # 0
@@ -224,6 +225,216 @@
@ MSG_EM_XTENSA_CF "EM_XTENSA" # 94
@ MSG_EM_XTENSA_NF "xtensa"
+@ MSG_EM_VIDEOCORE_CF "EM_VIDEOCORE" # 95
+@ MSG_EM_VIDEOCORE_NF "videocore"
+@ MSG_EM_TMM_GPP_CF "EM_TMM_GPP" # 96
+@ MSG_EM_TMM_GPP_NF "tmm_gpp"
+@ MSG_EM_NS32K_CF "EM_NS32K" # 97
+@ MSG_EM_NS32K_NF "ns32k"
+@ MSG_EM_TPC_CF "EM_TPC" # 98
+@ MSG_EM_TPC_NF "tpc"
+@ MSG_EM_SNP1K_CF "EM_SNP1K" # 99
+@ MSG_EM_SNP1K_NF "snp1k"
+@ MSG_EM_ST200_CF "EM_ST200" # 100
+@ MSG_EM_ST200_NF "st200"
+@ MSG_EM_IP2K_CF "EM_IP2K" # 101
+@ MSG_EM_IP2K_NF "ip2k"
+@ MSG_EM_MAX_CF "EM_MAX" # 102
+@ MSG_EM_MAX_NF "max"
+@ MSG_EM_CR_CF "EM_CR" # 103
+@ MSG_EM_CR_NF "CR"
+@ MSG_EM_F2MC16_CF "EM_F2MC16" # 104
+@ MSG_EM_F2MC16_NF "f2mc16"
+@ MSG_EM_MSP430_CF "EM_MSP430" # 105
+@ MSG_EM_MSP430_NF "msp430"
+@ MSG_EM_BLACKFIN_CF "EM_BLACKFIN" # 106
+@ MSG_EM_BLACKFIN_NF "blackfin"
+@ MSG_EM_SE_C33_CF "EM_SE_C33" # 107
+@ MSG_EM_SE_C33_NF "se_c33"
+@ MSG_EM_SEP_CF "EM_SEP" # 108
+@ MSG_EM_SEP_NF "sep"
+@ MSG_EM_ARCA_CF "EM_ARCA" # 109
+@ MSG_EM_ARCA_NF "arca"
+@ MSG_EM_UNICORE_CF "EM_UNICORE" # 110
+@ MSG_EM_UNICORE_NF "unicore"
+@ MSG_EM_EXCESS_CF "EM_EXCESS" # 111
+@ MSG_EM_EXCESS_NF "excess"
+@ MSG_EM_DXP_CF "EM_DXP" # 112
+@ MSG_EM_DXP_NF "dxp"
+@ MSG_EM_ALTERA_NIOS2_CF "EM_ALTERA_NIOS2" # 113
+@ MSG_EM_ALTERA_NIOS2_NF "altera_nios2"
+@ MSG_EM_CRX_CF "EM_CRX" # 114
+@ MSG_EM_CRX_NF "crx"
+@ MSG_EM_XGATE_CF "EM_XGATE" # 115
+@ MSG_EM_XGATE_NF "xgate"
+@ MSG_EM_C166_CF "EM_C166" # 116
+@ MSG_EM_C166_NF "c166"
+@ MSG_EM_M16C_CF "EM_M16C" # 117
+@ MSG_EM_M16C_NF "m16c"
+@ MSG_EM_DSPIC30F_CF "EM_DSPIC30F" # 118
+@ MSG_EM_DSPIC30F_NF "dspic30f"
+@ MSG_EM_CE_CF "EM_CE" # 119
+@ MSG_EM_CE_NF "ce"
+@ MSG_EM_M32C_CF "EM_M32C" # 120
+@ MSG_EM_M32C_NF "m32c"
+@ MSG_EM_TSK3000_CF "EM_TSK3000" # 131
+@ MSG_EM_TSK3000_NF "tsk3000"
+@ MSG_EM_RS08_CF "EM_RS08" # 132
+@ MSG_EM_RS08_NF "rs08"
+@ MSG_EM_SHARC_CF "EM_SHARC" # 133
+@ MSG_EM_SHARC_NF "sharc"
+@ MSG_EM_ECOG2_CF "EM_ECOG2" # 134
+@ MSG_EM_ECOG2_NF "ecog2"
+@ MSG_EM_SCORE7_CF "EM_SCORE7" # 135
+@ MSG_EM_SCORE7_NF "score7"
+@ MSG_EM_DSP24_CF "EM_DSP24" # 136
+@ MSG_EM_DSP24_NF "dsp24"
+@ MSG_EM_VIDEOCORE3_CF "EM_VIDEOCORE3" # 137
+@ MSG_EM_VIDEOCORE3_NF "videocore3"
+@ MSG_EM_LATTICEMICO32_CF "EM_LATTICEMICO32" # 138
+@ MSG_EM_LATTICEMICO32_NF "latticemico32"
+@ MSG_EM_SE_C17_CF "EM_SE_C17" # 139
+@ MSG_EM_SE_C17_NF "se_c17"
+@ MSG_EM_TI_C6000_CF "EM_TI_C6000" # 140
+@ MSG_EM_TI_C6000_NF "ti_c6000"
+@ MSG_EM_TI_C2000_CF "EM_TI_C2000" # 141
+@ MSG_EM_TI_C2000_NF "ti_c2000"
+@ MSG_EM_TI_C5500_CF "EM_TI_C5500" # 142
+@ MSG_EM_TI_C5500_NF "ti_c5500"
+@ MSG_EM_TI_ARP32_CF "EM_TI_ARP32" # 143
+@ MSG_EM_TI_ARP32_NF "ti_arp32"
+@ MSG_EM_TI_PRU_CF "EM_TI_PRU" # 144
+@ MSG_EM_TI_PRU_NF "ti_pru"
+
+@ MSG_EM_MMDSP_PLUS_CF "EM_MMDSP_PLUS" # 160
+@ MSG_EM_MMDSP_PLUS_NF "mmdsp_plus"
+@ MSG_EM_CYPRESS_M8C_CF "EM_CYPRESS_M8C" # 161
+@ MSG_EM_CYPRESS_M8C_NF "cypress_m8c"
+@ MSG_EM_R32C_CF "EM_R32C" # 162
+@ MSG_EM_R32C_NF "r32c"
+@ MSG_EM_TRIMEDIA_CF "EM_TRIMEDIA" # 163
+@ MSG_EM_TRIMEDIA_NF "trimedia"
+@ MSG_EM_QDSP6_CF "EM_QDSP6" # 164
+@ MSG_EM_QDSP6_NF "qdsp6"
+@ MSG_EM_8051_CF "EM_8051" # 165
+@ MSG_EM_8051_NF "8051"
+@ MSG_EM_STXP7X_CF "EM_STXP7X" # 166
+@ MSG_EM_STXP7X_NF "stxp7x"
+@ MSG_EM_NDS32_CF "EM_NDS32" # 167
+@ MSG_EM_NDS32_NF "nds32"
+@ MSG_EM_ECOG1_CF "EM_ECOG1" # 168
+@ MSG_EM_ECOG1_NF "ecog1"
+@ MSG_EM_MAXQ30_CF "EM_MAXQ30" # 169
+@ MSG_EM_MAXQ30_NF "maxq30"
+@ MSG_EM_XIMO16_CF "EM_XIMO16" # 170
+@ MSG_EM_XIMO16_NF "ximo16"
+@ MSG_EM_MANIK_CF "EM_MANIK" # 171
+@ MSG_EM_MANIK_NF "manik"
+@ MSG_EM_CRAYNV2_CF "EM_CRAYNV2" # 172
+@ MSG_EM_CRAYNV2_NF "craynv2"
+@ MSG_EM_RX_CF "EM_RX" # 173
+@ MSG_EM_RX_NF "rx"
+@ MSG_EM_METAG_CF "EM_METAG" # 174
+@ MSG_EM_METAG_NF "metag"
+@ MSG_EM_MCST_ELBRUS_CF "EM_MCST_ELBRUS" # 175
+@ MSG_EM_MCST_ELBRUS_NF "mcst_elbrus"
+@ MSG_EM_ECOG16_CF "EM_ECOG16" # 176
+@ MSG_EM_ECOG16_NF "ecog16"
+@ MSG_EM_CR16_CF "EM_CR16" # 177
+@ MSG_EM_CR16_NF "cr16"
+@ MSG_EM_ETPU_CF "EM_ETPU" # 178
+@ MSG_EM_ETPU_NF "etpu"
+@ MSG_EM_SLE9X_CF "EM_SLE9X" # 179
+@ MSG_EM_SLE9X_NF "sle9x"
+@ MSG_EM_L10M_CF "EM_L10M" # 180
+@ MSG_EM_L10M_NF "l10m"
+@ MSG_EM_K10M_CF "EM_K10M" # 181
+@ MSG_EM_K10M_NF "k10m"
+@ MSG_EM_AARCH64_CF "EM_AARCH64" # 183
+@ MSG_EM_AARCH64_NF "aarch64"
+@ MSG_EM_AVR32_CF "EM_AVR32" # 185
+@ MSG_EM_AVR32_NF "avr32"
+@ MSG_EM_STM8_CF "EM_STM8" # 186
+@ MSG_EM_STM8_NF "stm8"
+@ MSG_EM_TILE64_CF "EM_TILE64" # 187
+@ MSG_EM_TILE64_NF "tile64"
+@ MSG_EM_TILEPRO_CF "EM_TILEPRO" # 188
+@ MSG_EM_TILEPRO_NF "tilepro"
+@ MSG_EM_MICROBLAZE_CF "EM_MICROBLAZE" # 189
+@ MSG_EM_MICROBLAZE_NF "microblaze"
+@ MSG_EM_CUDA_CF "EM_CUDA" # 190
+@ MSG_EM_CUDA_NF "cuda"
+@ MSG_EM_TILEGX_CF "EM_TILEGX" # 191
+@ MSG_EM_TILEGX_NF "tilegx"
+@ MSG_EM_CLOUDSHIELD_CF "EM_CLOUDSHIELD" # 192
+@ MSG_EM_CLOUDSHIELD_NF "cloudshield"
+@ MSG_EM_COREA_1ST_CF "EM_COREA_1ST" # 193
+@ MSG_EM_COREA_1ST_NF "corea_1st"
+@ MSG_EM_COREA_2ND_CF "EM_COREA_2ND" # 194
+@ MSG_EM_COREA_2ND_NF "corea_2nd"
+@ MSG_EM_ARC_COMPACT2_CF "EM_ARC_COMPACT2" # 195
+@ MSG_EM_ARC_COMPACT2_NF "arc_compact2"
+@ MSG_EM_OPEN8_CF "EM_OPEN8" # 196
+@ MSG_EM_OPEN8_NF "open8"
+@ MSG_EM_RL78_CF "EM_RL78" # 197
+@ MSG_EM_RL78_NF "rl78"
+@ MSG_EM_VIDEOCORE5_CF "EM_VIDEOCORE5" # 198
+@ MSG_EM_VIDEOCORE5_NF "videocore5"
+@ MSG_EM_78KOR_CF "EM_78KOR" # 199
+@ MSG_EM_78KOR_NF "78kor"
+@ MSG_EM_56800EX_CF "EM_56800EX" # 200
+@ MSG_EM_56800EX_NF "56800ex"
+@ MSG_EM_BA1_CF "EM_BA1" # 201
+@ MSG_EM_BA1_NF "ba1"
+@ MSG_EM_BA2_CF "EM_BA2" # 202
+@ MSG_EM_BA2_NF "ba2"
+@ MSG_EM_XCORE_CF "EM_XCORE" # 203
+@ MSG_EM_XCORE_NF "xcore"
+@ MSG_EM_MCHP_PIC_CF "EM_MCHP_PIC" # 204
+@ MSG_EM_MCHP_PIC_NF "mchp_pic"
+@ MSG_EM_INTEL205_CF "EM_INTEL205" # 205
+@ MSG_EM_INTEL205_NF "intel205"
+@ MSG_EM_INTEL206_CF "EM_INTEL206" # 206
+@ MSG_EM_INTEL206_NF "intel206"
+@ MSG_EM_INTEL207_CF "EM_INTEL207" # 207
+@ MSG_EM_INTEL207_NF "intel207"
+@ MSG_EM_INTEL208_CF "EM_INTEL208" # 208
+@ MSG_EM_INTEL208_NF "intel208"
+@ MSG_EM_INTEL209_CF "EM_INTEL209" # 209
+@ MSG_EM_INTEL209_NF "intel209"
+@ MSG_EM_KM32_CF "EM_KM32" # 210
+@ MSG_EM_KM32_NF "km32"
+@ MSG_EM_KMX32_CF "EM_KMX32" # 211
+@ MSG_EM_KMX32_NF "kmx32"
+@ MSG_EM_KMX16_CF "EM_KMX16" # 212
+@ MSG_EM_KMX16_NF "kmx16"
+@ MSG_EM_KMX8_CF "EM_KMX8" # 213
+@ MSG_EM_KMX8_NF "kmx8"
+@ MSG_EM_KVARC_CF "EM_KVARC" # 214
+@ MSG_EM_KVARC_NF "kvarc"
+@ MSG_EM_CDP_CF "EM_CDP" # 215
+@ MSG_EM_CDP_NF "cdp"
+@ MSG_EM_COGE_CF "EM_COGE" # 216
+@ MSG_EM_COGE_NF "coge"
+@ MSG_EM_COOL_CF "EM_COOL" # 217
+@ MSG_EM_COOL_NF "cool"
+@ MSG_EM_NORC_CF "EM_NORC" # 218
+@ MSG_EM_NORC_NF "norc"
+@ MSG_EM_CSR_KALIMBA_CF "EM_CSR_KALIMBA" # 219
+@ MSG_EM_CSR_KALIMBA_NF "csr_kalimba"
+@ MSG_EM_Z80_CF "EM_Z80" # 220
+@ MSG_EM_Z80_NF "z80"
+@ MSG_EM_VISIUM_CF "EM_VISIUM" # 221
+@ MSG_EM_VISIUM_NF "visium"
+@ MSG_EM_FT32_CF "EM_FT32" # 222
+@ MSG_EM_FT32_NF "ft32"
+@ MSG_EM_MOXIE_CF "EM_MOXIE" # 223
+@ MSG_EM_MOXIE_NF "moxie"
+@ MSG_EM_AMDGPU_CF "EM_AMDGPU" # 224
+@ MSG_EM_AMDGPU_NF "amdgpu"
+
+@ MSG_EM_RISCV_CF "EM_RISCV" # 243
+@ MSG_EM_RISCV_NF "riscv"
@ MSG_EI_MAG0_CF "EI_MAG0" # 0
@ MSG_EI_MAG0_NF "mag0"
@@ -331,6 +542,15 @@
@ MSG_OSABI_AROS_CF "ELFOSABI_AROS" #15
@ MSG_OSABI_AROS_NF "aros"
@ MSG_OSABI_AROS_DMP "Amiga Research OS"
+@ MSG_OSABI_FENIXOS_CF "ELFOSABI_FENIXOS" #16
+@ MSG_OSABI_FENIXOS_NF "fenixos"
+@ MSG_OSABI_FENIXOS_DMP "FenixOS"
+@ MSG_OSABI_CLOUDABI_CF "ELFOSABI_CLOUDABI" #17
+@ MSG_OSABI_CLOUDABI_NF "cloudabi"
+@ MSG_OSABI_CLOUDABI_DMP "CloudABI"
+@ MSG_OSABI_OPENVOS_CF "ELFOASBI_OPENVOS" #18
+@ MSG_OSABI_OPENVOS_NF "openvos"
+@ MSG_OSABI_OPENVOS_DMP "OpenVOS"
@ MSG_OSABI_ARM_CF "ELFOSABI_ARM" #97
@ MSG_OSABI_ARM_NF "arm"
@ MSG_OSABI_ARM_DMP "ARM"
diff --git a/usr/src/uts/common/sys/elf.h b/usr/src/uts/common/sys/elf.h
index ec9a0f160a..0dd4f2d17e 100644
--- a/usr/src/uts/common/sys/elf.h
+++ b/usr/src/uts/common/sys/elf.h
@@ -20,7 +20,7 @@
*/
/*
* Copyright 2012 DEY Storage Systems, Inc. All rights reserved.
- * Copyright (c) 2015, Joyent, Inc. All rights reserved.
+ * Copyright (c) 2018, Joyent, Inc.
*/
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
@@ -148,30 +148,30 @@ typedef struct {
#define ET_LOPROC 0xff00 /* processor specific range */
#define ET_HIPROC 0xffff
-#define EM_NONE 0 /* e_machine */
-#define EM_M32 1 /* AT&T WE 32100 */
-#define EM_SPARC 2 /* Sun SPARC */
-#define EM_386 3 /* Intel 80386 */
-#define EM_68K 4 /* Motorola 68000 */
-#define EM_88K 5 /* Motorola 88000 */
-#define EM_486 6 /* Intel 80486 */
-#define EM_860 7 /* Intel i860 */
-#define EM_MIPS 8 /* MIPS RS3000 Big-Endian */
-#define EM_S370 9 /* IBM System/370 Processor */
-#define EM_MIPS_RS3_LE 10 /* MIPS RS3000 Little-Endian */
-#define EM_RS6000 11 /* RS6000 */
+#define EM_NONE 0 /* e_machine */
+#define EM_M32 1 /* AT&T WE 32100 */
+#define EM_SPARC 2 /* Sun SPARC */
+#define EM_386 3 /* Intel 80386 */
+#define EM_68K 4 /* Motorola 68000 */
+#define EM_88K 5 /* Motorola 88000 */
+#define EM_486 6 /* Intel 80486 */
+#define EM_860 7 /* Intel i860 */
+#define EM_MIPS 8 /* MIPS RS3000 Big-Endian */
+#define EM_S370 9 /* IBM System/370 Processor */
+#define EM_MIPS_RS3_LE 10 /* MIPS RS3000 Little-Endian */
+#define EM_RS6000 11 /* RS6000 */
#define EM_UNKNOWN12 12
#define EM_UNKNOWN13 13
#define EM_UNKNOWN14 14
-#define EM_PA_RISC 15 /* PA-RISC */
+#define EM_PA_RISC 15 /* PA-RISC */
#define EM_PARISC EM_PA_RISC /* Alias: GNU compatibility */
-#define EM_nCUBE 16 /* nCUBE */
-#define EM_VPP500 17 /* Fujitsu VPP500 */
-#define EM_SPARC32PLUS 18 /* Sun SPARC 32+ */
-#define EM_960 19 /* Intel 80960 */
-#define EM_PPC 20 /* PowerPC */
-#define EM_PPC64 21 /* 64-bit PowerPC */
-#define EM_S390 22 /* IBM System/390 Processor */
+#define EM_nCUBE 16 /* nCUBE */
+#define EM_VPP500 17 /* Fujitsu VPP500 */
+#define EM_SPARC32PLUS 18 /* Sun SPARC 32+ */
+#define EM_960 19 /* Intel 80960 */
+#define EM_PPC 20 /* PowerPC */
+#define EM_PPC64 21 /* 64-bit PowerPC */
+#define EM_S390 22 /* IBM System/390 Processor */
#define EM_UNKNOWN22 EM_S390 /* Alias: Older published name */
#define EM_UNKNOWN23 23
#define EM_UNKNOWN24 24
@@ -186,78 +186,226 @@ typedef struct {
#define EM_UNKNOWN33 33
#define EM_UNKNOWN34 34
#define EM_UNKNOWN35 35
-#define EM_V800 36 /* NEX V800 */
-#define EM_FR20 37 /* Fujitsu FR20 */
-#define EM_RH32 38 /* TRW RH-32 */
-#define EM_RCE 39 /* Motorola RCE */
-#define EM_ARM 40 /* Advanced RISC Marchines ARM */
-#define EM_ALPHA 41 /* Digital Alpha */
-#define EM_SH 42 /* Hitachi SH */
-#define EM_SPARCV9 43 /* Sun SPARC V9 (64-bit) */
-#define EM_TRICORE 44 /* Siemens Tricore embedded processor */
-#define EM_ARC 45 /* Argonaut RISC Core, */
- /* Argonaut Technologies Inc. */
-#define EM_H8_300 46 /* Hitachi H8/300 */
-#define EM_H8_300H 47 /* Hitachi H8/300H */
-#define EM_H8S 48 /* Hitachi H8S */
-#define EM_H8_500 49 /* Hitachi H8/500 */
-#define EM_IA_64 50 /* Intel IA64 */
-#define EM_MIPS_X 51 /* Stanford MIPS-X */
-#define EM_COLDFIRE 52 /* Motorola ColdFire */
-#define EM_68HC12 53 /* Motorola M68HC12 */
-#define EM_MMA 54 /* Fujitsu MMA Mulimedia Accelerator */
-#define EM_PCP 55 /* Siemens PCP */
-#define EM_NCPU 56 /* Sony nCPU embedded RISC processor */
-#define EM_NDR1 57 /* Denso NDR1 microprocessor */
-#define EM_STARCORE 58 /* Motorola Star*Core processor */
-#define EM_ME16 59 /* Toyota ME16 processor */
-#define EM_ST100 60 /* STMicroelectronics ST100 processor */
-#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ */
- /* embedded processor family */
-#define EM_AMD64 62 /* AMDs x86-64 architecture */
+#define EM_V800 36 /* NEX V800 */
+#define EM_FR20 37 /* Fujitsu FR20 */
+#define EM_RH32 38 /* TRW RH-32 */
+#define EM_RCE 39 /* Motorola RCE */
+#define EM_ARM 40 /* Advanced RISC Marchines ARM */
+#define EM_ALPHA 41 /* Digital Alpha */
+#define EM_SH 42 /* Hitachi SH */
+#define EM_SPARCV9 43 /* Sun SPARC V9 (64-bit) */
+#define EM_TRICORE 44 /* Siemens Tricore embedded processor */
+#define EM_ARC 45 /* Argonaut RISC Core, */
+ /* Argonaut Technologies Inc. */
+#define EM_H8_300 46 /* Hitachi H8/300 */
+#define EM_H8_300H 47 /* Hitachi H8/300H */
+#define EM_H8S 48 /* Hitachi H8S */
+#define EM_H8_500 49 /* Hitachi H8/500 */
+#define EM_IA_64 50 /* Intel IA64 */
+#define EM_MIPS_X 51 /* Stanford MIPS-X */
+#define EM_COLDFIRE 52 /* Motorola ColdFire */
+#define EM_68HC12 53 /* Motorola M68HC12 */
+#define EM_MMA 54 /* Fujitsu MMA Mulimedia Accelerator */
+#define EM_PCP 55 /* Siemens PCP */
+#define EM_NCPU 56 /* Sony nCPU embedded RISC processor */
+#define EM_NDR1 57 /* Denso NDR1 microprocessor */
+#define EM_STARCORE 58 /* Motorola Star*Core processor */
+#define EM_ME16 59 /* Toyota ME16 processor */
+#define EM_ST100 60 /* STMicroelectronics ST100 processor */
+#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ */
+ /* embedded processor family */
+#define EM_AMD64 62 /* AMDs x86-64 architecture */
#define EM_X86_64 EM_AMD64 /* (compatibility) */
-#define EM_PDSP 63 /* Sony DSP Processor */
+#define EM_PDSP 63 /* Sony DSP Processor */
#define EM_UNKNOWN64 64
#define EM_UNKNOWN65 65
-#define EM_FX66 66 /* Siemens FX66 microcontroller */
-#define EM_ST9PLUS 67 /* STMicroelectronics ST9+8/16 bit */
- /* microcontroller */
-#define EM_ST7 68 /* STMicroelectronics ST7 8-bit */
- /* microcontroller */
-#define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */
-#define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */
-#define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */
-#define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */
-#define EM_SVX 73 /* Silicon Graphics SVx */
-#define EM_ST19 74 /* STMicroelectronics ST19 8-bit */
- /* microcontroller */
-#define EM_VAX 75 /* Digital VAX */
-#define EM_CRIS 76 /* Axis Communications 32-bit */
- /* embedded processor */
-#define EM_JAVELIN 77 /* Infineon Technologies 32-bit */
- /* embedded processor */
-#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor */
-#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor */
-#define EM_MMIX 80 /* Donald Knuth's educational */
- /* 64-bit processor */
-#define EM_HUANY 81 /* Harvard University */
- /* machine-independent */
- /* object files */
-#define EM_PRISM 82 /* SiTera Prism */
-#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */
-#define EM_FR30 84 /* Fujitsu FR30 */
-#define EM_D10V 85 /* Mitsubishi D10V */
-#define EM_D30V 86 /* Mitsubishi D30V */
-#define EM_V850 87 /* NEC v850 */
-#define EM_M32R 88 /* Mitsubishi M32R */
-#define EM_MN10300 89 /* Matsushita MN10300 */
-#define EM_MN10200 90 /* Matsushita MN10200 */
-#define EM_PJ 91 /* picoJava */
-#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
-#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
-#define EM_XTENSA 94 /* Tensilica Xtensa architecture */
-#define EM_NUM 95
+#define EM_FX66 66 /* Siemens FX66 microcontroller */
+#define EM_ST9PLUS 67 /* STMicroelectronics ST9+8/16 bit */
+ /* microcontroller */
+#define EM_ST7 68 /* STMicroelectronics ST7 8-bit */
+ /* microcontroller */
+#define EM_68HC16 69 /* Motorola MC68HC16 Microcontroller */
+#define EM_68HC11 70 /* Motorola MC68HC11 Microcontroller */
+#define EM_68HC08 71 /* Motorola MC68HC08 Microcontroller */
+#define EM_68HC05 72 /* Motorola MC68HC05 Microcontroller */
+#define EM_SVX 73 /* Silicon Graphics SVx */
+#define EM_ST19 74 /* STMicroelectronics ST19 8-bit */
+ /* microcontroller */
+#define EM_VAX 75 /* Digital VAX */
+#define EM_CRIS 76 /* Axis Communications 32-bit */
+ /* embedded processor */
+#define EM_JAVELIN 77 /* Infineon Technologies 32-bit */
+ /* embedded processor */
+#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor */
+#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor */
+#define EM_MMIX 80 /* Donald Knuth's educational */
+ /* 64-bit processor */
+#define EM_HUANY 81 /* Harvard University */
+ /* machine-independent */
+ /* object files */
+#define EM_PRISM 82 /* SiTera Prism */
+#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */
+#define EM_FR30 84 /* Fujitsu FR30 */
+#define EM_D10V 85 /* Mitsubishi D10V */
+#define EM_D30V 86 /* Mitsubishi D30V */
+#define EM_V850 87 /* NEC v850 */
+#define EM_M32R 88 /* Mitsubishi M32R */
+#define EM_MN10300 89 /* Matsushita MN10300 */
+#define EM_MN10200 90 /* Matsushita MN10200 */
+#define EM_PJ 91 /* picoJava */
+#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
+#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
+#define EM_XTENSA 94 /* Tensilica Xtensa architecture */
+
+#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */
+#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose */
+ /* Processor */
+#define EM_NS32K 97 /* National Semiconductor 32000 series */
+#define EM_TPC 98 /* Tenor Network TPC processor */
+#define EM_SNP1K 99 /* Trebia SNP 1000 processor */
+#define EM_ST200 100 /* STMicroelectronics (www.st.com) ST200 */
+ /* microcontroller */
+#define EM_IP2K 101 /* Ubicom IP2xxx microcontroller family */
+#define EM_MAX 102 /* MAX Processor */
+#define EM_CR 103 /* National Semiconductor CompactRISC */
+ /* microprocessor */
+#define EM_F2MC16 104 /* Fujitsu F2MC16 */
+#define EM_MSP430 105 /* Texas Instruments embedded microcontroller */
+ /* msp430 */
+#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor */
+#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */
+#define EM_SEP 108 /* Sharp embedded microprocessor */
+#define EM_ARCA 109 /* Arca RISC Microprocessor */
+#define EM_UNICORE 110 /* Microprocessor series from PKU-Unity Ltd. */
+ /* and MPRC of Peking University */
+#define EM_EXCESS 111 /* eXcess: 16/32/64-bit configurable embedded */
+ /* CPU */
+#define EM_DXP 112 /* Icera Semiconductor Inc. Deep Execution */
+ /* Processor */
+#define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */
+#define EM_CRX 114 /* National Semiconductor CompactRISC CRX */
+ /* microprocessor */
+#define EM_XGATE 115 /* Motorola XGATE embedded processor */
+#define EM_C166 116 /* Infineon C16x/XC16x processor */
+#define EM_M16C 117 /* Renesas M16C series microprocessors */
+#define EM_DSPIC30F 118 /* Microchip Technology dsPIC30F Digital */
+ /* Signal Controller */
+#define EM_CE 119 /* Freescale Communication Engine RISC core */
+#define EM_M32C 120 /* Renesas M32C series microprocessors */
+
+#define EM_TSK3000 131 /* Altium TSK3000 core */
+#define EM_RS08 132 /* Freescale RS08 embedded processor */
+#define EM_SHARC 133 /* Analog Devices SHARC family of 32-bit DSP */
+ /* processors */
+#define EM_ECOG2 134 /* Cyan Technology eCOG2 microprocessor */
+#define EM_SCORE7 135 /* Sunplus S+core7 RISC processor */
+#define EM_DSP24 136 /* New Japan Radio (NJR) 24-bit DSP Processor */
+#define EM_VIDEOCORE3 137 /* Broadcom VideoCore III processor */
+#define EM_LATTICEMICO32 138 /* RISC processor for Lattice FPGA */
+ /* architecture */
+#define EM_SE_C17 139 /* Seiko Epson C17 family */
+#define EM_TI_C6000 140 /* The Texas Instruments TMS320C6000 DSP */
+ /* family */
+#define EM_TI_C2000 141 /* The Texas Instruments TMS320C2000 DSP */
+ /* family */
+#define EM_TI_C5500 142 /* The Texas Instruments TMS320C55x DSP */
+ /* family */
+#define EM_TI_ARP32 143 /* Texas Instruments Application Specific */
+ /* RISC Processor, 32bit fetch */
+#define EM_TI_PRU 144 /* Texas Instruments Programmable Realtime */
+ /* Unit */
+
+#define EM_MMDSP_PLUS 160 /* STMicroelectronics 64bit VLIW Data Signal */
+ /* Processor */
+#define EM_CYPRESS_M8C 161 /* Cypress M8C microprocessor */
+#define EM_R32C 162 /* Renesas R32C series microprocessors */
+#define EM_TRIMEDIA 163 /* NXP Semiconductors TriMedia architecture */
+ /* family */
+#define EM_QDSP6 164 /* QUALCOMM DSP6 Processor */
+#define EM_8051 165 /* Intel 8051 and variants */
+#define EM_STXP7X 166 /* STMicroelectronics STxP7x family of */
+ /* configurable and extensible RISC */
+ /* processors */
+#define EM_NDS32 167 /* Andes Technology compact code size */
+ /* embedded RISC processor family */
+#define EM_ECOG1 168 /* Cyan Technology eCOG1X family */
+#define EM_ECOG1X EM_EC0G1X /* Cyan Technology eCOG1X family */
+#define EM_MAXQ30 169 /* Dallas Semiconductor MAXQ30 Core */
+ /* Micro-controllers */
+#define EM_XIMO16 170 /* New Japan Radio (NJR) 16-bit DSP Processor */
+#define EM_MANIK 171 /* M2000 Reconfigurable RISC Microprocessor */
+#define EM_CRAYNV2 172 /* Cray Inc. NV2 vector architecture */
+#define EM_RX 173 /* Renesas RX family */
+#define EM_METAG 174 /* Imagination Technologies META processor */
+ /* architecture */
+#define EM_MCST_ELBRUS 175 /* MCST Elbrus general purpose hardware */
+ /* architecture */
+#define EM_ECOG16 176 /* Cyan Technology eCOG16 family */
+#define EM_CR16 177 /* National Semiconductor CompactRISC */
+ /* CR16 16-bit microprocessor */
+#define EM_ETPU 178 /* Freescale Extended Time Processing Unit */
+#define EM_SLE9X 179 /* Infineon Technologies SLE9X core */
+#define EM_L10M 180 /* Intel L10M */
+#define EM_K10M 181 /* Intel K10M */
+
+#define EM_AARCH64 183 /* ARM 64-bit architecture (AARCH64) */
+
+#define EM_AVR32 185 /* Atmel Corporation 32-bit microprocessor */
+ /* family */
+#define EM_STM8 186 /* STMicroeletronics STM8 8-bit */
+ /* microcontroller */
+#define EM_TILE64 187 /* Tilera TILE64 multicore architecture */
+ /* family */
+#define EM_TILEPRO 188 /* Tilera TILEPro multicore architecture */
+ /* family */
+#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze 32-bit RISC soft */
+ /* processor core */
+#define EM_CUDA 190 /* NVIDIA CUDA architecture */
+#define EM_TILEGX 191 /* Tilera TILE-Gx multicore architecture */
+ /* family */
+#define EM_CLOUDSHIELD 192 /* CloudShield architecture family */
+#define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st generation processor */
+ /* family */
+#define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd generation processor */
+ /* family */
+#define EM_ARC_COMPACT2 195 /* Synopsys ARCompact V2 */
+#define EM_OPEN8 196 /* Open8 8-bit RISC soft processor core */
+#define EM_RL78 197 /* Renesas RL78 family */
+#define EM_VIDEOCORE5 198 /* Broadcom VideoCore V processor */
+#define EM_78KOR 199 /* Renesas 78KOR family */
+#define EM_56800EX 200 /* Freescale 56800EX Digital Signal */
+ /* Controller (DSC) */
+#define EM_BA1 201 /* Beyond BA1 CPU architecture */
+#define EM_BA2 202 /* Beyond BA2 CPU architecture */
+#define EM_XCORE 203 /* XMOS xCORE processor family */
+#define EM_MCHP_PIC 204 /* Microchip 8-bit PIC(r) family */
+#define EM_INTEL205 205 /* Reserved by Intel */
+#define EM_INTEL206 206 /* Reserved by Intel */
+#define EM_INTEL207 207 /* Reserved by Intel */
+#define EM_INTEL208 208 /* Reserved by Intel */
+#define EM_INTEL209 209 /* Reserved by Intel */
+#define EM_KM32 210 /* KM211 KM32 32-bit processor */
+#define EM_KMX32 211 /* KM211 KMX32 32-bit processor */
+#define EM_KMX16 212 /* KM211 KMX16 16-bit processor */
+#define EM_KMX8 213 /* KM211 KMX8 8-bit processor */
+#define EM_KVARC 214 /* KM211 KVARC processor */
+#define EM_CDP 215 /* Paneve CDP architecture family */
+#define EM_COGE 216 /* Cognitive Smart Memory Processor */
+#define EM_COOL 217 /* Bluechip Systems CoolEngine */
+#define EM_NORC 218 /* Nanoradio Optimized RISC */
+#define EM_CSR_KALIMBA 219 /* CSR Kalimba architecture family */
+#define EM_Z80 220 /* Zilog Z80 */
+#define EM_VISIUM 221 /* Controls and Data Services VISIUMcore */
+ /* processor */
+#define EM_FT32 222 /* FTDI Chip FT32 high performance 32-bit */
+ /* RISC architecture */
+#define EM_MOXIE 223 /* Moxie processor family */
+#define EM_AMDGPU 224 /* AMD GPU architecture */
+
+#define EM_RISCV 243 /* RISC-V */
+
+#define EM_NUM 244
#define EV_NONE 0 /* e_version, EI_VERSION */
#define EV_CURRENT 1
@@ -281,6 +429,10 @@ typedef struct {
#define ELFOSABI_OPENVMS 13 /* Open VMS */
#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
#define ELFOSABI_AROS 15 /* Amiga Research OS */
+#define ELFOSABI_FENIXOS 16 /* The FenixOS highly scalable */
+ /* multi-core OS */
+#define ELFOSABI_CLOUDABI 17 /* Nuxi CloudABI */
+#define ELFOSABI_OPENVOS 18 /* Stratus Technologies OpenVOS */
#define ELFOSABI_ARM 97 /* ARM */
#define ELFOSABI_STANDALONE 255 /* standalone (embedded) application */