Commit 86f1944e authored by Shenghou Ma's avatar Shenghou Ma Committed by Minux Ma

cmd/dist, runtime: make runtime version available as runtime.buildVersion

So that there is a uniformed way to retrieve Go version from a Go
binary, starting from Go 1.4 (see https://golang.org/cl/117040043)

Updates #13507.

Change-Id: Iaa2b14fca2d8c4d883d3824e2efc82b3e6fe2624
Reviewed-on: https://go-review.googlesource.com/17459Reviewed-by: 's avatarKeith Randall <khr@golang.org>
parent 68c6aad5
......@@ -16,12 +16,11 @@ import (
// mkzversion writes zversion.go:
//
// package runtime
// package sys
// const DefaultGoroot = <goroot>
// const TheVersion = <version>
// const Goexperiment = <goexperiment>
// const StackGuardMultiplier = <multiplier value>
// const BuildVersion = <build version>
//
func mkzversion(dir, file string) {
out := fmt.Sprintf(
......@@ -32,8 +31,7 @@ func mkzversion(dir, file string) {
"const DefaultGoroot = `%s`\n"+
"const TheVersion = `%s`\n"+
"const Goexperiment = `%s`\n"+
"const StackGuardMultiplier = %d\n\n"+
"var BuildVersion = TheVersion\n", goroot_final, findgoversion(), os.Getenv("GOEXPERIMENT"), stackGuardMultiplier())
"const StackGuardMultiplier = %d\n\n", goroot_final, findgoversion(), os.Getenv("GOEXPERIMENT"), stackGuardMultiplier())
writefile(out, file, writeSkipSame)
}
......
......@@ -10,6 +10,8 @@ import (
"unsafe"
)
var buildVersion = sys.TheVersion
// Goroutine scheduler
// The scheduler's job is to distribute ready-to-run goroutines over worker threads.
//
......@@ -445,10 +447,10 @@ func schedinit() {
throw("unknown runnable goroutine during bootstrap")
}
if sys.BuildVersion == "" {
if buildVersion == "" {
// Condition should never trigger. This code just serves
// to ensure runtime·buildVersion is kept in the resulting binary.
sys.BuildVersion = "unknown"
buildVersion = "unknown"
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment