From: Austin Clements Date: Thu, 16 Jun 2016 18:38:33 +0000 (-0400) Subject: cmd/dist: make zosarch.go deterministic X-Git-Tag: go1.7beta2~1 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=79f2f008a31f769ae3db684eb48d8baeda731c00;p=gostls13.git 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 TryBot-Result: Gobot Gobot Reviewed-by: Robert Griesemer Reviewed-by: Ian Lance Taylor --- 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) }