about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-01-24 09:54:14 +0100
committerptitSeb <sebastien.chev@gmail.com>2025-01-24 09:54:14 +0100
commit313e4854a0d7fbb6e819bd7c94e3b06845b89e43 (patch)
treef183d6b3964360439c9be598999c594b769e212a /src
parent8c1ffca530fb471984cd91347d93457575c7ee5d (diff)
downloadbox64-313e4854a0d7fbb6e819bd7c94e3b06845b89e43.tar.gz
box64-313e4854a0d7fbb6e819bd7c94e3b06845b89e43.zip
Added syscall 439 (for #2290)
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64syscall.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/emu/x64syscall.c b/src/emu/x64syscall.c
index 4c20bb9d..e35532dd 100644
--- a/src/emu/x64syscall.c
+++ b/src/emu/x64syscall.c
@@ -308,6 +308,9 @@ static const scwrap_t syscallwrap[] = {
     #ifdef __NR_fchmodat4
     [434] = {__NR_fchmodat4, 4},
     #endif
+    #ifdef __NR_faccessat2
+    [439] = {__NR_faccessat2, 4},
+    #endif
     #ifdef __NR_landlock_create_ruleset	
     [444] = {__NR_landlock_create_ruleset, 3},
     #endif
@@ -836,6 +839,13 @@ void EXPORT x64Syscall(x64emu_t *emu)
                 S_RAX = -errno;
             break;
         #endif
+        #ifndef __NR_faccessat2
+        case 439:
+            S_RAX = faccessat(S_EDI, (void*)R_RSI, (mode_t)R_RDX, S_R10d);
+            if(S_RAX==-1)
+                S_RAX = -errno;
+            break;
+        #endif
         case 449:
             #ifdef __NR_futex_waitv
             if(BOX64ENV(futex_waitv))
@@ -1114,6 +1124,10 @@ long EXPORT my_syscall(x64emu_t *emu)
         case 434:
             return fchmodat(S_ESI, (void*)R_RDX, (mode_t)R_RCX, S_R8d);
         #endif
+        #ifndef __NR_faccessat2
+        case 439:
+            return faccessat(S_ESI, (void*)R_RDX, (mode_t)R_RCX, S_R8d);
+        #endif
         case 449:
             #ifdef __NR_futex_waitv
             if(BOX64ENV(futex_waitv))