Commit eb4e17b7 authored by David Crawshaw's avatar David Crawshaw

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/32916Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
parent 7bdb77af
...@@ -7,9 +7,7 @@ package ld ...@@ -7,9 +7,7 @@ package ld
import ( import (
"cmd/internal/obj" "cmd/internal/obj"
"cmd/internal/sys" "cmd/internal/sys"
"flag"
"fmt" "fmt"
"path/filepath"
"strings" "strings"
"unicode" "unicode"
) )
...@@ -245,9 +243,7 @@ func (d *deadcodepass) init() { ...@@ -245,9 +243,7 @@ func (d *deadcodepass) init() {
if *FlagLinkshared && (Buildmode == BuildmodeExe || Buildmode == BuildmodePIE) { if *FlagLinkshared && (Buildmode == BuildmodeExe || Buildmode == BuildmodePIE) {
names = append(names, "main.main", "main.init") names = append(names, "main.main", "main.init")
} else if Buildmode == BuildmodePlugin { } else if Buildmode == BuildmodePlugin {
pluginName := strings.TrimSuffix(filepath.Base(flag.Arg(0)), ".a") names = append(names, *flagPluginPath+".init", *flagPluginPath+".main", "go.plugin.tabs")
pluginInit := pluginName + ".init"
names = append(names, pluginInit, "go.plugin.tabs")
// We don't keep the go.plugin.exports symbol, // We don't keep the go.plugin.exports symbol,
// but we do keep the symbols it refers to. // but we do keep the symbols it refers to.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment