summaryrefslogtreecommitdiff
path: root/simpleperf/kallsyms_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simpleperf/kallsyms_test.cpp')
-rw-r--r--simpleperf/kallsyms_test.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/simpleperf/kallsyms_test.cpp b/simpleperf/kallsyms_test.cpp
index d45aeaa6..cacd1634 100644
--- a/simpleperf/kallsyms_test.cpp
+++ b/simpleperf/kallsyms_test.cpp
@@ -64,6 +64,25 @@ TEST(kallsyms, ProcessKernelSymbols) {
data, std::bind(&KernelSymbolsMatch, std::placeholders::_1, expected_symbol)));
}
+TEST(kallsyms, ProcessKernelSymbols_ignore_arm_mapping_symbols) {
+ std::string data =
+ "aaaaaaaaaaaaaaaa t $x.9 [coresight_etm4x]\n"
+ "bbbbbbbbbbbbbbbb t etm4_pm_clear [coresight_etm4x]\n";
+ bool has_normal_symbol = false;
+ bool has_arm_mapping_symbol = false;
+ auto callback = [&](const KernelSymbol& sym) {
+ if (strcmp(sym.name, "etm4_pm_clear") == 0) {
+ has_normal_symbol = true;
+ } else {
+ has_arm_mapping_symbol = true;
+ }
+ return false;
+ };
+ ProcessKernelSymbols(data, callback);
+ ASSERT_TRUE(has_normal_symbol);
+ ASSERT_FALSE(has_arm_mapping_symbol);
+}
+
#if defined(__ANDROID__)
TEST(kallsyms, GetKernelStartAddress) {
TEST_REQUIRE_ROOT();