[Dwarf-Discuss] DW_AT_specification chains

Michael Eager eager@eagercon.com
Thu Apr 24 16:03:49 GMT 2008


Marcel Mettes wrote:
> Thanks for all replies, I do have an improved understanding of the matter.
> 
> As request here a real example, this time with a C++ class member 
> function instead of a variable.
> 
> This is the output of our prototype C++ tool-chain. We are kind-of 
> forced to split the debug info into multiple compilation units due to 
> using multiple independent tools in the tool-chain to perform the 
> complete compilation process.
> 
> Best regards,
> Marcel
> -----------------------------------------------
> Concerns the debug info for the method "extra_class_method"
> 


> | + 0x2E DW_TAG_subprogram
> | | offset 0x3039
> | | abbrev ID 0x13
> | |        0x03 DW_AT_name                    0x08 DW_FORM_string   : 
> "extra_class_method"
> | |        0x49 DW_AT_type                    0x13 DW_FORM_ref4     : 
> 0x2EE3
> | |        0x27 DW_AT_prototyped              0x0C DW_FORM_flag     : 1
> | |        0x32 DW_AT_accessibility           0x0F DW_FORM_udata    : 0x1
> | |                   DW_ACCESS_public
> | |        0x3F DW_AT_external                0x0C DW_FORM_flag     : 1
> | |        0x3A DW_AT_decl_file               0x0F DW_FORM_udata    : 0x2
> | |        0x3B DW_AT_decl_line               0x0F DW_FORM_udata    : 0xB
> | |        0x39 DW_AT_decl_column             0x0F DW_FORM_udata    : 0x6
> | |        0x3C DW_AT_declaration             0x0C DW_FORM_flag     : 1
> | |
> ...
> |
> + 0x2E DW_TAG_subprogram
> | offset 0x30DE
> | abbrev ID 0x16
> |        0x47 DW_AT_specification           0x13 DW_FORM_ref4     : 0x3039

This looks OK to me, although I would expect that the definition
for "extra_class_method" at offset 0x30DE would contain additional
information, such as the line number, high/low PC, etc.

-- 
Michael Eager	 eager at eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077




More information about the Dwarf-discuss mailing list