about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-09-16 16:09:11 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-09-16 16:09:11 +0200
commit1e8807ac0a21c6eaf53d30229d94fb8fd3533f6b (patch)
tree9ad64303a13c9a313aec1ede89d26609801ff98f /src
parent40ac1bca84458c8003fbf13f075dc6d8e594bb04 (diff)
downloadbox64-1e8807ac0a21c6eaf53d30229d94fb8fd3533f6b.tar.gz
box64-1e8807ac0a21c6eaf53d30229d94fb8fd3533f6b.zip
[BOX32][TRACE] Added a warning when executing 32bits code in 64bits address space
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/dynarec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/dynarec/dynarec.c b/src/dynarec/dynarec.c
index 915044eb..a9708c84 100644
--- a/src/dynarec/dynarec.c
+++ b/src/dynarec/dynarec.c
@@ -38,6 +38,11 @@ void* LinkNext(x64emu_t* emu, uintptr_t addr, void* x2, uintptr_t* x3)
     } else if(addr<0x10000) {
         dynablock_t* db = FindDynablockFromNativeAddress(x2-4);
         printf_log(LOG_NONE, "Warning, jumping to low address %p from %p (db=%p, x64addr=%p/%s)\n", (void*)addr, x2-4, db, db?(void*)getX64Address(db, (uintptr_t)x2-4):NULL, db?getAddrFunctionName(getX64Address(db, (uintptr_t)x2-4)):"(nil)");
+    #ifdef BOX32
+    } else if(emu->segs[_CS]==0x23 && addr>0x100000000LL) {
+        dynablock_t* db = FindDynablockFromNativeAddress(x2-4);
+        printf_log(LOG_NONE, "Warning, jumping to high address %p from %p (db=%p, x64addr=%p/%s)\n", (void*)addr, x2-4, db, db?(void*)getX64Address(db, (uintptr_t)x2-4):NULL, db?getAddrFunctionName(getX64Address(db, (uintptr_t)x2-4)):"(nil)");
+    #endif
     }
     #endif
     void * jblock;