diff options
Diffstat (limited to 'src/common/android/include/sys/ucontext.h')
-rw-r--r-- | src/common/android/include/sys/ucontext.h | 14 |
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; |