X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=arch%2Fmips%2Fbits%2Fsignal.h;h=1b69e7625e85ea49cae40755ab41465404aa2be0;hb=cabc36969bce739e86ecac250d286b0bda6aa88e;hp=f51c29b97b585712d1faa5c228d3aed8df08d288;hpb=90e123f4a810d17c6bd8c2102939f6416481427e;p=musl diff --git a/arch/mips/bits/signal.h b/arch/mips/bits/signal.h index f51c29b9..1b69e762 100644 --- a/arch/mips/bits/signal.h +++ b/arch/mips/bits/signal.h @@ -1,6 +1,41 @@ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned long long greg_t, gregset_t[32]; +typedef struct { + union { + double fp_dregs[32]; + struct { + float _fp_fregs; + unsigned _fp_pad; + } fp_fregs[32]; + } fp_r; +} fpregset_t; +struct sigcontext { + unsigned sc_regmask, sc_status; + unsigned long long sc_pc; + gregset_t sc_regs; + fpregset_t sc_fpregs; + 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; +}; +typedef struct { + unsigned regmask, status; + unsigned long long pc; + gregset_t gregs; + fpregset_t fpregs; + unsigned ownedfp, fpc_csr, fpc_eir, used_math, dsp; + unsigned long long mdhi, mdlo; + unsigned long hi1, lo1, hi2, lo2, hi3, lo3; +} mcontext_t; +#else typedef struct { unsigned __mc1[2]; unsigned long long __mc2[65]; @@ -8,6 +43,13 @@ typedef struct { unsigned long long __mc4[2]; unsigned __mc5[6]; } mcontext_t; +#endif + +struct sigaltstack { + void *ss_sp; + size_t ss_size; + int ss_flags; +}; typedef struct __ucontext { unsigned long uc_flags; @@ -15,7 +57,6 @@ typedef struct __ucontext { stack_t uc_stack; mcontext_t uc_mcontext; sigset_t uc_sigmask; - unsigned long uc_regspace[128]; } ucontext_t; #define SA_NOCLDSTOP 1 @@ -34,17 +75,14 @@ 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; -}; -#define NSIG 64 -#endif +#undef SI_ASYNCIO +#undef SI_MESGQ +#undef SI_TIMER +#define SI_ASYNCIO (-2) +#define SI_MESGQ (-4) +#define SI_TIMER (-3) + +#define __SI_SWAP_ERRNO_CODE #endif @@ -55,7 +93,7 @@ struct sigcontext #define SIGTRAP 5 #define SIGABRT 6 #define SIGIOT SIGABRT -#define SIGSTKFLT 7 +#define SIGEMT 7 #define SIGFPE 8 #define SIGKILL 9 #define SIGBUS 10 @@ -82,3 +120,5 @@ struct sigcontext #define SIGXCPU 30 #define SIGXFSZ 31 #define SIGUNUSED SIGSYS + +#define _NSIG 128