From 771c07a0260e2a30b78a80de7b2dd6f085cf047f Mon Sep 17 00:00:00 2001 From: georgemoralis Date: Sat, 9 Mar 2024 18:48:10 +0200 Subject: [PATCH] improved symbols_resolver --- src/core/loader/symbols_resolver.cpp | 5 +++-- src/core/loader/symbols_resolver.h | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/core/loader/symbols_resolver.cpp b/src/core/loader/symbols_resolver.cpp index 0ef2d4ca9..0340b0cb9 100644 --- a/src/core/loader/symbols_resolver.cpp +++ b/src/core/loader/symbols_resolver.cpp @@ -15,8 +15,9 @@ void SymbolsResolver::AddSymbol(const SymbolResolver& s, u64 virtual_addr) { } std::string SymbolsResolver::GenerateName(const SymbolResolver& s) { - return fmt::format("{} lib[{}_v{}]mod[{}_v{}.{}]", s.name, s.library, s.library_version, - s.module, s.module_version_major, s.module_version_minor); + return fmt::format("{} lib[{}_v{}]mod[{}_v{}.{}][{}]", s.name, s.library, s.library_version, + s.module, s.module_version_major, s.module_version_minor, + SymbolTypeToS(s.type)); } const SymbolRecord* SymbolsResolver::FindSymbol(const SymbolResolver& s) const { diff --git a/src/core/loader/symbols_resolver.h b/src/core/loader/symbols_resolver.h index c1376e969..031f89508 100644 --- a/src/core/loader/symbols_resolver.h +++ b/src/core/loader/symbols_resolver.h @@ -44,6 +44,21 @@ public: static std::string GenerateName(const SymbolResolver& s); + static std::string SymbolTypeToS(SymbolType symType) { + switch (symType) { + case SymbolType::Unknown: + return "Unknown"; + case SymbolType::Function: + return "Function"; + case SymbolType::Object: + return "Object"; + case SymbolType::Tls: + return "Tls"; + case SymbolType::NoType: + return "NoType"; + } + } + private: std::vector m_symbols; };