Index: files/patch-debughelper.cpp =================================================================== --- files/patch-debughelper.cpp (revision 384138) +++ files/patch-debughelper.cpp (working copy) @@ -8,7 +8,7 @@ #include "unistd.h" #include "sys/wait.h" #define SAFE_INT volatile sig_atomic_t -@@ -473,13 +474,25 @@ void print_backtrace(const QString& mess +@@ -473,23 +474,35 @@ void print_backtrace(const QString& mess #define USE_SIGNAL_HANDLER #ifdef CPU_IS_X86_64 @@ -40,3 +40,17 @@ #elif defined(CPU_IS_PPC) #define PC_FROM_UCONTEXT(context) (context)->uc_mcontext.gp_regs[32] #define STACK_FROM_UCONTEXT(context) (context)->uc_mcontext.gp_regs[1] + #define FRAME_FROM_UCONTEXT(context) (context)->uc_mcontext.gp_regs[31] //not always used + #define RETURNTO_FROM_UCONTEXT(context) (context)->uc_mcontext.gp_regs[34] + #elif defined(CPU_IS_ARM) +-#define PC_FROM_UCONTEXT(context) (context)->uc_mcontext.arm_pc +-#define STACK_FROM_UCONTEXT(context) (context)->uc_mcontext.arm_sp +-#define FRAME_FROM_UCONTEXT(context) (context)->uc_mcontext.arm_fp +-#define RETURNTO_FROM_UCONTEXT(context) (context)->uc_mcontext.arm_lr ++#define PC_FROM_UCONTEXT(context) (context)->uc_mcontext.__gregs[_REG_R15] ++#define STACK_FROM_UCONTEXT(context) (context)->uc_mcontext.__gregs[_REG_R13] ++#define FRAME_FROM_UCONTEXT(context) (context)->uc_mcontext.__gregs[_REG_R11] ++#define RETURNTO_FROM_UCONTEXT(context) (context)->uc_mcontext.__gregs[_REG_R14] + #elif defined(CPU_IS_IA64) + #define PC_FROM_UCONTEXT(context) (context)->_u._mc.sc_ip + #define STACK_FROM_UCONTEXT(context) (context)->_u._mc.sc_gr[12] //is that register 12?