From 33846405d8e0af86bb5cfb9dab4ea5026fadb614 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 9 Mar 2024 14:10:09 +0100 Subject: Improved unload of libs (help wine when dlopen / dlclose is supposed to unload the lib so it can be dlopen again) --- src/elfs/elfloader.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/elfs') 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 { -- cgit 1.4.1