From cb3b1dd6ddee65d1811fb4058b5cc0f2c06d0139 Mon Sep 17 00:00:00 2001 From: Koakuma Date: Sun, 13 Mar 2022 16:14:47 +0700 Subject: [PATCH] c/linux: Fix `stat` struct definition for SPARCv9 The libc interface uses `stat` instead of `stat64` struct. This fixes, among other things, `zig fmt` accidentally setting the formatted file's permission to 000. --- lib/std/c/linux.zig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/std/c/linux.zig b/lib/std/c/linux.zig index be136bcbea..a0f90f563b 100644 --- a/lib/std/c/linux.zig +++ b/lib/std/c/linux.zig @@ -117,14 +117,15 @@ pub const _errno = switch (native_abi) { pub const Stat = switch (native_arch) { .sparcv9 => extern struct { dev: u64, + __pad1: u16, ino: ino_t, mode: u32, - nlink: usize, + nlink: u32, uid: u32, gid: u32, rdev: u64, - __pad0: u32, + __pad2: u16, size: off_t, blksize: isize, @@ -133,7 +134,7 @@ pub const Stat = switch (native_arch) { atim: timespec, mtim: timespec, ctim: timespec, - __unused: [2]isize, + __reserved: [2]usize, pub fn atime(self: @This()) timespec { return self.atim;