perf unwind: Use addr_location::addr instead of ip for entries
This fixes the srcline translation for call chains of user space
applications.
Before we got:
perf report --stdio --no-children -s sym,srcline -g address
8.92% [.] main mandelbrot.h:41
|
|--3.70%--main +
8390240
| __libc_start_main +
139950056726769
| _start +
8388650
|
|--2.74%--main +
8390189
|
--2.08%--main +
8390296
__libc_start_main +
139950056726769
_start +
8388650
7.59% [.] main complex:1326
|
|--4.79%--main +
8390203
| __libc_start_main +
139950056726769
| _start +
8388650
|
--2.80%--main +
8390219
7.12% [.] __muldc3 libgcc2.c:1945
|
|--3.76%--__muldc3 +
139950060519490
| main +
8390224
| __libc_start_main +
139950056726769
| _start +
8388650
|
--3.32%--__muldc3 +
139950060519512
main +
8390224
With this patch applied, we instead get:
perf report --stdio --no-children -s sym,srcline -g address
8.92% [.] main mandelbrot.h:41
|
|--3.70%--main mandelbrot.h:41
| __libc_start_main +241
| _start +
4194346
|
|--2.74%--main mandelbrot.h:41
|
--2.08%--main mandelbrot.h:41
__libc_start_main +241
_start +
4194346
7.59% [.] main complex:1326
|
|--4.79%--main complex:1326
| __libc_start_main +241
| _start +
4194346
|
--2.80%--main complex:1326
7.12% [.] __muldc3 libgcc2.c:1945
|
|--3.76%--__muldc3 libgcc2.c:1945
| main mandelbrot.h:39
| __libc_start_main +241
| _start +
4194346
|
--3.32%--__muldc3 libgcc2.c:1945
main mandelbrot.h:39
Suggested-and-Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Milian Wolff <milian.wolff@kdab.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
LPU-Reference:
20160816153926.11288-1-milian.wolff@kdab.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>