• He Kuang's avatar
    perf unwind: Introduce 'struct unwind_libunwind_ops' for local unwind · f83c0415
    He Kuang authored
    Currently, libunwind operations are fixed, and they are chosen according
    to the host architecture. This will lead to a problem that if a thread
    is run as x86_32 on a x86_64 machine, perf will use libunwind methods
    for x86_64 to parse the callchain and get wrong results.
    
    This patch changes the fixed methods of libunwind operations to be
    thread/map related, and each thread can have individual libunwind
    operations. Local libunwind methods are registered as default value.
    Signed-off-by: default avatarHe Kuang <hekuang@huawei.com>
    Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Kan Liang <kan.liang@intel.com>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Pekka Enberg <penberg@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/r/1464924803-22214-4-git-send-email-hekuang@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    f83c0415
unwind-libunwind.c 16.7 KB