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) }