Re: [PATCH 2/5] perf: unwind: pass symbol source to libunwind

From: Namhyung Kim
Date: Mon Oct 12 2015 - 08:35:34 EST


Hi Jiri,

On Mon, Oct 12, 2015 at 8:24 PM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> On Sun, Sep 27, 2015 at 08:37:56PM +0200, Rabin Vincent wrote:
>> Even if --symfs is used to point to the debug binaries, we send in the
>> non-debug filenames to libunwind, which leads to libunwind not finding
>> the debug frame. Fix this.
>>
>> Signed-off-by: Rabin Vincent <rabin.vincent@xxxxxxxx>
>
> cc-ing Namhyung on this one

It seems that the dso->symsrc_filename can be NULL and it's unsafe to
call dwarf_find_debug_frame() with the NULL pointer. Other than that
looks good to me.

Thanks,
Namhyung


>> ---
>> tools/perf/util/unwind-libunwind.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/util/unwind-libunwind.c b/tools/perf/util/unwind-libunwind.c
>> index ef799dc..b93bf7f 100644
>> --- a/tools/perf/util/unwind-libunwind.c
>> +++ b/tools/perf/util/unwind-libunwind.c
>> @@ -363,7 +363,7 @@ find_proc_info(unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi,
>> dso__data_put_fd(map->dso);
>>
>> memset(&di, 0, sizeof(di));
>> - if (dwarf_find_debug_frame(0, &di, ip, base, map->dso->name,
>> + if (dwarf_find_debug_frame(0, &di, ip, base, map->dso->symsrc_filename,
>> map->start, map->end))
>> return dwarf_search_unwind_table(as, ip, &di, pi,
>> need_unwind_info, arg);
>> --
>> 1.7.10.4
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/



--
Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/