diff options
| author | Mason Reed <mason@vector35.com> | 2024-11-22 17:38:22 -0500 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2024-11-22 17:38:22 -0500 |
| commit | 326fe7b28233934d00ae4089ad5e99261c885bdb (patch) | |
| tree | 2aec24cb0f4f7ec366e3f4720c18afb8df8f7772 /view/elf | |
| parent | c74fa0d5f974efa4ccd569a821701956063a31e9 (diff) | |
Fix CXXABI postfixed externs being duplicated in ELF
Diffstat (limited to 'view/elf')
| -rw-r--r-- | view/elf/elfview.cpp | 7 |
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] == '.') { |
