diff --git a/test/standalone/posix/build.zig b/test/standalone/posix/build.zig index 2f32a06ee06149d2317908662f883f8e7e4a5d1b..d2353e010c7c8681cc74829a4a5c9f052edb1e24 100644 --- a/test/standalone/posix/build.zig +++ b/test/standalone/posix/build.zig @@ -39,13 +39,14 @@ pub fn build(b: *std.Build) void { test_step.dependOn(&run_def.step); if (default_target.result.os.tag == .linux) { - const gnu_target = b.resolveTargetQuery(.{ .abi = .gnu }); + // glibc tests must be run on glibc hosts because it can't be statically linked + if (default_target.result.abi.isGnu()) { + const gnu_target = b.resolveTargetQuery(.{ .abi = .gnu }); + const run_gnu = run_exe(b, optimize, &case, gnu_target, true); + test_step.dependOn(&run_gnu.step); + } const musl_target = b.resolveTargetQuery(.{ .abi = .musl }); - - const run_gnu = run_exe(b, optimize, &case, gnu_target, true); const run_musl = run_exe(b, optimize, &case, musl_target, true); - - test_step.dependOn(&run_gnu.step); test_step.dependOn(&run_musl.step); } else { const run_libc = run_exe(b, optimize, &case, default_target, true);