about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-05-30 21:43:00 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-05-30 21:43:00 +0200
commita2cd8b72dc9c8f6ce227db043043b21598617b55 (patch)
tree728ff084250231ace70eb5749d3ac722ff01584c /src
parent11aca3f0aaefc3ad5a8be10a7c818a3a85776009 (diff)
downloadbox64-a2cd8b72dc9c8f6ce227db043043b21598617b55.tar.gz
box64-a2cd8b72dc9c8f6ce227db043043b21598617b55.zip
Run elf init if __libc_start_main init param is NULL (for #315)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/emu/x64run_private.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/emu/x64run_private.c b/src/emu/x64run_private.c
index 73cc40ac..ae306d83 100755
--- a/src/emu/x64run_private.c
+++ b/src/emu/x64run_private.c
@@ -48,6 +48,8 @@ int32_t EXPORT my___libc_start_main(x64emu_t* emu, int *(main) (int, char * *, c
         SetRSP(emu, GetRBP(emu));   // restore RSP
         SetRBP(emu, Pop64(emu));    // restore RBP
         emu->quit = 0;
+    } else {
+        RunElfInit(my_context->elfs[0], emu);
     }
     printf_log(LOG_DEBUG, "Transfert to main(%d, %p, %p)=>%p from __libc_start_main\n", my_context->argc, my_context->argv, my_context->envv, main);
     // call main and finish