diff options
| author | Russ Cox <rsc@golang.org> | 2014-08-31 22:49:14 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2014-08-31 22:49:14 -0400 |
| commit | 0bb14d74f1550dca916251ddb6e1703f95be7325 (patch) | |
| tree | f55c952eb23ec33508d3b15821936be51d7f273b /src/pkg/debug | |
| parent | 310bc98083c57b87df6e8020bfd97e35a8127bf1 (diff) | |
| download | go-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.go | 6 |
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 { |
