This libgo patch changes the go tool to permit the AR environment variable to include options. This mirrors the way it already handles the CC environment variable.
This ports https://go.dev/cl/526275 to the gofrontend repo. This is needed for gccgo testing because the top-level GCC Makefile now passes a --plugin option to ar if it supports one. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian
dab7163feedc99bd94549ee490031f86f8d0a6ca diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 83ab3e2d64c..30710e856cb 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -d04b024021bb7dbaa434a6d902bd12beb08e315f +53cdfab53ce79d8dfc1df01a696d4ffc43f17c3d The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/go/cmd/go/internal/work/gccgo.go b/libgo/go/cmd/go/internal/work/gccgo.go index c1026c71e01..3e07f8791eb 100644 --- a/libgo/go/cmd/go/internal/work/gccgo.go +++ b/libgo/go/cmd/go/internal/work/gccgo.go @@ -45,12 +45,8 @@ func (gccgoToolchain) linker() string { return GccgoBin } -func (gccgoToolchain) ar() string { - ar := cfg.Getenv("AR") - if ar == "" { - ar = "ar" - } - return ar +func (gccgoToolchain) ar() []string { + return envList("AR", "ar") } func checkGccgoBin() {