From: Ian Lance Taylor Date: Mon, 11 Jun 2018 19:16:34 +0000 (+0000) Subject: libgo: add riscv and js/wasm as known targets X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=87cbbc45a950f382853e2e4cf494cdfab62f0e5b;p=gcc.git libgo: add riscv and js/wasm as known targets Incorporates cut down versions of https://golang.org/cl/102835 and https://golang.org/cl/106256 from the master sources. This will tell go/build to skip files with those tags. Reviewed-on: https://go-review.googlesource.com/117996 From-SVN: r261451 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 4c27161d412..0b28a5bd21f 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -3ec698690d2a8ecbf115489f17d85e848a2f7293 +bfe3a9b26c8b2e1b9ef34a7232a2d1529e639bbf The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/configure b/libgo/configure index 11e04aafc8b..66942edaa7a 100755 --- a/libgo/configure +++ b/libgo/configure @@ -13653,10 +13653,10 @@ esac # - libgo/go/syscall/endian_XX.go # - possibly others # - 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 nios2 ppc ppc64 ppc64le riscv64 s390 s390x sh shbe sparc sparc64" +ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le nios2 ppc ppc64 ppc64le riscv riscv64 s390 s390x sh shbe sparc sparc64 wasm" # All known GOARCH family values. -ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 NIOS2 PPC PPC64 RISCV64 S390 S390X SH SPARC SPARC64" +ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 NIOS2 PPC PPC64 RISCV RISCV64 S390 S390X SH SPARC SPARC64 WASM" GOARCH=unknown case ${host} in diff --git a/libgo/configure.ac b/libgo/configure.ac index 9f4bf50b22b..3cee2c0fcb9 100644 --- a/libgo/configure.ac +++ b/libgo/configure.ac @@ -224,10 +224,10 @@ AC_SUBST(USE_DEJAGNU) # - libgo/go/syscall/endian_XX.go # - possibly others # - 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 nios2 ppc ppc64 ppc64le riscv64 s390 s390x sh shbe sparc sparc64" +ALLGOARCH="386 alpha amd64 amd64p32 arm armbe arm64 arm64be ia64 m68k mips mipsle mips64 mips64le mips64p32 mips64p32le nios2 ppc ppc64 ppc64le riscv riscv64 s390 s390x sh shbe sparc sparc64 wasm" # All known GOARCH family values. -ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 NIOS2 PPC PPC64 RISCV64 S390 S390X SH SPARC SPARC64" +ALLGOARCHFAMILY="I386 ALPHA AMD64 ARM ARM64 IA64 M68K MIPS MIPS64 NIOS2 PPC PPC64 RISCV RISCV64 S390 S390X SH SPARC SPARC64 WASM" GOARCH=unknown case ${host} in diff --git a/libgo/go/go/build/syslist.go b/libgo/go/go/build/syslist.go index 0c396346381..baa957212ea 100644 --- a/libgo/go/go/build/syslist.go +++ b/libgo/go/go/build/syslist.go @@ -4,5 +4,5 @@ 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 nios2 ppc riscv64 s390 s390x sh shbe sparc sparc64" +const goosList = "aix android darwin dragonfly freebsd js 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 nios2 ppc riscv riscv64 s390 s390x sh shbe sparc sparc64 wasm " diff --git a/libgo/go/go/types/sizes.go b/libgo/go/go/types/sizes.go index 05d14dae132..13e2abb5def 100644 --- a/libgo/go/go/types/sizes.go +++ b/libgo/go/go/types/sizes.go @@ -167,6 +167,7 @@ var gcArchSizes = map[string]*StdSizes{ "ppc64": {8, 8}, "ppc64le": {8, 8}, "s390x": {8, 8}, + "wasm": {8, 8}, // When adding more architectures here, // update the doc string of SizesFor below. } @@ -176,7 +177,7 @@ var gcArchSizes = map[string]*StdSizes{ // // Supported architectures for compiler "gc": // "386", "arm", "arm64", "amd64", "amd64p32", "mips", "mipsle", -// "mips64", "mips64le", "ppc64", "ppc64le", "s390x". +// "mips64", "mips64le", "ppc64", "ppc64le", "s390x", "wasm". func SizesFor(compiler, arch string) Sizes { var m map[string]*StdSizes switch compiler { diff --git a/libgo/goarch.sh b/libgo/goarch.sh index 11bca7bb18f..f5c0a34b1da 100755 --- a/libgo/goarch.sh +++ b/libgo/goarch.sh @@ -153,6 +153,11 @@ case $goarch in ;; esac ;; + riscv) + family=RISCV + pcquantum=2 + ptrsize=4 + ;; riscv64) family=RISCV64 pcquantum=2 @@ -198,6 +203,10 @@ case $goarch in defaultphyspagesize=8192 pcquantum=4 ;; + wasm) + family=WASM + defaultphyspagesize=65536 + ;; *) echo 1>&2 "unrecognized goarch value \"$goarch\"" exit 1