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.
(cherry picked from commit 26a8eb50a8
)
Bug: 18172268
Change-Id: I49d7d09dabfc6c6926a8e1f4b235d041e2f2fc4d
This commit is contained in:
parent
eedbf70e8e
commit
ab4d5cf242
@ -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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user