-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DO NOT MERGE] Adding LLD linker support to EVM arch. #428
Closed
PavelKopyl
wants to merge
9
commits into
main
from
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
Closed
[DO NOT MERGE] Adding LLD linker support to EVM arch. #428
PavelKopyl
wants to merge
9
commits into
main
from
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Benchmark results:
|
PavelKopyl
force-pushed
the
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
branch
6 times, most recently
from
March 14, 2024 13:39
d5242ed
to
e55e78d
Compare
PavelKopyl
force-pushed
the
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
branch
from
March 25, 2024 16:47
e55e78d
to
d237304
Compare
PavelKopyl
force-pushed
the
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
branch
from
April 19, 2024 00:17
d237304
to
31248da
Compare
You can test this locally with the following command:git-clang-format --diff 3322c22f5976fe5f98624e5f0edc20692352aa23 77935c92fa4ec38b4f2e4a01cf0c8bd38dc12e35 -- llvm/lib/Target/EVM/EVMTargetObjectFile.cpp llvm/lib/Target/EVM/EVMTargetObjectFile.h llvm/include/llvm/BinaryFormat/ELF.h llvm/include/llvm/MC/MCExpr.h llvm/lib/BinaryFormat/ELF.cpp llvm/lib/MC/ELFObjectWriter.cpp llvm/lib/MC/MCExpr.cpp llvm/lib/MC/MCObjectFileInfo.cpp llvm/lib/Object/ELF.cpp llvm/lib/Target/EVM/EVMISelLowering.cpp llvm/lib/Target/EVM/EVMISelLowering.h llvm/lib/Target/EVM/EVMMCInstLower.cpp llvm/lib/Target/EVM/EVMTargetMachine.cpp llvm/lib/Target/EVM/MCTargetDesc/EVMAsmBackend.cpp llvm/lib/Target/EVM/MCTargetDesc/EVMELFObjectWriter.cpp llvm/lib/Target/EVM/MCTargetDesc/EVMFixupKinds.h llvm/lib/Target/EVM/MCTargetDesc/EVMMCCodeEmitter.cpp llvm/tools/llvm-readobj/ELFDumper.cpp View the diff from clang-format here.diff --git a/llvm/include/llvm/BinaryFormat/ELF.h b/llvm/include/llvm/BinaryFormat/ELF.h
index ed430fcb7f..5e4436b650 100644
--- a/llvm/include/llvm/BinaryFormat/ELF.h
+++ b/llvm/include/llvm/BinaryFormat/ELF.h
@@ -321,10 +321,10 @@ enum {
EM_CSKY = 252, // C-SKY 32-bit processor
EM_LOONGARCH = 258, // LoongArch
// EraVM local begin
- EM_ERAVM = 260, // EraVM
+ EM_ERAVM = 260, // EraVM
// EraVM local end
// EVM local begin
- EM_EVM = 261 // EVM
+ EM_EVM = 261 // EVM
// EVM local end
};
diff --git a/llvm/lib/MC/MCExpr.cpp b/llvm/lib/MC/MCExpr.cpp
index 4645f5794d..ad63b1432a 100644
--- a/llvm/lib/MC/MCExpr.cpp
+++ b/llvm/lib/MC/MCExpr.cpp
@@ -399,147 +399,147 @@ StringRef MCSymbolRefExpr::getVariantKindName(VariantKind Kind) {
MCSymbolRefExpr::VariantKind
MCSymbolRefExpr::getVariantKindForName(StringRef Name) {
return StringSwitch<VariantKind>(Name.lower())
- .Case("dtprel", VK_DTPREL)
- .Case("dtpoff", VK_DTPOFF)
- .Case("got", VK_GOT)
- .Case("gotoff", VK_GOTOFF)
- .Case("gotrel", VK_GOTREL)
- .Case("pcrel", VK_PCREL)
- .Case("gotpcrel", VK_GOTPCREL)
- .Case("gotpcrel_norelax", VK_GOTPCREL_NORELAX)
- .Case("gottpoff", VK_GOTTPOFF)
- .Case("indntpoff", VK_INDNTPOFF)
- .Case("ntpoff", VK_NTPOFF)
- .Case("gotntpoff", VK_GOTNTPOFF)
- .Case("plt", VK_PLT)
- .Case("tlscall", VK_TLSCALL)
- .Case("tlsdesc", VK_TLSDESC)
- .Case("tlsgd", VK_TLSGD)
- .Case("tlsld", VK_TLSLD)
- .Case("tlsldm", VK_TLSLDM)
- .Case("tpoff", VK_TPOFF)
- .Case("tprel", VK_TPREL)
- .Case("tlvp", VK_TLVP)
- .Case("tlvppage", VK_TLVPPAGE)
- .Case("tlvppageoff", VK_TLVPPAGEOFF)
- .Case("page", VK_PAGE)
- .Case("pageoff", VK_PAGEOFF)
- .Case("gotpage", VK_GOTPAGE)
- .Case("gotpageoff", VK_GOTPAGEOFF)
- .Case("imgrel", VK_COFF_IMGREL32)
- .Case("secrel32", VK_SECREL)
- .Case("size", VK_SIZE)
- .Case("abs8", VK_X86_ABS8)
- .Case("pltoff", VK_X86_PLTOFF)
- .Case("l", VK_PPC_LO)
- .Case("h", VK_PPC_HI)
- .Case("ha", VK_PPC_HA)
- .Case("high", VK_PPC_HIGH)
- .Case("higha", VK_PPC_HIGHA)
- .Case("higher", VK_PPC_HIGHER)
- .Case("highera", VK_PPC_HIGHERA)
- .Case("highest", VK_PPC_HIGHEST)
- .Case("highesta", VK_PPC_HIGHESTA)
- .Case("got@l", VK_PPC_GOT_LO)
- .Case("got@h", VK_PPC_GOT_HI)
- .Case("got@ha", VK_PPC_GOT_HA)
- .Case("local", VK_PPC_LOCAL)
- .Case("tocbase", VK_PPC_TOCBASE)
- .Case("toc", VK_PPC_TOC)
- .Case("toc@l", VK_PPC_TOC_LO)
- .Case("toc@h", VK_PPC_TOC_HI)
- .Case("toc@ha", VK_PPC_TOC_HA)
- .Case("u", VK_PPC_U)
- .Case("l", VK_PPC_L)
- .Case("tls", VK_PPC_TLS)
- .Case("dtpmod", VK_PPC_DTPMOD)
- .Case("tprel@l", VK_PPC_TPREL_LO)
- .Case("tprel@h", VK_PPC_TPREL_HI)
- .Case("tprel@ha", VK_PPC_TPREL_HA)
- .Case("tprel@high", VK_PPC_TPREL_HIGH)
- .Case("tprel@higha", VK_PPC_TPREL_HIGHA)
- .Case("tprel@higher", VK_PPC_TPREL_HIGHER)
- .Case("tprel@highera", VK_PPC_TPREL_HIGHERA)
- .Case("tprel@highest", VK_PPC_TPREL_HIGHEST)
- .Case("tprel@highesta", VK_PPC_TPREL_HIGHESTA)
- .Case("dtprel@l", VK_PPC_DTPREL_LO)
- .Case("dtprel@h", VK_PPC_DTPREL_HI)
- .Case("dtprel@ha", VK_PPC_DTPREL_HA)
- .Case("dtprel@high", VK_PPC_DTPREL_HIGH)
- .Case("dtprel@higha", VK_PPC_DTPREL_HIGHA)
- .Case("dtprel@higher", VK_PPC_DTPREL_HIGHER)
- .Case("dtprel@highera", VK_PPC_DTPREL_HIGHERA)
- .Case("dtprel@highest", VK_PPC_DTPREL_HIGHEST)
- .Case("dtprel@highesta", VK_PPC_DTPREL_HIGHESTA)
- .Case("got@tprel", VK_PPC_GOT_TPREL)
- .Case("got@tprel@l", VK_PPC_GOT_TPREL_LO)
- .Case("got@tprel@h", VK_PPC_GOT_TPREL_HI)
- .Case("got@tprel@ha", VK_PPC_GOT_TPREL_HA)
- .Case("got@dtprel", VK_PPC_GOT_DTPREL)
- .Case("got@dtprel@l", VK_PPC_GOT_DTPREL_LO)
- .Case("got@dtprel@h", VK_PPC_GOT_DTPREL_HI)
- .Case("got@dtprel@ha", VK_PPC_GOT_DTPREL_HA)
- .Case("got@tlsgd", VK_PPC_GOT_TLSGD)
- .Case("got@tlsgd@l", VK_PPC_GOT_TLSGD_LO)
- .Case("got@tlsgd@h", VK_PPC_GOT_TLSGD_HI)
- .Case("got@tlsgd@ha", VK_PPC_GOT_TLSGD_HA)
- .Case("got@tlsld", VK_PPC_GOT_TLSLD)
- .Case("got@tlsld@l", VK_PPC_GOT_TLSLD_LO)
- .Case("got@tlsld@h", VK_PPC_GOT_TLSLD_HI)
- .Case("got@tlsld@ha", VK_PPC_GOT_TLSLD_HA)
- .Case("got@pcrel", VK_PPC_GOT_PCREL)
- .Case("got@tlsgd@pcrel", VK_PPC_GOT_TLSGD_PCREL)
- .Case("got@tlsld@pcrel", VK_PPC_GOT_TLSLD_PCREL)
- .Case("got@tprel@pcrel", VK_PPC_GOT_TPREL_PCREL)
- .Case("tls@pcrel", VK_PPC_TLS_PCREL)
- .Case("notoc", VK_PPC_NOTOC)
- .Case("gdgot", VK_Hexagon_GD_GOT)
- .Case("gdplt", VK_Hexagon_GD_PLT)
- .Case("iegot", VK_Hexagon_IE_GOT)
- .Case("ie", VK_Hexagon_IE)
- .Case("ldgot", VK_Hexagon_LD_GOT)
- .Case("ldplt", VK_Hexagon_LD_PLT)
- .Case("none", VK_ARM_NONE)
- .Case("got_prel", VK_ARM_GOT_PREL)
- .Case("target1", VK_ARM_TARGET1)
- .Case("target2", VK_ARM_TARGET2)
- .Case("prel31", VK_ARM_PREL31)
- .Case("sbrel", VK_ARM_SBREL)
- .Case("tlsldo", VK_ARM_TLSLDO)
- .Case("lo8", VK_AVR_LO8)
- .Case("hi8", VK_AVR_HI8)
- .Case("hlo8", VK_AVR_HLO8)
- .Case("typeindex", VK_WASM_TYPEINDEX)
- .Case("tbrel", VK_WASM_TBREL)
- .Case("mbrel", VK_WASM_MBREL)
- .Case("tlsrel", VK_WASM_TLSREL)
- .Case("got@tls", VK_WASM_GOT_TLS)
- .Case("funcindex", VK_WASM_FUNCINDEX)
- .Case("gotpcrel32@lo", VK_AMDGPU_GOTPCREL32_LO)
- .Case("gotpcrel32@hi", VK_AMDGPU_GOTPCREL32_HI)
- .Case("rel32@lo", VK_AMDGPU_REL32_LO)
- .Case("rel32@hi", VK_AMDGPU_REL32_HI)
- .Case("rel64", VK_AMDGPU_REL64)
- .Case("abs32@lo", VK_AMDGPU_ABS32_LO)
- .Case("abs32@hi", VK_AMDGPU_ABS32_HI)
- .Case("hi", VK_VE_HI32)
- .Case("lo", VK_VE_LO32)
- .Case("pc_hi", VK_VE_PC_HI32)
- .Case("pc_lo", VK_VE_PC_LO32)
- .Case("got_hi", VK_VE_GOT_HI32)
- .Case("got_lo", VK_VE_GOT_LO32)
- .Case("gotoff_hi", VK_VE_GOTOFF_HI32)
- .Case("gotoff_lo", VK_VE_GOTOFF_LO32)
- .Case("plt_hi", VK_VE_PLT_HI32)
- .Case("plt_lo", VK_VE_PLT_LO32)
- .Case("tls_gd_hi", VK_VE_TLS_GD_HI32)
- .Case("tls_gd_lo", VK_VE_TLS_GD_LO32)
- .Case("tpoff_hi", VK_VE_TPOFF_HI32)
- .Case("tpoff_lo", VK_VE_TPOFF_LO32)
- // EVM local begin
- .Case("evm_data", VK_EVM_DATA)
- // EVM local end
- .Default(VK_Invalid);
+ .Case("dtprel", VK_DTPREL)
+ .Case("dtpoff", VK_DTPOFF)
+ .Case("got", VK_GOT)
+ .Case("gotoff", VK_GOTOFF)
+ .Case("gotrel", VK_GOTREL)
+ .Case("pcrel", VK_PCREL)
+ .Case("gotpcrel", VK_GOTPCREL)
+ .Case("gotpcrel_norelax", VK_GOTPCREL_NORELAX)
+ .Case("gottpoff", VK_GOTTPOFF)
+ .Case("indntpoff", VK_INDNTPOFF)
+ .Case("ntpoff", VK_NTPOFF)
+ .Case("gotntpoff", VK_GOTNTPOFF)
+ .Case("plt", VK_PLT)
+ .Case("tlscall", VK_TLSCALL)
+ .Case("tlsdesc", VK_TLSDESC)
+ .Case("tlsgd", VK_TLSGD)
+ .Case("tlsld", VK_TLSLD)
+ .Case("tlsldm", VK_TLSLDM)
+ .Case("tpoff", VK_TPOFF)
+ .Case("tprel", VK_TPREL)
+ .Case("tlvp", VK_TLVP)
+ .Case("tlvppage", VK_TLVPPAGE)
+ .Case("tlvppageoff", VK_TLVPPAGEOFF)
+ .Case("page", VK_PAGE)
+ .Case("pageoff", VK_PAGEOFF)
+ .Case("gotpage", VK_GOTPAGE)
+ .Case("gotpageoff", VK_GOTPAGEOFF)
+ .Case("imgrel", VK_COFF_IMGREL32)
+ .Case("secrel32", VK_SECREL)
+ .Case("size", VK_SIZE)
+ .Case("abs8", VK_X86_ABS8)
+ .Case("pltoff", VK_X86_PLTOFF)
+ .Case("l", VK_PPC_LO)
+ .Case("h", VK_PPC_HI)
+ .Case("ha", VK_PPC_HA)
+ .Case("high", VK_PPC_HIGH)
+ .Case("higha", VK_PPC_HIGHA)
+ .Case("higher", VK_PPC_HIGHER)
+ .Case("highera", VK_PPC_HIGHERA)
+ .Case("highest", VK_PPC_HIGHEST)
+ .Case("highesta", VK_PPC_HIGHESTA)
+ .Case("got@l", VK_PPC_GOT_LO)
+ .Case("got@h", VK_PPC_GOT_HI)
+ .Case("got@ha", VK_PPC_GOT_HA)
+ .Case("local", VK_PPC_LOCAL)
+ .Case("tocbase", VK_PPC_TOCBASE)
+ .Case("toc", VK_PPC_TOC)
+ .Case("toc@l", VK_PPC_TOC_LO)
+ .Case("toc@h", VK_PPC_TOC_HI)
+ .Case("toc@ha", VK_PPC_TOC_HA)
+ .Case("u", VK_PPC_U)
+ .Case("l", VK_PPC_L)
+ .Case("tls", VK_PPC_TLS)
+ .Case("dtpmod", VK_PPC_DTPMOD)
+ .Case("tprel@l", VK_PPC_TPREL_LO)
+ .Case("tprel@h", VK_PPC_TPREL_HI)
+ .Case("tprel@ha", VK_PPC_TPREL_HA)
+ .Case("tprel@high", VK_PPC_TPREL_HIGH)
+ .Case("tprel@higha", VK_PPC_TPREL_HIGHA)
+ .Case("tprel@higher", VK_PPC_TPREL_HIGHER)
+ .Case("tprel@highera", VK_PPC_TPREL_HIGHERA)
+ .Case("tprel@highest", VK_PPC_TPREL_HIGHEST)
+ .Case("tprel@highesta", VK_PPC_TPREL_HIGHESTA)
+ .Case("dtprel@l", VK_PPC_DTPREL_LO)
+ .Case("dtprel@h", VK_PPC_DTPREL_HI)
+ .Case("dtprel@ha", VK_PPC_DTPREL_HA)
+ .Case("dtprel@high", VK_PPC_DTPREL_HIGH)
+ .Case("dtprel@higha", VK_PPC_DTPREL_HIGHA)
+ .Case("dtprel@higher", VK_PPC_DTPREL_HIGHER)
+ .Case("dtprel@highera", VK_PPC_DTPREL_HIGHERA)
+ .Case("dtprel@highest", VK_PPC_DTPREL_HIGHEST)
+ .Case("dtprel@highesta", VK_PPC_DTPREL_HIGHESTA)
+ .Case("got@tprel", VK_PPC_GOT_TPREL)
+ .Case("got@tprel@l", VK_PPC_GOT_TPREL_LO)
+ .Case("got@tprel@h", VK_PPC_GOT_TPREL_HI)
+ .Case("got@tprel@ha", VK_PPC_GOT_TPREL_HA)
+ .Case("got@dtprel", VK_PPC_GOT_DTPREL)
+ .Case("got@dtprel@l", VK_PPC_GOT_DTPREL_LO)
+ .Case("got@dtprel@h", VK_PPC_GOT_DTPREL_HI)
+ .Case("got@dtprel@ha", VK_PPC_GOT_DTPREL_HA)
+ .Case("got@tlsgd", VK_PPC_GOT_TLSGD)
+ .Case("got@tlsgd@l", VK_PPC_GOT_TLSGD_LO)
+ .Case("got@tlsgd@h", VK_PPC_GOT_TLSGD_HI)
+ .Case("got@tlsgd@ha", VK_PPC_GOT_TLSGD_HA)
+ .Case("got@tlsld", VK_PPC_GOT_TLSLD)
+ .Case("got@tlsld@l", VK_PPC_GOT_TLSLD_LO)
+ .Case("got@tlsld@h", VK_PPC_GOT_TLSLD_HI)
+ .Case("got@tlsld@ha", VK_PPC_GOT_TLSLD_HA)
+ .Case("got@pcrel", VK_PPC_GOT_PCREL)
+ .Case("got@tlsgd@pcrel", VK_PPC_GOT_TLSGD_PCREL)
+ .Case("got@tlsld@pcrel", VK_PPC_GOT_TLSLD_PCREL)
+ .Case("got@tprel@pcrel", VK_PPC_GOT_TPREL_PCREL)
+ .Case("tls@pcrel", VK_PPC_TLS_PCREL)
+ .Case("notoc", VK_PPC_NOTOC)
+ .Case("gdgot", VK_Hexagon_GD_GOT)
+ .Case("gdplt", VK_Hexagon_GD_PLT)
+ .Case("iegot", VK_Hexagon_IE_GOT)
+ .Case("ie", VK_Hexagon_IE)
+ .Case("ldgot", VK_Hexagon_LD_GOT)
+ .Case("ldplt", VK_Hexagon_LD_PLT)
+ .Case("none", VK_ARM_NONE)
+ .Case("got_prel", VK_ARM_GOT_PREL)
+ .Case("target1", VK_ARM_TARGET1)
+ .Case("target2", VK_ARM_TARGET2)
+ .Case("prel31", VK_ARM_PREL31)
+ .Case("sbrel", VK_ARM_SBREL)
+ .Case("tlsldo", VK_ARM_TLSLDO)
+ .Case("lo8", VK_AVR_LO8)
+ .Case("hi8", VK_AVR_HI8)
+ .Case("hlo8", VK_AVR_HLO8)
+ .Case("typeindex", VK_WASM_TYPEINDEX)
+ .Case("tbrel", VK_WASM_TBREL)
+ .Case("mbrel", VK_WASM_MBREL)
+ .Case("tlsrel", VK_WASM_TLSREL)
+ .Case("got@tls", VK_WASM_GOT_TLS)
+ .Case("funcindex", VK_WASM_FUNCINDEX)
+ .Case("gotpcrel32@lo", VK_AMDGPU_GOTPCREL32_LO)
+ .Case("gotpcrel32@hi", VK_AMDGPU_GOTPCREL32_HI)
+ .Case("rel32@lo", VK_AMDGPU_REL32_LO)
+ .Case("rel32@hi", VK_AMDGPU_REL32_HI)
+ .Case("rel64", VK_AMDGPU_REL64)
+ .Case("abs32@lo", VK_AMDGPU_ABS32_LO)
+ .Case("abs32@hi", VK_AMDGPU_ABS32_HI)
+ .Case("hi", VK_VE_HI32)
+ .Case("lo", VK_VE_LO32)
+ .Case("pc_hi", VK_VE_PC_HI32)
+ .Case("pc_lo", VK_VE_PC_LO32)
+ .Case("got_hi", VK_VE_GOT_HI32)
+ .Case("got_lo", VK_VE_GOT_LO32)
+ .Case("gotoff_hi", VK_VE_GOTOFF_HI32)
+ .Case("gotoff_lo", VK_VE_GOTOFF_LO32)
+ .Case("plt_hi", VK_VE_PLT_HI32)
+ .Case("plt_lo", VK_VE_PLT_LO32)
+ .Case("tls_gd_hi", VK_VE_TLS_GD_HI32)
+ .Case("tls_gd_lo", VK_VE_TLS_GD_LO32)
+ .Case("tpoff_hi", VK_VE_TPOFF_HI32)
+ .Case("tpoff_lo", VK_VE_TPOFF_LO32)
+ // EVM local begin
+ .Case("evm_data", VK_EVM_DATA)
+ // EVM local end
+ .Default(VK_Invalid);
}
/* *** */
diff --git a/llvm/lib/Object/ELF.cpp b/llvm/lib/Object/ELF.cpp
index 2f6fa9d475..9c371e85d0 100644
--- a/llvm/lib/Object/ELF.cpp
+++ b/llvm/lib/Object/ELF.cpp
@@ -185,7 +185,7 @@ StringRef llvm::object::getELFRelocationTypeName(uint32_t Machine,
case ELF::EM_ERAVM:
switch (Type) {
#include "llvm/BinaryFormat/ELFRelocs/EraVM.def"
- default:
+ default:
break;
}
break;
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index c052ccf00e..5252d57155 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -1094,176 +1094,159 @@ const EnumEntry<unsigned> C6000ElfOSABI[] = {
};
const EnumEntry<unsigned> ElfMachineType[] = {
- ENUM_ENT(EM_NONE, "None"),
- ENUM_ENT(EM_M32, "WE32100"),
- ENUM_ENT(EM_SPARC, "Sparc"),
- ENUM_ENT(EM_386, "Intel 80386"),
- ENUM_ENT(EM_68K, "MC68000"),
- ENUM_ENT(EM_88K, "MC88000"),
- ENUM_ENT(EM_IAMCU, "EM_IAMCU"),
- ENUM_ENT(EM_860, "Intel 80860"),
- ENUM_ENT(EM_MIPS, "MIPS R3000"),
- ENUM_ENT(EM_S370, "IBM System/370"),
- ENUM_ENT(EM_MIPS_RS3_LE, "MIPS R3000 little-endian"),
- ENUM_ENT(EM_PARISC, "HPPA"),
- ENUM_ENT(EM_VPP500, "Fujitsu VPP500"),
- ENUM_ENT(EM_SPARC32PLUS, "Sparc v8+"),
- ENUM_ENT(EM_960, "Intel 80960"),
- ENUM_ENT(EM_PPC, "PowerPC"),
- ENUM_ENT(EM_PPC64, "PowerPC64"),
- ENUM_ENT(EM_S390, "IBM S/390"),
- ENUM_ENT(EM_SPU, "SPU"),
- ENUM_ENT(EM_V800, "NEC V800 series"),
- ENUM_ENT(EM_FR20, "Fujistsu FR20"),
- ENUM_ENT(EM_RH32, "TRW RH-32"),
- ENUM_ENT(EM_RCE, "Motorola RCE"),
- ENUM_ENT(EM_ARM, "ARM"),
- ENUM_ENT(EM_ALPHA, "EM_ALPHA"),
- ENUM_ENT(EM_SH, "Hitachi SH"),
- ENUM_ENT(EM_SPARCV9, "Sparc v9"),
- ENUM_ENT(EM_TRICORE, "Siemens Tricore"),
- ENUM_ENT(EM_ARC, "ARC"),
- ENUM_ENT(EM_H8_300, "Hitachi H8/300"),
- ENUM_ENT(EM_H8_300H, "Hitachi H8/300H"),
- ENUM_ENT(EM_H8S, "Hitachi H8S"),
- ENUM_ENT(EM_H8_500, "Hitachi H8/500"),
- ENUM_ENT(EM_IA_64, "Intel IA-64"),
- ENUM_ENT(EM_MIPS_X, "Stanford MIPS-X"),
- ENUM_ENT(EM_COLDFIRE, "Motorola Coldfire"),
- ENUM_ENT(EM_68HC12, "Motorola MC68HC12 Microcontroller"),
- ENUM_ENT(EM_MMA, "Fujitsu Multimedia Accelerator"),
- ENUM_ENT(EM_PCP, "Siemens PCP"),
- ENUM_ENT(EM_NCPU, "Sony nCPU embedded RISC processor"),
- ENUM_ENT(EM_NDR1, "Denso NDR1 microprocesspr"),
- ENUM_ENT(EM_STARCORE, "Motorola Star*Core processor"),
- ENUM_ENT(EM_ME16, "Toyota ME16 processor"),
- ENUM_ENT(EM_ST100, "STMicroelectronics ST100 processor"),
- ENUM_ENT(EM_TINYJ, "Advanced Logic Corp. TinyJ embedded processor"),
- ENUM_ENT(EM_X86_64, "Advanced Micro Devices X86-64"),
- ENUM_ENT(EM_PDSP, "Sony DSP processor"),
- ENUM_ENT(EM_PDP10, "Digital Equipment Corp. PDP-10"),
- ENUM_ENT(EM_PDP11, "Digital Equipment Corp. PDP-11"),
- ENUM_ENT(EM_FX66, "Siemens FX66 microcontroller"),
- ENUM_ENT(EM_ST9PLUS, "STMicroelectronics ST9+ 8/16 bit microcontroller"),
- ENUM_ENT(EM_ST7, "STMicroelectronics ST7 8-bit microcontroller"),
- ENUM_ENT(EM_68HC16, "Motorola MC68HC16 Microcontroller"),
- ENUM_ENT(EM_68HC11, "Motorola MC68HC11 Microcontroller"),
- ENUM_ENT(EM_68HC08, "Motorola MC68HC08 Microcontroller"),
- ENUM_ENT(EM_68HC05, "Motorola MC68HC05 Microcontroller"),
- ENUM_ENT(EM_SVX, "Silicon Graphics SVx"),
- ENUM_ENT(EM_ST19, "STMicroelectronics ST19 8-bit microcontroller"),
- ENUM_ENT(EM_VAX, "Digital VAX"),
- ENUM_ENT(EM_CRIS, "Axis Communications 32-bit embedded processor"),
- ENUM_ENT(EM_JAVELIN, "Infineon Technologies 32-bit embedded cpu"),
- ENUM_ENT(EM_FIREPATH, "Element 14 64-bit DSP processor"),
- ENUM_ENT(EM_ZSP, "LSI Logic's 16-bit DSP processor"),
- ENUM_ENT(EM_MMIX, "Donald Knuth's educational 64-bit processor"),
- ENUM_ENT(EM_HUANY, "Harvard Universitys's machine-independent object format"),
- ENUM_ENT(EM_PRISM, "Vitesse Prism"),
- ENUM_ENT(EM_AVR, "Atmel AVR 8-bit microcontroller"),
- ENUM_ENT(EM_FR30, "Fujitsu FR30"),
- ENUM_ENT(EM_D10V, "Mitsubishi D10V"),
- ENUM_ENT(EM_D30V, "Mitsubishi D30V"),
- ENUM_ENT(EM_V850, "NEC v850"),
- ENUM_ENT(EM_M32R, "Renesas M32R (formerly Mitsubishi M32r)"),
- ENUM_ENT(EM_MN10300, "Matsushita MN10300"),
- ENUM_ENT(EM_MN10200, "Matsushita MN10200"),
- ENUM_ENT(EM_PJ, "picoJava"),
- ENUM_ENT(EM_OPENRISC, "OpenRISC 32-bit embedded processor"),
- ENUM_ENT(EM_ARC_COMPACT, "EM_ARC_COMPACT"),
- ENUM_ENT(EM_XTENSA, "Tensilica Xtensa Processor"),
- ENUM_ENT(EM_VIDEOCORE, "Alphamosaic VideoCore processor"),
- ENUM_ENT(EM_TMM_GPP, "Thompson Multimedia General Purpose Processor"),
- ENUM_ENT(EM_NS32K, "National Semiconductor 32000 series"),
- ENUM_ENT(EM_TPC, "Tenor Network TPC processor"),
- ENUM_ENT(EM_SNP1K, "EM_SNP1K"),
- ENUM_ENT(EM_ST200, "STMicroelectronics ST200 microcontroller"),
- ENUM_ENT(EM_IP2K, "Ubicom IP2xxx 8-bit microcontrollers"),
- ENUM_ENT(EM_MAX, "MAX Processor"),
- ENUM_ENT(EM_CR, "National Semiconductor CompactRISC"),
- ENUM_ENT(EM_F2MC16, "Fujitsu F2MC16"),
- ENUM_ENT(EM_MSP430, "Texas Instruments msp430 microcontroller"),
- ENUM_ENT(EM_BLACKFIN, "Analog Devices Blackfin"),
- ENUM_ENT(EM_SE_C33, "S1C33 Family of Seiko Epson processors"),
- ENUM_ENT(EM_SEP, "Sharp embedded microprocessor"),
- ENUM_ENT(EM_ARCA, "Arca RISC microprocessor"),
- ENUM_ENT(EM_UNICORE, "Unicore"),
- ENUM_ENT(EM_EXCESS, "eXcess 16/32/64-bit configurable embedded CPU"),
- ENUM_ENT(EM_DXP, "Icera Semiconductor Inc. Deep Execution Processor"),
- ENUM_ENT(EM_ALTERA_NIOS2, "Altera Nios"),
- ENUM_ENT(EM_CRX, "National Semiconductor CRX microprocessor"),
- ENUM_ENT(EM_XGATE, "Motorola XGATE embedded processor"),
- ENUM_ENT(EM_C166, "Infineon Technologies xc16x"),
- ENUM_ENT(EM_M16C, "Renesas M16C"),
- ENUM_ENT(EM_DSPIC30F, "Microchip Technology dsPIC30F Digital Signal Controller"),
- ENUM_ENT(EM_CE, "Freescale Communication Engine RISC core"),
- ENUM_ENT(EM_M32C, "Renesas M32C"),
- ENUM_ENT(EM_TSK3000, "Altium TSK3000 core"),
- ENUM_ENT(EM_RS08, "Freescale RS08 embedded processor"),
- ENUM_ENT(EM_SHARC, "EM_SHARC"),
- ENUM_ENT(EM_ECOG2, "Cyan Technology eCOG2 microprocessor"),
- ENUM_ENT(EM_SCORE7, "SUNPLUS S+Core"),
- ENUM_ENT(EM_DSP24, "New Japan Radio (NJR) 24-bit DSP Processor"),
- ENUM_ENT(EM_VIDEOCORE3, "Broadcom VideoCore III processor"),
- ENUM_ENT(EM_LATTICEMICO32, "Lattice Mico32"),
- ENUM_ENT(EM_SE_C17, "Seiko Epson C17 family"),
- ENUM_ENT(EM_TI_C6000, "Texas Instruments TMS320C6000 DSP family"),
- ENUM_ENT(EM_TI_C2000, "Texas Instruments TMS320C2000 DSP family"),
- ENUM_ENT(EM_TI_C5500, "Texas Instruments TMS320C55x DSP family"),
- ENUM_ENT(EM_MMDSP_PLUS, "STMicroelectronics 64bit VLIW Data Signal Processor"),
- ENUM_ENT(EM_CYPRESS_M8C, "Cypress M8C microprocessor"),
- ENUM_ENT(EM_R32C, "Renesas R32C series microprocessors"),
- ENUM_ENT(EM_TRIMEDIA, "NXP Semiconductors TriMedia architecture family"),
- ENUM_ENT(EM_HEXAGON, "Qualcomm Hexagon"),
- ENUM_ENT(EM_8051, "Intel 8051 and variants"),
- ENUM_ENT(EM_STXP7X, "STMicroelectronics STxP7x family"),
- ENUM_ENT(EM_NDS32, "Andes Technology compact code size embedded RISC processor family"),
- ENUM_ENT(EM_ECOG1, "Cyan Technology eCOG1 microprocessor"),
- // FIXME: Following EM_ECOG1X definitions is dead code since EM_ECOG1X has
- // an identical number to EM_ECOG1.
- ENUM_ENT(EM_ECOG1X, "Cyan Technology eCOG1X family"),
- ENUM_ENT(EM_MAXQ30, "Dallas Semiconductor MAXQ30 Core microcontrollers"),
- ENUM_ENT(EM_XIMO16, "New Japan Radio (NJR) 16-bit DSP Processor"),
- ENUM_ENT(EM_MANIK, "M2000 Reconfigurable RISC Microprocessor"),
- ENUM_ENT(EM_CRAYNV2, "Cray Inc. NV2 vector architecture"),
- ENUM_ENT(EM_RX, "Renesas RX"),
- ENUM_ENT(EM_METAG, "Imagination Technologies Meta processor architecture"),
- ENUM_ENT(EM_MCST_ELBRUS, "MCST Elbrus general purpose hardware architecture"),
- ENUM_ENT(EM_ECOG16, "Cyan Technology eCOG16 family"),
- ENUM_ENT(EM_CR16, "National Semiconductor CompactRISC 16-bit processor"),
- ENUM_ENT(EM_ETPU, "Freescale Extended Time Processing Unit"),
- ENUM_ENT(EM_SLE9X, "Infineon Technologies SLE9X core"),
- ENUM_ENT(EM_L10M, "EM_L10M"),
- ENUM_ENT(EM_K10M, "EM_K10M"),
- ENUM_ENT(EM_AARCH64, "AArch64"),
- ENUM_ENT(EM_AVR32, "Atmel Corporation 32-bit microprocessor family"),
- ENUM_ENT(EM_STM8, "STMicroeletronics STM8 8-bit microcontroller"),
- ENUM_ENT(EM_TILE64, "Tilera TILE64 multicore architecture family"),
- ENUM_ENT(EM_TILEPRO, "Tilera TILEPro multicore architecture family"),
- ENUM_ENT(EM_MICROBLAZE, "Xilinx MicroBlaze 32-bit RISC soft processor core"),
- ENUM_ENT(EM_CUDA, "NVIDIA CUDA architecture"),
- ENUM_ENT(EM_TILEGX, "Tilera TILE-Gx multicore architecture family"),
- ENUM_ENT(EM_CLOUDSHIELD, "EM_CLOUDSHIELD"),
- ENUM_ENT(EM_COREA_1ST, "EM_COREA_1ST"),
- ENUM_ENT(EM_COREA_2ND, "EM_COREA_2ND"),
- ENUM_ENT(EM_ARC_COMPACT2, "EM_ARC_COMPACT2"),
- ENUM_ENT(EM_OPEN8, "EM_OPEN8"),
- ENUM_ENT(EM_RL78, "Renesas RL78"),
- ENUM_ENT(EM_VIDEOCORE5, "Broadcom VideoCore V processor"),
- ENUM_ENT(EM_78KOR, "EM_78KOR"),
- ENUM_ENT(EM_56800EX, "EM_56800EX"),
- ENUM_ENT(EM_AMDGPU, "EM_AMDGPU"),
- ENUM_ENT(EM_RISCV, "RISC-V"),
- ENUM_ENT(EM_LANAI, "EM_LANAI"),
- ENUM_ENT(EM_BPF, "EM_BPF"),
- ENUM_ENT(EM_VE, "NEC SX-Aurora Vector Engine"),
- ENUM_ENT(EM_LOONGARCH, "LoongArch"),
- // EraVM local begin
- ENUM_ENT(EM_ERAVM, "EraVM"),
- // EraVM local end
- // EVM local begin
- ENUM_ENT(EM_EVM, "Ethereum Virtual machine"),
- // EVM local end
+ ENUM_ENT(EM_NONE, "None"), ENUM_ENT(EM_M32, "WE32100"),
+ ENUM_ENT(EM_SPARC, "Sparc"), ENUM_ENT(EM_386, "Intel 80386"),
+ ENUM_ENT(EM_68K, "MC68000"), ENUM_ENT(EM_88K, "MC88000"),
+ ENUM_ENT(EM_IAMCU, "EM_IAMCU"), ENUM_ENT(EM_860, "Intel 80860"),
+ ENUM_ENT(EM_MIPS, "MIPS R3000"), ENUM_ENT(EM_S370, "IBM System/370"),
+ ENUM_ENT(EM_MIPS_RS3_LE, "MIPS R3000 little-endian"),
+ ENUM_ENT(EM_PARISC, "HPPA"), ENUM_ENT(EM_VPP500, "Fujitsu VPP500"),
+ ENUM_ENT(EM_SPARC32PLUS, "Sparc v8+"), ENUM_ENT(EM_960, "Intel 80960"),
+ ENUM_ENT(EM_PPC, "PowerPC"), ENUM_ENT(EM_PPC64, "PowerPC64"),
+ ENUM_ENT(EM_S390, "IBM S/390"), ENUM_ENT(EM_SPU, "SPU"),
+ ENUM_ENT(EM_V800, "NEC V800 series"), ENUM_ENT(EM_FR20, "Fujistsu FR20"),
+ ENUM_ENT(EM_RH32, "TRW RH-32"), ENUM_ENT(EM_RCE, "Motorola RCE"),
+ ENUM_ENT(EM_ARM, "ARM"), ENUM_ENT(EM_ALPHA, "EM_ALPHA"),
+ ENUM_ENT(EM_SH, "Hitachi SH"), ENUM_ENT(EM_SPARCV9, "Sparc v9"),
+ ENUM_ENT(EM_TRICORE, "Siemens Tricore"), ENUM_ENT(EM_ARC, "ARC"),
+ ENUM_ENT(EM_H8_300, "Hitachi H8/300"),
+ ENUM_ENT(EM_H8_300H, "Hitachi H8/300H"), ENUM_ENT(EM_H8S, "Hitachi H8S"),
+ ENUM_ENT(EM_H8_500, "Hitachi H8/500"), ENUM_ENT(EM_IA_64, "Intel IA-64"),
+ ENUM_ENT(EM_MIPS_X, "Stanford MIPS-X"),
+ ENUM_ENT(EM_COLDFIRE, "Motorola Coldfire"),
+ ENUM_ENT(EM_68HC12, "Motorola MC68HC12 Microcontroller"),
+ ENUM_ENT(EM_MMA, "Fujitsu Multimedia Accelerator"),
+ ENUM_ENT(EM_PCP, "Siemens PCP"),
+ ENUM_ENT(EM_NCPU, "Sony nCPU embedded RISC processor"),
+ ENUM_ENT(EM_NDR1, "Denso NDR1 microprocesspr"),
+ ENUM_ENT(EM_STARCORE, "Motorola Star*Core processor"),
+ ENUM_ENT(EM_ME16, "Toyota ME16 processor"),
+ ENUM_ENT(EM_ST100, "STMicroelectronics ST100 processor"),
+ ENUM_ENT(EM_TINYJ, "Advanced Logic Corp. TinyJ embedded processor"),
+ ENUM_ENT(EM_X86_64, "Advanced Micro Devices X86-64"),
+ ENUM_ENT(EM_PDSP, "Sony DSP processor"),
+ ENUM_ENT(EM_PDP10, "Digital Equipment Corp. PDP-10"),
+ ENUM_ENT(EM_PDP11, "Digital Equipment Corp. PDP-11"),
+ ENUM_ENT(EM_FX66, "Siemens FX66 microcontroller"),
+ ENUM_ENT(EM_ST9PLUS, "STMicroelectronics ST9+ 8/16 bit microcontroller"),
+ ENUM_ENT(EM_ST7, "STMicroelectronics ST7 8-bit microcontroller"),
+ ENUM_ENT(EM_68HC16, "Motorola MC68HC16 Microcontroller"),
+ ENUM_ENT(EM_68HC11, "Motorola MC68HC11 Microcontroller"),
+ ENUM_ENT(EM_68HC08, "Motorola MC68HC08 Microcontroller"),
+ ENUM_ENT(EM_68HC05, "Motorola MC68HC05 Microcontroller"),
+ ENUM_ENT(EM_SVX, "Silicon Graphics SVx"),
+ ENUM_ENT(EM_ST19, "STMicroelectronics ST19 8-bit microcontroller"),
+ ENUM_ENT(EM_VAX, "Digital VAX"),
+ ENUM_ENT(EM_CRIS, "Axis Communications 32-bit embedded processor"),
+ ENUM_ENT(EM_JAVELIN, "Infineon Technologies 32-bit embedded cpu"),
+ ENUM_ENT(EM_FIREPATH, "Element 14 64-bit DSP processor"),
+ ENUM_ENT(EM_ZSP, "LSI Logic's 16-bit DSP processor"),
+ ENUM_ENT(EM_MMIX, "Donald Knuth's educational 64-bit processor"),
+ ENUM_ENT(EM_HUANY,
+ "Harvard Universitys's machine-independent object format"),
+ ENUM_ENT(EM_PRISM, "Vitesse Prism"),
+ ENUM_ENT(EM_AVR, "Atmel AVR 8-bit microcontroller"),
+ ENUM_ENT(EM_FR30, "Fujitsu FR30"), ENUM_ENT(EM_D10V, "Mitsubishi D10V"),
+ ENUM_ENT(EM_D30V, "Mitsubishi D30V"), ENUM_ENT(EM_V850, "NEC v850"),
+ ENUM_ENT(EM_M32R, "Renesas M32R (formerly Mitsubishi M32r)"),
+ ENUM_ENT(EM_MN10300, "Matsushita MN10300"),
+ ENUM_ENT(EM_MN10200, "Matsushita MN10200"), ENUM_ENT(EM_PJ, "picoJava"),
+ ENUM_ENT(EM_OPENRISC, "OpenRISC 32-bit embedded processor"),
+ ENUM_ENT(EM_ARC_COMPACT, "EM_ARC_COMPACT"),
+ ENUM_ENT(EM_XTENSA, "Tensilica Xtensa Processor"),
+ ENUM_ENT(EM_VIDEOCORE, "Alphamosaic VideoCore processor"),
+ ENUM_ENT(EM_TMM_GPP, "Thompson Multimedia General Purpose Processor"),
+ ENUM_ENT(EM_NS32K, "National Semiconductor 32000 series"),
+ ENUM_ENT(EM_TPC, "Tenor Network TPC processor"),
+ ENUM_ENT(EM_SNP1K, "EM_SNP1K"),
+ ENUM_ENT(EM_ST200, "STMicroelectronics ST200 microcontroller"),
+ ENUM_ENT(EM_IP2K, "Ubicom IP2xxx 8-bit microcontrollers"),
+ ENUM_ENT(EM_MAX, "MAX Processor"),
+ ENUM_ENT(EM_CR, "National Semiconductor CompactRISC"),
+ ENUM_ENT(EM_F2MC16, "Fujitsu F2MC16"),
+ ENUM_ENT(EM_MSP430, "Texas Instruments msp430 microcontroller"),
+ ENUM_ENT(EM_BLACKFIN, "Analog Devices Blackfin"),
+ ENUM_ENT(EM_SE_C33, "S1C33 Family of Seiko Epson processors"),
+ ENUM_ENT(EM_SEP, "Sharp embedded microprocessor"),
+ ENUM_ENT(EM_ARCA, "Arca RISC microprocessor"),
+ ENUM_ENT(EM_UNICORE, "Unicore"),
+ ENUM_ENT(EM_EXCESS, "eXcess 16/32/64-bit configurable embedded CPU"),
+ ENUM_ENT(EM_DXP, "Icera Semiconductor Inc. Deep Execution Processor"),
+ ENUM_ENT(EM_ALTERA_NIOS2, "Altera Nios"),
+ ENUM_ENT(EM_CRX, "National Semiconductor CRX microprocessor"),
+ ENUM_ENT(EM_XGATE, "Motorola XGATE embedded processor"),
+ ENUM_ENT(EM_C166, "Infineon Technologies xc16x"),
+ ENUM_ENT(EM_M16C, "Renesas M16C"),
+ ENUM_ENT(EM_DSPIC30F,
+ "Microchip Technology dsPIC30F Digital Signal Controller"),
+ ENUM_ENT(EM_CE, "Freescale Communication Engine RISC core"),
+ ENUM_ENT(EM_M32C, "Renesas M32C"),
+ ENUM_ENT(EM_TSK3000, "Altium TSK3000 core"),
+ ENUM_ENT(EM_RS08, "Freescale RS08 embedded processor"),
+ ENUM_ENT(EM_SHARC, "EM_SHARC"),
+ ENUM_ENT(EM_ECOG2, "Cyan Technology eCOG2 microprocessor"),
+ ENUM_ENT(EM_SCORE7, "SUNPLUS S+Core"),
+ ENUM_ENT(EM_DSP24, "New Japan Radio (NJR) 24-bit DSP Processor"),
+ ENUM_ENT(EM_VIDEOCORE3, "Broadcom VideoCore III processor"),
+ ENUM_ENT(EM_LATTICEMICO32, "Lattice Mico32"),
+ ENUM_ENT(EM_SE_C17, "Seiko Epson C17 family"),
+ ENUM_ENT(EM_TI_C6000, "Texas Instruments TMS320C6000 DSP family"),
+ ENUM_ENT(EM_TI_C2000, "Texas Instruments TMS320C2000 DSP family"),
+ ENUM_ENT(EM_TI_C5500, "Texas Instruments TMS320C55x DSP family"),
+ ENUM_ENT(EM_MMDSP_PLUS,
+ "STMicroelectronics 64bit VLIW Data Signal Processor"),
+ ENUM_ENT(EM_CYPRESS_M8C, "Cypress M8C microprocessor"),
+ ENUM_ENT(EM_R32C, "Renesas R32C series microprocessors"),
+ ENUM_ENT(EM_TRIMEDIA, "NXP Semiconductors TriMedia architecture family"),
+ ENUM_ENT(EM_HEXAGON, "Qualcomm Hexagon"),
+ ENUM_ENT(EM_8051, "Intel 8051 and variants"),
+ ENUM_ENT(EM_STXP7X, "STMicroelectronics STxP7x family"),
+ ENUM_ENT(
+ EM_NDS32,
+ "Andes Technology compact code size embedded RISC processor family"),
+ ENUM_ENT(EM_ECOG1, "Cyan Technology eCOG1 microprocessor"),
+ // FIXME: Following EM_ECOG1X definitions is dead code since EM_ECOG1X has
+ // an identical number to EM_ECOG1.
+ ENUM_ENT(EM_ECOG1X, "Cyan Technology eCOG1X family"),
+ ENUM_ENT(EM_MAXQ30, "Dallas Semiconductor MAXQ30 Core microcontrollers"),
+ ENUM_ENT(EM_XIMO16, "New Japan Radio (NJR) 16-bit DSP Processor"),
+ ENUM_ENT(EM_MANIK, "M2000 Reconfigurable RISC Microprocessor"),
+ ENUM_ENT(EM_CRAYNV2, "Cray Inc. NV2 vector architecture"),
+ ENUM_ENT(EM_RX, "Renesas RX"),
+ ENUM_ENT(EM_METAG, "Imagination Technologies Meta processor architecture"),
+ ENUM_ENT(EM_MCST_ELBRUS,
+ "MCST Elbrus general purpose hardware architecture"),
+ ENUM_ENT(EM_ECOG16, "Cyan Technology eCOG16 family"),
+ ENUM_ENT(EM_CR16, "National Semiconductor CompactRISC 16-bit processor"),
+ ENUM_ENT(EM_ETPU, "Freescale Extended Time Processing Unit"),
+ ENUM_ENT(EM_SLE9X, "Infineon Technologies SLE9X core"),
+ ENUM_ENT(EM_L10M, "EM_L10M"), ENUM_ENT(EM_K10M, "EM_K10M"),
+ ENUM_ENT(EM_AARCH64, "AArch64"),
+ ENUM_ENT(EM_AVR32, "Atmel Corporation 32-bit microprocessor family"),
+ ENUM_ENT(EM_STM8, "STMicroeletronics STM8 8-bit microcontroller"),
+ ENUM_ENT(EM_TILE64, "Tilera TILE64 multicore architecture family"),
+ ENUM_ENT(EM_TILEPRO, "Tilera TILEPro multicore architecture family"),
+ ENUM_ENT(EM_MICROBLAZE,
+ "Xilinx MicroBlaze 32-bit RISC soft processor core"),
+ ENUM_ENT(EM_CUDA, "NVIDIA CUDA architecture"),
+ ENUM_ENT(EM_TILEGX, "Tilera TILE-Gx multicore architecture family"),
+ ENUM_ENT(EM_CLOUDSHIELD, "EM_CLOUDSHIELD"),
+ ENUM_ENT(EM_COREA_1ST, "EM_COREA_1ST"),
+ ENUM_ENT(EM_COREA_2ND, "EM_COREA_2ND"),
+ ENUM_ENT(EM_ARC_COMPACT2, "EM_ARC_COMPACT2"),
+ ENUM_ENT(EM_OPEN8, "EM_OPEN8"), ENUM_ENT(EM_RL78, "Renesas RL78"),
+ ENUM_ENT(EM_VIDEOCORE5, "Broadcom VideoCore V processor"),
+ ENUM_ENT(EM_78KOR, "EM_78KOR"), ENUM_ENT(EM_56800EX, "EM_56800EX"),
+ ENUM_ENT(EM_AMDGPU, "EM_AMDGPU"), ENUM_ENT(EM_RISCV, "RISC-V"),
+ ENUM_ENT(EM_LANAI, "EM_LANAI"), ENUM_ENT(EM_BPF, "EM_BPF"),
+ ENUM_ENT(EM_VE, "NEC SX-Aurora Vector Engine"),
+ ENUM_ENT(EM_LOONGARCH, "LoongArch"),
+ // EraVM local begin
+ ENUM_ENT(EM_ERAVM, "EraVM"),
+ // EraVM local end
+ // EVM local begin
+ ENUM_ENT(EM_EVM, "Ethereum Virtual machine"),
+ // EVM local end
};
const EnumEntry<unsigned> ElfSymbolBindings[] = {
|
PavelKopyl
force-pushed
the
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
branch
from
April 19, 2024 12:46
31248da
to
c4b7b65
Compare
hedgar2017
force-pushed
the
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
branch
from
April 21, 2024 08:16
c4b7b65
to
2010039
Compare
PavelKopyl
force-pushed
the
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
branch
2 times, most recently
from
April 26, 2024 07:37
c879900
to
f443a5f
Compare
PavelKopyl
force-pushed
the
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
branch
2 times, most recently
from
May 13, 2024 09:16
760de6c
to
7c76b3e
Compare
This includes: - datasize/dataoffset intrinsics - EVM specific ELF relocations
This extends lld-as-library functionality and allows passing to and receivig from the lld files(object, archives, shared libs) via memory buffers. Input files are passes as an array of memory buffers, where files names represent indexes into this array. WARNING: this implementation has a quite limited functionality. Only object files and linker scripts can be passes via memory buffers.
HACK: It seems llvm-config is not supposed for lld by design. At the same time, we need lld support in llvm-config because 'inkwell' package gatheres the linking info via it. This is rather a temporary workaround.
PavelKopyl
force-pushed
the
kpv-cpr-1568-adding-support-of-evm-arch-to-lld-linker
branch
from
June 6, 2024 10:31
7c76b3e
to
bfe2316
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Code Review Checklist
Purpose
Ticket Number
Requirements
Implementation
Logic Errors and Bugs
code does not behave as intended?
that could break the code?
Error Handling and Logging
be added or removed?
written in a way that allows for easy
debugging?
Maintainability
Dependencies
Security
Performance
system performance?
performance of the code significantly?
Testing and Testability
that should be tested in addition?
Readability
smaller methods?
different function, method or variable names?
file/folder/package?
restructured to have a more intuitive control
flow?
better?
understandable?
Documentation
Best Practices
Experts' Opinion
expert or a usability expert, should look over
the code before it can be accepted?