authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-20 03:46:11+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-23 19:34:02+02:00
log07d764dc301d4547a6dab131cd6b687fef3278c7
tree5f2de7a18f956edd30ecd49f57e0144bee6b3a0c
parentd8cb8b7baec1ed3e3457486b35d64bdae9904ab4
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.zig.system: handle alpha, hppa, microblaze, sh in getExternalExecutor()


1 files changed, 22 insertions(+), 11 deletions(-)

lib/std/zig/system.zig+22-11
...@@ -100,10 +100,14 @@ pub fn getExternalExecutor(...@@ -100,10 +100,14 @@ pub fn getExternalExecutor(
100 else => bad_result,100 else => bad_result,
101 },101 },
102 inline .aarch64_be,102 inline .aarch64_be,
103 .alpha,
103 .armeb,104 .armeb,
104 .hexagon,105 .hexagon,
106 .hppa,
105 .loongarch64,107 .loongarch64,
106 .m68k,108 .m68k,
109 .microblaze,
110 .microblazeel,
107 .mips,111 .mips,
108 .mipsel,112 .mipsel,
109 .mips64,113 .mips64,
...@@ -114,6 +118,8 @@ pub fn getExternalExecutor(...@@ -114,6 +118,8 @@ pub fn getExternalExecutor(
114 .powerpc64le,118 .powerpc64le,
115 .riscv32,119 .riscv32,
116 .s390x,120 .s390x,
121 .sh,
122 .sheb,
117 .sparc,123 .sparc,
118 .sparc64,124 .sparc64,
119 .thumb,125 .thumb,
...@@ -122,19 +128,24 @@ pub fn getExternalExecutor(...@@ -122,19 +128,24 @@ pub fn getExternalExecutor(
122 .xtensaeb,128 .xtensaeb,
123 => |t| switch (candidate.os.tag) {129 => |t| switch (candidate.os.tag) {
124 .linux,130 .linux,
125 => .{ .qemu = switch (t) {131 => .{
126 .powerpc => "qemu-ppc",132 .qemu = switch (t) {
127 .powerpc64 => "qemu-ppc64",133 .powerpc => "qemu-ppc",
128 .powerpc64le => "qemu-ppc64le",134 .powerpc64 => "qemu-ppc64",
129 .mips64, .mips64el => switch (candidate.abi) {135 .powerpc64le => "qemu-ppc64le",
130 .gnuabin32, .muslabin32 => if (t == .mips64el) "qemu-mipsn32el" else "qemu-mipsn32",136 .mips64, .mips64el => switch (candidate.abi) {
137 .gnuabin32, .muslabin32 => if (t == .mips64el) "qemu-mipsn32el" else "qemu-mipsn32",
138 else => "qemu-" ++ @tagName(t),
139 },
140 // TODO: Actually check the SuperH version.
141 .sh => "qemu-sh4",
142 .sheb => "qemu-sh4eb",
143 .sparc => if (candidate.cpu.has(.sparc, .v8plus)) "qemu-sparc32plus" else "qemu-sparc",
144 .thumb => "qemu-arm",
145 .thumbeb => "qemu-armeb",
131 else => "qemu-" ++ @tagName(t),146 else => "qemu-" ++ @tagName(t),
132 },147 },
133 .sparc => if (candidate.cpu.has(.sparc, .v8plus)) "qemu-sparc32plus" else "qemu-sparc",148 },
134 .thumb => "qemu-arm",
135 .thumbeb => "qemu-armeb",
136 else => "qemu-" ++ @tagName(t),
137 } },
138 else => bad_result,149 else => bad_result,
139 },150 },
140 else => bad_result,151 else => bad_result,