0
0
mirror of https://mirrors.bfsu.edu.cn/git/linux.git synced 2024-12-23 02:54:32 +08:00
linux/tools/perf/ui
Andi Kleen e592488c01 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>
2014-11-19 12:33:48 -03:00
..
browsers perf annotate: Support source line numbers in annotate 2014-11-19 12:33:48 -03:00
gtk perf callchain: Use a common function to resolve symbol or name 2014-11-19 12:33:47 -03:00
stdio perf callchain: Use a common function to resolve symbol or name 2014-11-19 12:33:47 -03:00
tui perf ui/tui: Protect windows by ui__lock 2013-12-26 11:22:01 -03:00
browser.c perf ui browser: Allow overriding refresh_dimensions method 2014-07-07 12:36:54 -03:00
browser.h perf ui browser: Allow overriding refresh_dimensions method 2014-07-07 12:36:54 -03:00
helpline.c perf ui/helpline: Introduce ui_helpline__vshow() 2012-12-09 08:46:04 -03:00
helpline.h perf ui/helpline: Introduce ui_helpline__vshow() 2012-12-09 08:46:04 -03:00
hist.c perf tools: Add +field argument support for --field option 2014-08-24 08:11:19 -03:00
keysyms.h perf hists browser: Add option for runtime switching perf data file 2013-02-06 18:09:24 -03:00
libslang.h perf tools: Move UI bits to tools/perf/ui directory 2012-04-11 17:16:40 -03:00
progress.c perf ui progress: Per progress bar state 2013-10-23 15:40:38 -03:00
progress.h tools: Consolidate types.h 2014-05-01 21:22:39 +02:00
setup.c perf tools: Call perf_hpp__init() before setting up GUI browsers 2014-05-21 11:45:35 +02:00
ui.h perf tools: Separate out GTK codes to libperf-gtk.so 2013-10-09 15:55:25 -03:00
util.c perf evsel: Introduce perf_evsel__open_strerror method 2013-01-24 16:40:09 -03:00
util.h perf ui: Introduce struct perf_error_ops 2012-06-19 13:06:18 -03:00