From 09e18d113b3c3dae896ac1a8ad1e0087adbb153b Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 21 Sep 2021 11:44:26 -0700 Subject: runtime: set runtime.GOROOT value at build time In Go 1.17 the gc toolchain changed to set runtime.GOROOT in cmd/link (previously it was runtime/internal/sys.GOROOT). Do the same in libgo. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/351313 gotools/: * Makefile.am (check-runtime): Add goroot.go to --extrafiles. * Makefile.in: Regenerate. --- libgo/Makefile.am | 11 ++++++++++- libgo/Makefile.in | 12 +++++++++++- libgo/go/runtime/extern.go | 2 -- 3 files changed, 21 insertions(+), 4 deletions(-) (limited to 'libgo') diff --git a/libgo/Makefile.am b/libgo/Makefile.am index 92fedcf6eb8..5c377a30df9 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -545,6 +545,14 @@ s-gcpu: Makefile $(SHELL) $(srcdir)/mvifdiff.sh gcpugen.go.tmp gcpugen.go $(STAMP) $@ +goroot.go: s-goroot; @true +s-goroot: Makefile + rm -f goroot.go.tmp + echo "package runtime" > goroot.go.tmp + echo 'var defaultGOROOT = `$(prefix)`' >> goroot.go.tmp + $(SHELL) $(srcdir)/mvifdiff.sh goroot.go.tmp goroot.go + $(STAMP) $@ + buildcfg.go: s-buildcfg; @true s-buildcfg: Makefile rm -f buildcfg.go.tmp @@ -1005,7 +1013,8 @@ math_lo_GOCFLAGS = $(MATH_FLAG) math_check_GOCFLAGS = $(MATH_FLAG) # Add generated files to the runtime package. -extra_go_files_runtime = runtime_linknames.go runtime_sysinfo.go sigtab.go +extra_go_files_runtime = \ + runtime_linknames.go runtime_sysinfo.go sigtab.go goroot.go runtime.lo.dep: $(extra_go_files_runtime) # Add generated files to the syscall package. diff --git a/libgo/Makefile.in b/libgo/Makefile.in index 3b2bdf99027..1240b16d443 100644 --- a/libgo/Makefile.in +++ b/libgo/Makefile.in @@ -1098,7 +1098,9 @@ math_lo_GOCFLAGS = $(MATH_FLAG) math_check_GOCFLAGS = $(MATH_FLAG) # Add generated files to the runtime package. -extra_go_files_runtime = runtime_linknames.go runtime_sysinfo.go sigtab.go +extra_go_files_runtime = \ + runtime_linknames.go runtime_sysinfo.go sigtab.go goroot.go + # Add generated files to the syscall package. extra_go_files_syscall = \ @@ -2752,6 +2754,14 @@ s-gcpu: Makefile $(SHELL) $(srcdir)/mvifdiff.sh gcpugen.go.tmp gcpugen.go $(STAMP) $@ +goroot.go: s-goroot; @true +s-goroot: Makefile + rm -f goroot.go.tmp + echo "package runtime" > goroot.go.tmp + echo 'var defaultGOROOT = `$(prefix)`' >> goroot.go.tmp + $(SHELL) $(srcdir)/mvifdiff.sh goroot.go.tmp goroot.go + $(STAMP) $@ + buildcfg.go: s-buildcfg; @true s-buildcfg: Makefile rm -f buildcfg.go.tmp diff --git a/libgo/go/runtime/extern.go b/libgo/go/runtime/extern.go index 0d7f3577913..6bd612fcf32 100644 --- a/libgo/go/runtime/extern.go +++ b/libgo/go/runtime/extern.go @@ -211,8 +211,6 @@ func Caller(skip int) (pc uintptr, file string, line int, ok bool) // program counter adjustment. func Callers(skip int, pc []uintptr) int -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. -- cgit v1.2.1