Commit-ID: 5dafea097ac65bd01cc86801c399ae41dce79756 Gitweb: http://git.kernel.org/tip/5dafea097ac65bd01cc86801c399ae41dce79756 Author: He Kuang <heku...@huawei.com> AuthorDate: Wed, 22 Jun 2016 06:57:03 +0000 Committer: Arnaldo Carvalho de Melo <a...@redhat.com> CommitDate: Thu, 23 Jun 2016 10:30:21 -0300
perf unwind: Fix wrongly used regs for x86_32 unwind By default, "unwind-libunwind-local.c" gets SP/IP register number according to the host platform, for remote unwind, we should use register number for target platform. Fix this by define LIBUNWIND_ARCH_REG_SP/IP in the wrapper file of x86_32 platform. Signed-off-by: He Kuang <heku...@huawei.com> Acked-by: Jiri Olsa <jo...@kernel.org> Cc: Adrian Hunter <adrian.hun...@intel.com> Cc: Alexander Shishkin <alexander.shish...@linux.intel.com> Cc: Andi Kleen <a...@linux.intel.com> Cc: David Ahern <dsah...@gmail.com> Cc: Ekaterina Tumanova <tuman...@linux.vnet.ibm.com> Cc: Josh Poimboeuf <jpoim...@redhat.com> Cc: Kan Liang <kan.li...@intel.com> Cc: Masami Hiramatsu <mhira...@kernel.org> Cc: Namhyung Kim <namhy...@kernel.org> Cc: Pekka Enberg <penb...@kernel.org> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Stephane Eranian <eran...@google.com> Cc: Sukadev Bhattiprolu <suka...@linux.vnet.ibm.com> Cc: Wang Nan <wangn...@huawei.com> Link: http://lkml.kernel.org/r/1466578626-92406-3-git-send-email-heku...@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <a...@redhat.com> --- tools/perf/util/libunwind/x86_32.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/perf/util/libunwind/x86_32.c b/tools/perf/util/libunwind/x86_32.c index d98c17e..957ffff 100644 --- a/tools/perf/util/libunwind/x86_32.c +++ b/tools/perf/util/libunwind/x86_32.c @@ -12,7 +12,13 @@ */ #define REMOTE_UNWIND_LIBUNWIND + +/* Define arch specific functions & regs for libunwind, should be + * defined before including "unwind.h" + */ #define LIBUNWIND__ARCH_REG_ID(regnum) libunwind__x86_reg_id(regnum) +#define LIBUNWIND__ARCH_REG_IP PERF_REG_X86_IP +#define LIBUNWIND__ARCH_REG_SP PERF_REG_X86_SP #include "unwind.h" #include "debug.h"