about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-06-02 15:35:24 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-06-02 15:35:24 +0200
commit57e9e55705d997e4271666a4b0e6030d5b5c1689 (patch)
tree3bd7074d402df8ecbe77f6b511f4da1b37c36669 /src
parent3f3f8b41e9343bca279800a2f117e8405c67e86d (diff)
downloadbox64-57e9e55705d997e4271666a4b0e6030d5b5c1689.tar.gz
box64-57e9e55705d997e4271666a4b0e6030d5b5c1689.zip
Added one more syscall
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x64syscall.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/emu/x64syscall.c b/src/emu/x64syscall.c
index c8009513..690dbef8 100755
--- a/src/emu/x64syscall.c
+++ b/src/emu/x64syscall.c
@@ -101,6 +101,9 @@ scwrap_t syscallwrap[] = {
     #ifdef __NR_mkdir
     { 83, __NR_mkdir, 2},
     #endif
+    #ifdef __NR_unlink
+    { 87, __NR_unlink, 1},
+    #endif
     //{ 89, __NR_readlink, 3},  // not always existing, better use the wrapped version anyway
     { 97, __NR_getrlimit, 2},
     { 101, __NR_ptrace, 4},
@@ -299,6 +302,11 @@ void EXPORT x64Syscall(x64emu_t *emu)
             R_EAX = (uint32_t)mkdir((void*)R_RDI, R_ESI);
             break;
         #endif
+        #ifndef __NR_unlink
+        case 87: //sys_unlink
+            R_EAX = (uint32_t)unlink((void*)R_RDI);
+            break;
+        #endif
         case 89: // sys_readlink
             R_RAX = (ssize_t)my_readlink(emu,(void*)R_RDI, (void*)R_RSI, (size_t)R_RDX);
             break;
@@ -406,6 +414,10 @@ uintptr_t EXPORT my_syscall(x64emu_t *emu)
         case 83: // sys_mkdir
             return (uint32_t)mkdir((void*)R_RSI, R_EDX);
         #endif
+        #ifndef __NR_unlink
+        case 87: //sys_unlink
+            return (uint32_t)unlink((void*)R_RSI);
+        #endif
         case 89: // sys_readlink
             return (uintptr_t)my_readlink(emu,(void*)R_RSI, (void*)R_RDX, (size_t)R_RCX);
         case 131: // sys_sigaltstack