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")
 }