]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: add s390x support
authorMichael Munday <munday@ca.ibm.com>
Fri, 18 Mar 2016 21:14:23 +0000 (17:14 -0400)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 21 Mar 2016 08:51:21 +0000 (08:51 +0000)
Minimum architecture of z196 required so that GCC can assemble
gcc_s390x.S in runtime/cgo.

Change-Id: I603ed2edd39f826fb8193740ece5bd11d18c3dc5
Reviewed-on: https://go-review.googlesource.com/20876
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/go/build.go

index 3f9537834c940e63737fb1f3b64d9607238b2afa..6a43e60219c9aeead03560f88501237cab07b833 100644 (file)
@@ -377,7 +377,7 @@ func buildModeInit() {
                        fatalf("-buildmode=pie not supported by gccgo")
                } else {
                        switch platform {
-                       case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le",
+                       case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x",
                                "android/amd64", "android/arm", "android/arm64", "android/386":
                                codegenArg = "-shared"
                        default:
@@ -391,7 +391,7 @@ func buildModeInit() {
                        codegenArg = "-fPIC"
                } else {
                        switch platform {
-                       case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le":
+                       case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x":
                        default:
                                fatalf("-buildmode=shared not supported on %s\n", platform)
                        }
@@ -409,7 +409,7 @@ func buildModeInit() {
                        codegenArg = "-fPIC"
                } else {
                        switch platform {
-                       case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le":
+                       case "linux/386", "linux/amd64", "linux/arm", "linux/arm64", "linux/ppc64le", "linux/s390x":
                                buildAsmflags = append(buildAsmflags, "-D=GOBUILDMODE_shared=1")
                        default:
                                fatalf("-linkshared not supported on %s\n", platform)
@@ -3025,6 +3025,8 @@ func (b *builder) gccArchArgs() []string {
                return []string{"-m64"}
        case "arm":
                return []string{"-marm"} // not thumb
+       case "s390x":
+               return []string{"-m64", "-march=z196"}
        }
        return nil
 }