mirror of
https://github.com/golang/go
synced 2024-11-07 11:36:11 -07:00
[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>
This commit is contained in:
parent
dc8453964a
commit
cd75cf4bc0
@ -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()
|
||||
}
|
||||
|
@ -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() {
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user