From 51ac260e5a92c75fc8fbdaa0e13958b26361b1a5 Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Fri, 24 Apr 2020 20:49:35 -0400 Subject: [PATCH] [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 --- src/cmd/link/internal/ld/main.go | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) 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) -- 2.50.0