unix: re-export Fsid and Sigset_t Val member on Linux

As spotted by Brad Fitzpatrick, CL 106838 unexported the value field of
Fsid and Sigset_t, but these types would be useless without any exported
fields. Re-export them via an exception in mkpost.go

Change-Id: I30d3c3b81c8c1b6377f8aa55cad816e3486a4395
Reviewed-on: https://go-review.googlesource.com/107415
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/unix/mkpost.go b/unix/mkpost.go
index 7938fe7..c28e42b 100644
--- a/unix/mkpost.go
+++ b/unix/mkpost.go
@@ -42,6 +42,10 @@
 		log.Fatal(err)
 	}
 
+	// Intentionally export __val fields in Fsid and Sigset_t
+	valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__val(\s+\S+\s+)}`)
+	b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$3}"))
+
 	// If we have empty Ptrace structs, we should delete them. Only s390x emits
 	// nonempty Ptrace structs.
 	ptraceRexexp := regexp.MustCompile(`type Ptrace((Psw|Fpregs|Per) struct {\s*})`)
diff --git a/unix/ztypes_linux_386.go b/unix/ztypes_linux_386.go
index edb4904..b07e048 100644
--- a/unix/ztypes_linux_386.go
+++ b/unix/ztypes_linux_386.go
@@ -171,7 +171,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -739,7 +739,7 @@
 )
 
 type Sigset_t struct {
-	_ [32]uint32
+	Val [32]uint32
 }
 
 const RNDGETENTCNT = 0x80045200
diff --git a/unix/ztypes_linux_amd64.go b/unix/ztypes_linux_amd64.go
index 560f7a9..d6f2082 100644
--- a/unix/ztypes_linux_amd64.go
+++ b/unix/ztypes_linux_amd64.go
@@ -171,7 +171,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -757,7 +757,7 @@
 )
 
 type Sigset_t struct {
-	_ [16]uint64
+	Val [16]uint64
 }
 
 const RNDGETENTCNT = 0x80045200
diff --git a/unix/ztypes_linux_arm.go b/unix/ztypes_linux_arm.go
index 6b87d03..0920891 100644
--- a/unix/ztypes_linux_arm.go
+++ b/unix/ztypes_linux_arm.go
@@ -173,7 +173,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -728,7 +728,7 @@
 )
 
 type Sigset_t struct {
-	_ [32]uint32
+	Val [32]uint32
 }
 
 const RNDGETENTCNT = 0x80045200
diff --git a/unix/ztypes_linux_arm64.go b/unix/ztypes_linux_arm64.go
index d147de2..d35d5ba 100644
--- a/unix/ztypes_linux_arm64.go
+++ b/unix/ztypes_linux_arm64.go
@@ -172,7 +172,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -736,7 +736,7 @@
 )
 
 type Sigset_t struct {
-	_ [16]uint64
+	Val [16]uint64
 }
 
 const RNDGETENTCNT = 0x80045200
diff --git a/unix/ztypes_linux_mips.go b/unix/ztypes_linux_mips.go
index 0051dc4..f100674 100644
--- a/unix/ztypes_linux_mips.go
+++ b/unix/ztypes_linux_mips.go
@@ -172,7 +172,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -733,7 +733,7 @@
 )
 
 type Sigset_t struct {
-	_ [32]uint32
+	Val [32]uint32
 }
 
 const RNDGETENTCNT = 0x40045200
diff --git a/unix/ztypes_linux_mips64.go b/unix/ztypes_linux_mips64.go
index a67fbb4..1bc01bd 100644
--- a/unix/ztypes_linux_mips64.go
+++ b/unix/ztypes_linux_mips64.go
@@ -172,7 +172,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -738,7 +738,7 @@
 )
 
 type Sigset_t struct {
-	_ [16]uint64
+	Val [16]uint64
 }
 
 const RNDGETENTCNT = 0x40045200
diff --git a/unix/ztypes_linux_mips64le.go b/unix/ztypes_linux_mips64le.go
index 41bd097..af22a07 100644
--- a/unix/ztypes_linux_mips64le.go
+++ b/unix/ztypes_linux_mips64le.go
@@ -172,7 +172,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -738,7 +738,7 @@
 )
 
 type Sigset_t struct {
-	_ [16]uint64
+	Val [16]uint64
 }
 
 const RNDGETENTCNT = 0x40045200
diff --git a/unix/ztypes_linux_mipsle.go b/unix/ztypes_linux_mipsle.go
index 46fa3f9..67ac81e 100644
--- a/unix/ztypes_linux_mipsle.go
+++ b/unix/ztypes_linux_mipsle.go
@@ -172,7 +172,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -733,7 +733,7 @@
 )
 
 type Sigset_t struct {
-	_ [32]uint32
+	Val [32]uint32
 }
 
 const RNDGETENTCNT = 0x40045200
diff --git a/unix/ztypes_linux_ppc64.go b/unix/ztypes_linux_ppc64.go
index e575870..0c3b056 100644
--- a/unix/ztypes_linux_ppc64.go
+++ b/unix/ztypes_linux_ppc64.go
@@ -173,7 +173,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -746,7 +746,7 @@
 )
 
 type Sigset_t struct {
-	_ [16]uint64
+	Val [16]uint64
 }
 
 const RNDGETENTCNT = 0x40045200
diff --git a/unix/ztypes_linux_ppc64le.go b/unix/ztypes_linux_ppc64le.go
index b2a9261..03a721e 100644
--- a/unix/ztypes_linux_ppc64le.go
+++ b/unix/ztypes_linux_ppc64le.go
@@ -173,7 +173,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -746,7 +746,7 @@
 )
 
 type Sigset_t struct {
-	_ [16]uint64
+	Val [16]uint64
 }
 
 const RNDGETENTCNT = 0x40045200
diff --git a/unix/ztypes_linux_s390x.go b/unix/ztypes_linux_s390x.go
index c56ac40..a0217ff 100644
--- a/unix/ztypes_linux_s390x.go
+++ b/unix/ztypes_linux_s390x.go
@@ -172,7 +172,7 @@
 }
 
 type Fsid struct {
-	_ [2]int32
+	Val [2]int32
 }
 
 type Flock_t struct {
@@ -763,7 +763,7 @@
 )
 
 type Sigset_t struct {
-	_ [16]uint64
+	Val [16]uint64
 }
 
 const RNDGETENTCNT = 0x80045200