diff options
| author | Jonathan Eskeldson <jonathan.eskeldson@zetier.com> | 2026-05-12 20:44:43 -0700 |
|---|---|---|
| committer | Alexander Taylor <alex@vector35.com> | 2026-06-06 12:32:32 -0400 |
| commit | c1b0eb7bf58e7234d5930c1c2b4d0987b71c99d1 (patch) | |
| tree | ba17db2ea3bceaf31dcbaa9d46a8f5e9edbbdb63 /platform/linux | |
| parent | 40172b3fa453062eddddf362a84cc5b7a7b730f3 (diff) | |
Add little-endian octeon mips arch
Diffstat (limited to 'platform/linux')
| -rw-r--r-- | platform/linux/platform_linux.cpp | 9 |
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"); |
