From 9d65062d35381320c4b0b82b012936ecf97f8ba3 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 4 Mar 2022 14:41:17 +0100 Subject: Various changes and improvement centered around steam (but still not good enough) --- src/include/box64context.h | 2 ++ src/include/elfloader.h | 2 ++ src/include/librarian.h | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/include') diff --git a/src/include/box64context.h b/src/include/box64context.h index 9d660664..371fdce3 100755 --- a/src/include/box64context.h +++ b/src/include/box64context.h @@ -15,6 +15,7 @@ typedef struct bridge_s bridge_t; typedef struct dlprivate_s dlprivate_t; typedef struct kh_symbolmap_s kh_symbolmap_t; typedef struct library_s library_t; +typedef struct linkmap_s linkmap_t; typedef struct kh_threadstack_s kh_threadstack_t; typedef struct atfork_fnc_s { uintptr_t prepare; @@ -154,6 +155,7 @@ typedef struct box64context_s { library_t *pulse; library_t *d3dadapter9; library_t *libglu; + linkmap_t *linkmap; int deferedInit; elfheader_t **deferedInitList; diff --git a/src/include/elfloader.h b/src/include/elfloader.h index 4e06546b..86efe061 100755 --- a/src/include/elfloader.h +++ b/src/include/elfloader.h @@ -64,4 +64,6 @@ int SameVersionnedSymbol(const char* name1, int ver1, const char* vername1, cons void* GetNativeSymbolUnversionned(void* lib, const char* name); +void AddMainElfToLinkmap(elfheader_t* lib); + #endif //__ELF_LOADER_H_ diff --git a/src/include/librarian.h b/src/include/librarian.h index a135edf5..d2f0740c 100755 --- a/src/include/librarian.h +++ b/src/include/librarian.h @@ -37,7 +37,7 @@ int GetNoWeakSymbolStartEnd(lib_t *maplib, const char* name, uintptr_t* start, u elfheader_t* GetGlobalSymbolElf(lib_t *maplib, const char* name, int version, const char* vername); int IsGlobalNoWeakSymbolInNative(lib_t *maplib, const char* name, int version, const char* vername); -const char* FindSymbolName(lib_t *maplib, void* p, void** start, uint64_t* sz, const char** libname, void** base); +const char* FindSymbolName(lib_t *maplib, void* p, void** start, uint64_t* sz, const char** libname, void** base, library_t** lib); void AddOffsetSymbol(lib_t *maplib, void* offs, const char* name); const char* GetNameOffset(lib_t *maplib, void* offs); -- cgit 1.4.1