golang/go

cmd/link: -race doesn't work by default on FreeBSD with cgo

Open

#73.788 geöffnet am 19. Mai 2025

Auf GitHub ansehen
 (6 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Go (19.008 Forks)batch import
BugReportNeedsFixOS-FreeBSDcompiler/runtimehelp wanted

Repository-Metriken

Stars
 (133.883 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

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

Contributor Guide