diff options
Diffstat (limited to 'src/include/symbols.h')
| -rw-r--r-- | src/include/symbols.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/include/symbols.h b/src/include/symbols.h index 49cd40f0..98eb9db7 100644 --- a/src/include/symbols.h +++ b/src/include/symbols.h @@ -14,11 +14,19 @@ void FreeMapSymbols(kh_mapsymbols_t** map); // replace if already there void AddSymbol(kh_mapsymbols_t *mapsymbols, const char* name, uintptr_t addr, uint32_t sz, int ver, const char* vername); -uintptr_t FindSymbol(kh_mapsymbols_t *mapsymbols, const char* name, int ver, const char* vername, int local); +uintptr_t FindSymbol(kh_mapsymbols_t *mapsymbols, const char* name, int ver, const char* vername, int local, const char* defver); // don't add if already there -void AddWeakSymbol(kh_mapsymbols_t *mapsymbols, const char* name, uintptr_t addr, uint32_t sz, int ver, const char* vername); -int GetSymbolStartEnd(kh_mapsymbols_t* mapsymbols, const char* name, uintptr_t* start, uintptr_t* end, int ver, const char* vername, int local); +void AddUniqueSymbol(kh_mapsymbols_t *mapsymbols, const char* name, uintptr_t addr, uint32_t sz, int ver, const char* vername); +int GetSymbolStartEnd(kh_mapsymbols_t* mapsymbols, const char* name, uintptr_t* start, uintptr_t* end, int ver, const char* vername, int local, const char* defver); const char* GetSymbolName(kh_mapsymbols_t* mapsymbols, void* p, uintptr_t* offs, uint32_t* sz, const char** vername); +// default version handling +KHASH_MAP_DECLARE_STR(defaultversion, const char*) +kh_defaultversion_t* NewDefaultVersion(); +void FreeDefaultVersion(kh_defaultversion_t** def); + +void AddDefaultVersion(kh_defaultversion_t* def, const char* symname, const char* vername); +const char* GetDefaultVersion(kh_defaultversion_t* def, const char* symname); + #endif //__SYMBOLS_PRIVATE_H_ \ No newline at end of file |