aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/internal/obj')
-rw-r--r--src/cmd/internal/obj/objfile.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cmd/internal/obj/objfile.go b/src/cmd/internal/obj/objfile.go
index 2d5c82376b..6757067dd6 100644
--- a/src/cmd/internal/obj/objfile.go
+++ b/src/cmd/internal/obj/objfile.go
@@ -116,6 +116,12 @@ func Writeobjdirect(ctxt *Link, b *Biobuf) {
}
func Flushplist(ctxt *Link) {
+ flushplist(ctxt, true)
+}
+func FlushplistNoFree(ctxt *Link) {
+ flushplist(ctxt, false)
+}
+func flushplist(ctxt *Link, freeProgs bool) {
var flag int
var s *LSym
var p *Prog
@@ -318,7 +324,9 @@ func Flushplist(ctxt *Link) {
ctxt.Plist = nil
ctxt.Plast = nil
ctxt.Curp = nil
- ctxt.freeProgs()
+ if freeProgs {
+ ctxt.freeProgs()
+ }
}
func Writeobjfile(ctxt *Link, b *Biobuf) {