Merge tag 'pinctrl-v3.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[cascardo/linux.git] / tools / perf / ui / stdio / hist.c
index 15b451a..dfcbc90 100644 (file)
@@ -41,6 +41,7 @@ static size_t ipchain__fprintf_graph(FILE *fp, struct callchain_list *chain,
 {
        int i;
        size_t ret = 0;
+       char bf[1024];
 
        ret += callchain__fprintf_left_margin(fp, left_margin);
        for (i = 0; i < depth; i++) {
@@ -56,11 +57,8 @@ static size_t ipchain__fprintf_graph(FILE *fp, struct callchain_list *chain,
                } else
                        ret += fprintf(fp, "%s", "          ");
        }
-       if (chain->ms.sym)
-               ret += fprintf(fp, "%s\n", chain->ms.sym->name);
-       else
-               ret += fprintf(fp, "0x%0" PRIx64 "\n", chain->ip);
-
+       fputs(callchain_list__sym_name(chain, bf, sizeof(bf), false), fp);
+       fputc('\n', fp);
        return ret;
 }
 
@@ -168,6 +166,7 @@ static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root,
        struct rb_node *node;
        int i = 0;
        int ret = 0;
+       char bf[1024];
 
        /*
         * If have one single callchain root, don't bother printing
@@ -196,10 +195,8 @@ static size_t callchain__fprintf_graph(FILE *fp, struct rb_root *root,
                        } else
                                ret += callchain__fprintf_left_margin(fp, left_margin);
 
-                       if (chain->ms.sym)
-                               ret += fprintf(fp, " %s\n", chain->ms.sym->name);
-                       else
-                               ret += fprintf(fp, " %p\n", (void *)(long)chain->ip);
+                       ret += fprintf(fp, "%s\n", callchain_list__sym_name(chain, bf, sizeof(bf),
+                                                       false));
 
                        if (++entries_printed == callchain_param.print_limit)
                                break;
@@ -219,6 +216,7 @@ static size_t __callchain__fprintf_flat(FILE *fp, struct callchain_node *node,
 {
        struct callchain_list *chain;
        size_t ret = 0;
+       char bf[1024];
 
        if (!node)
                return 0;
@@ -229,11 +227,8 @@ static size_t __callchain__fprintf_flat(FILE *fp, struct callchain_node *node,
        list_for_each_entry(chain, &node->val, list) {
                if (chain->ip >= PERF_CONTEXT_MAX)
                        continue;
-               if (chain->ms.sym)
-                       ret += fprintf(fp, "                %s\n", chain->ms.sym->name);
-               else
-                       ret += fprintf(fp, "                %p\n",
-                                       (void *)(long)chain->ip);
+               ret += fprintf(fp, "                %s\n", callchain_list__sym_name(chain,
+                                       bf, sizeof(bf), false));
        }
 
        return ret;