From: Cherry Zhang Date: Sat, 25 Apr 2020 00:49:35 +0000 (-0400) Subject: [dev.link] cmd/link: always run Asmb before reloc X-Git-Tag: go1.15beta1~270^2^2~19 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=51ac260e5a92c75fc8fbdaa0e13958b26361b1a5;p=gostls13.git [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 TryBot-Result: Gobot Gobot Reviewed-by: Jeremy Faller --- diff --git a/src/cmd/link/internal/ld/main.go b/src/cmd/link/internal/ld/main.go index fcd391da90..a5f2092f0f 100644 --- a/src/cmd/link/internal/ld/main.go +++ b/src/cmd/link/internal/ld/main.go @@ -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)