POSIX says <signal.h> gets you ucontext_t.
POSIX also says that ucontext_t's uc_sigmask has type sigset_t. MIPS64 strace needs this. The #define is to keep chromium off our lawn; otherwise it tries to redefine all this stuff itself. We should probably clean that up and remove the #define. Change-Id: I765d6a765a33dca7db33cd8c40f408dc98e5c95b
This commit is contained in:
		@@ -48,6 +48,9 @@
 | 
				
			|||||||
#  include <linux/signal.h>
 | 
					#  include <linux/signal.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <sys/ucontext.h>
 | 
				
			||||||
 | 
					#define __BIONIC_HAVE_UCONTEXT_T
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__BEGIN_DECLS
 | 
					__BEGIN_DECLS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef int sig_atomic_t;
 | 
					typedef int sig_atomic_t;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,11 +68,9 @@ typedef struct ucontext {
 | 
				
			|||||||
  struct ucontext* uc_link;
 | 
					  struct ucontext* uc_link;
 | 
				
			||||||
  stack_t uc_stack;
 | 
					  stack_t uc_stack;
 | 
				
			||||||
  mcontext_t uc_mcontext;
 | 
					  mcontext_t uc_mcontext;
 | 
				
			||||||
 | 
					  sigset_t uc_sigmask;
 | 
				
			||||||
  // Android has a wrong (smaller) sigset_t on ARM.
 | 
					  // Android has a wrong (smaller) sigset_t on ARM.
 | 
				
			||||||
  union {
 | 
					  uint32_t __padding_rt_sigset;
 | 
				
			||||||
    sigset_t bionic;
 | 
					 | 
				
			||||||
    uint32_t kernel[2];
 | 
					 | 
				
			||||||
  } uc_sigmask;
 | 
					 | 
				
			||||||
  // The kernel adds extra padding after uc_sigmask to match glibc sigset_t on ARM.
 | 
					  // The kernel adds extra padding after uc_sigmask to match glibc sigset_t on ARM.
 | 
				
			||||||
  char __padding[120];
 | 
					  char __padding[120];
 | 
				
			||||||
  unsigned long uc_regspace[128] __attribute__((__aligned__(8)));
 | 
					  unsigned long uc_regspace[128] __attribute__((__aligned__(8)));
 | 
				
			||||||
@@ -152,11 +150,9 @@ typedef struct ucontext {
 | 
				
			|||||||
  struct ucontext* uc_link;
 | 
					  struct ucontext* uc_link;
 | 
				
			||||||
  stack_t uc_stack;
 | 
					  stack_t uc_stack;
 | 
				
			||||||
  mcontext_t uc_mcontext;
 | 
					  mcontext_t uc_mcontext;
 | 
				
			||||||
 | 
					  sigset_t uc_sigmask;
 | 
				
			||||||
  // Android has a wrong (smaller) sigset_t on x86.
 | 
					  // Android has a wrong (smaller) sigset_t on x86.
 | 
				
			||||||
  union {
 | 
					  uint32_t __padding_rt_sigset;
 | 
				
			||||||
    sigset_t bionic;
 | 
					 | 
				
			||||||
    uint32_t kernel[2];
 | 
					 | 
				
			||||||
  } uc_sigmask;
 | 
					 | 
				
			||||||
  struct _libc_fpstate __fpregs_mem;
 | 
					  struct _libc_fpstate __fpregs_mem;
 | 
				
			||||||
} ucontext_t;
 | 
					} ucontext_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user