summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/Symbols.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lld/ELF/Symbols.cpp b/lld/ELF/Symbols.cpp
index f7ef342edcc..1c5cae1b16f 100644
--- a/lld/ELF/Symbols.cpp
+++ b/lld/ELF/Symbols.cpp
@@ -145,6 +145,11 @@ std::string elf2::demangle(StringRef Name) {
#else
if (!Config->Demangle)
return Name;
+
+ // Return if it does not look like a C++ symbol.
+ if (!Name.startswith("_Z"))
+ return Name;
+
char *Buf =
abi::__cxa_demangle(Name.str().c_str(), nullptr, nullptr, nullptr);
if (!Buf)
OpenPOWER on IntegriCloud