MIPS support to sigsuspend and sigwait routines

Change-Id: I870e798ed7eac5a8c74e5784a670f3a4f24331a9
diff --git a/libc/unistd/sigwait.c b/libc/unistd/sigwait.c
index c9c2a54..1e90c41 100644
--- a/libc/unistd/sigwait.c
+++ b/libc/unistd/sigwait.c
@@ -47,6 +47,14 @@
 int sigwait(const sigset_t *set, int *sig)
 {
     int  ret;
+#ifdef __mips__
+    /* use a union to get rid of aliasing warnings. On MIPS sigset_t is 128 bits */
+    union {
+      sigset_t       kernel_sigset;
+      sigset_t       dummy_sigset;
+    } u;
+    u.dummy_sigset = *set;
+#else
     /* use a union to get rid of aliasing warnings */
     union {
       unsigned long  kernel_sigset[2];
@@ -55,6 +63,7 @@
 
     u.kernel_sigset[0] = *set;
     u.kernel_sigset[1] = 0;  /* no real-time signals supported ? */
+#endif
     for (;;)
     {
      /* __rt_sigtimedwait can return EAGAIN or EINTR, we need to loop