aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Munday <munday@ca.ibm.com>2016-09-30 11:12:01 -0400
committerMichael Munday <munday@ca.ibm.com>2017-01-13 19:31:47 +0000
commit0642b8a2f1837901f31066b679173e89325b6be3 (patch)
tree84644cbfb164c3cf636bc987b7de89304063c18a
parent4601eae6baed9c4bc6e38f035d1b6a20bb7ebbf7 (diff)
downloadgo-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.go7
-rw-r--r--src/syscall/ztypes_linux_s390x.go2
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 {