about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-03-29 18:41:38 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-03-29 18:41:38 +0200
commit6cb6605a63ad066ba98cc129dab539e58a695f35 (patch)
treef563c94ad469813aa2d9b9009dc4be0bafdac58e /src
parent6ad164d522d19d41fb12243079e23cc01cefbdeb (diff)
downloadbox64-6cb6605a63ad066ba98cc129dab539e58a695f35.tar.gz
box64-6cb6605a63ad066ba98cc129dab539e58a695f35.zip
Small change in start en end of emulated software
Diffstat (limited to 'src')
-rwxr-xr-xsrc/main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 66bfd94d..81eb7b19 100755
--- a/src/main.c
+++ b/src/main.c
@@ -596,8 +596,8 @@ void endBox64()
     // than call all the Fini (some "smart" ordering of the fini may be needed, but for now, callign in this order should be good enough)
     printf_log(LOG_DEBUG, "Calling fini for all loaded elfs and unload native libs\n");
     RunElfFini(my_context->elfs[0], emu);
-    FreeLibrarian(&my_context->maplib, emu);    // unload all libs
     FreeLibrarian(&my_context->local_maplib, emu);    // unload all libs
+    FreeLibrarian(&my_context->maplib, emu);    // unload all libs
     // waiting for all thread except this one to finish
     int this_thread = GetTID();
     int pid = getpid();
@@ -953,6 +953,7 @@ int main(int argc, const char **argv, const char **env) {
     SetRSI(emu, my_context->argc);
     SetRDX(emu, (uint64_t)my_context->argv);
     SetRCX(emu, (uint64_t)my_context->envv);
+    SetRBP(emu, 0); // Frame pointer so to "No more frame pointer"
 
     // child fork to handle traces
     pthread_atfork(NULL, NULL, my_child_fork);