std.zig.system: Force soft_float feature on for MIPS soft float targets.

Workaround for: https://github.com/llvm/llvm-project/issues/135283
This commit is contained in:
Alex Rønne Petersen 2025-04-11 02:00:21 +02:00
parent ddcf6fcdf3
commit 71a237e764
No known key found for this signature in database

View file

@ -411,6 +411,11 @@ pub fn resolveTargetQuery(query: Target.Query) DetectError!Target {
if (result.cpu.arch.isArm() and result.abi.float() == .soft) {
result.cpu.features.removeFeature(@intFromEnum(Target.arm.Feature.vfp2));
}
// https://github.com/llvm/llvm-project/issues/135283
if (result.cpu.arch.isMIPS() and result.abi.float() == .soft) {
result.cpu.features.addFeature(@intFromEnum(Target.mips.Feature.soft_float));
}
}
// It's possible that we detect the native ABI, but fail to detect the OS version or were told