aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj/objfile.go
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2016-02-25 19:17:55 -0800
committerKeith Randall <khr@golang.org>2016-02-26 19:21:32 +0000
commitc747fce242ec46316db17df14e65b0fe23e2c1f1 (patch)
tree955713ed46c6648777bfd596034db26e46e0667a /src/cmd/internal/obj/objfile.go
parent8d94b9b820b093a32b7eb83d6481bc3da7ca276e (diff)
downloadgo-c747fce242ec46316db17df14e65b0fe23e2c1f1.tar.xz
cmd/internal/obj: Fix generation of assembly with -S
We can't drop Prog entries when we want to print disassembly. Added a test for -S. Fixes #14515 Change-Id: I44c72f70f7a3919acc01c559d30335d26669e76f Reviewed-on: https://go-review.googlesource.com/19930 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/cmd/internal/obj/objfile.go')
-rw-r--r--src/cmd/internal/obj/objfile.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/cmd/internal/obj/objfile.go b/src/cmd/internal/obj/objfile.go
index 6757067dd6..33330b472e 100644
--- a/src/cmd/internal/obj/objfile.go
+++ b/src/cmd/internal/obj/objfile.go
@@ -116,7 +116,7 @@ func Writeobjdirect(ctxt *Link, b *Biobuf) {
}
func Flushplist(ctxt *Link) {
- flushplist(ctxt, true)
+ flushplist(ctxt, ctxt.Debugasm == 0)
}
func FlushplistNoFree(ctxt *Link) {
flushplist(ctxt, false)
@@ -308,8 +308,10 @@ func flushplist(ctxt *Link, freeProgs bool) {
ctxt.Arch.Assemble(ctxt, s)
fieldtrack(ctxt, s)
linkpcln(ctxt, s)
- s.Text = nil
- s.Etext = nil
+ if freeProgs {
+ s.Text = nil
+ s.Etext = nil
+ }
}
// Add to running list in ctxt.