static int alloc_lines = -1;
static int caller_lines = -1;
+static bool raw_ip;
+
static char *cwd;
static int cwdlen;
struct alloc_stat {
union {
- struct {
- char *name;
- u64 call_site;
- };
+ u64 call_site;
u64 ptr;
};
u64 bytes_req;
if (is_caller) {
addr = data->call_site;
- sym = kernel_maps__find_symbol(addr, NULL, NULL);
+ if (!raw_ip)
+ sym = kernel_maps__find_symbol(addr,
+ NULL, NULL);
} else
addr = data->ptr;
if (sym != NULL)
- snprintf(bf, sizeof(bf), "%s/%Lx", sym->name,
+ snprintf(bf, sizeof(bf), "%s+%Lx", sym->name,
addr - sym->start);
else
snprintf(bf, sizeof(bf), "%#Lx", addr);
}
if (n_lines == -1)
- printf(" ... | ... | ... | ... | ... \n");
+ printf(" ... | ... | ... | ... | ... \n");
- printf(" ------------------------------------------------------------------------------\n");
+ printf("%.78s\n", graph_dotted_line);
}
static void print_summary(void)
OPT_CALLBACK('l', "line", NULL, "num",
"show n lins",
parse_line_opt),
+ OPT_BOOLEAN(0, "raw-ip", &raw_ip, "show raw ip instead of symbol"),
OPT_END()
};