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.
This commit is contained in:
parent
97cfb54c3f
commit
09e18d113b
6 changed files with 27 additions and 10 deletions
|
@ -1,4 +1,4 @@
|
||||||
850235e4b974b9c5c2d7a1f9860583bd07f2a45c
|
e3bfc0889237a5bb8aa7ae30e1cff14f90a5f941
|
||||||
|
|
||||||
The first line of this file holds the git revision number of the last
|
The first line of this file holds the git revision number of the last
|
||||||
merge done from the gofrontend repository.
|
merge done from the gofrontend repository.
|
||||||
|
|
|
@ -245,14 +245,14 @@ check-runtime: go$(EXEEXT) $(noinst_PROGRAMS) check-head check-gccgo check-gcc
|
||||||
export LD_LIBRARY_PATH; \
|
export LD_LIBRARY_PATH; \
|
||||||
GOARCH=`$(abs_builddir)/go$(EXEEXT) env GOARCH`; \
|
GOARCH=`$(abs_builddir)/go$(EXEEXT) env GOARCH`; \
|
||||||
GOOS=`$(abs_builddir)/go$(EXEEXT) env GOOS`; \
|
GOOS=`$(abs_builddir)/go$(EXEEXT) env GOOS`; \
|
||||||
files=`$(SHELL) $(libgosrcdir)/../match.sh --goarch=$${GOARCH} --goos=$${GOOS} --srcdir=$(libgosrcdir)/runtime --extrafiles="$(libgodir)/runtime_linknames.go $(libgodir)/runtime_sysinfo.go $(libgodir)/sigtab.go" --tag=libffi`; \
|
files=`$(SHELL) $(libgosrcdir)/../match.sh --goarch=$${GOARCH} --goos=$${GOOS} --srcdir=$(libgosrcdir)/runtime --extrafiles="$(libgodir)/runtime_linknames.go $(libgodir)/runtime_sysinfo.go $(libgodir)/sigtab.go $(libgodir)/goroot.go" --tag=libffi`; \
|
||||||
echo "$(ECHO_ENV) GC='$(abs_builddir)/check-gccgo -fgo-compiling-runtime' GOARCH=$${GOARCH} GOOS=$${GOOS} $(SHELL) $(libgosrcdir)/../testsuite/gotest --goarch=$${GOARCH} --goos=$${GOOS} --basedir=$(libgosrcdir)/.. --srcdir=$(libgosrcdir)/runtime --pkgpath=runtime --pkgfiles='$${files}' $(GOTESTFLAGS) -test.timeout=$(GOTOOLS_TEST_TIMEOUT)s -test.v" > runtime-testlog
|
echo "$(ECHO_ENV) GC='$(abs_builddir)/check-gccgo -fgo-compiling-runtime' GOARCH=$${GOARCH} GOOS=$${GOOS} $(SHELL) $(libgosrcdir)/../testsuite/gotest --goarch=$${GOARCH} --goos=$${GOOS} --basedir=$(libgosrcdir)/.. --srcdir=$(libgosrcdir)/runtime --pkgpath=runtime --pkgfiles='$${files}' $(GOTESTFLAGS) -test.timeout=$(GOTOOLS_TEST_TIMEOUT)s -test.v" > runtime-testlog
|
||||||
$(CHECK_ENV) \
|
$(CHECK_ENV) \
|
||||||
GC="$${GCCGO} -fgo-compiling-runtime"; \
|
GC="$${GCCGO} -fgo-compiling-runtime"; \
|
||||||
export GC; \
|
export GC; \
|
||||||
GOARCH=`$(abs_builddir)/go$(EXEEXT) env GOARCH`; \
|
GOARCH=`$(abs_builddir)/go$(EXEEXT) env GOARCH`; \
|
||||||
GOOS=`$(abs_builddir)/go$(EXEEXT) env GOOS`; \
|
GOOS=`$(abs_builddir)/go$(EXEEXT) env GOOS`; \
|
||||||
files=`$(SHELL) $(libgosrcdir)/../match.sh --goarch=$${GOARCH} --goos=$${GOOS} --srcdir=$(libgosrcdir)/runtime --extrafiles="$(libgodir)/runtime_linknames.go $(libgodir)/runtime_sysinfo.go $(libgodir)/sigtab.go" --tag=libffi`; \
|
files=`$(SHELL) $(libgosrcdir)/../match.sh --goarch=$${GOARCH} --goos=$${GOOS} --srcdir=$(libgosrcdir)/runtime --extrafiles="$(libgodir)/runtime_linknames.go $(libgodir)/runtime_sysinfo.go $(libgodir)/sigtab.go $(libgodir)/goroot.go" --tag=libffi`; \
|
||||||
$(SHELL) $(libgosrcdir)/../testsuite/gotest --goarch=$${GOARCH} --goos=$${GOOS} --basedir=$(libgosrcdir)/.. --srcdir=$(libgosrcdir)/runtime --pkgpath=runtime --pkgfiles="$${files}" $(GOTESTFLAGS) -test.timeout=$(GOTOOLS_TEST_TIMEOUT)s -test.v >> runtime-testlog 2>&1 || echo "--- $${fl}: go test runtime (0.00s)" >> runtime-testlog
|
$(SHELL) $(libgosrcdir)/../testsuite/gotest --goarch=$${GOARCH} --goos=$${GOOS} --basedir=$(libgosrcdir)/.. --srcdir=$(libgosrcdir)/runtime --pkgpath=runtime --pkgfiles="$${files}" $(GOTESTFLAGS) -test.timeout=$(GOTOOLS_TEST_TIMEOUT)s -test.v >> runtime-testlog 2>&1 || echo "--- $${fl}: go test runtime (0.00s)" >> runtime-testlog
|
||||||
grep '^--- ' runtime-testlog | sed -e 's/^--- \(.*\) ([^)]*)$$/\1/' | sort -k 2
|
grep '^--- ' runtime-testlog | sed -e 's/^--- \(.*\) ([^)]*)$$/\1/' | sort -k 2
|
||||||
|
|
||||||
|
|
|
@ -703,8 +703,8 @@ distclean-generic:
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@echo "it deletes files that may require special tools to rebuild."
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
@NATIVE_FALSE@uninstall-local:
|
|
||||||
@NATIVE_FALSE@install-exec-local:
|
@NATIVE_FALSE@install-exec-local:
|
||||||
|
@NATIVE_FALSE@uninstall-local:
|
||||||
clean: clean-am
|
clean: clean-am
|
||||||
|
|
||||||
clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
|
clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \
|
||||||
|
@ -916,14 +916,14 @@ mostlyclean-local:
|
||||||
@NATIVE_TRUE@ export LD_LIBRARY_PATH; \
|
@NATIVE_TRUE@ export LD_LIBRARY_PATH; \
|
||||||
@NATIVE_TRUE@ GOARCH=`$(abs_builddir)/go$(EXEEXT) env GOARCH`; \
|
@NATIVE_TRUE@ GOARCH=`$(abs_builddir)/go$(EXEEXT) env GOARCH`; \
|
||||||
@NATIVE_TRUE@ GOOS=`$(abs_builddir)/go$(EXEEXT) env GOOS`; \
|
@NATIVE_TRUE@ GOOS=`$(abs_builddir)/go$(EXEEXT) env GOOS`; \
|
||||||
@NATIVE_TRUE@ files=`$(SHELL) $(libgosrcdir)/../match.sh --goarch=$${GOARCH} --goos=$${GOOS} --srcdir=$(libgosrcdir)/runtime --extrafiles="$(libgodir)/runtime_linknames.go $(libgodir)/runtime_sysinfo.go $(libgodir)/sigtab.go" --tag=libffi`; \
|
@NATIVE_TRUE@ files=`$(SHELL) $(libgosrcdir)/../match.sh --goarch=$${GOARCH} --goos=$${GOOS} --srcdir=$(libgosrcdir)/runtime --extrafiles="$(libgodir)/runtime_linknames.go $(libgodir)/runtime_sysinfo.go $(libgodir)/sigtab.go $(libgodir)/goroot.go" --tag=libffi`; \
|
||||||
@NATIVE_TRUE@ echo "$(ECHO_ENV) GC='$(abs_builddir)/check-gccgo -fgo-compiling-runtime' GOARCH=$${GOARCH} GOOS=$${GOOS} $(SHELL) $(libgosrcdir)/../testsuite/gotest --goarch=$${GOARCH} --goos=$${GOOS} --basedir=$(libgosrcdir)/.. --srcdir=$(libgosrcdir)/runtime --pkgpath=runtime --pkgfiles='$${files}' $(GOTESTFLAGS) -test.timeout=$(GOTOOLS_TEST_TIMEOUT)s -test.v" > runtime-testlog
|
@NATIVE_TRUE@ echo "$(ECHO_ENV) GC='$(abs_builddir)/check-gccgo -fgo-compiling-runtime' GOARCH=$${GOARCH} GOOS=$${GOOS} $(SHELL) $(libgosrcdir)/../testsuite/gotest --goarch=$${GOARCH} --goos=$${GOOS} --basedir=$(libgosrcdir)/.. --srcdir=$(libgosrcdir)/runtime --pkgpath=runtime --pkgfiles='$${files}' $(GOTESTFLAGS) -test.timeout=$(GOTOOLS_TEST_TIMEOUT)s -test.v" > runtime-testlog
|
||||||
@NATIVE_TRUE@ $(CHECK_ENV) \
|
@NATIVE_TRUE@ $(CHECK_ENV) \
|
||||||
@NATIVE_TRUE@ GC="$${GCCGO} -fgo-compiling-runtime"; \
|
@NATIVE_TRUE@ GC="$${GCCGO} -fgo-compiling-runtime"; \
|
||||||
@NATIVE_TRUE@ export GC; \
|
@NATIVE_TRUE@ export GC; \
|
||||||
@NATIVE_TRUE@ GOARCH=`$(abs_builddir)/go$(EXEEXT) env GOARCH`; \
|
@NATIVE_TRUE@ GOARCH=`$(abs_builddir)/go$(EXEEXT) env GOARCH`; \
|
||||||
@NATIVE_TRUE@ GOOS=`$(abs_builddir)/go$(EXEEXT) env GOOS`; \
|
@NATIVE_TRUE@ GOOS=`$(abs_builddir)/go$(EXEEXT) env GOOS`; \
|
||||||
@NATIVE_TRUE@ files=`$(SHELL) $(libgosrcdir)/../match.sh --goarch=$${GOARCH} --goos=$${GOOS} --srcdir=$(libgosrcdir)/runtime --extrafiles="$(libgodir)/runtime_linknames.go $(libgodir)/runtime_sysinfo.go $(libgodir)/sigtab.go" --tag=libffi`; \
|
@NATIVE_TRUE@ files=`$(SHELL) $(libgosrcdir)/../match.sh --goarch=$${GOARCH} --goos=$${GOOS} --srcdir=$(libgosrcdir)/runtime --extrafiles="$(libgodir)/runtime_linknames.go $(libgodir)/runtime_sysinfo.go $(libgodir)/sigtab.go $(libgodir)/goroot.go" --tag=libffi`; \
|
||||||
@NATIVE_TRUE@ $(SHELL) $(libgosrcdir)/../testsuite/gotest --goarch=$${GOARCH} --goos=$${GOOS} --basedir=$(libgosrcdir)/.. --srcdir=$(libgosrcdir)/runtime --pkgpath=runtime --pkgfiles="$${files}" $(GOTESTFLAGS) -test.timeout=$(GOTOOLS_TEST_TIMEOUT)s -test.v >> runtime-testlog 2>&1 || echo "--- $${fl}: go test runtime (0.00s)" >> runtime-testlog
|
@NATIVE_TRUE@ $(SHELL) $(libgosrcdir)/../testsuite/gotest --goarch=$${GOARCH} --goos=$${GOOS} --basedir=$(libgosrcdir)/.. --srcdir=$(libgosrcdir)/runtime --pkgpath=runtime --pkgfiles="$${files}" $(GOTESTFLAGS) -test.timeout=$(GOTOOLS_TEST_TIMEOUT)s -test.v >> runtime-testlog 2>&1 || echo "--- $${fl}: go test runtime (0.00s)" >> runtime-testlog
|
||||||
@NATIVE_TRUE@ grep '^--- ' runtime-testlog | sed -e 's/^--- \(.*\) ([^)]*)$$/\1/' | sort -k 2
|
@NATIVE_TRUE@ grep '^--- ' runtime-testlog | sed -e 's/^--- \(.*\) ([^)]*)$$/\1/' | sort -k 2
|
||||||
|
|
||||||
|
|
|
@ -545,6 +545,14 @@ s-gcpu: Makefile
|
||||||
$(SHELL) $(srcdir)/mvifdiff.sh gcpugen.go.tmp gcpugen.go
|
$(SHELL) $(srcdir)/mvifdiff.sh gcpugen.go.tmp gcpugen.go
|
||||||
$(STAMP) $@
|
$(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
|
buildcfg.go: s-buildcfg; @true
|
||||||
s-buildcfg: Makefile
|
s-buildcfg: Makefile
|
||||||
rm -f buildcfg.go.tmp
|
rm -f buildcfg.go.tmp
|
||||||
|
@ -1005,7 +1013,8 @@ math_lo_GOCFLAGS = $(MATH_FLAG)
|
||||||
math_check_GOCFLAGS = $(MATH_FLAG)
|
math_check_GOCFLAGS = $(MATH_FLAG)
|
||||||
|
|
||||||
# Add generated files to the runtime package.
|
# 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)
|
runtime.lo.dep: $(extra_go_files_runtime)
|
||||||
|
|
||||||
# Add generated files to the syscall package.
|
# Add generated files to the syscall package.
|
||||||
|
|
|
@ -1098,7 +1098,9 @@ math_lo_GOCFLAGS = $(MATH_FLAG)
|
||||||
math_check_GOCFLAGS = $(MATH_FLAG)
|
math_check_GOCFLAGS = $(MATH_FLAG)
|
||||||
|
|
||||||
# Add generated files to the runtime package.
|
# 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.
|
# Add generated files to the syscall package.
|
||||||
extra_go_files_syscall = \
|
extra_go_files_syscall = \
|
||||||
|
@ -2752,6 +2754,14 @@ s-gcpu: Makefile
|
||||||
$(SHELL) $(srcdir)/mvifdiff.sh gcpugen.go.tmp gcpugen.go
|
$(SHELL) $(srcdir)/mvifdiff.sh gcpugen.go.tmp gcpugen.go
|
||||||
$(STAMP) $@
|
$(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
|
buildcfg.go: s-buildcfg; @true
|
||||||
s-buildcfg: Makefile
|
s-buildcfg: Makefile
|
||||||
rm -f buildcfg.go.tmp
|
rm -f buildcfg.go.tmp
|
||||||
|
|
|
@ -211,8 +211,6 @@ func Caller(skip int) (pc uintptr, file string, line int, ok bool)
|
||||||
// program counter adjustment.
|
// program counter adjustment.
|
||||||
func Callers(skip int, pc []uintptr) int
|
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 returns the root of the Go tree. It uses the
|
||||||
// GOROOT environment variable, if set at process start,
|
// GOROOT environment variable, if set at process start,
|
||||||
// or else the root used during the Go build.
|
// or else the root used during the Go build.
|
||||||
|
|
Loading…
Add table
Reference in a new issue