aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/work/gccgo.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/go/internal/work/gccgo.go')
-rw-r--r--src/cmd/go/internal/work/gccgo.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/go/internal/work/gccgo.go b/src/cmd/go/internal/work/gccgo.go
index 91d744e658..71f37e8d47 100644
--- a/src/cmd/go/internal/work/gccgo.go
+++ b/src/cmd/go/internal/work/gccgo.go
@@ -484,6 +484,9 @@ func (tools gccgoToolchain) link(b *Builder, root *Action, out, importcfg string
case "c-shared":
ldflags = append(ldflags, "-shared", "-nostdlib")
+ if cfg.Goos != "windows" {
+ ldflags = append(ldflags, "-Wl,-z,nodelete")
+ }
ldflags = append(ldflags, goLibBegin...)
ldflags = append(ldflags, "-lgo", "-lgcc_s", "-lgcc", "-lc", "-lgcc")