aboutsummaryrefslogtreecommitdiff
path: root/src/client/ios/handler/ios_exception_minidump_generator.h
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2013-11-21 17:44:57 +0000
committermark@chromium.org <mark@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2013-11-21 17:44:57 +0000
commit77022ac0df3e079fb0abea05033b0239d12a4e72 (patch)
tree6f7207ff153e8306c441fa0cdb18b728ef971fe5 /src/client/ios/handler/ios_exception_minidump_generator.h
parentProvide BreakpadGetCrashReportCount() and -[BreakpadController (diff)
downloadbreakpad-77022ac0df3e079fb0abea05033b0239d12a4e72.tar.xz
Generate minidumps for 64-bit ARM apps on iOS.
Adds an ARM64-specific definition of MDRawContext and support for writing out a minidump when running on ARM64. Additionally, extends the iOS minidump generator for NSExceptions to work on ARM64 as well as ARM. Patch by Colin Blundell <blundell@chromium.org> BUG=542 Review URL: https://breakpad.appspot.com/664002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1235 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/ios/handler/ios_exception_minidump_generator.h')
-rw-r--r--src/client/ios/handler/ios_exception_minidump_generator.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/client/ios/handler/ios_exception_minidump_generator.h b/src/client/ios/handler/ios_exception_minidump_generator.h
index fd2f0149..21133e63 100644
--- a/src/client/ios/handler/ios_exception_minidump_generator.h
+++ b/src/client/ios/handler/ios_exception_minidump_generator.h
@@ -51,13 +51,20 @@ class IosExceptionMinidumpGenerator : public MinidumpGenerator {
private:
// Get the crashing program counter from the exception.
- uint32_t GetPCFromException();
+ uintptr_t GetPCFromException();
// Get the crashing link register from the exception.
- uint32_t GetLRFromException();
+ uintptr_t GetLRFromException();
// Write a virtual thread context for the crashing site.
bool WriteCrashingContext(MDLocationDescriptor *register_location);
+ // Per-CPU implementations of the above method.
+#ifdef HAS_ARM_SUPPORT
+ bool WriteCrashingContextARM(MDLocationDescriptor *register_location);
+#endif
+#ifdef HAS_ARM64_SUPPORT
+ bool WriteCrashingContextARM64(MDLocationDescriptor *register_location);
+#endif
NSArray *return_addresses_;
};