summaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-20 22:49:06 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2015-11-20 22:49:06 +0000
commitab3367c680abb24f95ad3cc0d244a30f54fd7fa7 (patch)
treee0cecd347662b10af9a3c6238d7e72da46e2fec8 /libgo
parent762d78eb5cba13e0d8d189db45d8719d6fe7269d (diff)
downloadgcc-ab3367c680abb24f95ad3cc0d244a30f54fd7fa7.tar.gz
PR go/68072
cmd/cgo: ignore vars with no name or type if they have a AttrSpecification Backport of master CL https://golang.org/cl/17151. Fixes https://gcc.gnu.org/PR/68072. Reviewed-on: https://go-review.googlesource.com/17152 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@230686 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo')
-rw-r--r--libgo/go/cmd/cgo/gcc.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/libgo/go/cmd/cgo/gcc.go b/libgo/go/cmd/cgo/gcc.go
index abdd369d713..a9e95a5ce43 100644
--- a/libgo/go/cmd/cgo/gcc.go
+++ b/libgo/go/cmd/cgo/gcc.go
@@ -500,6 +500,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__") {