From 0753b1faf002249dc35ef09cb4769d66fa3a1a86 Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Mon, 16 Sep 2013 12:58:51 -0400
Subject: fix sigemptyset and sigfillset for mips

they were leaving junk in the upper bits.
---
 src/signal/sigemptyset.c | 6 +++++-
 src/signal/sigfillset.c  | 5 +++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/signal/sigemptyset.c b/src/signal/sigemptyset.c
index ca9b8920..1d07471d 100644
--- a/src/signal/sigemptyset.c
+++ b/src/signal/sigemptyset.c
@@ -4,6 +4,10 @@
 int sigemptyset(sigset_t *set)
 {
 	set->__bits[0] = 0;
-	if (sizeof(long)==4) set->__bits[1] = 0;
+	if (sizeof(long)==4 || _NSIG > 65) set->__bits[1] = 0;
+	if (sizeof(long)==4 && _NSIG > 65) {
+		set->__bits[2] = 0;
+		set->__bits[3] = 0;
+	}
 	return 0;
 }
diff --git a/src/signal/sigfillset.c b/src/signal/sigfillset.c
index 6c84b9b7..4d0a807a 100644
--- a/src/signal/sigfillset.c
+++ b/src/signal/sigfillset.c
@@ -7,8 +7,13 @@ int sigfillset(sigset_t *set)
 #if ULONG_MAX == 0xffffffff
 	set->__bits[0] = 0x7ffffffful;
 	set->__bits[1] = 0xfffffffcul;
+	if (_NSIG > 65) {
+		set->__bits[2] = 0xfffffffful;
+		set->__bits[3] = 0xfffffffful;
+	}
 #else
 	set->__bits[0] = 0xfffffffc7ffffffful;
+	if (_NSIG > 65) set->__bits[1] = 0xfffffffffffffffful;
 #endif
 	return 0;
 }
-- 
cgit v1.2.3-70-g09d2