diff options
author | qsr@chromium.org <qsr@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2011-10-17 13:42:35 +0000 |
---|---|---|
committer | qsr@chromium.org <qsr@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2011-10-17 13:42:35 +0000 |
commit | 01596d3bc13b5f6aa7fd708ee131579921eba010 (patch) | |
tree | 754c8839633db6604992d4c097b8c42c10691482 /src/processor/stackwalker.cc | |
parent | Breakpad implementation for ios. (diff) | |
download | breakpad-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.cc | 8 |
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; } |