diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-01-02 19:00:49 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-01-02 19:00:49 +0100 |
| commit | 967c73efd1cd7b794f598c781a21cbe008466acf (patch) | |
| tree | 7c9cd0bdf06ff28bcd711d63675be9af462be29b /src/libtools | |
| parent | 6a35cd2a56b289a69055906c6237fa6f80e3127a (diff) | |
| download | box64-967c73efd1cd7b794f598c781a21cbe008466acf.tar.gz box64-967c73efd1cd7b794f598c781a21cbe008466acf.zip | |
[ARM64_DYNAREC] Fixed native flags with signal, and added sse handling
Diffstat (limited to 'src/libtools')
| -rw-r--r-- | src/libtools/signals.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c index c1ff9f9a..a61ef4b6 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -1417,6 +1417,8 @@ void my_sigactionhandler_oldcode(x64emu_t* emu, int32_t sig, int simple, siginfo GO(R15); GO(RIP); #undef GO + sse_regs_t old_xmm[16]; + memcpy(old_xmm, emu->xmm, sizeof(old_xmm)); #ifdef DYNAREC dynablock_t* db = cur_db; if(db) { @@ -1451,6 +1453,7 @@ void my_sigactionhandler_oldcode(x64emu_t* emu, int32_t sig, int simple, siginfo GO(R15); GO(RIP); #undef GO + memcpy(emu->xmm, old_xmm, sizeof(old_xmm)); } extern void* current_helper; |