Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
proc: ignore DW_TAG_inlined_subroutine entries without abstract origin (
go-delve#1637) GCC produces DW_TAG_inlined_subroutine entries without a DW_AT_abstract_origin attribute. From the bug report: <1><1fe6c7c>: Abbrev Number: 41 (DW_TAG_subprogram) <1fe6c7d> DW_AT_external : 1 <1fe6c7d> DW_AT_name : (indirect string, offset: 0x485814): MultiGetImpl (omissis) <2><1fe6c9e>: Abbrev Number: 65 (DW_TAG_inlined_subroutine) <1fe6c9f> DW_AT_low_pc : 0x311023a <1fe6ca7> DW_AT_high_pc : 0x5 <1fe6caf> DW_AT_call_file : 10 <1fe6cb0> DW_AT_call_line : 1690 <2><1fe6cb2>: Abbrev Number: 20 (DW_TAG_inlined_subroutine) <1fe6cb3> DW_AT_abstract_origin: <0x1ffb534> <1fe6cb7> DW_AT_entry_pc : 0x311023f <1fe6cbf> DW_AT_ranges : 0xe9bf20 <1fe6cc3> DW_AT_call_file : 10 <1fe6cc4> DW_AT_call_line : 1690 Inlined subroutine at 1fe6c9e doesn't have abstract origin, a name or a declaration location. It's unclear whether this is in-standard and what it even means. Let's ignore it. Fixes go-delve#1636
- Loading branch information