]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile,cmd/dist,cmd/go: enable pie buildmode for linux/riscv64
authorJoel Sing <joel@sing.id.au>
Tue, 3 Nov 2020 13:26:15 +0000 (00:26 +1100)
committerJoel Sing <joel@sing.id.au>
Wed, 4 Nov 2020 06:12:33 +0000 (06:12 +0000)
Enable pie as a buildmode for linux/riscv64, along with associated tests.

Change-Id: I3fb0234d534dbeb96aa6cee6ae872304fbe02cf4
Reviewed-on: https://go-review.googlesource.com/c/go/+/267317
Trust: Joel Sing <joel@sing.id.au>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/compile/internal/gc/main.go
src/cmd/dist/test.go
src/cmd/go/go_test.go
src/cmd/internal/sys/supported.go

index 8b94c7f71b6d3b5645b22add049a1acb40ce8f6b..d1097e8236d3f770745876f0728ca90865e78da5 100644 (file)
@@ -130,7 +130,7 @@ func hidePanic() {
 // supportsDynlink reports whether or not the code generator for the given
 // architecture supports the -shared and -dynlink flags.
 func supportsDynlink(arch *sys.Arch) bool {
-       return arch.InFamily(sys.AMD64, sys.ARM, sys.ARM64, sys.I386, sys.PPC64, sys.S390X)
+       return arch.InFamily(sys.AMD64, sys.ARM, sys.ARM64, sys.I386, sys.PPC64, sys.RISCV64, sys.S390X)
 }
 
 // timing data for compiler phases
index d12a52b1cc2dd6aad36da07a9a6feb4ad2b91bab..f087aba2b996a222700ac08e456336fcbd1cf3f6 100644 (file)
@@ -1021,7 +1021,7 @@ func (t *tester) supportedBuildmode(mode string) bool {
        case "pie":
                switch pair {
                case "aix/ppc64",
-                       "linux-386", "linux-amd64", "linux-arm", "linux-arm64", "linux-ppc64le", "linux-s390x",
+                       "linux-386", "linux-amd64", "linux-arm", "linux-arm64", "linux-ppc64le", "linux-riscv64", "linux-s390x",
                        "android-amd64", "android-arm", "android-arm64", "android-386":
                        return true
                case "darwin-amd64", "darwin-arm64":
index 7bbadd397469385bb18f18c5d07ca8a66960b8c5..91d5884036d8cffdc5291b91c9a1ef2d79eb1296 100644 (file)
@@ -2022,7 +2022,7 @@ func TestBuildmodePIE(t *testing.T) {
 
        platform := fmt.Sprintf("%s/%s", runtime.GOOS, runtime.GOARCH)
        switch platform {
-       case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x",
+       case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/riscv64", "linux/s390x",
                "android/amd64", "android/arm", "android/arm64", "android/386",
                "freebsd/amd64",
                "windows/386", "windows/amd64", "windows/arm":
index 69d75914406cadaf45219cb268449d389e31d7f2..ef7c017bd4abb37ba517dafdc2fd4f53193af97d 100644 (file)
@@ -86,7 +86,7 @@ func BuildModeSupported(compiler, buildmode, goos, goarch string) bool {
 
        case "pie":
                switch platform {
-               case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x",
+               case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/riscv64", "linux/s390x",
                        "android/amd64", "android/arm", "android/arm64", "android/386",
                        "freebsd/amd64",
                        "darwin/amd64", "darwin/arm64",