| Index: runtime/vm/signal_handler_linux.cc
|
| diff --git a/runtime/vm/signal_handler_linux.cc b/runtime/vm/signal_handler_linux.cc
|
| index d4021cf24928f3a6eaff5b1e520e5f6499ca4f1a..4345dd47ab47954a691f7b3440f83869f478063a 100644
|
| --- a/runtime/vm/signal_handler_linux.cc
|
| +++ b/runtime/vm/signal_handler_linux.cc
|
| @@ -20,6 +20,8 @@ uintptr_t SignalHandler::GetProgramCounter(const mcontext_t& mcontext) {
|
| pc = static_cast<uintptr_t>(mcontext.gregs[REG_EIP]);
|
| #elif defined(TARGET_ARCH_ARM) && defined(USING_SIMULATOR)
|
| pc = static_cast<uintptr_t>(mcontext.gregs[REG_EIP]);
|
| +#elif defined(TARGET_ARCH_ARM)
|
| + pc = static_cast<uintptr_t>(mcontext.arm_pc);
|
| #else
|
| UNIMPLEMENTED();
|
| #endif // TARGET_ARCH_...
|
| @@ -38,6 +40,8 @@ uintptr_t SignalHandler::GetFramePointer(const mcontext_t& mcontext) {
|
| fp = static_cast<uintptr_t>(mcontext.gregs[REG_EBP]);
|
| #elif defined(TARGET_ARCH_ARM) && defined(USING_SIMULATOR)
|
| fp = static_cast<uintptr_t>(mcontext.gregs[REG_EBP]);
|
| +#elif defined(TARGET_ARCH_ARM)
|
| + fp = static_cast<uintptr_t>(mcontext.arm_fp);
|
| #else
|
| UNIMPLEMENTED();
|
| #endif // TARGET_ARCH_...
|
| @@ -57,6 +61,8 @@ uintptr_t SignalHandler::GetStackPointer(const mcontext_t& mcontext) {
|
| sp = static_cast<uintptr_t>(mcontext.gregs[REG_ESP]);
|
| #elif defined(TARGET_ARCH_ARM) && defined(USING_SIMULATOR)
|
| sp = static_cast<uintptr_t>(mcontext.gregs[REG_ESP]);
|
| +#elif defined(TARGET_ARCH_ARM)
|
| + sp = static_cast<uintptr_t>(mcontext.arm_sp);
|
| #else
|
| UNIMPLEMENTED();
|
| #endif // TARGET_ARCH_...
|
|
|