From 4d004365e25251002935fc3843d80934248ad3ed Mon Sep 17 00:00:00 2001 From: Adrian Hunter Date: Tue, 22 May 2018 13:54:34 +0300 Subject: perf machine: Fix map_groups__split_kallsyms() for entry trampoline symbols When kernel symbols are derived from /proc/kallsyms only (not using vmlinux or /proc/kcore) map_groups__split_kallsyms() is used. However that function makes assumptions that are not true with entry trampoline symbols. For now, remove the entry trampoline symbols at that point, as they are no longer needed at that point. Signed-off-by: Adrian Hunter Cc: Alexander Shishkin Cc: Andi Kleen Cc: Andy Lutomirski Cc: Dave Hansen Cc: H. Peter Anvin Cc: Jiri Olsa Cc: Joerg Roedel Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: x86@kernel.org Link: http://lkml.kernel.org/r/1526986485-6562-7-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/map.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tools/perf/util/map.h') diff --git a/tools/perf/util/map.h b/tools/perf/util/map.h index f1afe1ab6ff7..fafcc375ed37 100644 --- a/tools/perf/util/map.h +++ b/tools/perf/util/map.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include "rwsem.h" @@ -239,4 +240,11 @@ static inline bool __map__is_kmodule(const struct map *map) bool map__has_symbols(const struct map *map); +#define ENTRY_TRAMPOLINE_NAME "__entry_SYSCALL_64_trampoline" + +static inline bool is_entry_trampoline(const char *name) +{ + return !strcmp(name, ENTRY_TRAMPOLINE_NAME); +} + #endif /* __PERF_MAP_H */ -- cgit v1.2.3