aboutsummaryrefslogtreecommitdiff
path: root/src/processor/stackwalker.cc
diff options
context:
space:
mode:
authorqsr@chromium.org <qsr@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2011-10-17 13:42:35 +0000
committerqsr@chromium.org <qsr@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2011-10-17 13:42:35 +0000
commit01596d3bc13b5f6aa7fd708ee131579921eba010 (patch)
tree754c8839633db6604992d4c097b8c42c10691482 /src/processor/stackwalker.cc
parent Breakpad implementation for ios. (diff)
downloadbreakpad-01596d3bc13b5f6aa7fd708ee131579921eba010.tar.xz
Use frame pointer to walk ARM stack on iOS.
Review URL: http://breakpad.appspot.com/314001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@869 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/processor/stackwalker.cc')
-rw-r--r--src/processor/stackwalker.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/processor/stackwalker.cc b/src/processor/stackwalker.cc
index 9ddb60ae..2bd333ac 100644
--- a/src/processor/stackwalker.cc
+++ b/src/processor/stackwalker.cc
@@ -44,6 +44,7 @@
#include "google_breakpad/processor/source_line_resolver_interface.h"
#include "google_breakpad/processor/stack_frame.h"
#include "google_breakpad/processor/symbol_supplier.h"
+#include "google_breakpad/processor/system_info.h"
#include "processor/linked_ptr.h"
#include "processor/logging.h"
#include "processor/scoped_ptr.h"
@@ -187,10 +188,13 @@ Stackwalker* Stackwalker::StackwalkerForCPU(
break;
case MD_CONTEXT_ARM:
+ int fp_register = -1;
+ if (system_info->os_short == "ios")
+ fp_register = MD_CONTEXT_ARM_REG_IOS_FP;
cpu_stackwalker = new StackwalkerARM(system_info,
context->GetContextARM(),
- memory, modules, supplier,
- resolver);
+ fp_register, memory, modules,
+ supplier, resolver);
break;
}