diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2025-01-23 21:07:38 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-23 14:07:38 +0100 |
| commit | 356200159aa8a509dbc2ba8335bc9a254c626028 (patch) | |
| tree | c50f56a8e1068ffda8c48b6b11d8ea25f94fab22 /src | |
| parent | f0d8712275d2ca1b27d7022acf48cde647bdacd5 (diff) | |
| download | box64-356200159aa8a509dbc2ba8335bc9a254c626028.tar.gz box64-356200159aa8a509dbc2ba8335bc9a254c626028.zip | |
[ENV] Fixed zydis initialization regression (#2287)
Diffstat (limited to 'src')
| -rw-r--r-- | src/core.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core.c b/src/core.c index 313cac88..dd53d737 100644 --- a/src/core.c +++ b/src/core.c @@ -574,14 +574,17 @@ static void addLibPaths(box64context_t* context) loadPath(&context->box64_path, ".:bin", BOX64ENV(path)); if(getenv("PATH")) AppendList(&context->box64_path, getenv("PATH"), 1); // in case some of the path are for x86 world +} +void setupZydis(box64context_t* context) +{ #ifdef HAVE_TRACE - if((BOX64ENV(trace_init) && strcmp(BOX64ENV(trace_init), "0")) || (BOX64ENV(trace) && strcmp(BOX64ENV(trace), "0"))) { + if ((BOX64ENV(trace_init) && strcmp(BOX64ENV(trace_init), "0")) || (BOX64ENV(trace) && strcmp(BOX64ENV(trace), "0"))) { context->x64trace = 1; } - if(my_context->x64trace) { + if (context->x64trace) { printf_log(LOG_INFO, "Initializing Zydis lib\n"); - if(InitX64Trace(my_context)) { + if (InitX64Trace(context)) { printf_log(LOG_INFO, "Zydis init failed. No x86 trace activated\n"); context->x64trace = 0; } @@ -1138,6 +1141,7 @@ int initialize(int argc, const char **argv, char** env, x64emu_t** emulator, elf wine_prog = NULL; } openFTrace(0); + setupZydis(my_context); PrintEnvVariables(); for(int i=1; i<my_context->argc; ++i) { |