From 903dcf84b975453a6537760858a0164fe8f30635 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E7=9D=BF?= Date: Thu, 11 Dec 2025 23:11:50 +0800 Subject: [PATCH] feat: add efiapi support for loongarch64 --- compiler/rustc_target/src/spec/abi_map.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/rustc_target/src/spec/abi_map.rs b/compiler/rustc_target/src/spec/abi_map.rs index 8126227d80e48..b5a50f840d24a 100644 --- a/compiler/rustc_target/src/spec/abi_map.rs +++ b/compiler/rustc_target/src/spec/abi_map.rs @@ -61,6 +61,7 @@ impl AbiMap { Arch::RiscV32 | Arch::RiscV64 => ArchKind::Riscv, Arch::X86 => ArchKind::X86, Arch::X86_64 => ArchKind::X86_64, + Arch::LoongArch64 => ArchKind::LoongArch64, _ => ArchKind::Other, }; @@ -108,7 +109,10 @@ impl AbiMap { (ExternAbi::EfiApi, ArchKind::Arm(..)) => CanonAbi::Arm(ArmCall::Aapcs), (ExternAbi::EfiApi, ArchKind::X86_64) => CanonAbi::X86(X86Call::Win64), - (ExternAbi::EfiApi, ArchKind::Aarch64 | ArchKind::Riscv | ArchKind::X86) => CanonAbi::C, + ( + ExternAbi::EfiApi, + ArchKind::Aarch64 | ArchKind::Riscv | ArchKind::X86 | ArchKind::LoongArch64, + ) => CanonAbi::C, (ExternAbi::EfiApi, _) => return AbiMapping::Invalid, /* arm */ @@ -201,6 +205,7 @@ enum ArchKind { Riscv, X86, X86_64, + LoongArch64, /// Architectures which don't need other considerations for ABI lowering Other, }