aboutsummaryrefslogtreecommitdiff
path: root/src/common/android/ucontext_constants.h
diff options
context:
space:
mode:
authorrmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2014-04-11 16:09:12 +0000
committerrmcilroy@chromium.org <rmcilroy@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2014-04-11 16:09:12 +0000
commit6594ac922cc1937a237b6ed9ef05b7b952bcd82e (patch)
treeafcbd76daacc02dbbb4ed782a935309b6ce23c3a /src/common/android/ucontext_constants.h
parentFill in CPU info in mini-dump for Arm64. (diff)
downloadbreakpad-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/ucontext_constants.h')
-rw-r--r--src/common/android/ucontext_constants.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/common/android/ucontext_constants.h b/src/common/android/ucontext_constants.h
index 251718c3..92871b43 100644
--- a/src/common/android/ucontext_constants.h
+++ b/src/common/android/ucontext_constants.h
@@ -103,6 +103,32 @@
#define MCONTEXT_FPC_CSR 556
#define UCONTEXT_SIGMASK_OFFSET 616
+#elif defined(__x86_64__)
+
+#define MCONTEXT_GREGS_OFFSET 40
+#define UCONTEXT_SIGMASK_OFFSET 296
+
+#define MCONTEXT_GREGS_R8 40
+#define MCONTEXT_GREGS_R9 48
+#define MCONTEXT_GREGS_R10 56
+#define MCONTEXT_GREGS_R11 64
+#define MCONTEXT_GREGS_R12 72
+#define MCONTEXT_GREGS_R13 80
+#define MCONTEXT_GREGS_R14 88
+#define MCONTEXT_GREGS_R15 96
+#define MCONTEXT_GREGS_RDI 104
+#define MCONTEXT_GREGS_RSI 112
+#define MCONTEXT_GREGS_RBP 120
+#define MCONTEXT_GREGS_RBX 128
+#define MCONTEXT_GREGS_RDX 136
+#define MCONTEXT_GREGS_RAX 144
+#define MCONTEXT_GREGS_RCX 152
+#define MCONTEXT_GREGS_RSP 160
+#define MCONTEXT_GREGS_RIP 168
+#define MCONTEXT_FPREGS_PTR 224
+#define MCONTEXT_FPREGS_MEM 424
+#define FPREGS_OFFSET_MXCSR 24
+
#else
#error "This header has not been ported for your CPU"
#endif