diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2025-03-03 17:08:50 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-03 10:08:50 +0100 |
| commit | 2636e7e8b54dd1aa96139b6e609f8920813d8a6e (patch) | |
| tree | 39741a0ce85b8d3a12dbdfdff2a780081723d493 /src/dynarec/dynarec_native.c | |
| parent | b0e726d953948c40fa478bc7ee53ed6565beadd1 (diff) | |
| download | box64-2636e7e8b54dd1aa96139b6e609f8920813d8a6e.tar.gz box64-2636e7e8b54dd1aa96139b6e609f8920813d8a6e.zip | |
[RCFILE] Added range gdbjit support (#2414)
Diffstat (limited to 'src/dynarec/dynarec_native.c')
| -rw-r--r-- | src/dynarec/dynarec_native.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/dynarec_native.c b/src/dynarec/dynarec_native.c index c0c7acc8..6f4eb595 100644 --- a/src/dynarec/dynarec_native.c +++ b/src/dynarec/dynarec_native.c @@ -789,7 +789,7 @@ void* FillBlock64(dynablock_t* block, uintptr_t addr, int alternate, int is32bit printFunctionAddr(helper.start, " => "); dynarec_log(LOG_NONE, "%s\n", (BOX64DRENV(dynarec_dump)>1)?"\e[m":""); } - if (BOX64ENV(dynarec_gdbjit)) { + if (BOX64ENV(dynarec_gdbjit) && (!BOX64ENV(dynarec_gdbjit_end) || (addr >= BOX64ENV(dynarec_gdbjit_start) && addr < BOX64ENV(dynarec_gdbjit_end)))) { GdbJITNewBlock(helper.gdbjit_block, (GDB_CORE_ADDR)block->actual_block, (GDB_CORE_ADDR)block->actual_block + native_size, helper.start); } int oldtable64size = helper.table64size; @@ -834,7 +834,7 @@ void* FillBlock64(dynablock_t* block, uintptr_t addr, int alternate, int is32bit //block->x64_addr = (void*)start; block->x64_size = end-start; // all done... - if (BOX64ENV(dynarec_gdbjit)) { + if (BOX64ENV(dynarec_gdbjit) && (!BOX64ENV(dynarec_gdbjit_end) || (addr >= BOX64ENV(dynarec_gdbjit_start) && addr < BOX64ENV(dynarec_gdbjit_end)))) { GdbJITBlockReady(helper.gdbjit_block); } ClearCache(actual_p+sizeof(void*), native_size); // need to clear the cache before execution... |