about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--arch/mips/bits/signal.h9
-rw-r--r--include/signal.h4
2 files changed, 13 insertions, 0 deletions
diff --git a/arch/mips/bits/signal.h b/arch/mips/bits/signal.h
index 818e0a7b..889f77e8 100644
--- a/arch/mips/bits/signal.h
+++ b/arch/mips/bits/signal.h
@@ -73,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
diff --git a/include/signal.h b/include/signal.h
index 8df725d9..c6323c61 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -94,7 +94,11 @@ union sigval {
 };
 
 typedef struct {
+#ifdef __SI_SWAP_ERRNO_CODE
+	int si_signo, si_code, si_errno;
+#else
 	int si_signo, si_errno, si_code;
+#endif
 	union {
 		char __pad[128 - 2*sizeof(int) - sizeof(long)];
 		struct {