diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index f39d48d7996d51ade1fb5df3b9d40fa267fb5fe7..aeecb8c1b499313efc00b40711359f4e85f87d18 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -9460,7 +9460,11 @@ pub const UTIME = struct { }; // https://github.com/ziglang/zig/issues/4726#issuecomment-2190337877 -pub const timespec = if (native_arch == .hexagon or native_arch == .riscv32) kernel_timespec else extern struct { +const use_kernel_timespec = native_arch == .hexagon or native_arch == .riscv32 or switch (native_abi) { + .gnux32, .muslx32, .x32 => true, + else => false, +}; +pub const timespec = if (use_kernel_timespec) kernel_timespec else extern struct { sec: isize, nsec: isize, };