• M
    perf unwind: Use addr_location::addr instead of ip for entries · 67540759
    Milian Wolff 提交于
    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: NNamhyung Kim <namhyung@kernel.org>
    Signed-off-by: NMilian Wolff <milian.wolff@kdab.com>
    Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    LPU-Reference: 20160816153926.11288-1-milian.wolff@kdab.com
    Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    67540759
unwind-libunwind-local.c 16.0 KB