perf annotate: Add comment clarifying how the source code line is parsed
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 21 Mar 2017 19:00:50 +0000 (16:00 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 21 Mar 2017 19:00:50 +0000 (16:00 -0300)
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@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Taeung Song <treeze.taeung@gmail.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-7hpx8f8ybdpiujceysaj229w@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/annotate.c

index 4d325cdcb732c6402a16e95c30f2bc453bddce2c..22cd1dbe724bf7db50c937b215924fd41ce9a99f 100644 (file)
@@ -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;