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/tools/env.c | |
| parent | b0e726d953948c40fa478bc7ee53ed6565beadd1 (diff) | |
| download | box64-2636e7e8b54dd1aa96139b6e609f8920813d8a6e.tar.gz box64-2636e7e8b54dd1aa96139b6e609f8920813d8a6e.zip | |
[RCFILE] Added range gdbjit support (#2414)
Diffstat (limited to 'src/tools/env.c')
| -rw-r--r-- | src/tools/env.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/tools/env.c b/src/tools/env.c index e1840f29..c41d9b42 100644 --- a/src/tools/env.c +++ b/src/tools/env.c @@ -127,6 +127,28 @@ static void applyCustomRules() } } + if (box64env.is_dynarec_gdbjit_str_overridden) { + if (strlen(box64env.dynarec_gdbjit_str) == 1) { + if (box64env.dynarec_gdbjit_str[0] >= '0' && box64env.dynarec_gdbjit_str[0] <= '2') + box64env.dynarec_gdbjit = box64env.dynarec_gdbjit_str[0] - '0'; + + box64env.dynarec_gdbjit_start = 0x0; + box64env.dynarec_gdbjit_end = 0x0; + } else if (strchr(box64env.dynarec_gdbjit_str, '-')) { + if (sscanf(box64env.dynarec_gdbjit_str, "%ld-%ld", &box64env.dynarec_gdbjit_start, &box64env.dynarec_gdbjit_end) != 2) { + if (sscanf(box64env.dynarec_gdbjit_str, "0x%lX-0x%lX", &box64env.dynarec_gdbjit_start, &box64env.dynarec_gdbjit_end) != 2) { + if (sscanf(box64env.dynarec_gdbjit_str, "0x%lx-0x%lx", &box64env.dynarec_gdbjit_start, &box64env.dynarec_gdbjit_end) != 2) + sscanf(box64env.dynarec_gdbjit_str, "%lx-%lx", &box64env.dynarec_gdbjit_start, &box64env.dynarec_gdbjit_end); + } + } + if (box64env.dynarec_gdbjit_end > box64env.dynarec_gdbjit_start) { + box64env.dynarec_gdbjit = 2; + } else { + box64env.dynarec_gdbjit = 0; + } + } + } + if (box64env.is_nodynarec_overridden) { if(box64env.nodynarec) { if (strchr(box64env.nodynarec,'-')) { |