aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2024-08-13 08:37:09 +0200
committerAlex Rønne Petersen <alex@alexrp.com>2024-08-13 23:30:43 +0200
commit8e75ade2531e8bf4f175b6866de528825f32f003 (patch)
tree44b28d56e69ee4ee878fab1a067cea07f91ede48 /lib/std
parent0e4263893c1c6fce4b08d4de07bfe5f558f3e9cd (diff)
downloadzig-8e75ade2531e8bf4f175b6866de528825f32f003.tar.gz
zig-8e75ade2531e8bf4f175b6866de528825f32f003.zip
std.zig.system: Support qemu-mipsn32(el) for mips with n32 ABI in getExternalExecutor().
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/zig/system.zig14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/std/zig/system.zig b/lib/std/zig/system.zig
index 9db8a0353b..da25613fb4 100644
--- a/lib/std/zig/system.zig
+++ b/lib/std/zig/system.zig
@@ -90,8 +90,18 @@ pub fn getExternalExecutor(
.m68k => Executor{ .qemu = "qemu-m68k" },
.mips => Executor{ .qemu = "qemu-mips" },
.mipsel => Executor{ .qemu = "qemu-mipsel" },
- .mips64 => Executor{ .qemu = "qemu-mips64" },
- .mips64el => Executor{ .qemu = "qemu-mips64el" },
+ .mips64 => Executor{
+ .qemu = if (candidate.abi == .gnuabin32)
+ "qemu-mipsn32"
+ else
+ "qemu-mips64",
+ },
+ .mips64el => Executor{
+ .qemu = if (candidate.abi == .gnuabin32)
+ "qemu-mipsn32el"
+ else
+ "qemu-mips64el",
+ },
.powerpc => Executor{ .qemu = "qemu-ppc" },
.powerpc64 => Executor{ .qemu = "qemu-ppc64" },
.powerpc64le => Executor{ .qemu = "qemu-ppc64le" },