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 |