about summary refs log tree commit diff stats
path: root/src/include/symbols.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/symbols.h')
-rw-r--r--src/include/symbols.h14
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