Messages in this thread Patch in this message | | | From | He Kuang <> | Subject | [PATCH 2/3] perf unwind: Fix wrongly used regs for x86_32 unwind | Date | Wed, 8 Jun 2016 10:15:37 +0000 |
| |
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 <hekuang@huawei.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" -- 1.8.5.2
| |