fix siginfo_t for mips
[musl] / arch / mips / bits / signal.h
index 857d3c0..889f77e 100644 (file)
@@ -1,6 +1,11 @@
 #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 {
@@ -23,7 +28,7 @@ struct sigcontext
 typedef struct
 {
        unsigned regmask, status;
-       unsigned long long pc, regs[32], fpregs[32];
+       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;
@@ -38,13 +43,18 @@ typedef struct {
 } mcontext_t;
 #endif
 
+struct sigaltstack {
+       void *ss_sp;
+       size_t ss_size;
+       int ss_flags;
+};
+
 typedef struct __ucontext {
        unsigned long uc_flags;
        struct __ucontext *uc_link;
        stack_t uc_stack;
        mcontext_t uc_mcontext;
        sigset_t uc_sigmask;
-       unsigned long uc_regspace[128];
 } ucontext_t;
 
 #define SA_NOCLDSTOP  1
@@ -63,6 +73,15 @@ typedef struct __ucontext {
 #define SIG_UNBLOCK   2
 #define SIG_SETMASK   3
 
+#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
 
 #define SIGHUP    1
@@ -100,4 +119,4 @@ typedef struct __ucontext {
 #define SIGXFSZ   31
 #define SIGUNUSED SIGSYS
 
-#define _NSIG 129
+#define _NSIG 128