This libgo patch add riscv and js/wasm as known targets.  This
incorporates cut down versions of https://golang.org/cl/102835 and
https://golang.org/cl/106256 from the master sources.  This will tell
the go/build to skip files with those tags.  Bootstrapped and ran Go
testsuite on x86_64-pc-linux-gnu.  Committed to mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 261284)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -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.
Index: libgo/configure.ac
===================================================================
--- libgo/configure.ac  (revision 261203)
+++ libgo/configure.ac  (working copy)
@@ -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
Index: libgo/go/go/build/syslist.go
===================================================================
--- libgo/go/go/build/syslist.go        (revision 261203)
+++ libgo/go/go/build/syslist.go        (working copy)
@@ -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 "
Index: libgo/go/go/types/sizes.go
===================================================================
--- libgo/go/go/types/sizes.go  (revision 261203)
+++ libgo/go/go/types/sizes.go  (working copy)
@@ -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 {
Index: libgo/goarch.sh
===================================================================
--- libgo/goarch.sh     (revision 261203)
+++ libgo/goarch.sh     (working copy)
@@ -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

Reply via email to