sigcontext/mcontext cleanup for arch-specific bits
[musl] / arch / mips / bits / signal.h
index aed372e..9b4861d 100644 (file)
@@ -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
+{
+       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 long __regs[21];
+       unsigned __mc1[2];
+       unsigned long long __mc2[65];
+       unsigned __mc3[5];
+       unsigned long long __mc4[2];
+       unsigned __mc5[6];
 } mcontext_t;
+#endif
 
 typedef struct __ucontext {
        unsigned long uc_flags;
@@ -15,25 +30,20 @@ typedef struct __ucontext {
 } ucontext_t;
 
 #define SA_NOCLDSTOP  1
-#define SA_NOCLDWAIT  2
-#define SA_SIGINFO    4
+#define SA_NOCLDWAIT  0x10000
+#define SA_SIGINFO    8
 #define SA_ONSTACK    0x08000000
 #define SA_RESTART    0x10000000
 #define SA_NODEFER    0x40000000
 #define SA_RESETHAND  0x80000000
 #define SA_RESTORER   0x04000000
 
-#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 SIG_BLOCK
+#undef SIG_UNBLOCK
+#undef SIG_SETMASK
+#define SIG_BLOCK     1
+#define SIG_UNBLOCK   2
+#define SIG_SETMASK   3
 
 #endif
 
@@ -71,3 +81,5 @@ struct sigcontext
 #define SIGXCPU   30
 #define SIGXFSZ   31
 #define SIGUNUSED SIGSYS
+
+#define _NSIG 129