This patch from James Cowgill finishes standardizing on the names used in the gc toolchain by removing the old names used in the gofrontend sources. It drops the mipso64 ABI, which has been dead for a long time (as a historical note I think I invented the o64 ABI by accident when I did the initial GCC MIPS64 port). Bootstrapped on x86_64-pc-linux-gnu. Committed to mainline.
Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 249476) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -3f713ddb2a9a2a736f3a12d71c56cb7fd444afba +a4b455aa584e0d6e362a88597f11bba1427088e2 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/configure.ac =================================================================== --- libgo/configure.ac (revision 249476) +++ libgo/configure.ac (working copy) @@ -208,7 +208,7 @@ AC_SUBST(USE_DEJAGNU) # supported by the gofrontend and all architectures supported by the # gc toolchain. # N.B. Keep in sync with gcc/testsuite/go.test/go-test.exp (go-set-goarch). -ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mipso32 mipsn32 mipso64 mipsn64 mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le s390 s390x sparc sparc64" +ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le s390 s390x sparc sparc64" # All known GOARCH_FAMILY values. ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 PPC PPC64 S390 S390X SPARC SPARC64" @@ -291,25 +291,19 @@ GOARCH_HUGEPAGESIZE="1 << 21" #error not n64 #endif], [mips_abi="n64"], - [AC_COMPILE_IFELSE([ -#if _MIPS_SIM != _ABIO64 -#error not o64 -#endif], -[mips_abi="o64"], [AC_MSG_ERROR([unknown MIPS ABI]) -[mips_abi="n32"]])])])]) +[mips_abi="n32"]])])]) case "$mips_abi" in "o32") GOARCH=mips ;; "n32") GOARCH=mips64p32 ;; "n64") GOARCH=mips64 ;; - "o64") GOARCH=mipso64 ;; esac case "$mips_abi" in "o32" | "n32") GOARCH_FAMILY=MIPS GOARCH_MINFRAMESIZE=4 ;; - "n64" | "o64") + "n64") GOARCH_FAMILY=MIPS64 GOARCH_MINFRAMESIZE=8 ;; Index: libgo/go/cmd/cgo/main.go =================================================================== --- libgo/go/cmd/cgo/main.go (revision 249475) +++ libgo/go/cmd/cgo/main.go (working copy) @@ -145,10 +145,6 @@ var ptrSizeMap = map[string]int64{ "arm": 4, "arm64": 8, "m68k": 4, - "mipso32": 4, - "mipsn32": 4, - "mipso64": 8, - "mipsn64": 8, "mips": 4, "mipsle": 4, "mips64": 8, @@ -171,10 +167,6 @@ var intSizeMap = map[string]int64{ "arm": 4, "arm64": 8, "m68k": 4, - "mipso32": 4, - "mipsn32": 4, - "mipso64": 8, - "mipsn64": 8, "mips": 4, "mipsle": 4, "mips64": 8, Index: libgo/go/go/build/syslist.go =================================================================== --- libgo/go/go/build/syslist.go (revision 249205) +++ libgo/go/go/build/syslist.go (working copy) @@ -5,4 +5,4 @@ package build const goosList = "aix android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows zos " -const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be alpha m68k ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le mipso32 mipsn32 mipsn64 mipso64 ppc s390 s390x sparc sparc64 " +const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be alpha m68k ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le ppc s390 s390x sparc sparc64 " Index: libgo/go/internal/syscall/unix/getrandom_linux_mips64p32x.go =================================================================== --- libgo/go/internal/syscall/unix/getrandom_linux_mips64p32x.go (revision 249474) +++ libgo/go/internal/syscall/unix/getrandom_linux_mips64p32x.go (working copy) @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build mipsn32 mips64p32 mips64p32le +// +build mips64p32 mips64p32le package unix Index: libgo/go/internal/syscall/unix/getrandom_linux_mips64x.go =================================================================== --- libgo/go/internal/syscall/unix/getrandom_linux_mips64x.go (revision 249205) +++ libgo/go/internal/syscall/unix/getrandom_linux_mips64x.go (working copy) @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build mips64 mips64le mipsn64 mipso64 +// +build mips64 mips64le package unix Index: libgo/go/runtime/hash32.go =================================================================== --- libgo/go/runtime/hash32.go (revision 249205) +++ libgo/go/runtime/hash32.go (working copy) @@ -6,7 +6,7 @@ // xxhash: https://code.google.com/p/xxhash/ // cityhash: https://code.google.com/p/cityhash/ -// +build 386 arm armbe m68k mipso32 mipsn32 mips mipsle ppc s390 sparc +// +build 386 arm armbe m68k mips mipsle ppc s390 sparc package runtime Index: libgo/go/runtime/hash64.go =================================================================== --- libgo/go/runtime/hash64.go (revision 249205) +++ libgo/go/runtime/hash64.go (working copy) @@ -6,7 +6,7 @@ // xxhash: https://code.google.com/p/xxhash/ // cityhash: https://code.google.com/p/cityhash/ -// +build amd64 amd64p32 arm64 mips64 mips64le ppc64 ppc64le s390x alpha arm64be ia64 mipso64 mipsn64 mips64p32 mips64p32le sparc64 +// +build amd64 amd64p32 arm64 mips64 mips64le ppc64 ppc64le s390x alpha arm64be ia64 mips64p32 mips64p32le sparc64 package runtime Index: libgo/go/runtime/lfstack_32bit.go =================================================================== --- libgo/go/runtime/lfstack_32bit.go (revision 249205) +++ libgo/go/runtime/lfstack_32bit.go (working copy) @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build 386 arm nacl armbe m68k mips mipsle mips64p32 mips64p32le mipso32 mipsn32 ppc s390 sparc +// +build 386 arm nacl armbe m68k mips mipsle mips64p32 mips64p32le ppc s390 sparc package runtime Index: libgo/go/runtime/lfstack_64bit.go =================================================================== --- libgo/go/runtime/lfstack_64bit.go (revision 249205) +++ libgo/go/runtime/lfstack_64bit.go (working copy) @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build amd64 arm64 mips64 mips64le ppc64 ppc64le s390x arm64be alpha mipsn64 sparc64 ia64 +// +build amd64 arm64 mips64 mips64le ppc64 ppc64le s390x arm64be alpha sparc64 ia64 package runtime Index: libgo/go/runtime/unaligned2.go =================================================================== --- libgo/go/runtime/unaligned2.go (revision 249205) +++ libgo/go/runtime/unaligned2.go (working copy) @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// +build arm mips mipsle mips64 mips64le armbe m68k mipso32 mipsn32 sparc alpha ia64 mipso64 mipsn64 mips64p32 mips64p32le sparc64 +// +build arm mips mipsle mips64 mips64le armbe m68k sparc alpha ia64 mips64p32 mips64p32le sparc64 package runtime Index: libgo/go/syscall/endian_big.go =================================================================== --- libgo/go/syscall/endian_big.go (revision 249205) +++ libgo/go/syscall/endian_big.go (working copy) @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // -// +build ppc64 s390x mips mips64 armbe arm64be m68k ppc mipso32 mipsn32 mipso64 mipsn64 mips64p32 s390 sparc sparc64 +// +build ppc64 s390x mips mips64 armbe arm64be m68k ppc mips64p32 s390 sparc sparc64 package syscall Index: libgo/match.sh =================================================================== --- libgo/match.sh (revision 249205) +++ libgo/match.sh (working copy) @@ -116,7 +116,7 @@ for f in $gofiles; do aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) tag1=nonmatchingtag ;; - 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64) + 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sparc | sparc64) tag1=nonmatchingtag ;; esac @@ -128,7 +128,7 @@ for f in $gofiles; do aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) tag2=nonmatchingtag ;; - 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64) + 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sparc | sparc64) tag2=nonmatchingtag ;; esac Index: libgo/testsuite/gotest =================================================================== --- libgo/testsuite/gotest (revision 249205) +++ libgo/testsuite/gotest (working copy) @@ -314,7 +314,7 @@ x) aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) tag1=nonmatchingtag ;; - 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64) + 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sparc | sparc64) tag1=nonmatchingtag ;; esac @@ -326,7 +326,7 @@ x) aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows) tag2=nonmatchingtag ;; - 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | mipso32 | mipsn32 | mipsn64 | mipso64 | ppc | s390 | s390x | sparc | sparc64) + 386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sparc | sparc64) tag2=nonmatchingtag ;; esac