On Fri, 2012-07-27 at 15:14 +0530, Arun KS wrote: > Hello Guys, > > I m not able to decode form DW_FORM_block1. I am able to read till > attr data_member_location(marked with <<<<<<<<< below.). > The form is comming as DW_FORM_block1. So I went and read debug_info, > which gave me 0x2. So this means > length is 2 and i have to read two more bytes. The next two bytes in > .debug_info are 0x23 and 0x00. > > What this values represent(0x23 an 0x00)? > From where will I get "[ 0] plus_uconst 0" printed by "eu-readelf > -winfo a.out"
So that is like eu-readelf tells you a block containing "0x23 0x00" aka "DW_OP_plus_uconst 0x0", which together with the address of the structure begin address on the dwarf stack, forms a location description of the member. Note that newer instead of a block of opcodes, this can also be expressed as a constant form by the producer, which would be slightly more efficient. See "5.5.6 Data Member Entries" in the DWARF4 spec. Cheers, Mark _______________________________________________ Dwarf-Discuss mailing list [email protected] http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org
