diff --git a/src/platform/linux/mod.rs b/src/platform/linux/mod.rs index 6d6fe31e1c..84b18f93ec 100644 --- a/src/platform/linux/mod.rs +++ b/src/platform/linux/mod.rs @@ -79,10 +79,16 @@ impl Sys { } impl Pal for Sys { + #[cfg(any(target_arch = "x86_64", target_arch = "x86"))] fn access(path: CStr, mode: c_int) -> Result<()> { e_raw(unsafe { syscall!(ACCESS, path.as_ptr(), mode) }).map(|_| ()) } + #[cfg(target_arch = "aarch64")] + fn access(path: CStr, mode: c_int) -> Result<()> { + e_raw(unsafe { syscall!(FACCESSAT, AT_FDCWD, path.as_ptr(), mode, 0) }).map(|_| ()) + } + unsafe fn brk(addr: *mut c_void) -> Result<*mut c_void> { Ok(e_raw(unsafe { syscall!(BRK, addr) })? as *mut c_void) }