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>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include <sys/ucontext.h>
 | 
			
		||||
#define __BIONIC_HAVE_UCONTEXT_T
 | 
			
		||||
 | 
			
		||||
__BEGIN_DECLS
 | 
			
		||||
 | 
			
		||||
typedef int sig_atomic_t;
 | 
			
		||||
 
 | 
			
		||||
@@ -68,11 +68,9 @@ typedef struct ucontext {
 | 
			
		||||
  struct ucontext* uc_link;
 | 
			
		||||
  stack_t uc_stack;
 | 
			
		||||
  mcontext_t uc_mcontext;
 | 
			
		||||
  sigset_t uc_sigmask;
 | 
			
		||||
  // Android has a wrong (smaller) sigset_t on ARM.
 | 
			
		||||
  union {
 | 
			
		||||
    sigset_t bionic;
 | 
			
		||||
    uint32_t kernel[2];
 | 
			
		||||
  } uc_sigmask;
 | 
			
		||||
  uint32_t __padding_rt_sigset;
 | 
			
		||||
  // The kernel adds extra padding after uc_sigmask to match glibc sigset_t on ARM.
 | 
			
		||||
  char __padding[120];
 | 
			
		||||
  unsigned long uc_regspace[128] __attribute__((__aligned__(8)));
 | 
			
		||||
@@ -152,11 +150,9 @@ typedef struct ucontext {
 | 
			
		||||
  struct ucontext* uc_link;
 | 
			
		||||
  stack_t uc_stack;
 | 
			
		||||
  mcontext_t uc_mcontext;
 | 
			
		||||
  sigset_t uc_sigmask;
 | 
			
		||||
  // Android has a wrong (smaller) sigset_t on x86.
 | 
			
		||||
  union {
 | 
			
		||||
    sigset_t bionic;
 | 
			
		||||
    uint32_t kernel[2];
 | 
			
		||||
  } uc_sigmask;
 | 
			
		||||
  uint32_t __padding_rt_sigset;
 | 
			
		||||
  struct _libc_fpstate __fpregs_mem;
 | 
			
		||||
} ucontext_t;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user