lkml.org 
[lkml]   [2019]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 14/31] perf unwind: Unwind with libdw doesnt take symfs into account
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit 3d20c6246690219881786de10d2dda93f616d0ac ]

    Path passed to libdw for unwinding doesn't include symfs path
    if specified, so unwinding fails because ELF file is not found.

    Similar to unwinding with libunwind, pass symsrc_filename instead
    of long_name. If there is no symsrc_filename, fallback to long_name.

    Signed-off-by: Martin Vuille <jpmv27@aim.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/r/20180211212420.18388-1-jpmv27@aim.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/perf/util/unwind-libdw.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/tools/perf/util/unwind-libdw.c
    +++ b/tools/perf/util/unwind-libdw.c
    @@ -47,7 +47,7 @@ static int __report_module(struct addr_l

    if (!mod)
    mod = dwfl_report_elf(ui->dwfl, dso->short_name,
    - dso->long_name, -1, al->map->start,
    + (dso->symsrc_filename ? dso->symsrc_filename : dso->long_name), -1, al->map->start,
    false);

    return mod && dwfl_addrmodule(ui->dwfl, ip) == mod ? 0 : -1;

    \
     
     \ /
      Last update: 2019-02-04 12:13    [W:4.866 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site