aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/annotate.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/annotate.c')
-rw-r--r--tools/perf/util/annotate.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 7eac5f0895ee..fa347b169e27 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -689,6 +689,26 @@ static int disasm_line__print(struct disasm_line *dl, struct symbol *sym, u64 st
689 return 0; 689 return 0;
690} 690}
691 691
692/*
693 * symbol__parse_objdump_line() parses objdump output (with -d --no-show-raw)
694 * which looks like following
695 *
696 * 0000000000415500 <_init>:
697 * 415500: sub $0x8,%rsp
698 * 415504: mov 0x2f5ad5(%rip),%rax # 70afe0 <_DYNAMIC+0x2f8>
699 * 41550b: test %rax,%rax
700 * 41550e: je 415515 <_init+0x15>
701 * 415510: callq 416e70 <__gmon_start__@plt>
702 * 415515: add $0x8,%rsp
703 * 415519: retq
704 *
705 * it will be parsed and saved into struct disasm_line as
706 * <offset> <name> <ops.raw>
707 *
708 * The offset will be a relative offset from the start of the symbol and -1
709 * means that it's not a disassembly line so should be treated differently.
710 * The ops.raw part will be parsed further according to type of the instruction.
711 */
692static int symbol__parse_objdump_line(struct symbol *sym, struct map *map, 712static int symbol__parse_objdump_line(struct symbol *sym, struct map *map,
693 FILE *file, size_t privsize) 713 FILE *file, size_t privsize)
694{ 714{