Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -797,7 +797,7 @@ resolve_symbol(struct thread *thread, struct map **mapp,
{
	struct dso *dso = dsop ? *dsop : NULL;
	struct map *map = mapp ? *mapp : NULL;
	uint64_t ip = *ipp;
	u64 ip = *ipp;

	if (!thread)
		return NULL;
@@ -814,7 +814,6 @@ resolve_symbol(struct thread *thread, struct map **mapp,
			*mapp = map;
got_map:
		ip = map->map_ip(map, ip);
		*ipp  = ip;

		dso = map->dso;
	} else {
@@ -828,6 +827,8 @@ resolve_symbol(struct thread *thread, struct map **mapp,
		dso = kernel_dso;
	}
	dprintf(" ...... dso: %s\n", dso ? dso->name : "<not found>");
	dprintf(" ...... map: %Lx -> %Lx\n", *ipp, ip);
	*ipp  = ip;

	if (dsop)
		*dsop = dso;
+4 −0
Original line number Diff line number Diff line
@@ -535,6 +535,10 @@ static int dso__load_sym(struct dso *self, int fd, const char *name,
		gelf_getshdr(sec, &shdr);
		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;

		f = symbol__new(sym.st_value, sym.st_size,