aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/asm
diff options
context:
space:
mode:
authorGerrit Code Review <noreply-gerritcodereview@google.com>2019-11-08 20:24:43 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-11-08 20:24:43 +0000
commitbababde766afe97ff2100c467f416caa28475b18 (patch)
tree93800fa2c4748f28bcc5de47183331c5560d3b85 /src/cmd/asm
parent7a5e0fec099f19ae095609b08eb090b2e07998b5 (diff)
parentbbae923d2032780851ba396147e9862d95ea4061 (diff)
downloadgo-bababde766afe97ff2100c467f416caa28475b18.tar.xz
Merge "cmd: merge branch 'dev.link' into master"
Diffstat (limited to 'src/cmd/asm')
-rw-r--r--src/cmd/asm/internal/flags/flags.go1
-rw-r--r--src/cmd/asm/main.go10
2 files changed, 6 insertions, 5 deletions
diff --git a/src/cmd/asm/internal/flags/flags.go b/src/cmd/asm/internal/flags/flags.go
index 5fe3fd9d53..fad87b221a 100644
--- a/src/cmd/asm/internal/flags/flags.go
+++ b/src/cmd/asm/internal/flags/flags.go
@@ -23,6 +23,7 @@ var (
Dynlink = flag.Bool("dynlink", false, "support references to Go symbols defined in other shared libraries")
AllErrors = flag.Bool("e", false, "no limit on number of errors reported")
SymABIs = flag.Bool("gensymabis", false, "write symbol ABI information to output file, don't assemble")
+ Newobj = flag.Bool("newobj", false, "use new object file format")
)
var (
diff --git a/src/cmd/asm/main.go b/src/cmd/asm/main.go
index fc6acc74c0..6b0a609071 100644
--- a/src/cmd/asm/main.go
+++ b/src/cmd/asm/main.go
@@ -40,18 +40,18 @@ func main() {
}
ctxt.Flag_dynlink = *flags.Dynlink
ctxt.Flag_shared = *flags.Shared || *flags.Dynlink
+ ctxt.Flag_newobj = *flags.Newobj
ctxt.Bso = bufio.NewWriter(os.Stdout)
defer ctxt.Bso.Flush()
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)
@@ -83,6 +83,7 @@ func main() {
}
}
if ok && !*flags.SymABIs {
+ ctxt.NumberSyms(true)
obj.WriteObjFile(ctxt, buf, "")
}
if !ok || diag {
@@ -91,9 +92,8 @@ func main() {
} else {
log.Print("assembly failed")
}
- out.Close()
+ buf.Close()
os.Remove(*flags.OutputFile)
os.Exit(1)
}
- buf.Flush()
}