From eaf21256545ae04a35fa070763faa6eb2098591d Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Wed, 6 Jul 2022 07:45:19 -0400 Subject: [PATCH] cmd/go: default to "exe" build mode for windows -race This patch changes the default build mode from "pie" to "exe" when building programs on windows with "-race" in effect. The Go command already issues an error if users explicitly ask for -buildmode=pie in combination with -race on windows, but wasn't revising the default "pie" build mode if a specific buildmode was not requested. Updates #53539. Updates #35006. Change-Id: I2f81a41a1d15a0b4f5ae943146175c5a1202cbe0 Reviewed-on: https://go-review.googlesource.com/c/go/+/416174 Reviewed-by: Alex Brainman Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot Run-TryBot: Than McIntosh --- src/cmd/go/internal/work/init.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go index 5bf548db32..255ff3a0c5 100644 --- a/src/cmd/go/internal/work/init.go +++ b/src/cmd/go/internal/work/init.go @@ -211,7 +211,11 @@ func buildModeInit() { codegenArg = "-shared" ldBuildmode = "pie" case "windows": - ldBuildmode = "pie" + if cfg.BuildRace { + ldBuildmode = "exe" + } else { + ldBuildmode = "pie" + } case "ios": codegenArg = "-shared" ldBuildmode = "pie" -- 2.50.0