From c3fd9d03ba22beecc06e9bc2b17525a3a9ed65e1 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 28 Feb 2022 16:03:28 +0800 Subject: [DYNAREC] still working on multiarch --- src/custommem.c | 33 +++++++++++++++++++-------------- src/main.c | 5 +++++ 2 files changed, 24 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/custommem.c b/src/custommem.c index 236456a0..e5be3ba9 100644 --- a/src/custommem.c +++ b/src/custommem.c @@ -41,8 +41,13 @@ static uintptr_t* box64_jmptbldefault1[1< %p\n", (void*)addr, (void*)(addr+size-1)); uintptr_t idx = (addr>>MEMPROT_SHIFT); uintptr_t end = ((addr+size-1LL)>>MEMPROT_SHIFT); - if(end>=(1LL<<(20+16))) - end = (1LL<<(20+16))-1; + if(end>=(1LL<<(48-MEMPROT_SHIFT))) + end = (1LL<<(48-MEMPROT_SHIFT))-1; if(end %p\n", (void*)addr, (void*)(addr+size-1)); uintptr_t idx = (addr>>MEMPROT_SHIFT); uintptr_t end = ((addr+size-1)>>MEMPROT_SHIFT); - if(end>=(1LL<<(20+16))) - end = (1LL<<(20+16))-1; + if(end>=(1LL<<(48-MEMPROT_SHIFT))) + end = (1LL<<(48-MEMPROT_SHIFT))-1; if(end %p => ", (void*)addr, (void*)(addr+size-1)); uintptr_t idx = (addr>>MEMPROT_SHIFT); uintptr_t end = ((addr+size-1LL)>>MEMPROT_SHIFT); - if(end>=(1LL<<(20+16))) - end = (1LL<<(20+16))-1LL; + if(end>=(1LL<<(48-MEMPROT_SHIFT))) + end = (1LL<<(48-MEMPROT_SHIFT))-1LL; if(end>MEMPROT_SHIFT); uintptr_t end = ((addr+size-1)>>MEMPROT_SHIFT); - if(end>=(1LL<<(20+16))) - end = (1LL<<(20+16))-1; + if(end>=(1LL<<(48-MEMPROT_SHIFT))) + end = (1LL<<(48-MEMPROT_SHIFT))-1; if(end>MEMPROT_SHIFT); uintptr_t end = ((addr+size-1)>>MEMPROT_SHIFT); - if(end>=(1LL<<(20+16))) - end = (1LL<<(20+16))-1; + if(end>=(1LL<<(48-MEMPROT_SHIFT))) + end = (1LL<<(48-MEMPROT_SHIFT))-1; if(end>MEMPROT_SHIFT); uintptr_t end = ((addr+size-1LL)>>MEMPROT_SHIFT); - if(end>=(1LL<<(20+16))) - end = (1LL<<(20+16))-1; + if(end>=(1LL<<(48-MEMPROT_SHIFT))) + end = (1LL<<(48-MEMPROT_SHIFT))-1; if(end>MEMPROT_SHIFT); uintptr_t end = ((addr+size-1LL)>>MEMPROT_SHIFT); - if(end>=(1LL<<(20+16))) - end = (1LL<<(20+16))-1; + if(end>=(1LL<<(48-MEMPROT_SHIFT))) + end = (1LL<<(48-MEMPROT_SHIFT))-1; if(end