diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-03-09 14:10:09 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-03-09 14:10:09 +0100 |
| commit | 33846405d8e0af86bb5cfb9dab4ea5026fadb614 (patch) | |
| tree | 7fb9153caa2103fd0ec096472c542bcf4a4c6aea /src/elfs | |
| parent | 378eb79ad3ec58b4c19b3b38845cdb8a5db8dc5d (diff) | |
| download | box64-33846405d8e0af86bb5cfb9dab4ea5026fadb614.tar.gz box64-33846405d8e0af86bb5cfb9dab4ea5026fadb614.zip | |
Improved unload of libs (help wine when dlopen / dlclose is supposed to unload the lib so it can be dlopen again)
Diffstat (limited to 'src/elfs')
| -rw-r--r-- | src/elfs/elfloader.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index 93d3f224..860e819c 100644 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -64,7 +64,7 @@ elfheader_t* LoadAndCheckElfHeader(FILE* f, const char* name, int exec) h->path[0] = '\0'; } - h->refcnt = 1; + h->refcnt = 0; h->file = f; h->fileno = fileno(f); @@ -1709,7 +1709,7 @@ EXPORT void PltResolver(x64emu_t* emu) GetGlobalSymbolStartEnd(local_maplib, symname, &offs, &end, h, version, vername, veropt, (void**)&elfsym); } if (!offs) { - printf_log(LOG_NONE, "Error: PltResolver: Symbol %s(%sver %d: %s%s%s) not found, cannot apply R_X86_64_JUMP_SLOT %p (%p) in %s\n", symname, veropt?"opt":"", version, symname, vername?"@":"", vername?vername:"", p, *(void**)p, h->name); + printf_log(LOG_NONE, "Error: PltResolver: Symbol %s %s(%sver %d: %s%s%s) not found, cannot apply R_X86_64_JUMP_SLOT %p (%p) in %s (local_maplib=%p, global maplib=%p, deepbind=%d)\n", (bind==STB_LOCAL)?"Local":((bind==STB_WEAK)?"Weak":""), symname, veropt?"opt":"", version, symname, vername?"@":"", vername?vername:"", p, *(void**)p, h->name, local_maplib, my_context->maplib, deepbind); emu->quit = 1; return; } else { |