Fill in missing bits in x86(_64) ucontext_t
Bug: 12828904 Bug: 12875898 Change-Id: I0ec0dfe16af80bfb3153f3c3b1b3d180eff30f39
This commit is contained in:
parent
d0a899215b
commit
a6ab968ca0
@ -150,7 +150,8 @@ typedef struct ucontext {
|
||||
stack_t uc_stack;
|
||||
mcontext_t uc_mcontext;
|
||||
sigset_t uc_sigmask;
|
||||
/* TODO: __fpregs_mem? */
|
||||
char __padding[128 - sizeof(sigset_t)];
|
||||
struct _libc_fpstate __fpregs_mem;
|
||||
} ucontext_t;
|
||||
|
||||
#elif defined(__mips__)
|
||||
@ -238,7 +239,31 @@ enum {
|
||||
typedef long greg_t;
|
||||
typedef greg_t gregset_t[NGREG];
|
||||
|
||||
typedef struct user_fpregs_struct* fpregset_t;
|
||||
struct _libc_fpxreg {
|
||||
unsigned short significand[4];
|
||||
unsigned short exponent;
|
||||
unsigned short padding[3];
|
||||
};
|
||||
|
||||
struct _libc_xmmreg {
|
||||
uint32_t element[4];
|
||||
};
|
||||
|
||||
struct _libc_fpstate {
|
||||
uint16_t cwd;
|
||||
uint16_t swd;
|
||||
uint16_t ftw;
|
||||
uint16_t fop;
|
||||
uint64_t rip;
|
||||
uint64_t rdp;
|
||||
uint32_t mxcsr;
|
||||
uint32_t mxcr_mask;
|
||||
struct _libc_fpxreg _st[8];
|
||||
struct _libc_xmmreg _xmm[16];
|
||||
uint32_t padding[24];
|
||||
};
|
||||
|
||||
typedef struct _libc_fpstate* fpregset_t;
|
||||
|
||||
typedef struct {
|
||||
gregset_t gregs;
|
||||
@ -252,7 +277,8 @@ typedef struct ucontext {
|
||||
stack_t uc_stack;
|
||||
mcontext_t uc_mcontext;
|
||||
sigset_t uc_sigmask;
|
||||
/* TODO: __fpregs_mem? */
|
||||
char __padding[128 - sizeof(sigset_t)];
|
||||
struct _libc_fpstate __fpregs_mem;
|
||||
} ucontext_t;
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user