| author | |
| committer | |
| log | 9423712519040c4f7313ccb7fc703b55e2666c45 |
| tree | 7a44615e2e47be4dd03ab2b48d7a4485c6b82d04 |
| parent | 6880d2c4a3ef4834c662d2cee86dd0660842f5b1 |
| signature |
Like riscv32, loongarch exclusively uses statx().3 files changed, 13 insertions(+), 13 deletions(-)
lib/std/os/linux.zig+8-8| ... | ... | @@ -1992,8 +1992,8 @@ pub fn accept4(fd: i32, noalias addr: ?*sockaddr, noalias len: ?*socklen_t, flag |
| 1992 | 1992 | } |
| 1993 | 1993 | |
| 1994 | 1994 | pub fn fstat(fd: i32, stat_buf: *Stat) usize { |
| 1995 | if (native_arch == .riscv32) { | |
| 1996 | // riscv32 has made the interesting decision to not implement some of | |
| 1995 | if (native_arch == .riscv32 or native_arch.isLoongArch()) { | |
| 1996 | // riscv32 and loongarch have made the interesting decision to not implement some of | |
| 1997 | 1997 | // the older stat syscalls, including this one. |
| 1998 | 1998 | @compileError("No fstat syscall on this architecture."); |
| 1999 | 1999 | } else if (@hasField(SYS, "fstat64")) { |
| ... | ... | @@ -2004,8 +2004,8 @@ pub fn fstat(fd: i32, stat_buf: *Stat) usize { |
| 2004 | 2004 | } |
| 2005 | 2005 | |
| 2006 | 2006 | pub fn stat(pathname: [*:0]const u8, statbuf: *Stat) usize { |
| 2007 | if (native_arch == .riscv32) { | |
| 2008 | // riscv32 has made the interesting decision to not implement some of | |
| 2007 | if (native_arch == .riscv32 or native_arch.isLoongArch()) { | |
| 2008 | // riscv32 and loongarch have made the interesting decision to not implement some of | |
| 2009 | 2009 | // the older stat syscalls, including this one. |
| 2010 | 2010 | @compileError("No stat syscall on this architecture."); |
| 2011 | 2011 | } else if (@hasField(SYS, "stat64")) { |
| ... | ... | @@ -2016,8 +2016,8 @@ pub fn stat(pathname: [*:0]const u8, statbuf: *Stat) usize { |
| 2016 | 2016 | } |
| 2017 | 2017 | |
| 2018 | 2018 | pub fn lstat(pathname: [*:0]const u8, statbuf: *Stat) usize { |
| 2019 | if (native_arch == .riscv32) { | |
| 2020 | // riscv32 has made the interesting decision to not implement some of | |
| 2019 | if (native_arch == .riscv32 or native_arch.isLoongArch()) { | |
| 2020 | // riscv32 and loongarch have made the interesting decision to not implement some of | |
| 2021 | 2021 | // the older stat syscalls, including this one. |
| 2022 | 2022 | @compileError("No lstat syscall on this architecture."); |
| 2023 | 2023 | } else if (@hasField(SYS, "lstat64")) { |
| ... | ... | @@ -2028,8 +2028,8 @@ pub fn lstat(pathname: [*:0]const u8, statbuf: *Stat) usize { |
| 2028 | 2028 | } |
| 2029 | 2029 | |
| 2030 | 2030 | pub fn fstatat(dirfd: i32, path: [*:0]const u8, stat_buf: *Stat, flags: u32) usize { |
| 2031 | if (native_arch == .riscv32) { | |
| 2032 | // riscv32 has made the interesting decision to not implement some of | |
| 2031 | if (native_arch == .riscv32 or native_arch.isLoongArch()) { | |
| 2032 | // riscv32 and loongarch have made the interesting decision to not implement some of | |
| 2033 | 2033 | // the older stat syscalls, including this one. |
| 2034 | 2034 | @compileError("No fstatat syscall on this architecture."); |
| 2035 | 2035 | } else if (@hasField(SYS, "fstatat64")) { |
lib/std/os/linux/test.zig+1-1| ... | ... | @@ -86,7 +86,7 @@ test "statx" { |
| 86 | 86 | else => unreachable, |
| 87 | 87 | } |
| 88 | 88 | |
| 89 | if (builtin.cpu.arch == .riscv32) return error.SkipZigTest; // No fstatat, so the rest of the test is meaningless. | |
| 89 | if (builtin.cpu.arch == .riscv32 or builtin.cpu.arch.isLoongArch()) return error.SkipZigTest; // No fstatat, so the rest of the test is meaningless. | |
| 90 | 90 | |
| 91 | 91 | var stat_buf: linux.Stat = undefined; |
| 92 | 92 | switch (linux.E.init(linux.fstatat(file.handle, "", &stat_buf, linux.AT.EMPTY_PATH))) { |
lib/std/posix/test.zig+4-4| ... | ... | @@ -283,7 +283,7 @@ fn testReadlink(target_path: []const u8, symlink_path: []const u8) !void { |
| 283 | 283 | |
| 284 | 284 | test "link with relative paths" { |
| 285 | 285 | if (native_os == .wasi) return error.SkipZigTest; // Can link, but can't change into tmpDir |
| 286 | if (builtin.cpu.arch == .riscv32 and builtin.os.tag == .linux and !builtin.link_libc) return error.SkipZigTest; // No `fstat()`. | |
| 286 | if ((builtin.cpu.arch == .riscv32 or builtin.cpu.arch.isLoongArch()) and builtin.os.tag == .linux and !builtin.link_libc) return error.SkipZigTest; // No `fstat()`. | |
| 287 | 287 | if (builtin.cpu.arch.isMIPS64()) return error.SkipZigTest; // `nstat.nlink` assertion is failing with LLVM 20+ for unclear reasons. |
| 288 | 288 | |
| 289 | 289 | switch (native_os) { |
| ... | ... | @@ -331,7 +331,7 @@ test "link with relative paths" { |
| 331 | 331 | } |
| 332 | 332 | |
| 333 | 333 | test "linkat with different directories" { |
| 334 | if (builtin.cpu.arch == .riscv32 and builtin.os.tag == .linux and !builtin.link_libc) return error.SkipZigTest; // No `fstatat()`. | |
| 334 | if ((builtin.cpu.arch == .riscv32 or builtin.cpu.arch.isLoongArch()) and builtin.os.tag == .linux and !builtin.link_libc) return error.SkipZigTest; // No `fstatat()`. | |
| 335 | 335 | if (builtin.cpu.arch.isMIPS64()) return error.SkipZigTest; // `nstat.nlink` assertion is failing with LLVM 20+ for unclear reasons. |
| 336 | 336 | |
| 337 | 337 | switch (native_os) { |
| ... | ... | @@ -376,7 +376,7 @@ test "linkat with different directories" { |
| 376 | 376 | } |
| 377 | 377 | |
| 378 | 378 | test "fstatat" { |
| 379 | if (builtin.cpu.arch == .riscv32 and builtin.os.tag == .linux and !builtin.link_libc) return error.SkipZigTest; // No `fstatat()`. | |
| 379 | if ((builtin.cpu.arch == .riscv32 or builtin.cpu.arch.isLoongArch()) and builtin.os.tag == .linux and !builtin.link_libc) return error.SkipZigTest; // No `fstatat()`. | |
| 380 | 380 | // enable when `fstat` and `fstatat` are implemented on Windows |
| 381 | 381 | if (native_os == .windows) return error.SkipZigTest; |
| 382 | 382 | |
| ... | ... | @@ -1265,7 +1265,7 @@ test "fchmodat smoke test" { |
| 1265 | 1265 | ); |
| 1266 | 1266 | posix.close(fd); |
| 1267 | 1267 | |
| 1268 | if (builtin.cpu.arch == .riscv32 and builtin.os.tag == .linux and !builtin.link_libc) return error.SkipZigTest; // No `fstatat()`. | |
| 1268 | if ((builtin.cpu.arch == .riscv32 or builtin.cpu.arch.isLoongArch()) and builtin.os.tag == .linux and !builtin.link_libc) return error.SkipZigTest; // No `fstatat()`. | |
| 1269 | 1269 | |
| 1270 | 1270 | try posix.symlinkat("regfile", tmp.dir.fd, "symlink"); |
| 1271 | 1271 | const sym_mode = blk: { |