diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-06-15 16:20:26 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-06-15 16:20:26 +0200 |
| commit | 01e997a4da3caf666569ad1260706fb48081da89 (patch) | |
| tree | 43fb7d77734ca5392d939e6cbc409887c8b7584f /src/tools/env.c | |
| parent | 51db3f1f9a6a1a79578fc6599e2d658a5ed89278 (diff) | |
| download | box64-01e997a4da3caf666569ad1260706fb48081da89.tar.gz box64-01e997a4da3caf666569ad1260706fb48081da89.zip | |
[DYNACACHE] More work on dynache relocation
Diffstat (limited to 'src/tools/env.c')
| -rw-r--r-- | src/tools/env.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/tools/env.c b/src/tools/env.c index cd4adb70..b279a988 100644 --- a/src/tools/env.c +++ b/src/tools/env.c @@ -807,3 +807,21 @@ size_t SizeFileMapped(uintptr_t addr) } return 0; } + +int IsAddrNeedReloc(uintptr_t addr) +{ + box64env_t* env = GetCurEnvByAddr(addr); + if(env->nodynarec) + return 0; + if(!env->dynacache) + return 0; + if(env->nodynarec_end && addr>=env->nodynarec_start && addr<env->nodynarec_end) + return 0; + #ifdef HAVE_TRACE + if(env->dynarec_test_end && addr>=env->dynarec_test_start && addr<env->dynarec_test_end) + return 0; + if(env->dynarec_trace && trace_end && addr>=trace_start && addr<trace_end) + return 0; + #endif + return 1; +} \ No newline at end of file |