diff --git a/src/cmd/link/internal/ld/deadcode.go b/src/cmd/link/internal/ld/deadcode.go index 335d9849c9..c0c0c6bcf4 100644 --- a/src/cmd/link/internal/ld/deadcode.go +++ b/src/cmd/link/internal/ld/deadcode.go @@ -7,9 +7,7 @@ package ld import ( "cmd/internal/obj" "cmd/internal/sys" - "flag" "fmt" - "path/filepath" "strings" "unicode" ) @@ -245,9 +243,7 @@ func (d *deadcodepass) init() { if *FlagLinkshared && (Buildmode == BuildmodeExe || Buildmode == BuildmodePIE) { names = append(names, "main.main", "main.init") } else if Buildmode == BuildmodePlugin { - pluginName := strings.TrimSuffix(filepath.Base(flag.Arg(0)), ".a") - pluginInit := pluginName + ".init" - names = append(names, pluginInit, "go.plugin.tabs") + names = append(names, *flagPluginPath+".init", *flagPluginPath+".main", "go.plugin.tabs") // We don't keep the go.plugin.exports symbol, // but we do keep the symbols it refers to.