runtime: remove sigmask type, use sigset instead

The OS-independent sigmask type was not pulling its weight. Replace it
with the OS-dependent sigset type. This requires adding an OS-specific
sigaddset function, but permits removing the OS-specific sigmaskToSigset
function.

Change-Id: I43307b512b0264ec291baadaea902f05ce212305
Reviewed-on: https://go-review.googlesource.com/29950
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/src/runtime/os_linux_generic.go b/src/runtime/os_linux_generic.go
index 636e248..94e5ed9 100644
--- a/src/runtime/os_linux_generic.go
+++ b/src/runtime/os_linux_generic.go
@@ -31,6 +31,8 @@
 
 var sigset_all = sigset{^uint32(0), ^uint32(0)}
 
+//go:nosplit
+//go:nowritebarrierrec
 func sigaddset(mask *sigset, i int) {
 	(*mask)[(i-1)/32] |= 1 << ((uint32(i) - 1) & 31)
 }
@@ -42,11 +44,3 @@
 func sigfillset(mask *uint64) {
 	*mask = ^uint64(0)
 }
-
-//go:nosplit
-//go:nowritebarrierrec
-func sigmaskToSigset(m sigmask) sigset {
-	var set sigset
-	copy(set[:], m[:])
-	return set
-}