Skip to content

Commit

Permalink
runtime: move sys.DefaultGoroot to runtime.defaultGOROOT
Browse files Browse the repository at this point in the history
The default GOROOT has nothing to do with system details.
Move it next to its one use in package runtime.

This CL is part of a stack adding windows/arm64
support (#36439), intended to land in the Go 1.17 cycle.
This CL is, however, not windows/arm64-specific.
It is cleanup meant to make the port (and future ports) easier.

Change-Id: I1a601fad6335336b4616b834bb21bd8437ee1313
Reviewed-on: https://go-review.googlesource.com/c/go/+/288796
Trust: Russ Cox <rsc@golang.org>
Trust: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com>
  • Loading branch information
rsc committed Feb 19, 2021
1 parent 8ac23a1 commit a78879a
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/cmd/link/internal/ld/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ func Main(arch *sys.Arch, theArch Arch) {
}

final := gorootFinal()
addstrdata1(ctxt, "runtime/internal/sys.DefaultGoroot="+final)
addstrdata1(ctxt, "runtime.defaultGOROOT="+final)
addstrdata1(ctxt, "cmd/internal/objabi.defaultGOROOT="+final)

// TODO(matloob): define these above and then check flag values here
Expand Down
4 changes: 3 additions & 1 deletion src/runtime/extern.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,8 @@ func Callers(skip int, pc []uintptr) int {
return callers(skip, pc)
}

var defaultGOROOT string // set by cmd/link

// GOROOT returns the root of the Go tree. It uses the
// GOROOT environment variable, if set at process start,
// or else the root used during the Go build.
Expand All @@ -237,7 +239,7 @@ func GOROOT() string {
if s != "" {
return s
}
return sys.DefaultGoroot
return defaultGOROOT
}

// Version returns the Go tree's version string.
Expand Down
4 changes: 0 additions & 4 deletions src/runtime/internal/sys/arch.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,3 @@ const MinFrameSize = _MinFrameSize
// StackAlign is the required alignment of the SP register.
// The stack must be at least word aligned, but some architectures require more.
const StackAlign = _StackAlign

// DefaultGoroot is set by the linker for use by package runtime.
// It doesn't really belong in this file or this package.
var DefaultGoroot string

0 comments on commit a78879a

Please sign in to comment.