lkml.org 
[lkml]   [2017]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 14/15] perf symbols: Keep DSO->symtab_type after decompress
    Date
    From: Namhyung Kim <namhyung@kernel.org>

    The symsrc__init() overwrites dso->symtab_type as symsrc->type in
    dso__load_sym(). But for compressed kernel modules in the build-id
    cache, it should have original symtab type to be decompressed as needed.

    This fixes perf annotate to show disassembly of the function properly.

    Signed-off-by: Namhyung Kim <namhyung@kernel.org>
    Acked-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Wang Nan <wangnan0@huawei.com>
    Cc: kernel-team@lge.com
    Link: http://lkml.kernel.org/r/20170608073109.30699-9-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/util/symbol-elf.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
    index d342e771dbad..502505cf236a 100644
    --- a/tools/perf/util/symbol-elf.c
    +++ b/tools/perf/util/symbol-elf.c
    @@ -671,6 +671,8 @@ int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name,
    fd = dso__decompress_kmodule_fd(dso, name);
    if (fd < 0)
    return -1;
    +
    + type = dso->symtab_type;
    } else {
    fd = open(name, O_RDONLY);
    if (fd < 0) {
    --
    2.9.4
    \
     
     \ /
      Last update: 2017-06-12 01:36    [W:3.677 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site