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(
100100 else => bad_result,
101101 },
102102 inline .aarch64_be,
103 .alpha,
103104 .armeb,
104105 .hexagon,
106 .hppa,
105107 .loongarch64,
106108 .m68k,
109 .microblaze,
110 .microblazeel,
107111 .mips,
108112 .mipsel,
109113 .mips64,
......@@ -114,6 +118,8 @@ pub fn getExternalExecutor(
114118 .powerpc64le,
115119 .riscv32,
116120 .s390x,
121 .sh,
122 .sheb,
117123 .sparc,
118124 .sparc64,
119125 .thumb,
......@@ -122,19 +128,24 @@ pub fn getExternalExecutor(
122128 .xtensaeb,
123129 => |t| switch (candidate.os.tag) {
124130 .linux,
125 => .{ .qemu = switch (t) {
126 .powerpc => "qemu-ppc",
127 .powerpc64 => "qemu-ppc64",
128 .powerpc64le => "qemu-ppc64le",
129 .mips64, .mips64el => switch (candidate.abi) {
130 .gnuabin32, .muslabin32 => if (t == .mips64el) "qemu-mipsn32el" else "qemu-mipsn32",
131 => .{
132 .qemu = switch (t) {
133 .powerpc => "qemu-ppc",
134 .powerpc64 => "qemu-ppc64",
135 .powerpc64le => "qemu-ppc64le",
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",
131146 else => "qemu-" ++ @tagName(t),
132147 },
133 .sparc => if (candidate.cpu.has(.sparc, .v8plus)) "qemu-sparc32plus" else "qemu-sparc",
134 .thumb => "qemu-arm",
135 .thumbeb => "qemu-armeb",
136 else => "qemu-" ++ @tagName(t),
137 } },
148 },
138149 else => bad_result,
139150 },
140151 else => bad_result,