blob: 36b913371566a4c22e8ed41750b67a0780545a60 [file] [log] [blame] [edit]
# 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