From c1ada22bc1ddf798a8931a09c8fa7c878c9ee6b9 Mon Sep 17 00:00:00 2001 From: David Crawshaw Date: Wed, 14 Dec 2016 14:48:58 -0500 Subject: cmd/go, plugin: disable plugins on darwin We are seeing a bad stack map in #18190. In a copystack, it is mistaking a slot for a pointer. Presumably this is caused either by our fledgling dynlink support on darwin, or a consequence of having two copies of the runtime in the process. But I have been unable to work out which in the 1.8 window, so pushing darwin support to 1.9 or later. Change-Id: I7fa4d2dede75033d9a428f24c1837a4613bd2639 Reviewed-on: https://go-review.googlesource.com/34391 Reviewed-by: Ian Lance Taylor --- src/cmd/dist/test.go | 3 +-- src/cmd/go/build.go | 3 +-- src/plugin/plugin.go | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 1d5c9cee49..a552966b30 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -786,8 +786,7 @@ func (t *tester) supportedBuildmode(mode string) bool { // linux-arm64 is missing because it causes the external linker // to crash, see https://golang.org/issue/17138 switch pair { - case "linux-386", "linux-amd64", "linux-arm", - "darwin-amd64": + case "linux-386", "linux-amd64", "linux-arm": return true } return false diff --git a/src/cmd/go/build.go b/src/cmd/go/build.go index 8eaa768f38..98a650918a 100644 --- a/src/cmd/go/build.go +++ b/src/cmd/go/build.go @@ -413,8 +413,7 @@ func buildModeInit() { } else { switch platform { case "linux/amd64", "linux/arm", "linux/arm64", "linux/386", - "android/amd64", "android/arm", "android/arm64", "android/386", - "darwin/amd64": + "android/amd64", "android/arm", "android/arm64", "android/386": default: fatalf("-buildmode=plugin not supported on %s\n", platform) } diff --git a/src/plugin/plugin.go b/src/plugin/plugin.go index 5c822bd9ba..b86099a4f6 100644 --- a/src/plugin/plugin.go +++ b/src/plugin/plugin.go @@ -4,7 +4,7 @@ // Package plugin implements loading and symbol resolution of Go plugins. // -// Currently plugins only work on Linux and Darwin. +// Currently plugins only work on Linux. // // A plugin is a Go main package with exported functions and variables that // has been built with: -- cgit v1.3-5-g9baa