aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2016-06-16 14:38:33 -0400
committerAustin Clements <austin@google.com>2016-06-16 19:32:33 +0000
commit79f2f008a31f769ae3db684eb48d8baeda731c00 (patch)
treedb83f340b97f74edbc15be33f255b30e843a0b84
parentc3818e56d0f60493a63b2bb03a09f261d3e0ada2 (diff)
downloadgo-79f2f008a31f769ae3db684eb48d8baeda731c00.tar.gz
go-79f2f008a31f769ae3db684eb48d8baeda731c00.zip
cmd/dist: make zosarch.go deterministic
Currently zosarch.go is written out in non-deterministic map order. Sort the keys and write it out in sorted order to make the generated file contents deterministic. Change-Id: Id490f0e8665a2c619c5a7a00a30f4fc64f333258 Reviewed-on: https://go-review.googlesource.com/24174 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r--src/cmd/dist/buildgo.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go
index c367c70b04..3fab2354ad 100644
--- a/src/cmd/dist/buildgo.go
+++ b/src/cmd/dist/buildgo.go
@@ -42,10 +42,21 @@ func mkzdefaultcc(dir, file string) {
// mkzcgo writes zosarch.go for cmd/go.
func mkzosarch(dir, file string) {
+ // sort for deterministic zosarch.go file
+ var list []string
+ for plat := range cgoEnabled {
+ list = append(list, plat)
+ }
+ sort.Strings(list)
+
var buf bytes.Buffer
buf.WriteString("// auto generated by go tool dist\n\n")
buf.WriteString("package main\n\n")
- fmt.Fprintf(&buf, "var osArchSupportsCgo = %#v", cgoEnabled)
+ fmt.Fprintf(&buf, "var osArchSupportsCgo = map[string]bool{\n")
+ for _, plat := range list {
+ fmt.Fprintf(&buf, "\t%q: %v,\n", plat, cgoEnabled[plat])
+ }
+ fmt.Fprintf(&buf, "}\n")
writefile(buf.String(), file, writeSkipSame)
}