summaryrefslogtreecommitdiff
path: root/Kernel/Thread.cpp
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-11-29 14:55:07 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-11-29 14:59:15 +0100
commitf75a6b9daa7e16e758b43ca44b49eb529b7859e1 (patch)
tree1609d34e4054f84f5b3dc98fde9e29b0c338a039 /Kernel/Thread.cpp
parent422e5166f2f8872f21b62f9bbf378cdd9fddce5f (diff)
downloadserenity-f75a6b9daa7e16e758b43ca44b49eb529b7859e1.zip
Kernel: Demangle kernel C++ symbols correctly again
I broke this while implementing module linking. Also move the actual demangling work to AK, in AK::demangle(const char*)
Diffstat (limited to 'Kernel/Thread.cpp')
-rw-r--r--Kernel/Thread.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/Kernel/Thread.cpp b/Kernel/Thread.cpp
index 84bf19188a..b792e2e97e 100644
--- a/Kernel/Thread.cpp
+++ b/Kernel/Thread.cpp
@@ -1,3 +1,4 @@
+#include <AK/Demangle.h>
#include <AK/StringBuilder.h>
#include <Kernel/FileSystem/FileDescription.h>
#include <Kernel/Process.h>
@@ -682,7 +683,7 @@ String Thread::backtrace_impl() const
if (symbol.ksym->address == ksym_highest_address && offset > 4096)
builder.appendf("%p\n", symbol.address);
else
- builder.appendf("%p %s +%u\n", symbol.address, symbol.ksym->name, offset);
+ builder.appendf("%p %s +%u\n", symbol.address, demangle(symbol.ksym->name).characters(), offset);
}
return builder.to_string();
}