From: Hana Kim Date: Tue, 23 Oct 2018 05:29:40 +0000 (-0400) Subject: cmd/go/internal/modload: fix use of //go:linkname X-Git-Tag: go1.12beta1~681 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c9bc1340527c74c320028f2a35407a747e4ecda7;p=gostls13.git cmd/go/internal/modload: fix use of //go:linkname I can't find the exact rule about space before compiler directive openings from https://golang.org/cmd/compile/#hdr-Compiler_Directives but it seems like the compiler doesn't recognize it as a compiler directive if it is preceded by space. Removing the space made the //go:linkname in the __gomod__.go file working as intended. Manually tested. Update #26404 Change-Id: I589f7203a628b2fa6238d82878029e0f098091b6 Reviewed-on: https://go-review.googlesource.com/c/143977 Reviewed-by: Bryan C. Mills Run-TryBot: Bryan C. Mills TryBot-Result: Gobot Gobot --- diff --git a/src/cmd/go/internal/modload/build.go b/src/cmd/go/internal/modload/build.go index 4e7741c5fb..a506c25dc7 100644 --- a/src/cmd/go/internal/modload/build.go +++ b/src/cmd/go/internal/modload/build.go @@ -239,13 +239,10 @@ func ModInfoProg(info string) []byte { // Populate it in an init func so that it will work with go:linkname, // but use a string constant instead of the name 'string' in case // package main shadows the built-in 'string' with some local declaration. - return []byte(fmt.Sprintf(` - package main - import _ "unsafe" - //go:linkname __debug_modinfo__ runtime/debug.modinfo - var __debug_modinfo__ = "" - func init() { - __debug_modinfo__ = %q - } + return []byte(fmt.Sprintf(`package main +import _ "unsafe" +//go:linkname __debug_modinfo__ runtime/debug.modinfo +var __debug_modinfo__ = "" +func init() { __debug_modinfo__ = %q } `, string(infoStart)+info+string(infoEnd))) }