about summary refs log tree commit diff stats
path: root/src/dynarec/dynarec_native_functions.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-09-16 16:10:29 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-09-16 16:10:29 +0200
commit446d57122c78a4f475380686f21e7dc6cb298396 (patch)
tree84b907d69967696584925182caf8fb58dba7fc8d /src/dynarec/dynarec_native_functions.c
parent1e8807ac0a21c6eaf53d30229d94fb8fd3533f6b (diff)
downloadbox64-446d57122c78a4f475380686f21e7dc6cb298396.tar.gz
box64-446d57122c78a4f475380686f21e7dc6cb298396.zip
[DYNAREC] Make sure jump address is wrapped on 32bits address space
Diffstat (limited to 'src/dynarec/dynarec_native_functions.c')
-rw-r--r--src/dynarec/dynarec_native_functions.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_native_functions.c b/src/dynarec/dynarec_native_functions.c
index c29e5083..5a086018 100644
--- a/src/dynarec/dynarec_native_functions.c
+++ b/src/dynarec/dynarec_native_functions.c
@@ -592,9 +592,11 @@ uint8_t geted_ib(dynarec_native_t* dyn, uintptr_t addr, int ninst, uint8_t nexto
 }
 #undef F8
 
-int isNativeCall(dynarec_native_t* dyn, uintptr_t addr, uintptr_t* calladdress, uint16_t* retn)
+int isNativeCall(dynarec_native_t* dyn, uintptr_t addr, int is32bits, uintptr_t* calladdress, uint16_t* retn)
 {
     (void)dyn;
+    if(is32bits)
+        addr &= 0xFFFFFFFFLL;
 
 #define PK(a)       *(uint8_t*)(addr+a)
 #define PK32(a)     *(int32_t*)(addr+a)