]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link/internal, cmd/internal/obj: introduce ctxt.Logf
authorDave Cheney <dave@cheney.net>
Thu, 25 Aug 2016 02:32:42 +0000 (12:32 +1000)
committerDave Cheney <dave@cheney.net>
Thu, 25 Aug 2016 03:34:06 +0000 (03:34 +0000)
Replace the various calls to Fprintf(ctxt.Bso, ...) with a helper,
ctxt.Logf. This also addresses the various inconsistent flushing of
ctxt.Bso.

Because we have two Link structures, add Link.Logf in both places.

Change-Id: I23093f9b9b3bf33089a0ffd7f815f92dcd1a1fa1
Reviewed-on: https://go-review.googlesource.com/27730
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
29 files changed:
src/cmd/internal/obj/arm/asm5.go
src/cmd/internal/obj/arm/obj5.go
src/cmd/internal/obj/arm64/asm7.go
src/cmd/internal/obj/arm64/obj7.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/mips/asm0.go
src/cmd/internal/obj/mips/obj0.go
src/cmd/internal/obj/pcln.go
src/cmd/internal/obj/ppc64/asm9.go
src/cmd/internal/obj/ppc64/obj9.go
src/cmd/internal/obj/s390x/objz.go
src/cmd/link/internal/amd64/asm.go
src/cmd/link/internal/arm/asm.go
src/cmd/link/internal/arm64/asm.go
src/cmd/link/internal/ld/ar.go
src/cmd/link/internal/ld/data.go
src/cmd/link/internal/ld/deadcode.go
src/cmd/link/internal/ld/dwarf.go
src/cmd/link/internal/ld/ld.go
src/cmd/link/internal/ld/ldelf.go
src/cmd/link/internal/ld/ldpe.go
src/cmd/link/internal/ld/lib.go
src/cmd/link/internal/ld/link.go
src/cmd/link/internal/ld/main.go
src/cmd/link/internal/ld/pcln.go
src/cmd/link/internal/mips64/asm.go
src/cmd/link/internal/ppc64/asm.go
src/cmd/link/internal/s390x/asm.go
src/cmd/link/internal/x86/asm.go

index 1e0ff57c7a2fa28b507a15dcbff491566cd77267..02f2c57d05b4426d006285129e3a87a472ed0152 100644 (file)
@@ -648,7 +648,7 @@ func span5(ctxt *obj.Link, cursym *obj.LSym) {
        var out [6 + 3]uint32
        for {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f span1\n", obj.Cputime())
+                       ctxt.Logf("%5.2f span1\n", obj.Cputime())
                }
                bflag = 0
                c = 0
index a3d421eb6bc29c924a46afc42261cd2a6b822e2c..c4af78fe341037d6b57b8bcb1dc4fa88e043ad17 100644 (file)
@@ -359,8 +359,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
 
                        if autosize == 0 && cursym.Text.Mark&LEAF == 0 {
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "save suppressed in: %s\n", cursym.Name)
-                                       ctxt.Bso.Flush()
+                                       ctxt.Logf("save suppressed in: %s\n", cursym.Name)
                                }
 
                                cursym.Text.Mark |= LEAF
index 4baf4be65835538caeb4ae1f75d0da87be969efc..726e7d284d7597471ba6140f06eed4c9867c57ec 100644 (file)
@@ -585,7 +585,7 @@ func span7(ctxt *obj.Link, cursym *obj.LSym) {
         */
        for bflag != 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f span1\n", obj.Cputime())
+                       ctxt.Logf("%5.2f span1\n", obj.Cputime())
                }
                bflag = 0
                c = 0
@@ -4197,7 +4197,7 @@ func omovlit(ctxt *obj.Link, as obj.As, p *obj.Prog, a *obj.Addr, dr int) uint32
        var o1 int32
        if p.Pcond == nil { /* not in literal pool */
                aclass(ctxt, a)
-               fmt.Fprintf(ctxt.Bso, "omovlit add %d (%#x)\n", ctxt.Instoffset, uint64(ctxt.Instoffset))
+               ctxt.Logf("omovlit add %d (%#x)\n", ctxt.Instoffset, uint64(ctxt.Instoffset))
 
                /* TODO: could be clever, and use general constant builder */
                o1 = int32(opirr(ctxt, AADD))
index e251408aa71b0274e1312a349de6cae413471d6a..c6c422b82ca142dd476feb5e9f548f74a70a6a7f 100644 (file)
@@ -617,7 +617,6 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
         * strip NOPs
         * expand RET
         */
-       ctxt.Bso.Flush()
        q := (*obj.Prog)(nil)
        var q1 *obj.Prog
        for p := cursym.Text; p != nil; p = p.Link {
@@ -713,8 +712,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
                        p.To.Offset = int64(ctxt.Autosize) - 8
                        if ctxt.Autosize == 0 && !(cursym.Text.Mark&LEAF != 0) {
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "save suppressed in: %s\n", cursym.Text.From.Sym.Name)
-                                       ctxt.Bso.Flush()
+                                       ctxt.Logf("save suppressed in: %s\n", cursym.Text.From.Sym.Name)
                                }
                                cursym.Text.Mark |= LEAF
                        }
index f72a191d02fe4b6b01a1a577814f85dc7bf459aa..ed82e175fdb5e49a696533c4e9a3bb31ead25856 100644 (file)
@@ -33,6 +33,7 @@ package obj
 import (
        "bufio"
        "cmd/internal/sys"
+       "fmt"
 )
 
 // An Addr is an argument to an instruction.
@@ -687,6 +688,11 @@ func (ctxt *Link) Diag(format string, args ...interface{}) {
        ctxt.DiagFunc(format, args...)
 }
 
+func (ctxt *Link) Logf(format string, args ...interface{}) {
+       fmt.Fprintf(ctxt.Bso, format, args...)
+       ctxt.Bso.Flush()
+}
+
 // The smallest possible offset from the hardware stack pointer to a local
 // variable on the stack. Architectures that use a link register save its value
 // on the stack in the function prologue and so always have a pointer between
index 73daa0a1025c47c8a2e2ba52ceb4603a57e62dcd..81e8d5ba631c002e40ced37111ddca2c69a5e3da 100644 (file)
@@ -370,7 +370,7 @@ func span0(ctxt *obj.Link, cursym *obj.LSym) {
        var q *obj.Prog
        for bflag != 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f span1\n", obj.Cputime())
+                       ctxt.Logf("%5.2f span1\n", obj.Cputime())
                }
                bflag = 0
                c = 0
index 56a47f9c1ba0d7dcfc512fdcd721a8c9e2d57613..6f2c5bbbfcdc26ce12d2bba4a1b83cb9d4d1aee4 100644 (file)
@@ -144,8 +144,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
         * expand BECOME pseudo
         */
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f noops\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f noops\n", obj.Cputime())
        }
 
        var q *obj.Prog
@@ -293,8 +292,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
                        } else if cursym.Text.Mark&LEAF == 0 {
                                if cursym.Text.From3.Offset&obj.NOSPLIT != 0 {
                                        if ctxt.Debugvlog != 0 {
-                                               fmt.Fprintf(ctxt.Bso, "save suppressed in: %s\n", cursym.Name)
-                                               ctxt.Bso.Flush()
+                                               ctxt.Logf("save suppressed in: %s\n", cursym.Name)
                                        }
 
                                        cursym.Text.Mark |= LEAF
index b1536eb224f806134365192096d75e0273f7ae39..db5a36407083f13d8e2f36d96f9ee2aab5d8114c 100644 (file)
@@ -4,10 +4,7 @@
 
 package obj
 
-import (
-       "fmt"
-       "log"
-)
+import "log"
 
 func addvarint(ctxt *Link, d *Pcdata, val uint32) {
        var v uint32
@@ -39,7 +36,7 @@ func funcpctab(ctxt *Link, dst *Pcdata, func_ *LSym, desc string, valfunc func(*
        dst.P = dst.P[:0]
 
        if ctxt.Debugpcln != 0 {
-               fmt.Fprintf(ctxt.Bso, "funcpctab %s [valfunc=%s]\n", func_.Name, desc)
+               ctxt.Logf("funcpctab %s [valfunc=%s]\n", func_.Name, desc)
        }
 
        val := int32(-1)
@@ -52,7 +49,7 @@ func funcpctab(ctxt *Link, dst *Pcdata, func_ *LSym, desc string, valfunc func(*
        pc := func_.Text.Pc
 
        if ctxt.Debugpcln != 0 {
-               fmt.Fprintf(ctxt.Bso, "%6x %6d %v\n", uint64(pc), val, func_.Text)
+               ctxt.Logf("%6x %6d %v\n", uint64(pc), val, func_.Text)
        }
 
        started := int32(0)
@@ -64,7 +61,7 @@ func funcpctab(ctxt *Link, dst *Pcdata, func_ *LSym, desc string, valfunc func(*
                if val == oldval && started != 0 {
                        val = valfunc(ctxt, func_, val, p, 1, arg)
                        if ctxt.Debugpcln != 0 {
-                               fmt.Fprintf(ctxt.Bso, "%6x %6s %v\n", uint64(p.Pc), "", p)
+                               ctxt.Logf("%6x %6s %v\n", uint64(p.Pc), "", p)
                        }
                        continue
                }
@@ -76,7 +73,7 @@ func funcpctab(ctxt *Link, dst *Pcdata, func_ *LSym, desc string, valfunc func(*
                if p.Link != nil && p.Link.Pc == p.Pc {
                        val = valfunc(ctxt, func_, val, p, 1, arg)
                        if ctxt.Debugpcln != 0 {
-                               fmt.Fprintf(ctxt.Bso, "%6x %6s %v\n", uint64(p.Pc), "", p)
+                               ctxt.Logf("%6x %6s %v\n", uint64(p.Pc), "", p)
                        }
                        continue
                }
@@ -96,7 +93,7 @@ func funcpctab(ctxt *Link, dst *Pcdata, func_ *LSym, desc string, valfunc func(*
                // where the 0x80 bit indicates that the integer continues.
 
                if ctxt.Debugpcln != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%6x %6d %v\n", uint64(p.Pc), val, p)
+                       ctxt.Logf("%6x %6d %v\n", uint64(p.Pc), val, p)
                }
 
                if started != 0 {
@@ -118,18 +115,18 @@ func funcpctab(ctxt *Link, dst *Pcdata, func_ *LSym, desc string, valfunc func(*
 
        if started != 0 {
                if ctxt.Debugpcln != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%6x done\n", uint64(func_.Text.Pc+func_.Size))
+                       ctxt.Logf("%6x done\n", uint64(func_.Text.Pc+func_.Size))
                }
                addvarint(ctxt, dst, uint32((func_.Size-pc)/int64(ctxt.Arch.MinLC)))
                addvarint(ctxt, dst, 0) // terminator
        }
 
        if ctxt.Debugpcln != 0 {
-               fmt.Fprintf(ctxt.Bso, "wrote %d bytes to %p\n", len(dst.P), dst)
+               ctxt.Logf("wrote %d bytes to %p\n", len(dst.P), dst)
                for i := 0; i < len(dst.P); i++ {
-                       fmt.Fprintf(ctxt.Bso, " %02x", dst.P[i])
+                       ctxt.Logf(" %02x", dst.P[i])
                }
-               fmt.Fprintf(ctxt.Bso, "\n")
+               ctxt.Logf("\n")
        }
 
        ctxt.Debugpcln -= int32(dbg)
index 18a34e410a7691cf3625946b40715fe80db1468f..ba053341ca32ccec4d4ae42648dc0fe987533ab2 100644 (file)
@@ -459,7 +459,7 @@ func span9(ctxt *obj.Link, cursym *obj.LSym) {
        var q *obj.Prog
        for bflag != 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f span1\n", obj.Cputime())
+                       ctxt.Logf("%5.2f span1\n", obj.Cputime())
                }
                bflag = 0
                c = 0
index 6a5f050c67197a3e0abbb009f545f03296332a46..8688b97bc82a15ca0253411144b6c60741bd39bd 100644 (file)
@@ -275,8 +275,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
         * expand BECOME pseudo
         */
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f noops\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f noops\n", obj.Cputime())
        }
 
        var q *obj.Prog
index c9fca1b36f1029b6343aaf0739867da8ba6f1b96..de1efcdedb14e0dd3145616e6c3b9348b5586ec9 100644 (file)
@@ -242,8 +242,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
         * expand BECOME pseudo
         */
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f noops\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f noops\n", obj.Cputime())
        }
 
        var q *obj.Prog
index f64a309c8c28c797b4966fde1a4a017d7906db9f..d5c052cb05d0f7304c0065e25aa7e942f6dd373b 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/obj"
        "cmd/link/internal/ld"
        "debug/elf"
-       "fmt"
        "log"
 )
 
@@ -600,13 +599,11 @@ func addgotsym(ctxt *ld.Link, s *ld.Symbol) {
 
 func asmb(ctxt *ld.Link) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f asmb\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f asmb\n", obj.Cputime())
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f codeblk\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f codeblk\n", obj.Cputime())
        }
 
        if ld.Iself {
@@ -624,8 +621,7 @@ func asmb(ctxt *ld.Link) {
 
        if ld.Segrodata.Filelen > 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f rodatblk\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f rodatblk\n", obj.Cputime())
                }
 
                ld.Cseek(int64(ld.Segrodata.Fileoff))
@@ -633,8 +629,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f datblk\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f datblk\n", obj.Cputime())
        }
 
        ld.Cseek(int64(ld.Segdata.Fileoff))
@@ -678,8 +673,7 @@ func asmb(ctxt *ld.Link) {
        symo := int64(0)
        if !*ld.FlagS {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f sym\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f sym\n", obj.Cputime())
                }
                switch ld.HEADTYPE {
                default:
@@ -715,7 +709,7 @@ func asmb(ctxt *ld.Link) {
                                ld.Cwrite(ld.Elfstrdat)
 
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "%5.2f dwarf\n", obj.Cputime())
+                                       ctxt.Logf("%5.2f dwarf\n", obj.Cputime())
                                }
 
                                if ld.Linkmode == ld.LinkExternal {
@@ -739,7 +733,7 @@ func asmb(ctxt *ld.Link) {
 
                case obj.Hwindows:
                        if ctxt.Debugvlog != 0 {
-                               fmt.Fprintf(ctxt.Bso, "%5.2f dwarf\n", obj.Cputime())
+                               ctxt.Logf("%5.2f dwarf\n", obj.Cputime())
                        }
 
                case obj.Hdarwin:
@@ -750,8 +744,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f headr\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f headr\n", obj.Cputime())
        }
        ld.Cseek(0)
        switch ld.HEADTYPE {
index 111fe2894e37d97630db4c578cce372b90d1202a..c2cc0814d037676809c0c5071ed0e64e0f00a800 100644 (file)
@@ -583,8 +583,7 @@ func addgotsym(ctxt *ld.Link, s *ld.Symbol) {
 
 func asmb(ctxt *ld.Link) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f asmb\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f asmb\n", obj.Cputime())
        }
 
        if ld.Iself {
@@ -601,8 +600,7 @@ func asmb(ctxt *ld.Link) {
 
        if ld.Segrodata.Filelen > 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f rodatblk\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f rodatblk\n", obj.Cputime())
                }
 
                ld.Cseek(int64(ld.Segrodata.Fileoff))
@@ -610,8 +608,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f datblk\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f datblk\n", obj.Cputime())
        }
 
        ld.Cseek(int64(ld.Segdata.Fileoff))
@@ -633,8 +630,7 @@ func asmb(ctxt *ld.Link) {
        if !*ld.FlagS {
                // TODO: rationalize
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f sym\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f sym\n", obj.Cputime())
                }
                switch ld.HEADTYPE {
                default:
@@ -655,7 +651,7 @@ func asmb(ctxt *ld.Link) {
                default:
                        if ld.Iself {
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "%5.2f elfsym\n", obj.Cputime())
+                                       ctxt.Logf("%5.2f elfsym\n", obj.Cputime())
                                }
                                ld.Asmelfsym(ctxt)
                                ld.Cflush()
@@ -689,8 +685,7 @@ func asmb(ctxt *ld.Link) {
 
        ctxt.Cursym = nil
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f header\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f header\n", obj.Cputime())
        }
        ld.Cseek(0)
        switch ld.HEADTYPE {
index 5bba3f0e24750457af14e6a3732af4967d853d84..85c452b615f83287b626d464fa3a7450613c1937 100644 (file)
@@ -392,8 +392,7 @@ func archrelocvariant(ctxt *ld.Link, r *ld.Reloc, s *ld.Symbol, t int64) int64 {
 
 func asmb(ctxt *ld.Link) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f asmb\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f asmb\n", obj.Cputime())
        }
 
        if ld.Iself {
@@ -410,8 +409,7 @@ func asmb(ctxt *ld.Link) {
 
        if ld.Segrodata.Filelen > 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f rodatblk\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f rodatblk\n", obj.Cputime())
                }
 
                ld.Cseek(int64(ld.Segrodata.Fileoff))
@@ -419,8 +417,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f datblk\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f datblk\n", obj.Cputime())
        }
 
        ld.Cseek(int64(ld.Segdata.Fileoff))
@@ -442,8 +439,7 @@ func asmb(ctxt *ld.Link) {
        if !*ld.FlagS {
                // TODO: rationalize
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f sym\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f sym\n", obj.Cputime())
                }
                switch ld.HEADTYPE {
                default:
@@ -464,7 +460,7 @@ func asmb(ctxt *ld.Link) {
                default:
                        if ld.Iself {
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "%5.2f elfsym\n", obj.Cputime())
+                                       ctxt.Logf("%5.2f elfsym\n", obj.Cputime())
                                }
                                ld.Asmelfsym(ctxt)
                                ld.Cflush()
@@ -498,8 +494,7 @@ func asmb(ctxt *ld.Link) {
 
        ctxt.Cursym = nil
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f header\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f header\n", obj.Cputime())
        }
        ld.Cseek(0)
        switch ld.HEADTYPE {
index e75f76c288a9bb4b726266b5cab49a437276ddba..ad517d638784ac3371667d134ee0f15b077baee6 100644 (file)
@@ -69,7 +69,7 @@ func hostArchive(ctxt *Link, name string) {
                if os.IsNotExist(err) {
                        // It's OK if we don't have a libgcc file at all.
                        if ctxt.Debugvlog != 0 {
-                               fmt.Fprintf(ctxt.Bso, "skipping libgcc file: %v\n", err)
+                               ctxt.Logf("skipping libgcc file: %v\n", err)
                        }
                        return
                }
index 3a3cfecd47c9dda42a68f36f6449740ba1588548..469db4af515b759747c7c199eb3bc0088b5d0b44 100644 (file)
@@ -648,8 +648,7 @@ func relocsym(ctxt *Link, s *Symbol) {
 
 func (ctxt *Link) reloc() {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f reloc\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f reloc\n", obj.Cputime())
        }
 
        for _, s := range ctxt.Textp {
@@ -724,8 +723,7 @@ func dynreloc(ctxt *Link, data *[obj.SXREF][]*Symbol) {
                return
        }
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f reloc\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f reloc\n", obj.Cputime())
        }
 
        for _, s := range ctxt.Textp {
@@ -746,7 +744,7 @@ func Codeblk(ctxt *Link, addr int64, size int64) {
 }
 func CodeblkPad(ctxt *Link, addr int64, size int64, pad []byte) {
        if *flagA {
-               fmt.Fprintf(ctxt.Bso, "codeblk [%#x,%#x) at offset %#x\n", addr, addr+size, coutbuf.Offset())
+               ctxt.Logf("codeblk [%#x,%#x) at offset %#x\n", addr, addr+size, coutbuf.Offset())
        }
 
        blk(ctxt, ctxt.Textp, addr, size, pad)
@@ -778,34 +776,33 @@ func CodeblkPad(ctxt *Link, addr int64, size int64, pad []byte) {
                }
 
                if addr < sym.Value {
-                       fmt.Fprintf(ctxt.Bso, "%-20s %.8x|", "_", uint64(addr))
+                       ctxt.Logf("%-20s %.8x|", "_", uint64(addr))
                        for ; addr < sym.Value; addr++ {
-                               fmt.Fprintf(ctxt.Bso, " %.2x", 0)
+                               ctxt.Logf(" %.2x", 0)
                        }
-                       fmt.Fprintf(ctxt.Bso, "\n")
+                       ctxt.Logf("\n")
                }
 
-               fmt.Fprintf(ctxt.Bso, "%.6x\t%-20s\n", uint64(addr), sym.Name)
+               ctxt.Logf("%.6x\t%-20s\n", uint64(addr), sym.Name)
                q = sym.P
 
                for len(q) >= 16 {
-                       fmt.Fprintf(ctxt.Bso, "%.6x\t% x\n", uint64(addr), q[:16])
+                       ctxt.Logf("%.6x\t% x\n", uint64(addr), q[:16])
                        addr += 16
                        q = q[16:]
                }
 
                if len(q) > 0 {
-                       fmt.Fprintf(ctxt.Bso, "%.6x\t% x\n", uint64(addr), q)
+                       ctxt.Logf("%.6x\t% x\n", uint64(addr), q)
                        addr += int64(len(q))
                }
        }
 
        if addr < eaddr {
-               fmt.Fprintf(ctxt.Bso, "%-20s %.8x|", "_", uint64(addr))
+               ctxt.Logf("%-20s %.8x|", "_", uint64(addr))
                for ; addr < eaddr; addr++ {
-                       fmt.Fprintf(ctxt.Bso, " %.2x", 0)
+                       ctxt.Logf(" %.2x", 0)
                }
-               ctxt.Bso.Flush()
        }
 }
 
@@ -857,7 +854,7 @@ func blk(ctxt *Link, syms []*Symbol, addr, size int64, pad []byte) {
 
 func Datblk(ctxt *Link, addr int64, size int64) {
        if *flagA {
-               fmt.Fprintf(ctxt.Bso, "datblk [%#x,%#x) at offset %#x\n", addr, addr+size, coutbuf.Offset())
+               ctxt.Logf("datblk [%#x,%#x) at offset %#x\n", addr, addr+size, coutbuf.Offset())
        }
 
        blk(ctxt, datap, addr, size, zeros[:])
@@ -881,23 +878,23 @@ func Datblk(ctxt *Link, addr int64, size int64) {
                        break
                }
                if addr < sym.Value {
-                       fmt.Fprintf(ctxt.Bso, "\t%.8x| 00 ...\n", uint64(addr))
+                       ctxt.Logf("\t%.8x| 00 ...\n", uint64(addr))
                        addr = sym.Value
                }
 
-               fmt.Fprintf(ctxt.Bso, "%s\n\t%.8x|", sym.Name, uint64(addr))
+               ctxt.Logf("%s\n\t%.8x|", sym.Name, uint64(addr))
                for i, b := range sym.P {
                        if i > 0 && i%16 == 0 {
-                               fmt.Fprintf(ctxt.Bso, "\n\t%.8x|", uint64(addr)+uint64(i))
+                               ctxt.Logf("\n\t%.8x|", uint64(addr)+uint64(i))
                        }
-                       fmt.Fprintf(ctxt.Bso, " %.2x", b)
+                       ctxt.Logf(" %.2x", b)
                }
 
                addr += int64(len(sym.P))
                for ; addr < sym.Value+sym.Size; addr++ {
-                       fmt.Fprintf(ctxt.Bso, " %.2x", 0)
+                       ctxt.Logf(" %.2x", 0)
                }
-               fmt.Fprintf(ctxt.Bso, "\n")
+               ctxt.Logf("\n")
 
                if Linkmode != LinkExternal {
                        continue
@@ -916,19 +913,19 @@ func Datblk(ctxt *Link, addr int64, size int64) {
                        case obj.R_CALL:
                                typ = "call"
                        }
-                       fmt.Fprintf(ctxt.Bso, "\treloc %.8x/%d %s %s+%#x [%#x]\n", uint(sym.Value+int64(r.Off)), r.Siz, typ, rsname, r.Add, r.Sym.Value+r.Add)
+                       ctxt.Logf("\treloc %.8x/%d %s %s+%#x [%#x]\n", uint(sym.Value+int64(r.Off)), r.Siz, typ, rsname, r.Add, r.Sym.Value+r.Add)
                }
        }
 
        if addr < eaddr {
-               fmt.Fprintf(ctxt.Bso, "\t%.8x| 00 ...\n", uint(addr))
+               ctxt.Logf("\t%.8x| 00 ...\n", uint(addr))
        }
-       fmt.Fprintf(ctxt.Bso, "\t%.8x|\n", uint(eaddr))
+       ctxt.Logf("\t%.8x|\n", uint(eaddr))
 }
 
 func Dwarfblk(ctxt *Link, addr int64, size int64) {
        if *flagA {
-               fmt.Fprintf(ctxt.Bso, "dwarfblk [%#x,%#x) at offset %#x\n", addr, addr+size, coutbuf.Offset())
+               ctxt.Logf("dwarfblk [%#x,%#x) at offset %#x\n", addr, addr+size, coutbuf.Offset())
        }
 
        blk(ctxt, dwarfp, addr, size, zeros[:])
@@ -1189,8 +1186,7 @@ var datap []*Symbol
 
 func (ctxt *Link) dodata() {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f dodata\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f dodata\n", obj.Cputime())
        }
 
        // Collect data symbols by type into data.
index 43873a2abe9281ff35c50f8e867a4a95913e034d..6fd5ee3cbb1d22fb7aac673e50297a86e2a7c62a 100644 (file)
@@ -46,7 +46,7 @@ import (
 // Any unreached text symbols are removed from ctxt.Textp.
 func deadcode(ctxt *Link) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f deadcode\n", obj.Cputime())
+               ctxt.Logf("%5.2f deadcode\n", obj.Cputime())
        }
 
        d := &deadcodepass{
@@ -181,7 +181,7 @@ func (d *deadcodepass) cleanupReloc(r *Reloc) {
                r.Type = obj.R_ADDROFF
        } else {
                if d.ctxt.Debugvlog > 1 {
-                       fmt.Fprintf(d.ctxt.Bso, "removing method %s\n", r.Sym.Name)
+                       d.ctxt.Logf("removing method %s\n", r.Sym.Name)
                }
                r.Sym = nil
                r.Siz = 0
@@ -265,7 +265,7 @@ func (d *deadcodepass) flood() {
                d.markQueue = d.markQueue[1:]
                if s.Type == obj.STEXT {
                        if d.ctxt.Debugvlog > 1 {
-                               fmt.Fprintf(d.ctxt.Bso, "marktext %s\n", s.Name)
+                               d.ctxt.Logf("marktext %s\n", s.Name)
                        }
                        if s.FuncInfo != nil {
                                for _, a := range s.FuncInfo.Autom {
@@ -279,7 +279,7 @@ func (d *deadcodepass) flood() {
                        if decodetypeKind(s)&kindMask == kindInterface {
                                for _, sig := range decodeIfaceMethods(d.ctxt.Arch, s) {
                                        if d.ctxt.Debugvlog > 1 {
-                                               fmt.Fprintf(d.ctxt.Bso, "reached iface method: %s\n", sig)
+                                               d.ctxt.Logf("reached iface method: %s\n", sig)
                                        }
                                        d.ifaceMethod[sig] = true
                                }
index dbd117de004511f65e3cc94fb94ed3744bdcf843..e8229fe7f97d9bb9ff4dcd73c45beceddac2115f 100644 (file)
@@ -1415,7 +1415,7 @@ func dwarfgeneratedebugsyms(ctxt *Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f dwarf\n", obj.Cputime())
+               ctxt.Logf("%5.2f dwarf\n", obj.Cputime())
        }
 
        // Forctxt.Diagnostic messages.
index fdd7293950f4f18c40ac566c7ac0517f1d4d8c19..f6ae51f7339dc4eb8f524fde1405bb8132a22ebb 100644 (file)
@@ -33,7 +33,6 @@ package ld
 
 import (
        "cmd/internal/obj"
-       "fmt"
        "io/ioutil"
        "os"
        "path"
@@ -80,8 +79,8 @@ func addlib(ctxt *Link, src string, obj string, pathname string) {
 
        pname = path.Clean(pname)
 
-       if ctxt.Debugvlog > 1 && ctxt.Bso != nil {
-               fmt.Fprintf(ctxt.Bso, "%5.2f addlib: %s %s pulls in %s isshlib %v\n", elapsed(), obj, src, pname, isshlib)
+       if ctxt.Debugvlog > 1 {
+               ctxt.Logf("%5.2f addlib: %s %s pulls in %s isshlib %v\n", elapsed(), obj, src, pname, isshlib)
        }
 
        if isshlib {
@@ -105,8 +104,8 @@ func addlibpath(ctxt *Link, srcref string, objref string, file string, pkg strin
                }
        }
 
-       if ctxt.Debugvlog > 1 && ctxt.Bso != nil {
-               fmt.Fprintf(ctxt.Bso, "%5.2f addlibpath: srcref: %s objref: %s file: %s pkg: %s shlibnamefile: %s\n", obj.Cputime(), srcref, objref, file, pkg, shlibnamefile)
+       if ctxt.Debugvlog > 1 {
+               ctxt.Logf("%5.2f addlibpath: srcref: %s objref: %s file: %s pkg: %s shlibnamefile: %s\n", obj.Cputime(), srcref, objref, file, pkg, shlibnamefile)
        }
 
        ctxt.Library = append(ctxt.Library, &Library{})
index 7848369272baec7939a68e7ee7dcdc88d2d2769e..141f7525052c9fb8c65cbea05037dcad6c93710a 100644 (file)
@@ -395,7 +395,8 @@ func parseArmAttributes(ctxt *Link, e binary.ByteOrder, data []byte) {
                ehdr.flags = 0x5000202
        }
        if data[0] != 'A' {
-               fmt.Fprintf(ctxt.Bso, ".ARM.attributes has unexpected format %c\n", data[0])
+               // TODO(dfc) should this be ctxt.Diag ?
+               ctxt.Logf(".ARM.attributes has unexpected format %c\n", data[0])
                return
        }
        data = data[1:]
@@ -406,7 +407,8 @@ func parseArmAttributes(ctxt *Link, e binary.ByteOrder, data []byte) {
 
                nulIndex := bytes.IndexByte(sectiondata, 0)
                if nulIndex < 0 {
-                       fmt.Fprintf(ctxt.Bso, "corrupt .ARM.attributes (section name not NUL-terminated)\n")
+                       // TODO(dfc) should this be ctxt.Diag ?
+                       ctxt.Logf("corrupt .ARM.attributes (section name not NUL-terminated)\n")
                        return
                }
                name := string(sectiondata[:nulIndex])
@@ -430,7 +432,8 @@ func parseArmAttributes(ctxt *Link, e binary.ByteOrder, data []byte) {
                                        }
                                }
                                if attrList.err != nil {
-                                       fmt.Fprintf(ctxt.Bso, "could not parse .ARM.attributes\n")
+                                       // TODO(dfc) should this be ctxt.Diag ?
+                                       ctxt.Logf("could not parse .ARM.attributes\n")
                                }
                        }
                }
@@ -439,7 +442,7 @@ func parseArmAttributes(ctxt *Link, e binary.ByteOrder, data []byte) {
 
 func ldelf(ctxt *Link, f *bio.Reader, pkg string, length int64, pn string) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f ldelf %s\n", obj.Cputime(), pn)
+               ctxt.Logf("%5.2f ldelf %s\n", obj.Cputime(), pn)
        }
 
        ctxt.IncVersion()
index 74f1e71bcb4c795db3f04716b0d3b6c2755c1476..daf130b4ed3ad474f675ded362bc2e7e9e8af349 100644 (file)
@@ -132,7 +132,7 @@ type PeObj struct {
 
 func ldpe(ctxt *Link, f *bio.Reader, pkg string, length int64, pn string) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f ldpe %s\n", obj.Cputime(), pn)
+               ctxt.Logf("%5.2f ldpe %s\n", obj.Cputime(), pn)
        }
 
        var sect *PeSect
index 7a9d806d455ff914d2f0b958e78fcca2d3bb8491..d11871484278dadb5c99b444a0edc217228e0eff 100644 (file)
@@ -348,7 +348,7 @@ func loadinternal(ctxt *Link, name string) {
                if *FlagLinkshared {
                        shlibname := filepath.Join(ctxt.Libdir[i], name+".shlibname")
                        if ctxt.Debugvlog != 0 {
-                               fmt.Fprintf(ctxt.Bso, "searching for %s.a in %s\n", name, shlibname)
+                               ctxt.Logf("searching for %s.a in %s\n", name, shlibname)
                        }
                        if _, err := os.Stat(shlibname); err == nil {
                                addlibpath(ctxt, "internal", "internal", "", name, shlibname)
@@ -358,7 +358,7 @@ func loadinternal(ctxt *Link, name string) {
                }
                pname := filepath.Join(ctxt.Libdir[i], name+".a")
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "searching for %s.a in %s\n", name, pname)
+                       ctxt.Logf("searching for %s.a in %s\n", name, pname)
                }
                if _, err := os.Stat(pname); err == nil {
                        addlibpath(ctxt, "internal", "internal", pname, name, "")
@@ -368,7 +368,7 @@ func loadinternal(ctxt *Link, name string) {
        }
 
        if found == 0 {
-               fmt.Fprintf(ctxt.Bso, "warning: unable to find %s.a\n", name)
+               ctxt.Logf("warning: unable to find %s.a\n", name)
        }
 }
 
@@ -400,7 +400,7 @@ func (ctxt *Link) loadlib() {
                iscgo = iscgo || ctxt.Library[i].Pkg == "runtime/cgo"
                if ctxt.Library[i].Shlib == "" {
                        if ctxt.Debugvlog > 1 {
-                               fmt.Fprintf(ctxt.Bso, "%5.2f autolib: %s (from %s)\n", obj.Cputime(), ctxt.Library[i].File, ctxt.Library[i].Objref)
+                               ctxt.Logf("%5.2f autolib: %s (from %s)\n", obj.Cputime(), ctxt.Library[i].File, ctxt.Library[i].Objref)
                        }
                        objfile(ctxt, ctxt.Library[i])
                }
@@ -409,7 +409,7 @@ func (ctxt *Link) loadlib() {
        for i = 0; i < len(ctxt.Library); i++ {
                if ctxt.Library[i].Shlib != "" {
                        if ctxt.Debugvlog > 1 {
-                               fmt.Fprintf(ctxt.Bso, "%5.2f autolib: %s (from %s)\n", obj.Cputime(), ctxt.Library[i].Shlib, ctxt.Library[i].Objref)
+                               ctxt.Logf("%5.2f autolib: %s (from %s)\n", obj.Cputime(), ctxt.Library[i].Shlib, ctxt.Library[i].Objref)
                        }
                        ldshlibsyms(ctxt, ctxt.Library[i].Shlib)
                }
@@ -579,13 +579,12 @@ func (ctxt *Link) loadlib() {
                                args := hostlinkArchArgs()
                                args = append(args, "--print-libgcc-file-name")
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "%s %v\n", *flagExtld, args)
+                                       ctxt.Logf("%s %v\n", *flagExtld, args)
                                }
                                out, err := exec.Command(*flagExtld, args...).Output()
                                if err != nil {
                                        if ctxt.Debugvlog != 0 {
-                                               fmt.Fprintln(ctxt.Bso, "not using a libgcc file because compiler failed")
-                                               fmt.Fprintf(ctxt.Bso, "%v\n%s\n", err, out)
+                                               ctxt.Logf("not using a libgcc file because compiler failed\n%v\n%s\n", err, out)
                                        }
                                        *flagLibGCC = "none"
                                } else {
@@ -658,8 +657,7 @@ func objfile(ctxt *Link, lib *Library) {
        pkg := pathtoprefix(lib.Pkg)
 
        if ctxt.Debugvlog > 1 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f ldobj: %s (%s)\n", obj.Cputime(), lib.File, pkg)
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f ldobj: %s (%s)\n", obj.Cputime(), lib.File, pkg)
        }
        f, err := bio.Open(lib.File)
        if err != nil {
@@ -926,8 +924,7 @@ func (ctxt *Link) archive() {
        argv = append(argv, hostobjCopy()...)
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "archive: %s\n", strings.Join(argv, " "))
-               ctxt.Bso.Flush()
+               ctxt.Logf("archive: %s\n", strings.Join(argv, " "))
        }
 
        if out, err := exec.Command(argv[0], argv[1:]...).CombinedOutput(); err != nil {
@@ -1152,19 +1149,17 @@ func (l *Link) hostlink() {
        }
 
        if l.Debugvlog != 0 {
-               fmt.Fprintf(l.Bso, "host link:")
+               l.Logf("host link:")
                for _, v := range argv {
-                       fmt.Fprintf(l.Bso, " %q", v)
+                       l.Logf(" %q", v)
                }
-               fmt.Fprintf(l.Bso, "\n")
-               l.Bso.Flush()
+               l.Logf("\n")
        }
 
        if out, err := exec.Command(argv[0], argv[1:]...).CombinedOutput(); err != nil {
                Exitf("running %s failed: %v\n%s", argv[0], err, out)
        } else if l.Debugvlog != 0 && len(out) > 0 {
-               fmt.Fprintf(l.Bso, "%s", out)
-               l.Bso.Flush()
+               l.Logf("%s", out)
        }
 
        if !*FlagS && !debug_s && HEADTYPE == obj.Hdarwin {
@@ -1391,9 +1386,8 @@ func ldshlibsyms(ctxt *Link, shlib string) {
                        return
                }
        }
-       if ctxt.Debugvlog > 1 && ctxt.Bso != nil {
-               fmt.Fprintf(ctxt.Bso, "%5.2f ldshlibsyms: found library with name %s at %s\n", obj.Cputime(), shlib, libpath)
-               ctxt.Bso.Flush()
+       if ctxt.Debugvlog > 1 {
+               ctxt.Logf("%5.2f ldshlibsyms: found library with name %s at %s\n", obj.Cputime(), shlib, libpath)
        }
 
        f, err := elf.Open(libpath)
@@ -1944,8 +1938,7 @@ func genasmsym(ctxt *Link, put func(*Link, *Symbol, string, int, int64, int64, i
        // Otherwise, off is addressing the saved program counter.
        // Something underhanded is going on. Say nothing.
        if ctxt.Debugvlog != 0 || *flagN {
-               fmt.Fprintf(ctxt.Bso, "%5.2f symsize = %d\n", obj.Cputime(), uint32(Symsize))
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f symsize = %d\n", obj.Cputime(), uint32(Symsize))
        }
 }
 
@@ -2035,7 +2028,7 @@ func (ctxt *Link) callgraph() {
                                continue
                        }
                        if (r.Type == obj.R_CALL || r.Type == obj.R_CALLARM || r.Type == obj.R_CALLPOWER || r.Type == obj.R_CALLMIPS) && r.Sym.Type == obj.STEXT {
-                               fmt.Fprintf(ctxt.Bso, "%s calls %s\n", s.Name, r.Sym.Name)
+                               ctxt.Logf("%s calls %s\n", s.Name, r.Sym.Name)
                        }
                }
        }
index 56b98a69740504221c1adfdd210e3ba54b9b9058..c24bc198f0888dd8065e2a6a0a28bfea4b4624ea 100644 (file)
@@ -208,6 +208,11 @@ func (l *Link) IncVersion() {
        l.Hash = append(l.Hash, make(map[string]*Symbol))
 }
 
+func (l *Link) Logf(format string, args ...interface{}) {
+       fmt.Fprintf(l.Bso, format, args...)
+       l.Bso.Flush()
+}
+
 type Library struct {
        Objref string
        Srcref string
index ab1160184f2b3e14ba8a3b0de4c9090a4fdf17bd..9c9bdb4b7fdd540eb9bc93799cbaf56139188799 100644 (file)
@@ -133,7 +133,6 @@ func Main() {
        obj.Flagparse(usage)
 
        startProfile()
-       ctxt.Bso = ctxt.Bso
        if flagShared {
                if Buildmode == BuildmodeUnset {
                        Buildmode = BuildmodeCShared
@@ -175,8 +174,7 @@ func Main() {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "HEADER = -H%d -T0x%x -D0x%x -R0x%x\n", HEADTYPE, uint64(*FlagTextAddr), uint64(*FlagDataAddr), uint32(*FlagRound))
-               ctxt.Bso.Flush()
+               ctxt.Logf("HEADER = -H%d -T0x%x -D0x%x -R0x%x\n", HEADTYPE, uint64(*FlagTextAddr), uint64(*FlagDataAddr), uint32(*FlagRound))
        }
 
        if Buildmode == BuildmodeShared {
@@ -226,9 +224,9 @@ func Main() {
        ctxt.hostlink()
        ctxt.archive()
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f cpu time\n", obj.Cputime())
-               fmt.Fprintf(ctxt.Bso, "%d symbols\n", len(ctxt.Allsym))
-               fmt.Fprintf(ctxt.Bso, "%d liveness data\n", liveness)
+               ctxt.Logf("%5.2f cpu time\n", obj.Cputime())
+               ctxt.Logf("%d symbols\n", len(ctxt.Allsym))
+               ctxt.Logf("%d liveness data\n", liveness)
        }
 
        ctxt.Bso.Flush()
index 73196e9c8c9b75fcae41be156e9c06ff2f6abc5b..00741d672a71e4f0055e59b1a5e8be5d5a062181 100644 (file)
@@ -6,7 +6,6 @@ package ld
 
 import (
        "cmd/internal/obj"
-       "fmt"
        "log"
        "os"
        "path/filepath"
@@ -368,7 +367,7 @@ func (ctxt *Link) pclntab() {
        ftab.Size = int64(len(ftab.P))
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f pclntab=%d bytes, funcdata total %d bytes\n", obj.Cputime(), ftab.Size, funcdataBytes)
+               ctxt.Logf("%5.2f pclntab=%d bytes, funcdata total %d bytes\n", obj.Cputime(), ftab.Size, funcdataBytes)
        }
 }
 
index 42c1ecbe5b3952427e20699009c6dec8afcbd272..81017319c78e12a0ef4be3c0302063c5e57ea4cd 100644 (file)
@@ -184,8 +184,7 @@ func archrelocvariant(ctxt *ld.Link, r *ld.Reloc, s *ld.Symbol, t int64) int64 {
 
 func asmb(ctxt *ld.Link) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f asmb\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f asmb\n", obj.Cputime())
        }
 
        if ld.Iself {
@@ -202,8 +201,7 @@ func asmb(ctxt *ld.Link) {
 
        if ld.Segrodata.Filelen > 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f rodatblk\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f rodatblk\n", obj.Cputime())
                }
 
                ld.Cseek(int64(ld.Segrodata.Fileoff))
@@ -211,8 +209,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f datblk\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f datblk\n", obj.Cputime())
        }
 
        ld.Cseek(int64(ld.Segdata.Fileoff))
@@ -229,8 +226,7 @@ func asmb(ctxt *ld.Link) {
        if !*ld.FlagS {
                // TODO: rationalize
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f sym\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f sym\n", obj.Cputime())
                }
                switch ld.HEADTYPE {
                default:
@@ -248,7 +244,7 @@ func asmb(ctxt *ld.Link) {
                default:
                        if ld.Iself {
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "%5.2f elfsym\n", obj.Cputime())
+                                       ctxt.Logf("%5.2f elfsym\n", obj.Cputime())
                                }
                                ld.Asmelfsym(ctxt)
                                ld.Cflush()
@@ -277,8 +273,7 @@ func asmb(ctxt *ld.Link) {
 
        ctxt.Cursym = nil
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f header\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f header\n", obj.Cputime())
        }
        ld.Cseek(0)
        switch ld.HEADTYPE {
index 996b968d284b1a913c1c0f2704a0d93a823b03ad..cf888b692f7102156421a0c67d92e35de6620c25 100644 (file)
@@ -805,8 +805,7 @@ func ensureglinkresolver(ctxt *ld.Link) *ld.Symbol {
 
 func asmb(ctxt *ld.Link) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f asmb\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f asmb\n", obj.Cputime())
        }
 
        if ld.Iself {
@@ -823,8 +822,7 @@ func asmb(ctxt *ld.Link) {
 
        if ld.Segrodata.Filelen > 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f rodatblk\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f rodatblk\n", obj.Cputime())
                }
 
                ld.Cseek(int64(ld.Segrodata.Fileoff))
@@ -832,8 +830,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f datblk\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f datblk\n", obj.Cputime())
        }
 
        ld.Cseek(int64(ld.Segdata.Fileoff))
@@ -850,8 +847,7 @@ func asmb(ctxt *ld.Link) {
        if !*ld.FlagS {
                // TODO: rationalize
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f sym\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f sym\n", obj.Cputime())
                }
                switch ld.HEADTYPE {
                default:
@@ -869,7 +865,7 @@ func asmb(ctxt *ld.Link) {
                default:
                        if ld.Iself {
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "%5.2f elfsym\n", obj.Cputime())
+                                       ctxt.Logf("%5.2f elfsym\n", obj.Cputime())
                                }
                                ld.Asmelfsym(ctxt)
                                ld.Cflush()
@@ -898,8 +894,7 @@ func asmb(ctxt *ld.Link) {
 
        ctxt.Cursym = nil
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f header\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f header\n", obj.Cputime())
        }
        ld.Cseek(0)
        switch ld.HEADTYPE {
index 4441e3840a9b6df7fe2be253da962a1bfed6c0e3..d08c5af64db84de1ec8e4efaccbf504370390d7b 100644 (file)
@@ -500,8 +500,7 @@ func addgotsym(ctxt *ld.Link, s *ld.Symbol) {
 
 func asmb(ctxt *ld.Link) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f asmb\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f asmb\n", obj.Cputime())
        }
 
        if ld.Iself {
@@ -518,8 +517,7 @@ func asmb(ctxt *ld.Link) {
 
        if ld.Segrodata.Filelen > 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f rodatblk\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f rodatblk\n", obj.Cputime())
                }
 
                ld.Cseek(int64(ld.Segrodata.Fileoff))
@@ -527,8 +525,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f datblk\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f datblk\n", obj.Cputime())
        }
 
        ld.Cseek(int64(ld.Segdata.Fileoff))
@@ -547,22 +544,21 @@ func asmb(ctxt *ld.Link) {
                        ctxt.Diag("unsupported executable format")
                }
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f sym\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f sym\n", obj.Cputime())
                }
                symo = uint32(ld.Segdwarf.Fileoff + ld.Segdwarf.Filelen)
                symo = uint32(ld.Rnd(int64(symo), int64(*ld.FlagRound)))
 
                ld.Cseek(int64(symo))
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f elfsym\n", obj.Cputime())
+                       ctxt.Logf("%5.2f elfsym\n", obj.Cputime())
                }
                ld.Asmelfsym(ctxt)
                ld.Cflush()
                ld.Cwrite(ld.Elfstrdat)
 
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f dwarf\n", obj.Cputime())
+                       ctxt.Logf("%5.2f dwarf\n", obj.Cputime())
                }
 
                if ld.Linkmode == ld.LinkExternal {
@@ -572,8 +568,7 @@ func asmb(ctxt *ld.Link) {
 
        ctxt.Cursym = nil
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f header\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f header\n", obj.Cputime())
        }
        ld.Cseek(0)
        switch ld.HEADTYPE {
index 28bd247275d08e7fd2a5f0ff4496a0205fa2b405..064af7f5f422dcf2e85ab68c8ac92f36ee253eae 100644 (file)
@@ -33,7 +33,6 @@ package x86
 import (
        "cmd/internal/obj"
        "cmd/link/internal/ld"
-       "fmt"
        "log"
 )
 
@@ -626,8 +625,7 @@ func addgotsym(ctxt *ld.Link, s *ld.Symbol) {
 
 func asmb(ctxt *ld.Link) {
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f asmb\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f asmb\n", obj.Cputime())
        }
 
        if ld.Iself {
@@ -645,8 +643,7 @@ func asmb(ctxt *ld.Link) {
 
        if ld.Segrodata.Filelen > 0 {
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f rodatblk\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f rodatblk\n", obj.Cputime())
                }
 
                ld.Cseek(int64(ld.Segrodata.Fileoff))
@@ -654,8 +651,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f datblk\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f datblk\n", obj.Cputime())
        }
 
        ld.Cseek(int64(ld.Segdata.Fileoff))
@@ -676,8 +672,7 @@ func asmb(ctxt *ld.Link) {
        if !*ld.FlagS {
                // TODO: rationalize
                if ctxt.Debugvlog != 0 {
-                       fmt.Fprintf(ctxt.Bso, "%5.2f sym\n", obj.Cputime())
-                       ctxt.Bso.Flush()
+                       ctxt.Logf("%5.2f sym\n", obj.Cputime())
                }
                switch ld.HEADTYPE {
                default:
@@ -702,7 +697,7 @@ func asmb(ctxt *ld.Link) {
                default:
                        if ld.Iself {
                                if ctxt.Debugvlog != 0 {
-                                       fmt.Fprintf(ctxt.Bso, "%5.2f elfsym\n", obj.Cputime())
+                                       ctxt.Logf("%5.2f elfsym\n", obj.Cputime())
                                }
                                ld.Asmelfsym(ctxt)
                                ld.Cflush()
@@ -729,7 +724,7 @@ func asmb(ctxt *ld.Link) {
 
                case obj.Hwindows:
                        if ctxt.Debugvlog != 0 {
-                               fmt.Fprintf(ctxt.Bso, "%5.2f dwarf\n", obj.Cputime())
+                               ctxt.Logf("%5.2f dwarf\n", obj.Cputime())
                        }
 
                case obj.Hdarwin:
@@ -740,8 +735,7 @@ func asmb(ctxt *ld.Link) {
        }
 
        if ctxt.Debugvlog != 0 {
-               fmt.Fprintf(ctxt.Bso, "%5.2f headr\n", obj.Cputime())
-               ctxt.Bso.Flush()
+               ctxt.Logf("%5.2f headr\n", obj.Cputime())
        }
        ld.Cseek(0)
        switch ld.HEADTYPE {