mirror of
https://github.com/go-delve/delve.git
synced 2025-11-01 20:20:40 +08:00
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 #1636