mirror of
https://github.com/golang/go
synced 2024-11-07 15:46:23 -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)
|
architecture.Init(ctxt)
|
||||||
|
|
||||||
// Create object file, write header.
|
// Create object file, write header.
|
||||||
out, err := os.Create(*flags.OutputFile)
|
buf, err := bio.Create(*flags.OutputFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
defer bio.MustClose(out)
|
defer buf.Close()
|
||||||
buf := bufio.NewWriter(bio.MustWriter(out))
|
|
||||||
|
|
||||||
if !*flags.SymABIs {
|
if !*flags.SymABIs {
|
||||||
fmt.Fprintf(buf, "go object %s %s %s\n", objabi.GOOS, objabi.GOARCH, objabi.Version)
|
fmt.Fprintf(buf, "go object %s %s %s\n", objabi.GOOS, objabi.GOARCH, objabi.Version)
|
||||||
@ -91,9 +90,8 @@ func main() {
|
|||||||
} else {
|
} else {
|
||||||
log.Print("assembly failed")
|
log.Print("assembly failed")
|
||||||
}
|
}
|
||||||
out.Close()
|
buf.Close()
|
||||||
os.Remove(*flags.OutputFile)
|
os.Remove(*flags.OutputFile)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
buf.Flush()
|
|
||||||
}
|
}
|
||||||
|
@ -166,7 +166,7 @@ func dumpLinkerObj(bout *bio.Writer) {
|
|||||||
|
|
||||||
fmt.Fprintf(bout, "\n!\n")
|
fmt.Fprintf(bout, "\n!\n")
|
||||||
|
|
||||||
obj.WriteObjFile(Ctxt, bout.Writer, myimportpath)
|
obj.WriteObjFile(Ctxt, bout, myimportpath)
|
||||||
}
|
}
|
||||||
|
|
||||||
func addptabs() {
|
func addptabs() {
|
||||||
|
@ -8,6 +8,7 @@ package obj
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
"cmd/internal/bio"
|
||||||
"cmd/internal/dwarf"
|
"cmd/internal/dwarf"
|
||||||
"cmd/internal/objabi"
|
"cmd/internal/objabi"
|
||||||
"cmd/internal/sys"
|
"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)
|
w := newObjWriter(ctxt, b, pkgpath)
|
||||||
|
|
||||||
// Magic header
|
// Magic header
|
||||||
|
Loading…
Reference in New Issue
Block a user