aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/builtin-top.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 731ec6d79c1c..0506cd6e04cc 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -293,6 +293,8 @@ char *skip_symbols[] = {
293 "enter_idle", 293 "enter_idle",
294 "exit_idle", 294 "exit_idle",
295 "mwait_idle", 295 "mwait_idle",
296 "ppc64_runlatch_off",
297 "pseries_dedicated_idle_sleep",
296 NULL 298 NULL
297}; 299};
298 300
@@ -303,6 +305,13 @@ static int symbol_filter(struct dso *self, struct symbol *sym)
303 const char *name = sym->name; 305 const char *name = sym->name;
304 int i; 306 int i;
305 307
308 /*
309 * ppc64 uses function descriptors and appends a '.' to the
310 * start of every instruction address. Remove it.
311 */
312 if (name[0] == '.')
313 name++;
314
306 if (!strcmp(name, "_text") || 315 if (!strcmp(name, "_text") ||
307 !strcmp(name, "_etext") || 316 !strcmp(name, "_etext") ||
308 !strcmp(name, "_sinittext") || 317 !strcmp(name, "_sinittext") ||