summaryrefslogtreecommitdiff
path: root/view/elf
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2024-04-29 20:25:31 -0400
committerMason Reed <mason@vector35.com>2024-05-03 11:25:32 -0400
commit0be4dd25ffd6b0308053d9b5c34987d1452b01a7 (patch)
tree4e498b3925b318143580f1c1cd40e2df9314c17f /view/elf
parent5010c748879804e7c3433e2453bc4844123d8d9e (diff)
Use LLVM demangler as a fallback for GNU and MS demanglers
Diffstat (limited to 'view/elf')
-rw-r--r--view/elf/elfview.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/view/elf/elfview.cpp b/view/elf/elfview.cpp
index 5d1b5cf2..0609fafa 100644
--- a/view/elf/elfview.cpp
+++ b/view/elf/elfview.cpp
@@ -2370,6 +2370,10 @@ void ElfView::DefineElfSymbol(BNSymbolType type, const string& incomingName, uin
if (!typeRef && m_extractMangledTypes && !GetDefaultPlatform()->GetFunctionByName(rawName))
typeRef = demangledType;
}
+ else if (!m_extractMangledTypes && DemangleLLVM(rawName, varName, m_simplifyTemplates)) {
+ shortName = varName.GetString();
+ fullName = shortName;
+ }
else
{
m_logger->LogDebug("Failed to demangle name: '%s'\n", rawName.c_str());