about summary refs log tree commit diff stats
path: root/src/include
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-07-12 13:41:05 +0200
committerptitSeb <sebastien.chev@gmail.com>2021-07-12 13:41:05 +0200
commit6d7c0f75e74f16fe3f63199a589c4828c1ab1f55 (patch)
tree87af2d6248424e9081b32b7698a964ea731b3d08 /src/include
parent81a7eca5ef17a9805a3e894046f2148e0974eeda (diff)
downloadbox64-6d7c0f75e74f16fe3f63199a589c4828c1ab1f55.tar.gz
box64-6d7c0f75e74f16fe3f63199a589c4828c1ab1f55.zip
Handling of flag RTLD_NOW in dlopen
Diffstat (limited to 'src/include')
-rwxr-xr-xsrc/include/elfloader.h6
-rwxr-xr-xsrc/include/librarian.h2
-rwxr-xr-xsrc/include/library.h2
3 files changed, 5 insertions, 5 deletions
diff --git a/src/include/elfloader.h b/src/include/elfloader.h
index df745aa2..afef7981 100755
--- a/src/include/elfloader.h
+++ b/src/include/elfloader.h
@@ -24,13 +24,13 @@ int AllocElfMemory(box64context_t* context, elfheader_t* head, int mainbin);
 void FreeElfMemory(elfheader_t* head);
 int LoadElfMemory(FILE* f, box64context_t* context, elfheader_t* head);
 int ReloadElfMemory(FILE* f, box64context_t* context, elfheader_t* head);
-int RelocateElf(lib_t *maplib, lib_t* local_maplib, elfheader_t* head);
-int RelocateElfPlt(lib_t *maplib, lib_t* local_maplib, elfheader_t* head);
+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);
 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, needed_libs_t* neededlibs, library_t *deplib, int local, box64context_t *box64, x64emu_t* emu);
+int LoadNeededLibs(elfheader_t* h, lib_t *maplib, needed_libs_t* neededlibs, library_t *deplib, int local, int bindnow, box64context_t *box64, x64emu_t* emu);
 uintptr_t GetElfInit(elfheader_t* h);
 uintptr_t GetElfFini(elfheader_t* h);
 void RunElfInit(elfheader_t* h, x64emu_t *emu);
diff --git a/src/include/librarian.h b/src/include/librarian.h
index 522c98b6..a135edf5 100755
--- a/src/include/librarian.h
+++ b/src/include/librarian.h
@@ -24,7 +24,7 @@ kh_mapsymbols_t* GetMapSymbol(lib_t* maplib);
 kh_mapsymbols_t* GetWeakSymbol(lib_t* maplib);
 kh_mapsymbols_t* GetLocalSymbol(lib_t* maplib);
 kh_mapsymbols_t* GetGlobalData(lib_t* maplib);
-int AddNeededLib(lib_t* maplib, needed_libs_t* neededlibs, library_t *deplib, int local, const char** paths, int npath, box64context_t* box64, x64emu_t* emu); // 0=success, 1=error
+int AddNeededLib(lib_t* maplib, needed_libs_t* neededlibs, library_t *deplib, int local, int bindnow, const char** paths, int npath, box64context_t* box64, x64emu_t* emu); // 0=success, 1=error
 library_t* GetLibMapLib(lib_t* maplib, const char* name);
 library_t* GetLibInternal(const char* name);
 uintptr_t FindGlobalSymbol(lib_t *maplib, const char* name, int version, const char* vername);
diff --git a/src/include/library.h b/src/include/library.h
index 64f376ec..006e61f4 100755
--- a/src/include/library.h
+++ b/src/include/library.h
@@ -12,7 +12,7 @@ typedef struct needed_libs_s   needed_libs_t;
 
 library_t *NewLibrary(const char* path, box64context_t* box64);
 int AddSymbolsLibrary(lib_t* maplib, library_t* lib, x64emu_t* emu);
-int FinalizeLibrary(library_t* lib, lib_t* local_maplib, x64emu_t* emu);
+int FinalizeLibrary(library_t* lib, lib_t* local_maplib, int bindnow, x64emu_t* emu);
 int ReloadLibrary(library_t* lib, x64emu_t* emu);
 void InactiveLibrary(library_t* lib);
 void Free1Library(library_t **lib, x64emu_t* emu);