diff options
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/core.c | 6 | ||||
| -rw-r--r-- | src/include/debug.h | 1 |
3 files changed, 8 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 06b8f5a6..1b561d4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,7 @@ option(BAD_SIGNAL "Set to ON to activate the workaround for incoherent si_info o option(SW64 "Set ON if targeting an SW64 based device" ${SW64}) option(CI "Set to ON if running in CI" ${CI}) option(WITH_MOLD "Set to ON to use with mold" ${WITH_MOLD}) -option(BOX32, "Set to ON to add Linux 32bits support (experimental, do not use)" ${BOX32}) +option(BOX32 "Set to ON to add Linux 32bits support (experimental, do not use)" ${BOX32}) if(TERMUX) set(TERMUX_PATH "/data/data/com.termux/files") diff --git a/src/core.c b/src/core.c index aca52b47..bfba08f8 100644 --- a/src/core.c +++ b/src/core.c @@ -58,6 +58,7 @@ int box64_dynarec_test = 0; path_collection_t box64_addlibs = {0}; int box64_maxcpu = 0; int box64_maxcpu_immutable = 0; +int box64_is32bits = 0; #if defined(SD845) || defined(SD888) || defined(SD8G2) || defined(TEGRAX1) int box64_mmap32 = 1; #else @@ -2084,6 +2085,11 @@ int initialize(int argc, const char **argv, char** env, x64emu_t** emulator, elf FreeCollection(&ld_preload); return -1; } + #ifdef BOX32 + box64_is32bits = FileIsX86ELF(my_context->fullpath); + if(box64_is32bits) + printf_log(LOG_INFO, "BOX64: Using Box32 to load 32bits elf\n"); + #endif elfheader_t *elf_header = LoadAndCheckElfHeader(f, my_context->fullpath, 1); if(!elf_header) { int x86 = my_context->box86path?FileIsX86ELF(my_context->fullpath):0; diff --git a/src/include/debug.h b/src/include/debug.h index 1e31b437..e0f81c95 100644 --- a/src/include/debug.h +++ b/src/include/debug.h @@ -16,6 +16,7 @@ extern int box64_ignoreint3; extern int box64_rdtsc; extern int box64_rdtsc_1ghz; extern uint8_t box64_rdtsc_shift; +extern int box64_is32bits; #ifdef DYNAREC extern int box64_dynarec_dump; extern int box64_dynarec_trace; |