]> git.baikalelectronics.ru Git - kernel.git/commit
perf annotate: Support source line numbers in annotate
authorAndi Kleen <ak@linux.intel.com>
Thu, 13 Nov 2014 02:05:26 +0000 (18:05 -0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 19 Nov 2014 15:33:48 +0000 (12:33 -0300)
commit5a846bdd18d18adc90fcf01a76f334789d236ab6
tree5d835af0655251082dbca113e98e5df1cd0e413f
parentf7c2d98d75f5289cee1ca193c547224c2f1e9b0e
perf annotate: Support source line numbers in annotate

With srcline key/sort'ing it's useful to have line numbers in the
annotate window. This patch implements this.

Use objdump -l to request the line numbers and save them in the line
structure. Then the browser displays them for source lines.

The line numbers are not displayed by default, but can be toggled on
with 'k'

There is one unfortunate problem with this setup. For lines not
containing source and which are outside functions objdump -l reports
line numbers off by a few: it always reports the first line number in
the next function even for lines that are outside the function.

I haven't found a nice way to detect/correct this. Probably objdump has
to be fixed.

See https://sourceware.org/bugzilla/show_bug.cgi?id=16433

The line numbers are still useful even with these problems, as most are
correct and the ones which are not are nearby.

v2: Fix help text. Handle (discriminator...) output in objdump.
Left align the line numbers.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1415844328-4884-9-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/ui/browsers/annotate.c
tools/perf/util/annotate.c
tools/perf/util/annotate.h