[PATCH 6/6] perf symbols: Change the kernel DSO name if it comes from kallsyms

From: Arnaldo Carvalho de Melo
Date: Fri Nov 20 2009 - 17:51:52 EST


From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

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.

Cc: FrÃdÃric Weisbecker <fweisbec@xxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
---
tools/perf/util/symbol.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 9cf6dbc..48f87f0 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);
--
1.6.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/