diff options
author | rmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2014-04-11 16:09:12 +0000 |
---|---|---|
committer | rmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2014-04-11 16:09:12 +0000 |
commit | 6594ac922cc1937a237b6ed9ef05b7b952bcd82e (patch) | |
tree | afcbd76daacc02dbbb4ed782a935309b6ce23c3a /src/common/android/include/sys/user.h | |
parent | Fill in CPU info in mini-dump for Arm64. (diff) | |
download | breakpad-6594ac922cc1937a237b6ed9ef05b7b952bcd82e.tar.xz |
Add x64 version of getcontext.
Assembly code is derived in part from code in libunwind.
Code tested on desktop linux (Android testing pending emulation
support).
BUG=346626
R=dannyb@google.com, thestig@chromium.org
Review URL: https://breakpad.appspot.com/1454002
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1311 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/android/include/sys/user.h')
-rw-r--r-- | src/common/android/include/sys/user.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/common/android/include/sys/user.h b/src/common/android/include/sys/user.h index 257cd803..7cafd2c9 100644 --- a/src/common/android/include/sys/user.h +++ b/src/common/android/include/sys/user.h @@ -143,6 +143,28 @@ struct user_fpregs_struct { unsigned int fir; }; +#elif defined(__x86_64__) +#include <sys/types.h> +#include_next <sys/user.h> + +// This struct is essentially the same as user_i387_struct in sys/user.h +// except that the struct name and individual field names are chosen here +// to match the ones used in breakpad for other x86_64 platforms. + +struct user_fpregs_struct { + __u16 cwd; + __u16 swd; + __u16 ftw; + __u16 fop; + __u64 rip; + __u64 rdp; + __u32 mxcsr; + __u32 mxcr_mask; + __u32 st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ + __u32 xmm_space[64]; /* 16*16 bytes for each XMM-reg = 256 bytes */ + __u32 padding[24]; +}; + #else # error "Unsupported Android CPU ABI" #endif |