First cut at adding arm64 Linux / Android support to Breakpad.

This is an initial attempt to add Arm64 (aarch64) support to Breakpad for
Linux / Android platforms.  This CL adds the Arm64 data structures, but does
not yet implement the Android getcontext support or CPUFillFromThreadInfo /
CPUFillFromUContext.

BUG=354405,335641
R=mark@chromium.org

Review URL: https://breakpad.appspot.com/1354002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1301 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
rmcilroy@chromium.org
2014-04-02 23:12:40 +00:00
parent 46aba5a43a
commit 83b9a28cf9
16 changed files with 118 additions and 19 deletions

View File

@@ -190,10 +190,10 @@ class ExceptionHandler {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
struct ucontext context;
#if !defined(__ARM_EABI__) && !defined(__mips__)
// #ifdef this out because FP state is not part of user ABI for Linux ARM.
// In case of MIPS Linux FP state is already part of struct ucontext
// so 'float_state' is not required.
#if !defined(__ARM_EABI__) && !defined(__aarch64__) && !defined(__mips__)
// #ifdef this out because FP state is not part of user ABI for Linux ARM
// or ARM64. In case of MIPS Linux FP state is already part of struct
// ucontext so 'float_state' is not required.
struct _libc_fpstate float_state;
#endif
};
@@ -259,7 +259,7 @@ class ExceptionHandler {
// We need to explicitly enable ptrace of parent processes on some
// kernels, but we need to know the PID of the cloned process before we
// can do this. We create a pipe which we can use to block the
// cloned process after creating it, until we have explicitly enabled
// cloned process after creating it, until we have explicitly enabled
// ptrace. This is used to store the file descriptors for the pipe
int fdes[2];