mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/link: add all pe section names to pe symbol table
dwarf relocations refer to dwarf section symbols, so dwarf section symbols must be present in pe symbol table before we write dwarf relocations. .ctors pe section already refer to .text symbol. Write all pe section name symbols into symbol table, so we can use them whenever we need them. This CL also simplified some code. For #10776. Change-Id: I9b8c680ea75904af90c797a06bbb1f4df19e34b6 Reviewed-on: https://go-review.googlesource.com/36978 Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
e9abf1a716
commit
b660a4b04d
3 changed files with 33 additions and 36 deletions
|
|
@ -2033,9 +2033,6 @@ func (ctxt *Link) textaddress() {
|
|||
ctxt.Textp[0] = text
|
||||
}
|
||||
|
||||
if Headtype == obj.Hwindows || Headtype == obj.Hwindowsgui {
|
||||
ctxt.Syms.Lookup(".text", 0).Sect = sect
|
||||
}
|
||||
va := uint64(*FlagTextAddr)
|
||||
n := 1
|
||||
sect.Vaddr = va
|
||||
|
|
@ -2295,9 +2292,6 @@ func (ctxt *Link) address() {
|
|||
|
||||
ctxt.xdefine("runtime.text", obj.STEXT, int64(text.Vaddr))
|
||||
ctxt.xdefine("runtime.etext", obj.STEXT, int64(lasttext.Vaddr+lasttext.Length))
|
||||
if Headtype == obj.Hwindows || Headtype == obj.Hwindowsgui {
|
||||
ctxt.xdefine(".text", obj.STEXT, int64(text.Vaddr))
|
||||
}
|
||||
|
||||
// If there are multiple text sections, create runtime.text.n for
|
||||
// their section Vaddr, using n for index
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue