about summary refs log tree commit diff stats
path: root/src/elfs/elfloader32.c
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2025-01-21 23:13:51 +0800
committerGitHub <noreply@github.com>2025-01-21 16:13:51 +0100
commit044dec0bfa0f3f8f62f7703d6b0a8600c1354dc5 (patch)
treedc41c611965cec299dcb62185c5fba4935b6251f /src/elfs/elfloader32.c
parented8b6fe9db863a8d9e473a645e84700c7291bb06 (diff)
downloadbox64-044dec0bfa0f3f8f62f7703d6b0a8600c1354dc5.tar.gz
box64-044dec0bfa0f3f8f62f7703d6b0a8600c1354dc5.zip
[ENV] Initial refactor of env variables infrastructure (#2274)
* [ENV] Initial refactor of env variables infrastructure

* Ported BOX64_DYNAREC_LOG

* Ported more options

* Ported BOX64_MALLOC_HACK

* Ported BOX64_DYNAREC_TEST

* Ported more options

* Ported more options

* Ported more options

* Ported all options

* Removed old rcfile parser

* Fix

* review

* fix

* fix

* more fixes
Diffstat (limited to 'src/elfs/elfloader32.c')
-rw-r--r--src/elfs/elfloader32.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/elfs/elfloader32.c b/src/elfs/elfloader32.c
index 2fbef7d5..513eec4d 100644
--- a/src/elfs/elfloader32.c
+++ b/src/elfs/elfloader32.c
@@ -118,9 +118,9 @@ static void GrabX32CopyMainElfReloc(elfheader_t* head)
 void checkHookedSymbols(elfheader_t* h);
 void AddSymbols32(lib_t *maplib, elfheader_t* h)
 {
-    //if(box64_dump && h->hash)   old_elf_hash_dump(h);
-    //if(box64_dump && h->gnu_hash)   new_elf_hash_dump(h);
-    if(box64_dump && h->DynSym._32) DumpDynSym32(h);
+    // if(BOX64ENV(dump) && h->hash)   old_elf_hash_dump(h);
+    // if(BOX64ENV(dump) && h->gnu_hash)   new_elf_hash_dump(h);
+    if (BOX64ENV(dump) && h->DynSym._32) DumpDynSym32(h);
     if(h==my_context->elfs[0]) 
         GrabX32CopyMainElfReloc(h);
     #ifndef STATICBUILD
@@ -132,7 +132,7 @@ int AllocLoadElfMemory32(box64context_t* context, elfheader_t* head, int mainbin
 {
     ptr_t offs = 0;
     loadProtectionFromMap();
-    int log_level = box64_load_addr?LOG_INFO:LOG_DEBUG;
+    int log_level = BOX64ENV(load_addr)?LOG_INFO:LOG_DEBUG;
 
     head->multiblock_n = 0; // count PHEntrie with LOAD
     uintptr_t max_align = (box64_pagesize-1);
@@ -141,10 +141,10 @@ int AllocLoadElfMemory32(box64context_t* context, elfheader_t* head, int mainbin
             ++head->multiblock_n;
         }
 
-    if(!head->vaddr && box64_load_addr) {
-        offs = to_ptrv(find31bitBlockNearHint((void*)box64_load_addr, head->memsz, max_align));
-        box64_load_addr = offs + head->memsz;
-        box64_load_addr = (box64_load_addr+0x10ffffff)&~0xffffff;
+    if(!head->vaddr && BOX64ENV(load_addr)) {
+        offs = to_ptrv(find31bitBlockNearHint((void*)BOX64ENV(load_addr), head->memsz, max_align));
+        BOX64ENV(load_addr) = offs + head->memsz;
+        BOX64ENV(load_addr) = (BOX64ENV(load_addr)+0x10ffffff)&~0xffffff;
     }
     if(!offs && !head->vaddr)
         offs = (uintptr_t)find31bitBlockElf(head->memsz, mainbin, max_align);
@@ -311,7 +311,7 @@ int AllocLoadElfMemory32(box64context_t* context, elfheader_t* head, int mainbin
                     mprotect((void*)paddr, asize, prot);
             }
 #ifdef DYNAREC
-            if(box64_dynarec && (e->p_flags & PF_X)) {
+            if(BOX64ENV(dynarec) && (e->p_flags & PF_X)) {
                 dynarec_log(LOG_DEBUG, "Add ELF eXecutable Memory %p:%p\n", head->multiblocks[n].p, (void*)head->multiblocks[n].asize);
                 addDBFromAddressRange((uintptr_t)head->multiblocks[n].p, head->multiblocks[n].asize);
             }