re PR go/84484 (libgo configure tests fail to find -latomic)
PR go/84484 libgo: add support for riscv64 Patch by Andreas Schwab. Reviewed-on: https://go-review.googlesource.com/96377 * go.test/go-test.exp (go-set-goarch): Recognize riscv64-*-*. From-SVN: r257914
This commit is contained in:
parent
afedc99bd2
commit
b613cc2e91
|
@ -1,3 +1,7 @@
|
||||||
|
2018-02-22 Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
|
||||||
|
* go.test/go-test.exp (go-set-goarch): Recognize riscv64-*-*.
|
||||||
|
|
||||||
2018-02-22 Martin Sebor <msebor@redhat.com>
|
2018-02-22 Martin Sebor <msebor@redhat.com>
|
||||||
|
|
||||||
PR tree-optimization/84480
|
PR tree-optimization/84480
|
||||||
|
|
|
@ -246,6 +246,9 @@ proc go-set-goarch { } {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
"riscv64-*-*" {
|
||||||
|
set goarch "riscv64"
|
||||||
|
}
|
||||||
"s390*-*-*" {
|
"s390*-*-*" {
|
||||||
if [check_effective_target_ilp32] {
|
if [check_effective_target_ilp32] {
|
||||||
set goarch "s390"
|
set goarch "s390"
|
||||||
|
|
|
@ -13653,10 +13653,10 @@ esac
|
||||||
# - libgo/go/syscall/endian_XX.go
|
# - libgo/go/syscall/endian_XX.go
|
||||||
# - possibly others
|
# - possibly others
|
||||||
# - possibly update files in libgo/go/internal/syscall/unix
|
# - possibly update files in libgo/go/internal/syscall/unix
|
||||||
ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le s390 s390x sh shbe sparc sparc64"
|
ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le riscv64 s390 s390x sh shbe sparc sparc64"
|
||||||
|
|
||||||
# All known GOARCH family values.
|
# All known GOARCH family values.
|
||||||
ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 PPC PPC64 S390 S390X SH SPARC SPARC64"
|
ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 PPC PPC64 RISCV64 S390 S390X SH SPARC SPARC64"
|
||||||
|
|
||||||
GOARCH=unknown
|
GOARCH=unknown
|
||||||
case ${host} in
|
case ${host} in
|
||||||
|
@ -13773,6 +13773,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
fi
|
fi
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
;;
|
;;
|
||||||
|
riscv64-*-*)
|
||||||
|
GOARCH=riscv64
|
||||||
|
;;
|
||||||
s390*-*-*)
|
s390*-*-*)
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
|
|
|
@ -224,10 +224,10 @@ AC_SUBST(USE_DEJAGNU)
|
||||||
# - libgo/go/syscall/endian_XX.go
|
# - libgo/go/syscall/endian_XX.go
|
||||||
# - possibly others
|
# - possibly others
|
||||||
# - possibly update files in libgo/go/internal/syscall/unix
|
# - possibly update files in libgo/go/internal/syscall/unix
|
||||||
ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le s390 s390x sh shbe sparc sparc64"
|
ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le ppc ppc64 ppc64le riscv64 s390 s390x sh shbe sparc sparc64"
|
||||||
|
|
||||||
# All known GOARCH family values.
|
# All known GOARCH family values.
|
||||||
ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 PPC PPC64 S390 S390X SH SPARC SPARC64"
|
ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 PPC PPC64 RISCV64 S390 S390X SH SPARC SPARC64"
|
||||||
|
|
||||||
GOARCH=unknown
|
GOARCH=unknown
|
||||||
case ${host} in
|
case ${host} in
|
||||||
|
@ -304,6 +304,9 @@ AC_COMPILE_IFELSE([
|
||||||
[GOARCH=ppc64le],
|
[GOARCH=ppc64le],
|
||||||
[GOARCH=ppc64])])
|
[GOARCH=ppc64])])
|
||||||
;;
|
;;
|
||||||
|
riscv64-*-*)
|
||||||
|
GOARCH=riscv64
|
||||||
|
;;
|
||||||
s390*-*-*)
|
s390*-*-*)
|
||||||
AC_COMPILE_IFELSE([
|
AC_COMPILE_IFELSE([
|
||||||
#if defined(__s390x__)
|
#if defined(__s390x__)
|
||||||
|
|
|
@ -168,6 +168,7 @@ var ptrSizeMap = map[string]int64{
|
||||||
"ppc": 4,
|
"ppc": 4,
|
||||||
"ppc64": 8,
|
"ppc64": 8,
|
||||||
"ppc64le": 8,
|
"ppc64le": 8,
|
||||||
|
"riscv64": 8,
|
||||||
"s390": 4,
|
"s390": 4,
|
||||||
"s390x": 8,
|
"s390x": 8,
|
||||||
"sh": 4,
|
"sh": 4,
|
||||||
|
@ -192,6 +193,7 @@ var intSizeMap = map[string]int64{
|
||||||
"ppc": 4,
|
"ppc": 4,
|
||||||
"ppc64": 8,
|
"ppc64": 8,
|
||||||
"ppc64le": 8,
|
"ppc64le": 8,
|
||||||
|
"riscv64": 8,
|
||||||
"s390": 4,
|
"s390": 4,
|
||||||
"s390x": 8,
|
"s390x": 8,
|
||||||
"sh": 4,
|
"sh": 4,
|
||||||
|
|
|
@ -5,4 +5,4 @@
|
||||||
package build
|
package build
|
||||||
|
|
||||||
const goosList = "aix android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows zos "
|
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 ppc s390 s390x sh shbe sparc sparc64"
|
const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be alpha m68k ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le ppc riscv64 s390 s390x sh shbe sparc sparc64"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build arm64
|
// +build arm64 riscv64
|
||||||
|
|
||||||
package unix
|
package unix
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
// xxhash: https://code.google.com/p/xxhash/
|
// xxhash: https://code.google.com/p/xxhash/
|
||||||
// cityhash: https://code.google.com/p/cityhash/
|
// cityhash: https://code.google.com/p/cityhash/
|
||||||
|
|
||||||
// +build amd64 amd64p32 arm64 mips64 mips64le ppc64 ppc64le s390x alpha arm64be ia64 mips64p32 mips64p32le sparc64
|
// +build amd64 amd64p32 arm64 mips64 mips64le ppc64 ppc64le s390x alpha arm64be ia64 mips64p32 mips64p32le sparc64 riscv64
|
||||||
|
|
||||||
package runtime
|
package runtime
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build amd64 arm64 mips64 mips64le ppc64 ppc64le s390x arm64be alpha sparc64 ia64
|
// +build amd64 arm64 mips64 mips64le ppc64 ppc64le s390x arm64be alpha sparc64 ia64 riscv64
|
||||||
|
|
||||||
package runtime
|
package runtime
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build 386 amd64 amd64p32 arm64 ppc64 ppc64le s390x ppc s390 arm64be
|
// +build 386 amd64 amd64p32 arm64 ppc64 ppc64le s390x ppc s390 arm64be riscv64
|
||||||
|
|
||||||
package runtime
|
package runtime
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
//
|
//
|
||||||
// +build 386 amd64 amd64p32 arm arm64 ppc64le mips64le mipsle alpha ia64 mips64p32le sh
|
// +build 386 amd64 amd64p32 arm arm64 ppc64le mips64le mipsle alpha ia64 mips64p32le sh riscv64
|
||||||
|
|
||||||
package syscall
|
package syscall
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
// GNU/Linux library ustat call.
|
// GNU/Linux library ustat call.
|
||||||
// This is not supported on some kernels, such as arm64.
|
// This is not supported on some kernels, such as arm64.
|
||||||
// +build !arm64
|
// +build !arm64,!riscv64
|
||||||
|
|
||||||
package syscall
|
package syscall
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,10 @@ case $goarch in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
riscv64)
|
||||||
|
family=RISCV64
|
||||||
|
pcquantum=2
|
||||||
|
;;
|
||||||
s390)
|
s390)
|
||||||
family=S390
|
family=S390
|
||||||
bigendian=true
|
bigendian=true
|
||||||
|
|
|
@ -116,7 +116,7 @@ for f in $gofiles; do
|
||||||
aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
|
aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
|
||||||
tag1=nonmatchingtag
|
tag1=nonmatchingtag
|
||||||
;;
|
;;
|
||||||
386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sh | shbe | sparc | sparc64)
|
386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | riscv64 | s390 | s390x | sh | shbe | sparc | sparc64)
|
||||||
tag1=nonmatchingtag
|
tag1=nonmatchingtag
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -128,7 +128,7 @@ for f in $gofiles; do
|
||||||
aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
|
aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
|
||||||
tag2=nonmatchingtag
|
tag2=nonmatchingtag
|
||||||
;;
|
;;
|
||||||
386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sh | shbe | sparc | sparc64)
|
386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | riscv64 | s390 | s390x | sh | shbe | sparc | sparc64)
|
||||||
tag2=nonmatchingtag
|
tag2=nonmatchingtag
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build darwin dragonfly freebsd linux,!arm64 netbsd openbsd
|
// +build darwin dragonfly freebsd linux,!arm64,!riscv64 netbsd openbsd
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// +build linux,arm64
|
// +build linux,arm64 linux,riscv64
|
||||||
|
|
||||||
package main
|
package main
|
||||||
|
|
||||||
|
|
|
@ -314,7 +314,7 @@ x)
|
||||||
aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
|
aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
|
||||||
tag1=nonmatchingtag
|
tag1=nonmatchingtag
|
||||||
;;
|
;;
|
||||||
386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sh | shbe | sparc | sparc64)
|
386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | riscv64 | s390 | s390x | sh | shbe | sparc | sparc64)
|
||||||
tag1=nonmatchingtag
|
tag1=nonmatchingtag
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -326,7 +326,7 @@ x)
|
||||||
aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
|
aix | android | darwin | dragonfly | freebsd | linux | nacl | netbsd | openbsd | plan9 | solaris | windows)
|
||||||
tag2=nonmatchingtag
|
tag2=nonmatchingtag
|
||||||
;;
|
;;
|
||||||
386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | s390 | s390x | sh | shbe | sparc | sparc64)
|
386 | amd64 | amd64p32 | arm | armbe | arm64 | arm64be | alpha | ia64 | m68k | ppc64 | ppc64le | mips | mipsle | mips64 | mips64le | mips64p32 | mips64p32le | ppc | riscv64 | s390 | s390x | sh | shbe | sparc | sparc64)
|
||||||
tag2=nonmatchingtag
|
tag2=nonmatchingtag
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in New Issue