summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorJonathan Eskeldson <jonathan.eskeldson@zetier.com>2026-05-12 20:44:43 -0700
committerAlexander Taylor <alex@vector35.com>2026-06-06 12:32:32 -0400
commitc1b0eb7bf58e7234d5930c1c2b4d0987b71c99d1 (patch)
treeba17db2ea3bceaf31dcbaa9d46a8f5e9edbbdb63 /platform
parent40172b3fa453062eddddf362a84cc5b7a7b730f3 (diff)
Add little-endian octeon mips arch
Diffstat (limited to 'platform')
-rw-r--r--platform/linux/platform_linux.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/platform/linux/platform_linux.cpp b/platform/linux/platform_linux.cpp
index 7743daa9..f2902068 100644
--- a/platform/linux/platform_linux.cpp
+++ b/platform/linux/platform_linux.cpp
@@ -545,9 +545,10 @@ extern "C"
Ref<Architecture> mips3eb = Architecture::GetByName("mips3");
Ref<Architecture> mips64eb = Architecture::GetByName("mips64");
Ref<Architecture> cnmips64eb = Architecture::GetByName("cavium-mips64");
- if (mipsel && mipseb && mips64eb && cnmips64eb && mips3el && mips3eb)
+ Ref<Architecture> cnmips64el = Architecture::GetByName("cavium-mipsel64");
+ if (mipsel && mipseb && mips64eb && cnmips64eb && cnmips64el && mips3el && mips3eb)
{
- Ref<Platform> platformLE, platformBE, platformBE64, platformBE64cn, platform3LE, platform3BE;
+ Ref<Platform> platformLE, platformBE, platformBE64, platformBE64cn, platformLE64cn, platform3LE, platform3BE;
platformLE = new LinuxMipsPlatform(mipsel, "linux-mipsel");
platformBE = new LinuxMipsPlatform(mipseb, "linux-mips");
@@ -555,12 +556,14 @@ extern "C"
platform3BE = new LinuxMipsPlatform(mips3eb, "linux-mips3");
platformBE64 = new LinuxMips64Platform(mips64eb, "linux-mips64");
platformBE64cn = new LinuxMips64Platform(cnmips64eb, "linux-cnmips64");
+ platformLE64cn = new LinuxMips64Platform(cnmips64el, "linux-cnmipsel64");
Platform::Register("linux", platformLE);
Platform::Register("linux", platformBE);
Platform::Register("linux", platform3LE);
Platform::Register("linux", platform3BE);
Platform::Register("linux", platformBE64);
Platform::Register("linux", platformBE64cn);
+ Platform::Register("linux", platformLE64cn);
// Linux binaries sometimes have an OS identifier of zero, even though 3 is the correct one
BinaryViewType::RegisterPlatform("ELF", 0, platformLE);
BinaryViewType::RegisterPlatform("ELF", 0, platformBE);
@@ -568,12 +571,14 @@ extern "C"
BinaryViewType::RegisterPlatform("ELF", 0, platform3BE);
BinaryViewType::RegisterPlatform("ELF", 0, platformBE64);
BinaryViewType::RegisterPlatform("ELF", 0, platformBE64cn);
+ BinaryViewType::RegisterPlatform("ELF", 0, platformLE64cn);
BinaryViewType::RegisterPlatform("ELF", 3, platformLE);
BinaryViewType::RegisterPlatform("ELF", 3, platformBE);
BinaryViewType::RegisterPlatform("ELF", 3, platform3LE);
BinaryViewType::RegisterPlatform("ELF", 3, platform3BE);
BinaryViewType::RegisterPlatform("ELF", 3, platformBE64);
BinaryViewType::RegisterPlatform("ELF", 3, platformBE64cn);
+ BinaryViewType::RegisterPlatform("ELF", 3, platformLE64cn);
}
Ref<Architecture> rv32 = Architecture::GetByName("rv32gc");