From cce377066abcd0342ecd8f4c490ab943ef2f61db Mon Sep 17 00:00:00 2001 From: Alessandro Arzilli Date: Wed, 12 Jun 2019 00:13:27 +0200 Subject: [PATCH] proc: support childless compile units in loadDebugInfoMaps (#1574) Childless compile units would confuse loadDebugInfoMaps. No test because I don't know what causes go to invoke GNU As in such a way that it produces a childless compile unit. Fixes #1572 --- pkg/proc/types.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/proc/types.go b/pkg/proc/types.go index 00dec781..63b304fc 100644 --- a/pkg/proc/types.go +++ b/pkg/proc/types.go @@ -263,7 +263,9 @@ func (bi *BinaryInfo) loadDebugInfoMaps(image *Image, debugLineBytes []byte, wg } } bi.compileUnits = append(bi.compileUnits, cu) - cu.endOffset = bi.loadDebugInfoMapsCompileUnit(ctxt, image, reader, cu) + if entry.Children { + cu.endOffset = bi.loadDebugInfoMapsCompileUnit(ctxt, image, reader, cu) + } case dwarf.TagPartialUnit: reader.SkipChildren()