mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 22:50:41 +00:00
perf report: Output more symbol related debug data
Print more symbol relocation related info under -vv. Signed-off-by: Peter 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: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
74d5b5889e
commit
520f2c346a
@ -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,
|
|||||||
*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:
|
|||||||
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,
|
|||||||
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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user