summaryrefslogtreecommitdiff
path: root/view/elf/elfview.cpp
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2024-04-24 13:20:11 -0400
committerJosh Ferrell <josh@vector35.com>2024-04-24 13:20:11 -0400
commitfd4f45273ace0a0bf45c087c01f0b3b498bce71f (patch)
treedd547f1d5b75196f39f979e344f45273a3c5af57 /view/elf/elfview.cpp
parent859bd3e53b39c207eb90fecbc11a4cba188aedb3 (diff)
Do not define symbols from mapping symbols
Diffstat (limited to 'view/elf/elfview.cpp')
-rw-r--r--view/elf/elfview.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/view/elf/elfview.cpp b/view/elf/elfview.cpp
index 84ca68f5..96f741b0 100644
--- a/view/elf/elfview.cpp
+++ b/view/elf/elfview.cpp
@@ -1283,6 +1283,9 @@ bool ElfView::Init()
// handle long form symbols
if (auto pos = entryName.find(".", 2); (pos != std::string::npos))
{
+ // These mapping symbols do not define actual names
+ if (entryName[0] == '$' && (entryName[1] == 'x' || entryName[1] == 'a' || entryName[1] == 'd'))
+ continue;
entryName = entryName.substr(pos + 1);
if (entryName.size())
DefineElfSymbol(isMappingFunctionSymbol ? FunctionSymbol : DataSymbol, entryName, entry->value, false, entry->binding, entry->size);