diff options
| author | Cherry Zhang <cherryyz@google.com> | 2019-09-11 16:11:31 -0400 |
|---|---|---|
| committer | Cherry Zhang <cherryyz@google.com> | 2019-10-01 20:28:45 +0000 |
| commit | cd75cf4bc02a741f7b59e30dd1170364000fd134 (patch) | |
| tree | c22eb707953f8173128a69062c54e9a98f3bd032 /src/cmd | |
| parent | dc8453964a519032bfd338a2cc027d038c9b2e79 (diff) | |
| download | go-cd75cf4bc02a741f7b59e30dd1170364000fd134.tar.xz | |
[dev.link] cmd/compile, cmd/asm: use bio.Writer for object file writing
It is convenient to have a seekable writer. A later CL will make
use of Seek.
Change-Id: Iba0107ce2975d9a451d97f16aa91a318dd4c90e2
Reviewed-on: https://go-review.googlesource.com/c/go/+/196028
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
Diffstat (limited to 'src/cmd')
| -rw-r--r-- | src/cmd/asm/main.go | 8 | ||||
| -rw-r--r-- | src/cmd/compile/internal/gc/obj.go | 2 | ||||
| -rw-r--r-- | src/cmd/internal/obj/objfile.go | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/src/cmd/asm/main.go b/src/cmd/asm/main.go index fc6acc74c0..91b48975d2 100644 --- a/src/cmd/asm/main.go +++ b/src/cmd/asm/main.go @@ -46,12 +46,11 @@ func main() { architecture.Init(ctxt) // Create object file, write header. - out, err := os.Create(*flags.OutputFile) + buf, err := bio.Create(*flags.OutputFile) if err != nil { log.Fatal(err) } - defer bio.MustClose(out) - buf := bufio.NewWriter(bio.MustWriter(out)) + defer buf.Close() if !*flags.SymABIs { fmt.Fprintf(buf, "go object %s %s %s\n", objabi.GOOS, objabi.GOARCH, objabi.Version) @@ -91,9 +90,8 @@ func main() { } else { log.Print("assembly failed") } - out.Close() + buf.Close() os.Remove(*flags.OutputFile) os.Exit(1) } - buf.Flush() } diff --git a/src/cmd/compile/internal/gc/obj.go b/src/cmd/compile/internal/gc/obj.go index e703e8a302..ae0fc1dbc1 100644 --- a/src/cmd/compile/internal/gc/obj.go +++ b/src/cmd/compile/internal/gc/obj.go @@ -166,7 +166,7 @@ func dumpLinkerObj(bout *bio.Writer) { fmt.Fprintf(bout, "\n!\n") - obj.WriteObjFile(Ctxt, bout.Writer, myimportpath) + obj.WriteObjFile(Ctxt, bout, myimportpath) } func addptabs() { diff --git a/src/cmd/internal/obj/objfile.go b/src/cmd/internal/obj/objfile.go index ab5627c0dd..c51a11c51f 100644 --- a/src/cmd/internal/obj/objfile.go +++ b/src/cmd/internal/obj/objfile.go @@ -8,6 +8,7 @@ package obj import ( "bufio" + "cmd/internal/bio" "cmd/internal/dwarf" "cmd/internal/objabi" "cmd/internal/sys" @@ -80,7 +81,8 @@ func newObjWriter(ctxt *Link, b *bufio.Writer, pkgpath string) *objWriter { } } -func WriteObjFile(ctxt *Link, b *bufio.Writer, pkgpath string) { +func WriteObjFile(ctxt *Link, bout *bio.Writer, pkgpath string) { + b := bout.Writer w := newObjWriter(ctxt, b, pkgpath) // Magic header |
