diff options
Diffstat (limited to 'arch/i386/bits')
| -rw-r--r-- | arch/i386/bits/signal.h | 48 | 
1 files changed, 26 insertions, 22 deletions
| diff --git a/arch/i386/bits/signal.h b/arch/i386/bits/signal.h index 498dd1cc..3caadea2 100644 --- a/arch/i386/bits/signal.h +++ b/arch/i386/bits/signal.h @@ -1,17 +1,34 @@  #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \   || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -struct __fpstate { -	unsigned long __x[7]; -	unsigned char __y[80]; -	unsigned long __z; +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct _fpstate { +	unsigned long cw, sw, tag, ipoff, cssel, dataoff, datasel; +	struct { +		unsigned short significand[4], exponent; +	} _st[8]; +	unsigned long status;  }; - +struct sigcontext { +	unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh; +	unsigned long edi, esi, ebp, esp, ebx, edx, ecx, eax; +	unsigned long trapno, err, eip; +	unsigned short cs, __csh; +	unsigned long eflags, esp_at_signal; +	unsigned short ss, __ssh; +	struct _fpstate *fpstate; +	unsigned long oldmask, cr2; +}; +typedef struct { +	unsigned gregs[19]; +	struct _fpstate *fpregs; +	unsigned long oldmask, cr2; +} mcontext_t; +#else  typedef struct { -	unsigned long __gregs[19]; -	void *__fpregs; -	unsigned long __oldmask, __cr2; +	unsigned __space[22];  } mcontext_t; +#endif  typedef struct __ucontext {  	unsigned long uc_flags; @@ -19,7 +36,7 @@ typedef struct __ucontext {  	stack_t uc_stack;  	mcontext_t uc_mcontext;  	sigset_t uc_sigmask; -	struct __fpstate __fpregs_mem; +	unsigned long __fpregs_mem[28];  } ucontext_t;  #define SA_NOCLDSTOP  1 @@ -31,19 +48,6 @@ typedef struct __ucontext {  #define SA_RESETHAND  0x80000000  #define SA_RESTORER   0x04000000 -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -struct sigcontext { -	unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh; -	unsigned long edi, esi, ebp, esp, ebx, edx, ecx, eax; -	unsigned long trapno, err, eip; -	unsigned short cs, __csh; -	unsigned long eflags, esp_at_signal; -	unsigned short ss, __ssh; -	struct __fpstate *fpstate; -	unsigned long oldmask, cr2; -}; -#endif -  #endif  #define SIGHUP    1 | 
