diff --git a/lang/golang/golang/Makefile b/lang/golang/golang/Makefile index d28a37428..162b5ad5e 100644 --- a/lang/golang/golang/Makefile +++ b/lang/golang/golang/Makefile @@ -187,11 +187,20 @@ endif ifeq ($(GO_HOST_PIE_SUPPORTED),1) HOST_GO_ENABLE_PIE:=1 +endif + +ifeq ($(HOST_GO_ENABLE_PIE),1) HOST_GO_INSTALL_SUFFIX:=$(GO_HOST_PIE_INSTALL_SUFFIX) endif $(eval $(call GoCompiler/AddProfile,Host,$(HOST_BUILD_DIR),$(HOST_GO_PREFIX),$(HOST_GO_VERSION_ID),$(GO_HOST_OS_ARCH),$(HOST_GO_INSTALL_SUFFIX))) +HOST_GO_VARS= \ + GOCACHE=$(GO_BUILD_CACHE_DIR) \ + GOENV=off \ + CC=$(HOSTCC_NOCACHE) \ + CXX=$(HOSTCXX_NOCACHE) + # when https://github.com/golang/go/issues/31544 is fixed, # we should be able to set GO_LDFLAGS=-buildmode=pie for host make # instead of doing a rebuild for pie @@ -202,15 +211,12 @@ define Host/Compile mkdir -p $(GO_BUILD_CACHE_DIR) $(call GoCompiler/Bootstrap/Make, \ - CC=$(HOSTCC_NOCACHE) \ - CXX=$(HOSTCXX_NOCACHE) \ + $(HOST_GO_VARS) \ ) $(call GoCompiler/Host/Make, \ GOROOT_BOOTSTRAP=$(BOOTSTRAP_ROOT_DIR) \ - GOCACHE=$(GO_BUILD_CACHE_DIR) \ - CC=$(HOSTCC_NOCACHE) \ - CXX=$(HOSTCXX_NOCACHE) \ + $(HOST_GO_VARS) \ ) ifneq ($(HOST_GO_ENABLE_PIE),) @@ -219,11 +225,8 @@ define Host/Compile ( \ cd $(HOST_BUILD_DIR)/bin ; \ $(CP) go go-nopie ; \ - GOCACHE=$(GO_BUILD_CACHE_DIR) \ - GOENV=off \ - CC=$(HOSTCC_NOCACHE) \ - CXX=$(HOSTCXX_NOCACHE) \ - ./go-nopie install -a -buildmode=pie std cmd ; \ + $(HOST_GO_VARS) \ + ./go-nopie install -a -buildmode pie std cmd ; \ retval=$$$$? ; \ rm -f go-nopie ; \ exit $$$$retval ; \