Files
termux-packages/packages/zig/zig-lib-std-os-linux.zig.patch
termux-pacman-bot 572d49a0d6 fix(main/zig): disable certain syscalls (#17915)
Blocked by seccomp: pipe, statx, *time64
2023-09-30 01:21:25 +00:00

31 lines
1.5 KiB
Diff

diff -uNr zig-bootstrap-0.11.0/zig/lib/std/os/linux.zig zig-bootstrap-0.11.0.mod/zig/lib/std/os/linux.zig
--- zig-bootstrap-0.11.0/zig/lib/std/os/linux.zig 2023-08-11 09:21:14.000000000 +0800
+++ zig-bootstrap-0.11.0.mod/zig/lib/std/os/linux.zig 2023-09-27 11:00:54.962817163 +0800
@@ -590,7 +590,7 @@
}
pub fn access(path: [*:0]const u8, mode: u32) usize {
- if (@hasField(SYS, "access")) {
+ if (@hasField(SYS, "access") and (comptime builtin.cpu.arch != .x86_64)) {
return syscall2(.access, @intFromPtr(path), mode);
} else {
return syscall4(.faccessat, @as(usize, @bitCast(@as(isize, AT.FDCWD))), @intFromPtr(path), mode, 0);
@@ -604,7 +604,7 @@
pub fn pipe(fd: *[2]i32) usize {
if (comptime (native_arch.isMIPS() or native_arch.isSPARC())) {
return syscall_pipe(fd);
- } else if (@hasField(SYS, "pipe")) {
+ } else if (@hasField(SYS, "pipe") and (comptime builtin.cpu.arch != .x86_64)) {
return syscall1(.pipe, @intFromPtr(fd));
} else {
return syscall2(.pipe2, @intFromPtr(fd), 0);
@@ -1446,7 +1446,7 @@
}
pub fn statx(dirfd: i32, path: [*]const u8, flags: u32, mask: u32, statx_buf: *Statx) usize {
- if (@hasField(SYS, "statx")) {
+ if (@hasField(SYS, "statx") and (comptime builtin.cpu.arch != .aarch64) and (comptime builtin.cpu.arch != .arm) and (comptime builtin.cpu.arch != .riscv64) and (comptime builtin.cpu.arch != .x86) and (comptime builtin.cpu.arch != .x86_64)) {
return syscall5(
.statx,
@as(usize, @bitCast(@as(isize, dirfd))),