diff options
| author | Keith Randall <khr@golang.org> | 2016-02-25 19:17:55 -0800 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2016-02-26 19:21:32 +0000 |
| commit | c747fce242ec46316db17df14e65b0fe23e2c1f1 (patch) | |
| tree | 955713ed46c6648777bfd596034db26e46e0667a /src/cmd/internal/obj/objfile.go | |
| parent | 8d94b9b820b093a32b7eb83d6481bc3da7ca276e (diff) | |
| download | go-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.go | 8 |
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. |
