internal/gocore: don't crash on missing producer
Handle CUs with no DW_AT_producer attribute as non-Go CUs.
Change-Id: Ib573489211ba5fd7b8ad58d00a5adfd77783d3b6
Reviewed-on: https://go-review.googlesource.com/135275
Run-TryBot: Heschi Kreinick <heschi@google.com>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/internal/gocore/dwarf.go b/internal/gocore/dwarf.go
index 7267270..d185d34 100644
--- a/internal/gocore/dwarf.go
+++ b/internal/gocore/dwarf.go
@@ -204,7 +204,10 @@
if e.Tag != dwarf.TagCompileUnit {
return false
}
- prod := e.AttrField(dwarf.AttrProducer).Val.(string)
+ prod, ok := e.Val(dwarf.AttrProducer).(string)
+ if !ok {
+ return true
+ }
return !strings.Contains(prod, "Go cmd/compile")
}