From 19915ad238735a1c982dbbc8811f8780d1318463 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 29 Mar 2021 18:37:44 +0200 Subject: Added syscall 57 --- 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 6f6291c5..e366d8dd 100755 --- a/src/emu/x64syscall.c +++ b/src/emu/x64syscall.c @@ -75,6 +75,9 @@ scwrap_t syscallwrap[] = { #ifdef __NR_pipe { 22, __NR_pipe, 1}, #endif + #ifdef __NR_fork + { 57, __NR_fork, 0 }, // should wrap this one, because of the struct pt_regs (the only arg)? + #endif //{ 131, __NR_sigaltstack, 2}, // wrapped to use my_sigaltstack { 157, __NR_prctl, 5 }, // needs wrapping? { 186, __NR_gettid, 0 }, @@ -181,6 +184,11 @@ void EXPORT x64Syscall(x64emu_t *emu) R_EAX = (uint32_t)pipe((void*)R_RDI); break; #endif + #ifndef __NR_fork + case 57: + R_RAX = fork(); + break; + #endif case 131: // sys_sigaltstack R_EAX = (uint32_t)my_sigaltstack(emu, (void*)R_RDI, (void*)R_RSI); break; @@ -245,6 +253,10 @@ uintptr_t EXPORT my_syscall(x64emu_t *emu) case 22: return (uint32_t)pipe((void*)R_RSI); #endif + #ifndef __NR_fork + case 57: + return fork(); + #endif case 131: // sys_sigaltstack return (uint32_t)my_sigaltstack(emu, (void*)R_RSI, (void*)R_RDX); default: -- cgit 1.4.1