Commit 520f2c34 authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Ingo Molnar

perf report: Output more symbol related debug data

Print more symbol relocation related info under -vv.
Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 74d5b588
...@@ -797,7 +797,7 @@ resolve_symbol(struct thread *thread, struct map **mapp, ...@@ -797,7 +797,7 @@ resolve_symbol(struct thread *thread, struct map **mapp,
{ {
struct dso *dso = dsop ? *dsop : NULL; struct dso *dso = dsop ? *dsop : NULL;
struct map *map = mapp ? *mapp : NULL; struct map *map = mapp ? *mapp : NULL;
uint64_t ip = *ipp; u64 ip = *ipp;
if (!thread) if (!thread)
return NULL; return NULL;
...@@ -814,7 +814,6 @@ resolve_symbol(struct thread *thread, struct map **mapp, ...@@ -814,7 +814,6 @@ resolve_symbol(struct thread *thread, struct map **mapp,
*mapp = map; *mapp = map;
got_map: got_map:
ip = map->map_ip(map, ip); ip = map->map_ip(map, ip);
*ipp = ip;
dso = map->dso; dso = map->dso;
} else { } else {
...@@ -828,6 +827,8 @@ got_map: ...@@ -828,6 +827,8 @@ got_map:
dso = kernel_dso; dso = kernel_dso;
} }
dprintf(" ...... dso: %s\n", dso ? dso->name : "<not found>"); dprintf(" ...... dso: %s\n", dso ? dso->name : "<not found>");
dprintf(" ...... map: %Lx -> %Lx\n", *ipp, ip);
*ipp = ip;
if (dsop) if (dsop)
*dsop = dso; *dsop = dso;
......
...@@ -535,6 +535,10 @@ static int dso__load_sym(struct dso *self, int fd, const char *name, ...@@ -535,6 +535,10 @@ static int dso__load_sym(struct dso *self, int fd, const char *name,
gelf_getshdr(sec, &shdr); gelf_getshdr(sec, &shdr);
obj_start = sym.st_value; obj_start = sym.st_value;
if (verbose >= 2)
printf("adjusting symbol: st_value: %Lx sh_addr: %Lx sh_offset: %Lx\n",
(u64)sym.st_value, (u64)shdr.sh_addr, (u64)shdr.sh_offset);
sym.st_value -= shdr.sh_addr - shdr.sh_offset; sym.st_value -= shdr.sh_addr - shdr.sh_offset;
f = symbol__new(sym.st_value, sym.st_size, f = symbol__new(sym.st_value, sym.st_size,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment