[Dwarf-Discuss] Attribute DW_AT_location has form DW_FORM_sdata?

David Anderson davea42@earthlink.net
Thu Oct 6 00:12:36 GMT 2011

On 10/04/2011 12:34 PM, Ron Louzon wrote:
> Since dwarf_loclist_n() already supports DW_FORM_data4 
> and DW_FORM_data8, i s there any plan to update it in a future release 
> to accomodate DW_FORM_sdata?
For the record, a solution to proper handling of 
DW_AT_data_member_location  (while being
sensitive to the dwarf version of the compilation unit under 
consideration)  when using libdwarf
is the one used in dwarfdump:

             fc = dwarf_get_form_class(version,attr,offset_size,theform);
             if(fc == DW_FORM_CLASS_CONSTANT) {
                    ...and here read the data as a constant.
             } else {
                    call dwarf_loclist_n

dwarf_get_form_class () understands that DW_FORM_data4 (for example) is 
a constant for DWARF4
but is a loclist offset for 32bit DWARF3.  And so on.

Anyone with information that I've messed up here, please let me know...

A new release is in the works, I've found a few small bugs and now 
will have all the checking and option features of dwarfdump.

Many thanks to Carlos Alberto Enciso and Paul Marinescu for 
My apologies to folks who have helped but are not mentioned here.

More information about the Dwarf-discuss mailing list