summaryrefslogtreecommitdiff
path: root/view/elf
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2024-11-22 17:38:22 -0500
committerMason Reed <mason@vector35.com>2024-11-22 17:38:22 -0500
commit326fe7b28233934d00ae4089ad5e99261c885bdb (patch)
tree2aec24cb0f4f7ec366e3f4720c18afb8df8f7772 /view/elf
parentc74fa0d5f974efa4ccd569a821701956063a31e9 (diff)
Fix CXXABI postfixed externs being duplicated in ELF
Diffstat (limited to 'view/elf')
-rw-r--r--view/elf/elfview.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/view/elf/elfview.cpp b/view/elf/elfview.cpp
index fb6942e3..78e31ad7 100644
--- a/view/elf/elfview.cpp
+++ b/view/elf/elfview.cpp
@@ -2413,6 +2413,13 @@ void ElfView::DefineElfSymbol(BNSymbolType type, const string& incomingName, uin
name = name.substr(0, pos);
}
+ pos = name.rfind("@CXXABI");
+ if (type == ExternalSymbol && pos != string::npos)
+ {
+ name = name.substr(0, pos);
+ }
+
+
// Deprioritize local label symbol names
if (type == DataSymbol && binding == LocalBinding && !name.empty() && name[0] == '.')
{