aboutsummaryrefslogtreecommitdiff
path: root/src/processor/stackwalker_arm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/processor/stackwalker_arm.h')
-rw-r--r--src/processor/stackwalker_arm.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/processor/stackwalker_arm.h b/src/processor/stackwalker_arm.h
index 3768cc2c..830579b2 100644
--- a/src/processor/stackwalker_arm.h
+++ b/src/processor/stackwalker_arm.h
@@ -69,10 +69,19 @@ class StackwalkerARM : public Stackwalker {
private:
// Implementation of Stackwalker, using arm context and stack conventions.
- // TODO: currently stubbed out, needs CFI symbol dumper support
virtual StackFrame* GetContextFrame();
virtual StackFrame* GetCallerFrame(const CallStack *stack);
+ // Use cfi_frame_info (derived from STACK CFI records) to construct
+ // the frame that called frames.back(). The caller takes ownership
+ // of the returned frame. Return NULL on failure.
+ StackFrameARM *GetCallerByCFIFrameInfo(const vector<StackFrame *> &frames,
+ CFIFrameInfo *cfi_frame_info);
+
+ // Scan the stack for plausible return addresses. The caller takes ownership
+ // of the returned frame. Return NULL on failure.
+ StackFrameARM *GetCallerByStackScan(const vector<StackFrame *> &frames);
+
// Stores the CPU context corresponding to the youngest stack frame, to
// be returned by GetContextFrame.
const MDRawContextARM *context_;