]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj: stop plist flushing early on error
authorJosh Bleecher Snyder <josharian@gmail.com>
Fri, 12 Apr 2019 19:02:49 +0000 (12:02 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Fri, 12 Apr 2019 19:13:31 +0000 (19:13 +0000)
If preprocessing or assembling has failed, we should not proceed.
First, there's no point.
Second, I will shortly add some sanity checks to linkpcln
that will fail on malformed input.

Change-Id: I055eeab1c2f3a66b4b2cadb551bbf4ab55d176f4
Reviewed-on: https://go-review.googlesource.com/c/go/+/171886
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/internal/obj/plist.go

index 9d376f739ffcb707b41ae6ac48fe4353487fd8db..8b177c5a02e76a63d5e9dc52a0be764a097a38a7 100644 (file)
@@ -105,6 +105,9 @@ func Flushplist(ctxt *Link, plist *Plist, newprog ProgAlloc, myimportpath string
                linkpatch(ctxt, s, newprog)
                ctxt.Arch.Preprocess(ctxt, s, newprog)
                ctxt.Arch.Assemble(ctxt, s, newprog)
+               if ctxt.Errors > 0 {
+                       continue
+               }
                linkpcln(ctxt, s)
                ctxt.populateDWARF(plist.Curfn, s, myimportpath)
        }