diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-07-23 11:13:28 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-07-23 11:13:37 +0200 |
| commit | 49cc5eabcbcebdd6a67bfa32a82caf1723997d78 (patch) | |
| tree | 18789911b978ca0fa85a336f75cff117903c8a3f /src/dynarec/dynarec_native_functions.c | |
| parent | bf429a1dcfdaa960857f03a6f85e0dbf83e8b1e4 (diff) | |
| download | box64-49cc5eabcbcebdd6a67bfa32a82caf1723997d78.tar.gz box64-49cc5eabcbcebdd6a67bfa32a82caf1723997d78.zip | |
Some handling of case where signal numbers differs between native and x64 archs (not complete, missing sigset conversions)
Diffstat (limited to 'src/dynarec/dynarec_native_functions.c')
| -rw-r--r-- | src/dynarec/dynarec_native_functions.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/dynarec/dynarec_native_functions.c b/src/dynarec/dynarec_native_functions.c index 4c87385a..bb696ac2 100644 --- a/src/dynarec/dynarec_native_functions.c +++ b/src/dynarec/dynarec_native_functions.c @@ -7,6 +7,7 @@ #include <sys/types.h> #include <unistd.h> +#include "x64_signals.h" #include "os.h" #include "debug.h" #include "box64context.h" @@ -186,20 +187,20 @@ void native_ud(x64emu_t* emu) { if(BOX64ENV(dynarec_test)) emu->test.test = 0; - EmitSignal(emu, SIGILL, (void*)R_RIP, 0); + EmitSignal(emu, X64_SIGILL, (void*)R_RIP, 0); } void native_br(x64emu_t* emu) { if(BOX64ENV(dynarec_test)) emu->test.test = 0; - EmitSignal(emu, SIGSEGV, (void*)R_RIP, 0xb09d); + EmitSignal(emu, X64_SIGSEGV, (void*)R_RIP, 0xb09d); } void native_priv(x64emu_t* emu) { emu->test.test = 0; - EmitSignal(emu, SIGSEGV, (void*)R_RIP, 0xbad0); + EmitSignal(emu, X64_SIGSEGV, (void*)R_RIP, 0xbad0); } void native_int(x64emu_t* emu, int num) @@ -216,7 +217,7 @@ void native_wineint(x64emu_t* emu, int num) #endif void native_int3(x64emu_t* emu) { - EmitSignal(emu, SIGTRAP, NULL, 3); + EmitSignal(emu, X64_SIGTRAP, NULL, 3); } void native_div0(x64emu_t* emu) |