aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Crawshaw <crawshaw@golang.org>2017-10-01 20:28:53 -0400
committerDavid Crawshaw <crawshaw@golang.org>2017-10-04 00:46:06 +0000
commit273b657b4e970f510afb258aa73dc2e264a701e3 (patch)
tree073164ae68d916ae18899f30251943eb5aa3252d /src
parent5fe9bbcf6312b32e0c9df10a5ea6ba18e929de72 (diff)
downloadgo-273b657b4e970f510afb258aa73dc2e264a701e3.tar.xz
cmd/link: support -X values for main.* in plugins
Fixes #19418 Change-Id: I98205f40c1915cd68a5d20438469ba06f1efb160 Reviewed-on: https://go-review.googlesource.com/67432 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/link/internal/ld/data.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/link/internal/ld/data.go b/src/cmd/link/internal/ld/data.go
index c4ffa20a57..36b97a3dea 100644
--- a/src/cmd/link/internal/ld/data.go
+++ b/src/cmd/link/internal/ld/data.go
@@ -1045,7 +1045,11 @@ func addstrdata1(ctxt *Link, arg string) {
if eq < 0 || dot < 0 {
Exitf("-X flag requires argument of the form importpath.name=value")
}
- addstrdata(ctxt, objabi.PathToPrefix(arg[:dot])+arg[dot:eq], arg[eq+1:])
+ pkg := objabi.PathToPrefix(arg[:dot])
+ if Buildmode == BuildmodePlugin && pkg == "main" {
+ pkg = *flagPluginPath
+ }
+ addstrdata(ctxt, pkg+arg[dot:eq], arg[eq+1:])
}
func addstrdata(ctxt *Link, name string, value string) {