[Bug c++/27556] "<no data fields>" for some C++ coroutine frame types

tromey at sourceware dot org sourceware-bugzilla@sourceware.org
Fri Mar 12 19:16:18 GMT 2021


https://sourceware.org/bugzilla/show_bug.cgi?id=27556

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at sourceware dot org
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-03-12

--- Comment #2 from Tom Tromey <tromey at sourceware dot org> ---
On the one hand, this is a bug in gdb.
It stops in read_structure_type for DIE 0x5cc (the struct in question).
However, it never calls process_structure_scope for that DIE --
and this is how the contents of the struct are filled in.

On the other hand, the DIE is quite strange.  It's referred to by
various things in the DWARF but is nested inside one particular function:

 <2><5be>: Abbrev Number: 50 (DW_TAG_subprogram)
    <5bf>   DW_AT_name        : (indirect string, offset: 0x102):
_ZN3Foo9function2Ei.destroy
    <5c3>   DW_AT_artificial  : 1
    <5c3>   DW_AT_declaration : 1
    <5c3>   DW_AT_sibling     : <0x673>
 <3><5c7>: Abbrev Number: 14 (DW_TAG_formal_parameter)
    <5c8>   DW_AT_type        : <0x70f>
 <3><5cc>: Abbrev Number: 51 (DW_TAG_structure_type)
    <5cd>   DW_AT_name        : (indirect string, offset: 0x33e):
_ZN3Foo9function2Ei.frame
    <5d1>   DW_AT_byte_size   : 48
    <5d2>   DW_AT_decl_file   : 2
    <5d3>   DW_AT_decl_line   : 76
    <5d4>   DW_AT_decl_column : 2


So, I would say that while it is a bug in gdb, it should also be fixed in the
compiler.

Offhand I am not sure why gdb isn't processing this DIE.
Normally expanding a CU ought to process everything.
Perhaps it is because it is artificial/declaration, though.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Gdb-prs mailing list