From: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Fri, 20 Nov 2009 22:51:29 +0000 (-0200)
Subject: perf symbols: Change the kernel DSO name if it comes from kallsyms
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ef6ae724253429ac70d81e65d052f6a346d330bd;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git

perf symbols: Change the kernel DSO name if it comes from kallsyms

So that the user have a clearer indication about the source of
the symbols, as we only state buildid mismatches in verbose
mode, because 'perf top' would overwrite such warning anyway.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1258757489-5978-6-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---

diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 9cf6dbcd158c..48f87f065a2e 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -108,6 +108,8 @@ static size_t symbol__fprintf(struct symbol *self, FILE *fp)
 
 static void dso__set_long_name(struct dso *self, char *name)
 {
+	if (name == NULL)
+		return;
 	self->long_name = name;
 	self->long_name_len = strlen(name);
 }
@@ -1377,8 +1379,11 @@ static int dso__load_kernel_sym(struct dso *self, struct map *map,
 {
 	int err = dso__load_vmlinux(self, map, self->name, filter);
 
-	if (err <= 0)
+	if (err <= 0) {
 		err = kernel_maps__load_kallsyms(filter);
+		if (err > 0)
+                        dso__set_long_name(self, strdup("[kernel.kallsyms]"));
+	}
 
 	if (err > 0) {
 		map__fixup_start(map);