diff options
| -rw-r--r-- | pkg/cover/backend/dwarf.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/pkg/cover/backend/dwarf.go b/pkg/cover/backend/dwarf.go index 1eb6dd146..c3941a145 100644 --- a/pkg/cover/backend/dwarf.go +++ b/pkg/cover/backend/dwarf.go @@ -203,6 +203,17 @@ func makeDWARFUnsafe(params *dwarfParams) (*Impl, error) { allRanges = append(allRanges, result.ranges...) allUnits = append(allUnits, result.units...) } + // TODO: need better way to remove symbols having the same Start + uniqSymbs := make(map[uint64]*Symbol) + for _, sym := range allSymbols { + if _, ok := uniqSymbs[sym.Start]; !ok { + uniqSymbs[sym.Start] = sym + } + } + allSymbols = []*Symbol{} + for _, sym := range uniqSymbs { + allSymbols = append(allSymbols, sym) + } sort.Slice(allSymbols, func(i, j int) bool { return allSymbols[i].Start < allSymbols[j].Start }) |
