]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: use plugin path in visibility analysis
authorDavid Crawshaw <crawshaw@golang.org>
Tue, 8 Nov 2016 18:59:25 +0000 (13:59 -0500)
committerDavid Crawshaw <crawshaw@golang.org>
Fri, 11 Nov 2016 00:10:03 +0000 (00:10 +0000)
CL 32355 switched from using the output file as a
plugin prefix to the full package path. The linker dead code analysis
was not updated.

Updates #17821

Change-Id: I13fc45e0264b425d28524ec54c829e2c3e895b0b
Reviewed-on: https://go-review.googlesource.com/32916
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/link/internal/ld/deadcode.go

index 335d9849c9dca83c622cc47679c0dfffd122b04b..c0c0c6bcf435a701a7ff72d1bfe3e2795bf1340b 100644 (file)
@@ -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.