mirror of
https://github.com/golang/go
synced 2024-11-19 03:34:41 -07:00
cmd/go: allow -buildmode=pie with -race on darwin
Fixes #62318 Change-Id: I6f1b22c9a4523461aa4c7fcd12e72dbc4430812d Reviewed-on: https://go-review.googlesource.com/c/go/+/523475 Run-TryBot: Andy Pan <panjf2000@gmail.com> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
7b166602fb
commit
38db2df02d
@ -246,8 +246,8 @@ func buildModeInit() {
|
|||||||
pkgsFilter = oneMainPkg
|
pkgsFilter = oneMainPkg
|
||||||
}
|
}
|
||||||
case "pie":
|
case "pie":
|
||||||
if cfg.BuildRace {
|
if cfg.BuildRace && !platform.DefaultPIE(cfg.Goos, cfg.Goarch, cfg.BuildRace) {
|
||||||
base.Fatalf("-buildmode=pie not supported when -race is enabled")
|
base.Fatalf("-buildmode=pie not supported when -race is enabled on %s/%s", cfg.Goos, cfg.Goarch)
|
||||||
}
|
}
|
||||||
if gccgo {
|
if gccgo {
|
||||||
codegenArg = "-fPIE"
|
codegenArg = "-fPIE"
|
||||||
|
30
src/cmd/go/testdata/script/build_pie_race.txt
vendored
Normal file
30
src/cmd/go/testdata/script/build_pie_race.txt
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# go build -buildmode=pie -race main.go on Darwin should work without errors
|
||||||
|
|
||||||
|
[!race] skip 'test requires race detector support'
|
||||||
|
|
||||||
|
[!GOOS:darwin] ! go build -buildmode=pie -race
|
||||||
|
[!GOOS:darwin] stderr '^-buildmode=pie not supported when -race is enabled on '$GOOS'/'$GOARCH'$'
|
||||||
|
[!GOOS:darwin] stop 'not testing -buildmode=pie -race on platform that does not support it'
|
||||||
|
|
||||||
|
go build -buildmode=pie -race bytes
|
||||||
|
! stderr .
|
||||||
|
|
||||||
|
[short] stop 'not linking a binary in -short mode'
|
||||||
|
|
||||||
|
go build -buildmode=pie -race main.go
|
||||||
|
! stderr .
|
||||||
|
exec ./main
|
||||||
|
stdout 'Hello, 世界'
|
||||||
|
|
||||||
|
-- go.mod --
|
||||||
|
module m
|
||||||
|
|
||||||
|
go 1.21
|
||||||
|
-- main.go --
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
fmt.Println("Hello, 世界")
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user