From 57e9e55705d997e4271666a4b0e6030d5b5c1689 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Wed, 2 Jun 2021 15:35:24 +0200 Subject: Added one more syscall --- src/emu/x64syscall.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') 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 -- cgit 1.4.1