1
0
mirror of https://github.com/golang/go synced 2024-11-18 00:54:45 -07:00

syscall: export Fsid.X__val on s390x

mkpost.go replaces all variables prefixed with 'X_' with '_' on s390x
because most of them do not need to be exposed. X__val is being used
by a third party library so it turns out we do need to expose it on
s390x (it is already exposed on all other Linux architectures).

Fixes #17298 and updates #18632.

Change-Id: Ic03463229a5f75ca41a4a4b50300da4b4d892d45
Reviewed-on: https://go-review.googlesource.com/30130
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Michael Munday 2016-09-30 11:12:01 -04:00
parent 4601eae6ba
commit 0642b8a2f1
2 changed files with 8 additions and 1 deletions

View File

@ -18,6 +18,7 @@ import (
"log"
"os"
"regexp"
"strings"
)
func main() {
@ -38,10 +39,16 @@ func main() {
re = regexp.MustCompile("Pad_cgo[A-Za-z0-9_]*")
s = re.ReplaceAllString(s, "_")
// We want to keep X__val in Fsid. Hide it and restore it later.
s = strings.Replace(s, "X__val", "MKPOSTFSIDVAL", 1)
// Replace other unwanted fields with blank identifiers.
re = regexp.MustCompile("X_[A-Za-z0-9_]*")
s = re.ReplaceAllString(s, "_")
// Restore X__val in Fsid.
s = strings.Replace(s, "MKPOSTFSIDVAL", "X__val", 1)
// Force the type of RawSockaddr.Data to [14]int8 to match
// the existing gccgo API.
re = regexp.MustCompile("(Data\\s+\\[14\\])uint8")

View File

@ -140,7 +140,7 @@ type Dirent struct {
}
type Fsid struct {
_ [2]int32
X__val [2]int32
}
type Flock_t struct {