diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/bits/signal.h | 26 | ||||
| -rw-r--r-- | arch/i386/bits/signal.h | 48 | ||||
| -rw-r--r-- | arch/microblaze/bits/signal.h | 30 | ||||
| -rw-r--r-- | arch/mips/bits/signal.h | 22 | ||||
| -rw-r--r-- | arch/x86_64/bits/signal.h | 49 | 
5 files changed, 94 insertions, 81 deletions
diff --git a/arch/arm/bits/signal.h b/arch/arm/bits/signal.h index 9323b112..190b1d63 100644 --- a/arch/arm/bits/signal.h +++ b/arch/arm/bits/signal.h @@ -1,9 +1,21 @@  #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \   || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef struct sigcontext +{ +	unsigned long trap_no, error_code, oldmask; +	unsigned long arm_r0, arm_r1, arm_r2, arm_r3; +	unsigned long arm_r4, arm_r5, arm_r6, arm_r7; +	unsigned long arm_r8, arm_r9, arm_r10, arm_fp; +	unsigned long arm_ip, arm_sp, arm_lr, arm_pc; +	unsigned long arm_cpsr, fault_address; +} mcontext_t; +#else  typedef struct {  	unsigned long __regs[21];  } mcontext_t; +#endif  typedef struct __ucontext {  	unsigned long uc_flags; @@ -11,7 +23,7 @@ typedef struct __ucontext {  	stack_t uc_stack;  	mcontext_t uc_mcontext;  	sigset_t uc_sigmask; -	unsigned long uc_regspace[128]; +	unsigned long long uc_regspace[64];  } ucontext_t;  #define SA_NOCLDSTOP  1 @@ -23,18 +35,6 @@ typedef struct __ucontext {  #define SA_RESETHAND  0x80000000  #define SA_RESTORER   0x04000000 -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -struct sigcontext -{ -	unsigned long trap_no, error_code, oldmask; -	unsigned long arm_r0, arm_r1, arm_r2, arm_r3; -	unsigned long arm_r4, arm_r5, arm_r6, arm_r7; -	unsigned long arm_r8, arm_r9, arm_r10, arm_fp; -	unsigned long arm_ip, arm_sp, arm_lr, arm_pc; -	unsigned long arm_cpsr, fault_address; -}; -#endif -  #endif  #define SIGHUP    1 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 diff --git a/arch/microblaze/bits/signal.h b/arch/microblaze/bits/signal.h index c1aaa9cb..bb60d0dd 100644 --- a/arch/microblaze/bits/signal.h +++ b/arch/microblaze/bits/signal.h @@ -1,9 +1,24 @@  #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \   || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef struct sigcontext +{ +	struct { +		unsigned long r0, r1, r2, r3, r4, r5, r6, r7; +		unsigned long r8, r9, r10, r11, r12, r13, r14, r15; +		unsigned long r16, r17, r18, r19, r20, r21, r22, r23; +		unsigned long r24, r25, r26, r27, r28, r29, r30, r31; +		unsigned long pc, msr, ear, esr, fsr; +		int pt_mode; +	} regs; +	unsigned long oldmask; +} mcontext_t; +#else  typedef struct {  	unsigned long __regs[39];  } mcontext_t; +#endif  typedef struct __ucontext {  	unsigned long uc_flags; @@ -22,21 +37,6 @@ typedef struct __ucontext {  #define SA_RESETHAND  0x80000000  #define SA_RESTORER   0x04000000 -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -struct sigcontext -{ -	struct { -		unsigned long r0, r1, r2, r3, r4, r5, r6, r7; -		unsigned long r8, r9, r10, r11, r12, r13, r14, r15; -		unsigned long r16, r17, r18, r19, r20, r21, r22, r23; -		unsigned long r24, r25, r26, r27, r28, r29, r30, r31; -		unsigned long pc, msr, ear, esr, fsr; -		int pt_mode; -	} regs; -	unsigned long oldmask; -}; -#endif -  #endif  #define SIGHUP    1 diff --git a/arch/mips/bits/signal.h b/arch/mips/bits/signal.h index 9e1384ff..9b4861d3 100644 --- a/arch/mips/bits/signal.h +++ b/arch/mips/bits/signal.h @@ -1,6 +1,16 @@  #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \   || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef struct sigcontext +{ +	unsigned sc_regmask, sc_status; +	unsigned long long sc_pc, sc_regs[32], sc_fpregs[32]; +	unsigned sc_ownedfp, sc_fpc_csr, sc_fpc_eir, sc_used_math, sc_dsp; +	unsigned long long sc_mdhi, sc_mdlo; +	unsigned long sc_hi1, sc_lo1, sc_hi2, sc_lo2, sc_hi3, sc_lo3; +} mcontext_t; +#else  typedef struct {  	unsigned __mc1[2];  	unsigned long long __mc2[65]; @@ -8,6 +18,7 @@ typedef struct {  	unsigned long long __mc4[2];  	unsigned __mc5[6];  } mcontext_t; +#endif  typedef struct __ucontext {  	unsigned long uc_flags; @@ -34,17 +45,6 @@ typedef struct __ucontext {  #define SIG_UNBLOCK   2  #define SIG_SETMASK   3 -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -struct sigcontext -{ -	unsigned sc_regmask, sc_status; -	unsigned long long sc_pc, sc_regs[32], sc_fpregs[32]; -	unsigned sc_ownedfp, sc_fpc_csr, sc_fpc_eir, sc_used_math, sc_dsp; -	unsigned long long sc_mdhi, sc_mdlo; -	unsigned long sc_hi1, sc_lo1, sc_hi2, sc_lo2, sc_hi3, sc_lo3; -}; -#endif -  #endif  #define SIGHUP    1 diff --git a/arch/x86_64/bits/signal.h b/arch/x86_64/bits/signal.h index d1de2dff..38f3bc42 100644 --- a/arch/x86_64/bits/signal.h +++ b/arch/x86_64/bits/signal.h @@ -1,17 +1,37 @@  #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \   || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -struct __fpstate { -	unsigned long __x[4]; -	unsigned char __y[384]; -	unsigned long __z[12]; +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct _fpstate { +	unsigned short cwd, swd, ftw, fop; +	unsigned long long rip, rdp; +	unsigned mxcsr, mxcr_mask; +	struct { +		unsigned short significand[4], exponent, padding[3]; +	} _st[8]; +	struct { +		unsigned element[4]; +	} _xmm[16]; +	unsigned padding[24];  }; - -typedef struct { -	unsigned long __gregs[23]; -	void *__fpregs; +struct sigcontext { +	unsigned long r8, r9, r10, r11, r12, r13, r14, r15; +	unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags; +	unsigned short cs, gs, fs, __pad0; +	unsigned long err, trapno, oldmask, cr2; +	struct _fpstate *fpstate;  	unsigned long __reserved1[8]; +}; +typedef struct { +	unsigned long long gregs[23]; +	struct _fpstate *fpregs; +	unsigned long long __reserved1[8]; +} mcontext_t; +#else +typedef struct { +	unsigned long __space[32];  } mcontext_t; +#endif  typedef struct __ucontext {  	unsigned long uc_flags; @@ -19,7 +39,7 @@ typedef struct __ucontext {  	stack_t uc_stack;  	mcontext_t uc_mcontext;  	sigset_t uc_sigmask; -	struct __fpstate __fpregs_mem; +	unsigned long __fpregs_mem[64];  } ucontext_t;  #define SA_NOCLDSTOP  1 @@ -31,17 +51,6 @@ typedef struct __ucontext {  #define SA_RESETHAND  0x80000000  #define SA_RESTORER   0x04000000 -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -struct sigcontext { -	unsigned long r8, r9, r10, r11, r12, r13, r14, r15; -	unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags; -	unsigned short cs, gs, fs, __pad0; -	unsigned long err, trapno, oldmask, cr2; -	struct __fpstate *fpstate; -	unsigned long __reserved1[8]; -}; -#endif -  #endif  #define SIGHUP    1  | 
