]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: remove -w workaround for -buildmode=plugin on Darwin
authorThan McIntosh <thanm@google.com>
Fri, 8 Nov 2019 21:11:44 +0000 (16:11 -0500)
committerThan McIntosh <thanm@google.com>
Mon, 11 Nov 2019 17:44:21 +0000 (17:44 +0000)
The problem causing the assert in #21647 are fixed at this point,
along with various other linker issues with plugin + Darwin. With
this in mind, remove the "-ldflags=-w" workaround for plugin mode on
Darwin and re-enable the appropriate tests misc/cgo/testplugin

Fixes #21647.
Fixes #27502.

Change-Id: I5b662987b138b06cfc9e1f9f6d804cf682bd501a
Reviewed-on: https://go-review.googlesource.com/c/go/+/206198
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
misc/cgo/testplugin/plugin_test.go
src/cmd/go/internal/work/init.go

index 7e2b6eb04c0d8b65d3ee740ca53936b44600fa80..bf7abcbd698d7abbc0fb6805e8efb643a7ce0aa9 100644 (file)
@@ -14,7 +14,6 @@ import (
        "os"
        "os/exec"
        "path/filepath"
-       "runtime"
        "strings"
        "testing"
        "time"
@@ -114,11 +113,7 @@ func run(t *testing.T, bin string, args ...string) string {
 
 func TestDWARFSections(t *testing.T) {
        // test that DWARF sections are emitted for plugins and programs importing "plugin"
-       if runtime.GOOS != "darwin" {
-               // On macOS, for some reason, the linker doesn't add debug sections to .so,
-               // see issue #27502.
-               goCmd(t, "run", "./checkdwarf/main.go", "plugin2.so", "plugin2.UnexportedNameReuse")
-       }
+       goCmd(t, "run", "./checkdwarf/main.go", "plugin2.so", "plugin2.UnexportedNameReuse")
        goCmd(t, "run", "./checkdwarf/main.go", "./host.exe", "main.main")
 }
 
index ba3168a2c8887e70c4716c1ebac248774f9b012d..078c24822fc7a823c388b57be59887df90d7d7f2 100644 (file)
@@ -200,8 +200,6 @@ func buildModeInit() {
                        case "linux/amd64", "linux/arm", "linux/arm64", "linux/386", "linux/s390x", "linux/ppc64le",
                                "android/amd64", "android/arm", "android/arm64", "android/386":
                        case "darwin/amd64":
-                               // Skip DWARF generation due to #21647
-                               forcedLdflags = append(forcedLdflags, "-w")
                        case "freebsd/amd64":
                        default:
                                base.Fatalf("-buildmode=plugin not supported on %s\n", platform)