Skip to contentSkip to conversation

perf annotate: Add comment clarifying how the source code line is parsed

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Mar 24, 2017 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  ed7b339fb570749042332169e62541b208fc4296
Gitweb:     http://git.kernel.org/tip/ed7b339fb570749042332169e62541b208fc4296
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Tue, 21 Mar 2017 16:00:50 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
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.

---
 tools/perf/util/annotate.c | 6 ++++++
 1 file changed, 6 insertions(+)
tools/perf/util/annotate.c +6 -0
index 4d325cd..22cd1db 100644
@@ -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;