mirror of
https://github.com/golang/go
synced 2024-11-02 11:50:30 +00:00
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 <iant@golang.org>
This commit is contained in:
parent
2adc2d1b8b
commit
c1ada22bc1
5 changed files with 4 additions and 7 deletions
|
@ -417,7 +417,7 @@ version of gccgo.
|
|||
plugins written in Go, and a
|
||||
new <a href="/pkg/plugin/"><code>plugin</code></a> package for
|
||||
loading such plugins at run time. Plugin support is only currently
|
||||
available on Linux and macOS.
|
||||
available on Linux.
|
||||
</p>
|
||||
|
||||
<h2 id="runtime">Runtime</h2>
|
||||
|
|
|
@ -29,7 +29,6 @@ cmd/link: fix -buildmode=pie / -linkshared combination (CL 28996)
|
|||
cmd/link: for -buildmode=exe pass -no-pie to external linker (CL 33106)
|
||||
cmd/link: insert trampolines for too-far jumps on ARM (CL 29397)
|
||||
cmd/link: non-executable stack support for Solaris (CL 24142)
|
||||
cmd/link: plugin support on darwin/amd64 (CL 29394)
|
||||
cmd/link: put text at address 0x1000000 on darwin/amd64 (CL 32185)
|
||||
cmd/link: remove the -shared flag (CL 28852)
|
||||
cmd/link: split large elf text sections on ppc64x (CL 27790)
|
||||
|
|
3
src/cmd/dist/test.go
vendored
3
src/cmd/dist/test.go
vendored
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue