diff options
Diffstat (limited to 'src/processor/stackwalker_arm.cc')
-rw-r--r-- | src/processor/stackwalker_arm.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/processor/stackwalker_arm.cc b/src/processor/stackwalker_arm.cc index b114fa17..e4fc5869 100644 --- a/src/processor/stackwalker_arm.cc +++ b/src/processor/stackwalker_arm.cc @@ -237,7 +237,8 @@ StackFrameARM* StackwalkerARM::GetCallerByFramePointer( return frame; } -StackFrame* StackwalkerARM::GetCallerFrame(const CallStack* stack) { +StackFrame* StackwalkerARM::GetCallerFrame(const CallStack* stack, + bool stack_scan_allowed) { if (!memory_ || !stack) { BPLOG(ERROR) << "Can't get caller frame without memory or stack"; return NULL; @@ -259,7 +260,7 @@ StackFrame* StackwalkerARM::GetCallerFrame(const CallStack* stack) { frame.reset(GetCallerByFramePointer(frames)); // If everuthing failed, fall back to stack scanning. - if (!frame.get()) + if (stack_scan_allowed && !frame.get()) frame.reset(GetCallerByStackScan(frames)); // If nothing worked, tell the caller. |