aboutsummaryrefslogtreecommitdiff
path: root/src/common/android/include/sys/ucontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/android/include/sys/ucontext.h')
-rw-r--r--src/common/android/include/sys/ucontext.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/common/android/include/sys/ucontext.h b/src/common/android/include/sys/ucontext.h
index 7f0eb5a3..4a4e77c1 100644
--- a/src/common/android/include/sys/ucontext.h
+++ b/src/common/android/include/sys/ucontext.h
@@ -50,11 +50,15 @@ extern "C" {
#include <asm/sigcontext.h>
typedef struct sigcontext mcontext_t;
+// The ARM kernel uses a 64-bit signal mask.
+typedef uint32_t kernel_sigmask_t[2];
+
typedef struct ucontext {
uint32_t uc_flags;
struct ucontext* uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
+ kernel_sigmask_t uc_sigmask;
// Other fields are not used by Google Breakpad. Don't define them.
} ucontext_t;
@@ -110,12 +114,16 @@ enum {
REG_SS,
};
+// The i386 kernel uses a 64-bit signal mask.
+typedef uint32_t kernel_sigmask_t[2];
+
typedef struct ucontext {
uint32_t uc_flags;
struct ucontext* uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
- // Other fields are not used by Google Breakpad. Don't define them.
+ kernel_sigmask_t uc_sigmask;
+ struct _libc_fpstate __fpregs_mem;
} ucontext_t;
#elif defined(__mips__)
@@ -142,11 +150,15 @@ typedef struct {
uint32_t lo3;
} mcontext_t;
+// The MIPS kernel uses a 128-bit signal mask.
+typedef uint32_t kernel_sigmask_t[4];
+
typedef struct ucontext {
uint32_t uc_flags;
struct ucontext* uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
+ kernel_sigmask_t uc_sigmask;
// Other fields are not used by Google Breakpad. Don't define them.
} ucontext_t;