diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-06-02 15:35:24 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-06-02 15:35:24 +0200 |
| commit | 57e9e55705d997e4271666a4b0e6030d5b5c1689 (patch) | |
| tree | 3bd7074d402df8ecbe77f6b511f4da1b37c36669 /src | |
| parent | 3f3f8b41e9343bca279800a2f117e8405c67e86d (diff) | |
| download | box64-57e9e55705d997e4271666a4b0e6030d5b5c1689.tar.gz box64-57e9e55705d997e4271666a4b0e6030d5b5c1689.zip | |
Added one more syscall
Diffstat (limited to 'src')
| -rwxr-xr-x | src/emu/x64syscall.c | 12 |
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 |