aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2015-11-20 13:53:18 -0800
committerRuss Cox <rsc@golang.org>2015-11-23 04:04:07 +0000
commit041787280976d0bad15c646fc7c7bbfef76d7ee5 (patch)
tree516c0295882ec6725c86287d802f3e604bd04889 /src
parent5951823853916b8c6c0170286bc5f2b4793033c5 (diff)
downloadgo-041787280976d0bad15c646fc7c7bbfef76d7ee5.tar.xz
cmd/cgo: ignore vars with no name or type if they have a AttrSpecification
Fixes #13344. Change-Id: I33c6721fd33d144c85c87840ddf27ce15aa72328 Reviewed-on: https://go-review.googlesource.com/17151 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/cgo/gcc.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go
index 5a9a3c2292..ed121dad81 100644
--- a/src/cmd/cgo/gcc.go
+++ b/src/cmd/cgo/gcc.go
@@ -491,6 +491,11 @@ func (p *Package) loadDWARF(f *File, names []*Name) {
name, _ := e.Val(dwarf.AttrName).(string)
typOff, _ := e.Val(dwarf.AttrType).(dwarf.Offset)
if name == "" || typOff == 0 {
+ if e.Val(dwarf.AttrSpecification) != nil {
+ // Since we are reading all the DWARF,
+ // assume we will see the variable elsewhere.
+ break
+ }
fatalf("malformed DWARF TagVariable entry")
}
if !strings.HasPrefix(name, "__cgo__") {