mirror of
https://github.com/golang/go
synced 2024-11-19 15:54:46 -07:00
cmd/link: zero symtab fields correctly
CL 69370 introduced a hasmain field to moduledata after the modulehashes slice. However that code was relying on the zeroing code after it to cover modulehashes if len(Shlibs) == 0. The hasmain field gets in the way of that. So clear modulehashes explicitly in that case. Found when looking at #22250. Not sure if it's related. Change-Id: I81050cb4554cd49e9f245d261ef422f97d026df4 Reviewed-on: https://go-review.googlesource.com/70730 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
0e4de78d13
commit
350b74bc4b
@ -639,6 +639,12 @@ func (ctxt *Link) symtab() {
|
||||
moduledata.AddAddr(ctxt.Arch, modulehashes)
|
||||
moduledata.AddUint(ctxt.Arch, uint64(len(ctxt.Shlibs)))
|
||||
moduledata.AddUint(ctxt.Arch, uint64(len(ctxt.Shlibs)))
|
||||
} else {
|
||||
moduledata.AddUint(ctxt.Arch, 0) // modulename
|
||||
moduledata.AddUint(ctxt.Arch, 0)
|
||||
moduledata.AddUint(ctxt.Arch, 0) // moduleshashes slice
|
||||
moduledata.AddUint(ctxt.Arch, 0)
|
||||
moduledata.AddUint(ctxt.Arch, 0)
|
||||
}
|
||||
|
||||
hasmain := ctxt.BuildMode == BuildModeExe || ctxt.BuildMode == BuildModePIE
|
||||
|
Loading…
Reference in New Issue
Block a user