[<prev] [next>] [day] [month] [year] [list]
Message-ID: <tip-d13c8eeb02770648dbd9097eb0ebeff70b2939be@git.kernel.org>
Date: Mon, 22 Jun 2009 15:00:39 GMT
From: tip-bot for Peter Zijlstra <peterz@...radead.org>
To: linux-tip-commits@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, acme@...hat.com, paulus@...ba.org,
hpa@...or.com, mingo@...hat.com, efault@....de,
peterz@...radead.org, tglx@...utronix.de, mingo@...e.hu
Subject: [tip:perfcounters/urgent] perf report: Output more symbol related debug data
Commit-ID: d13c8eeb02770648dbd9097eb0ebeff70b2939be
Gitweb: http://git.kernel.org/tip/d13c8eeb02770648dbd9097eb0ebeff70b2939be
Author: Peter Zijlstra <peterz@...radead.org>
AuthorDate: Mon, 22 Jun 2009 16:52:51 +0200
Committer: Ingo Molnar <mingo@...e.hu>
CommitDate: Mon, 22 Jun 2009 16:59:32 +0200
perf report: Output more symbol related debug data
Print more symbol relocation related info under -vv.
Signed-off-by: Peter Zijlstra <peterz@...radead.org>
Cc: Mike Galbraith <efault@....de>
Cc: Paul Mackerras <paulus@...ba.org>
Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
tools/perf/builtin-report.c | 3 ++-
tools/perf/util/symbol.c | 4 ++++
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 5eb5566..ae8fe37 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -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 @@ got_map:
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;
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 01b62fa..9c659ef 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -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,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists