X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=arch%2Fmips%2Fbits%2Fsignal.h;h=1a84de5904bbe93aa688c33446ae2fcd656dd6ca;hb=eb5ae94016f0e3e4fb7d0715346b09335f14655d;hp=a8de0227d1bc7859cf76d2c9a149cc99278428c8;hpb=ba8a96b0689943195cb49e7e4ef0de254532d9e2;p=musl diff --git a/arch/mips/bits/signal.h b/arch/mips/bits/signal.h index a8de0227..1a84de59 100644 --- a/arch/mips/bits/signal.h +++ b/arch/mips/bits/signal.h @@ -1,6 +1,37 @@ #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, 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; +}; +typedef struct { + unsigned regmask, status; + unsigned long long pc, gregs[32], fpregs[32]; + 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 +39,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 +53,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 @@ -27,21 +64,21 @@ typedef struct __ucontext { #define SA_RESETHAND 0x80000000 #define SA_RESTORER 0x04000000 +#undef SIG_BLOCK +#undef SIG_UNBLOCK +#undef SIG_SETMASK #define SIG_BLOCK 1 #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 @@ -79,3 +116,5 @@ struct sigcontext #define SIGXCPU 30 #define SIGXFSZ 31 #define SIGUNUSED SIGSYS + +#define _NSIG 128