diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-02-11 16:46:21 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-02-11 16:46:21 +0100 |
| commit | c70581abc9380ab57deba3f8076e26191b5c2755 (patch) | |
| tree | 267e6630695ffc7b618d58e0cb01117bd9975abc /src/include/elfloader.h | |
| parent | 5e6af3753292b8da43d4fbee186a78f3e5068141 (diff) | |
| download | box64-c70581abc9380ab57deba3f8076e26191b5c2755.tar.gz box64-c70581abc9380ab57deba3f8076e26191b5c2755.zip | |
Added support for RTLD_DEEPBIND flag on dlopen
Diffstat (limited to 'src/include/elfloader.h')
| -rw-r--r-- | src/include/elfloader.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/include/elfloader.h b/src/include/elfloader.h index bc09ad31..80289c5c 100644 --- a/src/include/elfloader.h +++ b/src/include/elfloader.h @@ -26,13 +26,13 @@ int CalcLoadAddr(elfheader_t* head); int AllocLoadElfMemory(box64context_t* context, elfheader_t* head, int mainbin); void FreeElfMemory(elfheader_t* head); int isElfHasNeededVer(elfheader_t* head, const char* libname, elfheader_t* verneeded); -int RelocateElf(lib_t *maplib, lib_t* local_maplib, int bindnow, elfheader_t* head); -int RelocateElfPlt(lib_t *maplib, lib_t* local_maplib, int bindnow, elfheader_t* head); +int RelocateElf(lib_t *maplib, lib_t* local_maplib, int bindnow, int deepbind, elfheader_t* head); +int RelocateElfPlt(lib_t *maplib, lib_t* local_maplib, int bindnow, int deepbind, elfheader_t* head); void CalcStack(elfheader_t* h, uint64_t* stacksz, size_t* stackalign); uintptr_t GetEntryPoint(lib_t* maplib, elfheader_t* h); uintptr_t GetLastByte(elfheader_t* h); void AddSymbols(lib_t *maplib, kh_mapsymbols_t* mapsymbols, kh_mapsymbols_t* weaksymbols, kh_mapsymbols_t* localsymbols, elfheader_t* h); -int LoadNeededLibs(elfheader_t* h, lib_t *maplib, int local, int bindnow, box64context_t *box64, x64emu_t* emu); +int LoadNeededLibs(elfheader_t* h, lib_t *maplib, int local, int bindnow, int deepbind, box64context_t *box64, x64emu_t* emu); uintptr_t GetElfInit(elfheader_t* h); uintptr_t GetElfFini(elfheader_t* h); void RefreshElfTLS(elfheader_t* h); |