diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-04-28 17:13:37 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-04-28 17:14:00 +0200 |
| commit | 14e20e643515d4e7171f54e6d2fb78cf784f7d10 (patch) | |
| tree | f4ebb79470ce3f172087346546b99d7c5e884108 /src/include | |
| parent | 93abd016b451d63355dbc02fdbed431f6eacc810 (diff) | |
| download | box64-14e20e643515d4e7171f54e6d2fb78cf784f7d10.tar.gz box64-14e20e643515d4e7171f54e6d2fb78cf784f7d10.zip | |
Fix for local library open using dlopen that are then promoted to global with another dlopen (help java 17, probably other too)
Diffstat (limited to 'src/include')
| -rwxr-xr-x | src/include/librarian.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/librarian.h b/src/include/librarian.h index 2ff059df..6219f00c 100755 --- a/src/include/librarian.h +++ b/src/include/librarian.h @@ -25,6 +25,8 @@ int AddNeededLib(lib_t* maplib, int local, int bindnow, needed_libs_t* needed, b void RemoveNeededLib(lib_t* maplib, int local, needed_libs_t* needed, box64context_t* box64, x64emu_t* emu); library_t* GetLibMapLib(lib_t* maplib, const char* name); library_t* GetLibInternal(const char* name); +void promoteLocalLibGlobal(library_t* lib); +int isLibLocal(library_t* lib); uintptr_t FindGlobalSymbol(lib_t *maplib, const char* name, int version, const char* vername); int GetNoSelfSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t* self, size_t size, int version, const char* vername, const char* globdefver, const char* weakdefver); int GetGlobalSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, uintptr_t* end, elfheader_t *self, int version, const char* vername, const char* globdefver, const char* weakdefver); |