1
0
mirror of https://github.com/golang/go synced 2024-11-23 01:30:02 -07:00

cmd/link: exit before Asmb2 if error

If there are already errors emitted, don't run the Asmb2 pass
and just exit. At the point of Asmb2 relocations are already
resolved and errors should have been reported, if any. Asmb2 is
unlikely to emit additional useful users errors. Instead, the
invalid input may cause inconsistencies and crash the linker, or
it may emit some internal errors which are more confusing than
helpful. Exit on error before Asmb2.

Fixes #43748.

Change-Id: Icf6e27f2eef5b6259e921ec0e64bebad5dd805f8
Reviewed-on: https://go-review.googlesource.com/c/go/+/284576
Trust: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
Cherry Zhang 2021-01-19 11:02:10 -05:00
parent ca5774a5a5
commit ccb2e90688

View File

@ -338,6 +338,8 @@ func Main(arch *sys.Arch, theArch Arch) {
bench.Start("Asmb") bench.Start("Asmb")
asmb(ctxt) asmb(ctxt)
exitIfErrors()
// Generate additional symbols for the native symbol table just prior // Generate additional symbols for the native symbol table just prior
// to code generation. // to code generation.
bench.Start("GenSymsLate") bench.Start("GenSymsLate")