}
for _, a := range allactions {
- // Gather CgoLDFLAGS, but not from standard packages.
- // The go tool can dig up runtime/cgo from GOROOT and
- // think that it should use its CgoLDFLAGS, but gccgo
- // doesn't use runtime/cgo.
if a.Package == nil {
continue
}
- if !a.Package.Standard {
- cgoldflags = append(cgoldflags, a.Package.CgoLDFLAGS...)
- }
if len(a.Package.CgoFiles) > 0 {
usesCgo = true
}
ldflags = append(ldflags, cgoldflags...)
ldflags = append(ldflags, envList("CGO_LDFLAGS", "")...)
- if root.Package != nil {
- ldflags = append(ldflags, root.Package.CgoLDFLAGS...)
- }
if cfg.Goos != "aix" {
ldflags = str.StringList("-Wl,-(", ldflags, "-Wl,-)")
}
[!cgo] skip
[!exec:gccgo] skip
-go build -n -compiler gccgo
+! go build -x -compiler gccgo
stderr 'gccgo.*\-L [^ ]*alibpath \-lalib' # make sure that Go-inline "#cgo LDFLAGS:" ("-L alibpath -lalib") passed to gccgo linking stage
+! stderr 'gccgo.*-lalib.*-lalib' # make sure -lalib is only passed once
-- go.mod --
module m