This patch by Tony Reix passes -X64 first to the ar command on AIX, not after the rc command. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline and GCC 8 branch.
Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 259935) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -0c9b7a1ca4c6308345ea2a276cf820ff52513592 +6b0355769edd9543e6c5f2270b26b140bb96e9aa The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/go/cmd/go/internal/work/gccgo.go =================================================================== --- libgo/go/cmd/go/internal/work/gccgo.go (revision 259805) +++ libgo/go/cmd/go/internal/work/gccgo.go (working copy) @@ -198,7 +198,7 @@ func (gccgoToolchain) pack(b *Builder, a // AIX "ar" command does not know D option. arArgs = append(arArgs, "-X64") } - return b.run(a, p.Dir, p.ImportPath, nil, "ar", "rc", arArgs, absAfile, absOfiles) + return b.run(a, p.Dir, p.ImportPath, nil, "ar", arArgs, "rc", absAfile, absOfiles) } return nil }