Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(300)

Unified Diff: sandbox/linux/system_headers/i386_linux_ucontext.h

Issue 1092153005: Reland: Introduce sys_sigprocmask and sys_sigaction. (patchset #5 id:160001 of https://codereview.c… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sandbox/linux/system_headers/arm_linux_ucontext.h ('k') | sandbox/linux/system_headers/linux_signal.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sandbox/linux/system_headers/i386_linux_ucontext.h
diff --git a/sandbox/linux/system_headers/android_i386_ucontext.h b/sandbox/linux/system_headers/i386_linux_ucontext.h
similarity index 82%
rename from sandbox/linux/system_headers/android_i386_ucontext.h
rename to sandbox/linux/system_headers/i386_linux_ucontext.h
index 868016b5570647413b3b864c0d2b8eece35ef039..61d9f7a9b8abeb1de32d96253c1b3e8d666ab4e8 100644
--- a/sandbox/linux/system_headers/android_i386_ucontext.h
+++ b/sandbox/linux/system_headers/i386_linux_ucontext.h
@@ -11,7 +11,16 @@
// except we do use sigset_t for uc_sigmask instead of a custom type.
#if !defined(__BIONIC_HAVE_UCONTEXT_T)
+#if !defined(__native_client_nonsfi__)
#include <asm/sigcontext.h>
+#else
+// In PNaCl toolchain, sigcontext is not defined. So here declare it.
+typedef struct sigaltstack {
+ void* ss_sp;
+ int ss_flags;
+ size_t ss_size;
+} stack_t;
+#endif
/* 80-bit floating-point register */
struct _libc_fpreg {
@@ -68,7 +77,12 @@ typedef struct ucontext {
struct ucontext* uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
- sigset_t uc_sigmask;
+ // Android and PNaCl toolchain's sigset_t has only 32 bits, though Linux
+ // ABI requires 64 bits.
+ union {
+ sigset_t uc_sigmask;
+ uint32_t kernel_sigmask[2];
+ };
struct _libc_fpstate __fpregs_mem;
} ucontext_t;
« no previous file with comments | « sandbox/linux/system_headers/arm_linux_ucontext.h ('k') | sandbox/linux/system_headers/linux_signal.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698