runtime: fix build on linux

In addition to the compile failure fixed in signal*.c,
preserving the signal mask led to very strange crashes.
Testing shows that looking for SIG_IGN is all that
matters to get along with nohup, so reintroduce
sigset_zero instead of trying to preserve the signal mask.

TBR=iant
CC=golang-dev
https://golang.org/cl/7323067
diff --git a/src/pkg/runtime/thread_darwin.c b/src/pkg/runtime/thread_darwin.c
index d55ec8d..df1adf6 100644
--- a/src/pkg/runtime/thread_darwin.c
+++ b/src/pkg/runtime/thread_darwin.c
@@ -9,6 +9,7 @@
 
 extern SigTab runtime·sigtab[];
 
+static Sigset sigset_none;
 static Sigset sigset_all = ~(Sigset)0;
 static Sigset sigset_prof = 1<<(SIGPROF-1);
 
@@ -98,8 +99,6 @@
 	}
 
 	runtime·sigprocmask(SIG_SETMASK, &sigset_all, &oset);
-	mp->sigset = runtime·mal(sizeof(Sigset));
-	*(Sigset*)mp->sigset = oset;
 	errno = runtime·bsdthread_create(stk, mp, gp, fn);
 	runtime·sigprocmask(SIG_SETMASK, &oset, nil);
 
@@ -117,8 +116,7 @@
 	m->gsignal = runtime·malg(32*1024);	// OS X wants >=8K, Linux >=2K
 	runtime·signalstack((byte*)m->gsignal->stackguard - StackGuard, 32*1024);
 
-	if(m->sigset != nil)
-		runtime·sigprocmask(SIG_SETMASK, m->sigset, nil);
+	runtime·sigprocmask(SIG_SETMASK, &sigset_none, nil);
 	runtime·setprof(m->profilehz > 0);
 }