diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-01-11 12:48:36 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-01-11 12:48:36 +0100 |
| commit | 32c646d0d2c53f94127858236d283442dc79b6dc (patch) | |
| tree | 37a5c60fb52c11135ceae7b17207ad71c3c57a11 /src/libtools | |
| parent | 35a68282097ec90c3dcd473402e234aa8a6ba4a9 (diff) | |
| download | box64-32c646d0d2c53f94127858236d283442dc79b6dc.tar.gz box64-32c646d0d2c53f94127858236d283442dc79b6dc.zip | |
This should fix non-Dynarec builds
Diffstat (limited to 'src/libtools')
| -rw-r--r-- | src/libtools/signals.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c index ca1bd291..085db798 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -676,6 +676,7 @@ int is_addr_unaligned(uintptr_t addr) return (k==kh_end(unaligned))?0:1; } +#ifdef DYNAREC int mark_db_unaligned(dynablock_t* db, uintptr_t x64pc) { add_unaligned_address(x64pc); @@ -684,15 +685,16 @@ int mark_db_unaligned(dynablock_t* db, uintptr_t x64pc) if(box64_showsegv) printf_log(LOG_INFO, "Marked db %p as dirty, and address %p as needing unaligned handling\n", db, (void*)x64pc); return 2; // marked, exit handling... } - +#endif int sigbus_specialcases(siginfo_t* info, void * ucntx, void* pc, void* _fpsimd, dynablock_t* db, uintptr_t x64pc) { if((uintptr_t)pc<0x10000) return 0; - +#ifdef DYNAREC if(ARCH_UNALIGNED(db, x64pc)) /*return*/ mark_db_unaligned(db, x64pc); // don't force an exit for now +#endif #ifdef ARM64 ucontext_t *p = (ucontext_t *)ucntx; uint32_t opcode = *(uint32_t*)pc; |