aboutsummaryrefslogtreecommitdiff
path: root/src/google_breakpad/processor/stack_frame_cpu.h
diff options
context:
space:
mode:
authorjimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e>2013-01-22 22:38:41 +0000
committerjimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e>2013-01-22 22:38:41 +0000
commitbe81ededf84628cca376bd79d7fb097f42da2709 (patch)
tree568c297b900469034f55590f058d8daec9229167 /src/google_breakpad/processor/stack_frame_cpu.h
parentFix remaining processor/scoped_ptr.h references for reals. (diff)
downloadbreakpad-be81ededf84628cca376bd79d7fb097f42da2709.tar.xz
Print the correct return address, even on architectures where StackFrame::instruction is offset.
a=bruce.dawson, r=jimblandy git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1105 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/google_breakpad/processor/stack_frame_cpu.h')
-rw-r--r--src/google_breakpad/processor/stack_frame_cpu.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/google_breakpad/processor/stack_frame_cpu.h b/src/google_breakpad/processor/stack_frame_cpu.h
index 90328760..34171f37 100644
--- a/src/google_breakpad/processor/stack_frame_cpu.h
+++ b/src/google_breakpad/processor/stack_frame_cpu.h
@@ -77,6 +77,9 @@ struct StackFrameX86 : public StackFrame {
cfi_frame_info(NULL) {}
~StackFrameX86();
+ // Overriden to return the return address as saved on the stack.
+ virtual u_int64_t ReturnAddress() const;
+
// Register state. This is only fully valid for the topmost frame in a
// stack. In other frames, the values of nonvolatile registers may be
// present, given sufficient debugging information. Refer to
@@ -147,6 +150,9 @@ struct StackFrameAMD64 : public StackFrame {
StackFrameAMD64() : context(), context_validity(CONTEXT_VALID_NONE) {}
+ // Overriden to return the return address as saved on the stack.
+ virtual u_int64_t ReturnAddress() const;
+
// Register state. This is only fully valid for the topmost frame in a
// stack. In other frames, which registers are present depends on what
// debugging information we had available. Refer to context_validity.