[dev.link] cmd/link: convert textbuildid pass to new style
Change-Id: Ic3a7bfc8b0290bd7bdc71e64cab74788328c41d1
Reviewed-on: https://go-review.googlesource.com/c/go/+/225657
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
diff --git a/src/cmd/link/internal/ld/data.go b/src/cmd/link/internal/ld/data.go
index 8c240f4..c2ccb27 100644
--- a/src/cmd/link/internal/ld/data.go
+++ b/src/cmd/link/internal/ld/data.go
@@ -2011,18 +2011,19 @@
return
}
- s := ctxt.Syms.Lookup("go.buildid", 0)
- s.Attr |= sym.AttrReachable
+ ldr := ctxt.loader
+ s := ldr.CreateSymForUpdate("go.buildid", 0)
+ s.SetReachable(true)
// The \xff is invalid UTF-8, meant to make it less likely
// to find one of these accidentally.
data := "\xff Go build ID: " + strconv.Quote(*flagBuildid) + "\n \xff"
- s.Type = sym.STEXT
- s.P = []byte(data)
- s.Size = int64(len(s.P))
+ s.SetType(sym.STEXT)
+ s.SetData([]byte(data))
+ s.SetSize(int64(len(data)))
- ctxt.Textp = append(ctxt.Textp, nil)
- copy(ctxt.Textp[1:], ctxt.Textp)
- ctxt.Textp[0] = s
+ ctxt.Textp2 = append(ctxt.Textp2, 0)
+ copy(ctxt.Textp2[1:], ctxt.Textp2)
+ ctxt.Textp2[0] = s.Sym()
}
func (ctxt *Link) buildinfo() {
diff --git a/src/cmd/link/internal/ld/main.go b/src/cmd/link/internal/ld/main.go
index a94280d..82862d2 100644
--- a/src/cmd/link/internal/ld/main.go
+++ b/src/cmd/link/internal/ld/main.go
@@ -276,6 +276,10 @@
bench.Start("doxcoff")
ctxt.doxcoff()
}
+
+ bench.Start("textbuildid")
+ ctxt.textbuildid()
+
bench.Start("loadlibfull")
setupdynexp(ctxt)
ctxt.loadlibfull() // XXX do it here for now
@@ -289,8 +293,6 @@
ctxt.addexport()
bench.Start("Gentext")
thearch.Gentext(ctxt) // trampolines, call stubs, etc.
- bench.Start("textbuildid")
- ctxt.textbuildid()
bench.Start("textaddress")
ctxt.textaddress()
bench.Start("pclntab")