mirror of https://github.com/golang/go.git
cmd/link: enable DWARF compression on Windows
Simple follow-on to CL 118276. Everything worked except that the compressed sections need to be aligned at PEFILEALIGN. Fixes #25927 Updates #11799 Change-Id: Iec871defe30e3e66055d64a5ae77d5a7aca355f5 Reviewed-on: https://go-review.googlesource.com/119816 Run-TryBot: Heschi Kreinick <heschi@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
parent
500293d8dc
commit
83515df3f3
|
|
@ -1951,7 +1951,7 @@ func dwarfaddelfsectionsyms(ctxt *Link) {
|
|||
// relocations are applied. After this, dwarfp will contain a
|
||||
// different (new) set of symbols, and sections may have been replaced.
|
||||
func dwarfcompress(ctxt *Link) {
|
||||
if !ctxt.IsELF || ctxt.LinkMode == LinkExternal {
|
||||
if !(ctxt.IsELF || ctxt.HeadType == objabi.Hwindows) || ctxt.LinkMode == LinkExternal {
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -1998,6 +1998,10 @@ func dwarfcompress(ctxt *Link) {
|
|||
log.Fatalf("%s: unexpected sub-symbols", s)
|
||||
}
|
||||
pos += uint64(s.Size)
|
||||
if ctxt.HeadType == objabi.Hwindows {
|
||||
pos = uint64(Rnd(int64(pos), PEFILEALIGN))
|
||||
}
|
||||
|
||||
}
|
||||
Segdwarf.Length = pos - Segdwarf.Vaddr
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue