aboutsummaryrefslogtreecommitdiff
path: root/src/pkg/debug
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-08-31 22:49:14 -0400
committerRuss Cox <rsc@golang.org>2014-08-31 22:49:14 -0400
commit0bb14d74f1550dca916251ddb6e1703f95be7325 (patch)
treef55c952eb23ec33508d3b15821936be51d7f273b /src/pkg/debug
parent310bc98083c57b87df6e8020bfd97e35a8127bf1 (diff)
downloadgo-0bb14d74f1550dca916251ddb6e1703f95be7325.tar.xz
cmd/ld: diagnose Go calling C
For example: go build -ldflags -C cmd/go 2>&1 | awk '{print $NF}' | sort | uniq -c | sort -nr LGTM=khr R=khr, josharian CC=golang-codereviews https://golang.org/cl/135170044
Diffstat (limited to 'src/pkg/debug')
-rw-r--r--src/pkg/debug/goobj/read.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/pkg/debug/goobj/read.go b/src/pkg/debug/goobj/read.go
index c95fe1e47f..79a83e59a6 100644
--- a/src/pkg/debug/goobj/read.go
+++ b/src/pkg/debug/goobj/read.go
@@ -602,7 +602,8 @@ func (r *objReader) parseObject(prefix []byte) error {
s := &Sym{SymID: r.readSymID()}
r.p.Syms = append(r.p.Syms, s)
s.Kind = SymKind(typ)
- s.DupOK = r.readInt() != 0
+ flags := r.readInt()
+ s.DupOK = flags&1 != 0
s.Size = r.readInt()
s.Type = r.readSymID()
s.Data = r.readData()
@@ -623,7 +624,8 @@ func (r *objReader) parseObject(prefix []byte) error {
s.Func = f
f.Args = r.readInt()
f.Frame = r.readInt()
- f.Leaf = r.readInt() != 0
+ flags := r.readInt()
+ f.Leaf = flags&1 != 0
f.NoSplit = r.readInt() != 0
f.Var = make([]Var, r.readInt())
for i := range f.Var {