summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire@kdab.com>2018-02-13 16:20:41 +0100
committerUlf Hermann <ulf.hermann@qt.io>2019-05-03 12:41:45 +0000
commitd25975beeee1fed5d56005b5b77524f8cf22b300 (patch)
tree02343f7345c69369e1f9524c8745a89be55d5a61
parent8db1665ade734265254404eea8a4cc291ca1205d (diff)
Treat [kernel.kallsyms]_text as a special section
This will remove the bogus error message "Could not find ELF file for [kernel.kallsyms]_text". An ELF file for this is not needed, as unwinding in the kernel is treated specially. Fixes KDAB/hotspot#123 Change-Id: I79a31564dd971932aeafaad58715e702b253d600 Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
-rw-r--r--app/perfsymboltable.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/app/perfsymboltable.cpp b/app/perfsymboltable.cpp
index 4c3a037..c2530a9 100644
--- a/app/perfsymboltable.cpp
+++ b/app/perfsymboltable.cpp
@@ -286,8 +286,8 @@ QFileInfo PerfSymbolTable::findFile(const char *path, const QString &fileName,
void PerfSymbolTable::registerElf(const PerfRecordMmap &mmap, const QByteArray &buildId)
{
QString filePath(mmap.filename());
- // special regions, such as [heap], [vdso], [stack], ... as well as //anon
- const bool isSpecialRegion = (filePath.startsWith('[') && filePath.endsWith(']'))
+ // special regions, such as [heap], [vdso], [stack], [kernel.kallsyms]_text ... as well as //anon
+ const bool isSpecialRegion = (filePath.startsWith('[') && filePath.contains(']'))
|| filePath.startsWith(QLatin1String("/dev/"))
|| filePath.startsWith(QLatin1String("/memfd:"))
|| filePath.startsWith(QLatin1String("/SYSV"))