diff --git a/hack/make/.binary b/hack/make/.binary index 1b66ff7fbf..1d66e12523 100644 --- a/hack/make/.binary +++ b/hack/make/.binary @@ -74,12 +74,15 @@ source "${MAKEDIR}/.go-autogen" # -buildmode=pie is not supported on Windows arm64 and Linux mips*, ppc64be # https://github.com/golang/go/blob/go1.19.4/src/cmd/internal/sys/supported.go#L125-L132 if ! [ "$DOCKER_STATIC" = "1" ]; then - case "$(go env GOOS)/$(go env GOARCH)" in - windows/arm64 | linux/mips* | linux/ppc64) ;; - *) - BUILDFLAGS+=("-buildmode=pie") - ;; - esac + # -buildmode=pie not supported when -race is enabled + if [[ " $BUILDFLAGS " != *" -race "* ]]; then + case "$(go env GOOS)/$(go env GOARCH)" in + windows/arm64 | linux/mips* | linux/ppc64) ;; + *) + BUILDFLAGS+=("-buildmode=pie") + ;; + esac + fi fi # only necessary for non-sandboxed invocation where TARGETPLATFORM is empty