diff --git a/src/cmd/compile/internal/gc/export.go b/src/cmd/compile/internal/gc/export.go index c93f008ba2c26b..9afbeb9d3b5c91 100644 --- a/src/cmd/compile/internal/gc/export.go +++ b/src/cmd/compile/internal/gc/export.go @@ -47,5 +47,7 @@ func dumpasmhdr() { } } - b.Close() + if err := b.Close(); err != nil { + base.Fatalf("%v", err) + } } diff --git a/src/cmd/compile/internal/gc/obj.go b/src/cmd/compile/internal/gc/obj.go index 4b42c81ef81845..37bbce03189c24 100644 --- a/src/cmd/compile/internal/gc/obj.go +++ b/src/cmd/compile/internal/gc/obj.go @@ -57,7 +57,7 @@ func dumpobj1(outfile string, mode int) { fmt.Printf("can't create %s: %v\n", outfile, err) base.ErrorExit() } - defer bout.Close() + bout.WriteString("!\n") if mode&modeCompilerObj != 0 { @@ -70,6 +70,12 @@ func dumpobj1(outfile string, mode int) { dumpLinkerObj(bout) finishArchiveEntry(bout, start, "_go_.o") } + + if err := bout.Close(); err != nil { + base.FlushErrors() + fmt.Printf("error while writing to file %s: %v\n", outfile, err) + base.ErrorExit() + } } func printObjHeader(bout *bio.Writer) {