Fill in missing bits in x86(_64) ucontext_t
Bug: 12828904 Bug: 12875898 Change-Id: I0ec0dfe16af80bfb3153f3c3b1b3d180eff30f39
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Calin Juravle
					Calin Juravle