[<prev] [next>] [day] [month] [year] [list]
Message-ID: <tip-7hpx8f8ybdpiujceysaj229w@git.kernel.org>
Date: Fri, 24 Mar 2017 11:46:26 -0700
From: tip-bot for Arnaldo Carvalho de Melo <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: acme@...hat.com, jolsa@...nel.org, mingo@...nel.org,
namhyung@...nel.org, hpa@...or.com, tglx@...utronix.de,
linux-kernel@...r.kernel.org, wangnan0@...wei.com,
adrian.hunter@...el.com, treeze.taeung@...il.com, dsahern@...il.com
Subject: [tip:perf/core] perf annotate: Add comment clarifying how the
source code line is parsed
Commit-ID: ed7b339fb570749042332169e62541b208fc4296
Gitweb: http://git.kernel.org/tip/ed7b339fb570749042332169e62541b208fc4296
Author: Arnaldo Carvalho de Melo <acme@...hat.com>
AuthorDate: Tue, 21 Mar 2017 16:00:50 -0300
Committer: Arnaldo Carvalho de Melo <acme@...hat.com>
CommitDate: Tue, 21 Mar 2017 16:00:50 -0300
perf annotate: Add comment clarifying how the source code line is parsed
The source code line number (lineno) needs to be kept in accross calls
to symbol__parse_objdump_line() when parsing the output of 'objdump -l
-dS', so that it can associate it with the instructions till the next
line.
See disasm_line__new() and struct disasm_line::line_nr.
Cc: Adrian Hunter <adrian.hunter@...el.com>
Cc: David Ahern <dsahern@...il.com>
Cc: Jiri Olsa <jolsa@...nel.org>
Cc: Namhyung Kim <namhyung@...nel.org>
Cc: Taeung Song <treeze.taeung@...il.com>
Cc: Wang Nan <wangnan0@...wei.com>
Link: http://lkml.kernel.org/n/tip-7hpx8f8ybdpiujceysaj229w@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@...hat.com>
---
tools/perf/util/annotate.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 4d325cd..22cd1db 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1482,6 +1482,12 @@ int symbol__disassemble(struct symbol *sym, struct map *map, const char *arch_na
nline = 0;
while (!feof(file)) {
+ /*
+ * The source code line number (lineno) needs to be kept in
+ * accross calls to symbol__parse_objdump_line(), so that it
+ * can associate it with the instructions till the next one.
+ * See disasm_line__new() and struct disasm_line::line_nr.
+ */
if (symbol__parse_objdump_line(sym, map, arch, file, privsize,
&lineno) < 0)
break;
Powered by blists - more mailing lists