# Issue #66456 [!cgo] skip [GOOS:windows] skip [GOOS:plan9] skip # Generate a file with a very long #cgo LDFLAGS line. # This used to cause "go build" to fail with "argument list too long". go generate # Build with the generated file. go build -- go.mod -- module cgolongcmd go 1.22 -- generate.go -- //go:build ignore package main import ( "fmt" "log" "os" "bytes" ) func main() { var buf bytes.Buffer buf.WriteString("package p\n") buf.WriteString("// #cgo LDFLAGS:") for i := range 10000 { fmt.Fprintf(&buf, " -Wl,-rpath,/nonexistentpath/%d", i) } buf.WriteString("\n") buf.WriteString(`import "C"`+"\n") if err := os.WriteFile("generated.go", buf.Bytes(), 0o644); err != nil { log.Fatal(err) } } -- gen.go -- package p //go:generate go run generate.go