perf callchains: Store the map together with the symbol

We need this to know where a symbol in a callchain came from,
for various reasons, among them precise annotation from a
TUI/GUI tool.

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: <1269459619-982-5-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Arnaldo Carvalho de Melo
2010-03-24 16:40:18 -03:00
committed by Ingo Molnar
parent 59fd53062f
commit b3c9ac0846
7 changed files with 36 additions and 35 deletions

View File

@@ -104,8 +104,8 @@ static void newt_checkbox_tree__add(newtComponent tree, const char *str,
static char *callchain_list__sym_name(struct callchain_list *self,
char *bf, size_t bfsize)
{
if (self->sym)
return self->sym->name;
if (self->ms.sym)
return self->ms.sym->name;
snprintf(bf, bfsize, "%#Lx", self->ip);
return bf;
@@ -157,7 +157,7 @@ static void __callchain__append_graph_browser(struct callchain_node *self,
indexes[depth + 2] = NEWT_ARG_LAST;
++chain_idx;
}
newt_checkbox_tree__add(tree, str, chain->sym, indexes);
newt_checkbox_tree__add(tree, str, chain->ms.sym, indexes);
free(alloc_str);
++printed;
}
@@ -193,7 +193,7 @@ static void callchain__append_graph_browser(struct callchain_node *self,
continue;
str = callchain_list__sym_name(chain, ipstr, sizeof(ipstr));
newt_checkbox_tree__add(tree, str, chain->sym, indexes);
newt_checkbox_tree__add(tree, str, chain->ms.sym, indexes);
}
indexes[1] = parent_idx;