From 0642b8a2f1837901f31066b679173e89325b6be3 Mon Sep 17 00:00:00 2001 From: Michael Munday Date: Fri, 30 Sep 2016 11:12:01 -0400 Subject: [PATCH] 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 --- src/syscall/mkpost.go | 7 +++++++ src/syscall/ztypes_linux_s390x.go | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/syscall/mkpost.go b/src/syscall/mkpost.go index 26aeec843f..e75ba1502a 100644 --- a/src/syscall/mkpost.go +++ b/src/syscall/mkpost.go @@ -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") diff --git a/src/syscall/ztypes_linux_s390x.go b/src/syscall/ztypes_linux_s390x.go index cdde47863f..63c4a83b19 100644 --- a/src/syscall/ztypes_linux_s390x.go +++ b/src/syscall/ztypes_linux_s390x.go @@ -140,7 +140,7 @@ type Dirent struct { } type Fsid struct { - _ [2]int32 + X__val [2]int32 } type Flock_t struct { -- 2.50.0