diff options
author | Michael Munday <munday@ca.ibm.com> | 2016-09-30 11:12:01 -0400 |
---|---|---|
committer | Michael Munday <munday@ca.ibm.com> | 2017-01-13 19:31:47 +0000 |
commit | 0642b8a2f1837901f31066b679173e89325b6be3 (patch) | |
tree | 84644cbfb164c3cf636bc987b7de89304063c18a | |
parent | 4601eae6baed9c4bc6e38f035d1b6a20bb7ebbf7 (diff) | |
download | go-0642b8a2f1837901f31066b679173e89325b6be3.tar.gz go-0642b8a2f1837901f31066b679173e89325b6be3.zip |
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>
-rw-r--r-- | src/syscall/mkpost.go | 7 | ||||
-rw-r--r-- | src/syscall/ztypes_linux_s390x.go | 2 |
2 files changed, 8 insertions, 1 deletions
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 { |