cmd/cgo: add support for s390 and s390x

This patch was previously sent for review using hg:
golang.org/cl/173930043

Change-Id: I559a2f2ee07990d0c23d2580381e32f8e23077a5
Reviewed-on: https://go-review.googlesource.com/3033
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go
index e217ddc..4bc4d79 100644
--- a/src/cmd/cgo/gcc.go
+++ b/src/cmd/cgo/gcc.go
@@ -739,6 +739,10 @@
 		return []string{"-m32"}
 	case "arm":
 		return []string{"-marm"} // not thumb
+	case "s390":
+		return []string{"-m31"}
+	case "s390x":
+		return []string{"-m64"}
 	}
 	return nil
 }
diff --git a/src/cmd/cgo/main.go b/src/cmd/cgo/main.go
index ad8b960..4dbcf62 100644
--- a/src/cmd/cgo/main.go
+++ b/src/cmd/cgo/main.go
@@ -135,6 +135,8 @@
 	"arm":     4,
 	"ppc64":   8,
 	"ppc64le": 8,
+	"s390":    4,
+	"s390x":   8,
 }
 
 var intSizeMap = map[string]int64{
@@ -143,6 +145,8 @@
 	"arm":     4,
 	"ppc64":   8,
 	"ppc64le": 8,
+	"s390":    4,
+	"s390x":   4,
 }
 
 var cPrefix string