1
0
mirror of https://github.com/golang/go synced 2024-09-24 23:20:12 -06:00

cmd/link: use plugin path in visibility analysis

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>
This commit is contained in:
David Crawshaw 2016-11-08 13:59:25 -05:00
parent 7bdb77af5f
commit eb4e17b73b

View 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.