1
0
mirror of https://github.com/golang/go synced 2024-11-18 15:54:42 -07:00

[dev.link] cmd/link: always run Asmb before reloc

Currently, we run Asmb before reloc, except on Wasm, where the
order is reversed. However, Asmb is no-op on Wasm. So we can
always run Asmb first.

Change-Id: Ifb8989d8150ebdd5777deb05cbccec16f8e36d82
Reviewed-on: https://go-review.googlesource.com/c/go/+/229990
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
This commit is contained in:
Cherry Zhang 2020-04-24 20:49:35 -04:00
parent 512a0219ef
commit 51ac260e5a

View File

@ -346,20 +346,13 @@ func Main(arch *sys.Arch, theArch Arch) {
if err := ctxt.Out.Mmap(filesize); err != nil {
panic(err)
}
// Asmb will redirect symbols to the output file mmap, and relocations
// will be applied directly there.
bench.Start("Asmb")
thearch.Asmb(ctxt)
bench.Start("reloc")
ctxt.reloc()
} else {
// If we don't mmap, we need to apply relocations before
// writing out.
bench.Start("reloc")
ctxt.reloc()
bench.Start("Asmb")
thearch.Asmb(ctxt)
}
// Asmb will redirect symbols to the output file mmap, and relocations
// will be applied directly there.
bench.Start("Asmb")
thearch.Asmb(ctxt)
bench.Start("reloc")
ctxt.reloc()
bench.Start("Asmb2")
thearch.Asmb2(ctxt)