golang/go
cmd/link: -race doesn't work by default on FreeBSD with cgo
Aperta
#73.788 aperta il 19 mag 2025
Metriche repository
- Star
- (133.883 stelle)
- Metriche merge PR
- (Metriche PR in attesa)
Descrizione
On our freebsd-amd64 builders (14.2-RELEASE-p2):
package main
/*
int foo(void) { return 42; }
*/
import "C"
import "fmt"
func main() {
fmt.Println(C.foo())
}
$ go build cgo.go
$ ./cgo
42
$ go build -race cgo.go
$ ./cgo
This sanitizer is not compatible with enabled ASLR and binaries compiled with PIE
$ go build -race -ldflags=-linkmode=internal cgo.go
$ ./cgo
42
i.e., using cgo defaults to external linking, but it seems that external linking breaks -race mode.
cc @golang/freebsd