diff options
Diffstat (limited to 'src/processor/stackwalker_arm.h')
-rw-r--r-- | src/processor/stackwalker_arm.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/processor/stackwalker_arm.h b/src/processor/stackwalker_arm.h index 830579b2..5390c752 100644 --- a/src/processor/stackwalker_arm.h +++ b/src/processor/stackwalker_arm.h @@ -40,7 +40,6 @@ #ifndef PROCESSOR_STACKWALKER_ARM_H__ #define PROCESSOR_STACKWALKER_ARM_H__ - #include "google_breakpad/common/breakpad_types.h" #include "google_breakpad/common/minidump_format.h" #include "google_breakpad/processor/stackwalker.h" @@ -57,6 +56,7 @@ class StackwalkerARM : public Stackwalker { // to the base Stackwalker constructor. StackwalkerARM(const SystemInfo *system_info, const MDRawContextARM *context, + int fp_register, MemoryRegion *memory, const CodeModules *modules, SymbolSupplier *supplier, @@ -78,8 +78,12 @@ class StackwalkerARM : public Stackwalker { StackFrameARM *GetCallerByCFIFrameInfo(const vector<StackFrame *> &frames, CFIFrameInfo *cfi_frame_info); + // Use the frame pointer. The caller takes ownership of the returned frame. + // Return NULL on failure. + StackFrameARM *GetCallerByFramePointer(const vector<StackFrame *> &frames); + // Scan the stack for plausible return addresses. The caller takes ownership - // of the returned frame. Return NULL on failure. + // 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 @@ -90,6 +94,10 @@ class StackwalkerARM : public Stackwalker { // CONTEXT_VALID_ALL in real use; it is only changeable for the sake of // unit tests. int context_frame_validity_; + + // The register to use a as frame pointer. The value is -1 if frame pointer + // cannot be used. + int fp_register_; }; |