about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-11-02 22:09:54 +0100
committerptitSeb <sebastien.chev@gmail.com>2022-11-02 22:09:54 +0100
commit3be1e3333963a52a00ee872072edf43878a6791e (patch)
tree5c76765e99c35995d7bac636702b20b08bcc4a48
parent91348f22be927b6d16a11cd3b9a21b7fb7ff1d43 (diff)
downloadbox64-3be1e3333963a52a00ee872072edf43878a6791e.tar.gz
box64-3be1e3333963a52a00ee872072edf43878a6791e.zip
[DYNAREC] Fixed alternate address not always taken into account by Dynarec
-rwxr-xr-xsrc/dynarec/dynablock.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/dynarec/dynablock.c b/src/dynarec/dynablock.c
index b795c3c1..02a901da 100755
--- a/src/dynarec/dynablock.c
+++ b/src/dynarec/dynablock.c
@@ -20,6 +20,7 @@
 #include "dynablock_private.h"
 #include "dynarec_private.h"
 #include "elfloader.h"
+#include "bridge.h"
 
 #include "dynarec_native.h"
 #include "native_lock.h"
@@ -160,6 +161,8 @@ void cancelFillBlock()
 */
 static dynablock_t* internalDBGetBlock(x64emu_t* emu, uintptr_t addr, uintptr_t filladdr, int create, int need_lock)
 {
+    if(hasAlternate((void*)addr))
+        return NULL;
     dynablock_t* block = getDB(addr);
     if(block || !create)
         return block;