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.

Change-Id: Idd0fa240e5ecf21d8773ce30bf239b208b4d1ef2
Reviewed-on: https://go-review.googlesource.com/117996
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/libgo/configure b/libgo/configure
index 11e04aa..66942ed 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -13653,10 +13653,10 @@
 #   - 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 9f4bf50..3cee2c0 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -224,10 +224,10 @@
 #   - 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 0c39634..baa9572 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 05d14da..13e2abb 100644
--- a/libgo/go/go/types/sizes.go
+++ b/libgo/go/go/types/sizes.go
@@ -167,6 +167,7 @@
 	"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 @@
 //
 // 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 11bca7b..f5c0a34 100755
--- a/libgo/goarch.sh
+++ b/libgo/goarch.sh
@@ -153,6 +153,11 @@
 		;;
 	esac
 	;;
+    riscv)
+	family=RISCV
+	pcquantum=2
+	ptrsize=4
+	;;
     riscv64)
 	family=RISCV64
 	pcquantum=2
@@ -198,6 +203,10 @@
 	defaultphyspagesize=8192
 	pcquantum=4
 	;;
+    wasm)
+	family=WASM
+	defaultphyspagesize=65536
+	;;
     *)
 	echo 1>&2 "unrecognized goarch value \"$goarch\""
 	exit 1