On Fri, 2012-07-27 at 19:32 +0530, Arun KS wrote: > On Fri, Jul 27, 2012 at 6:31 PM, Mark Wielaard <[email protected]> wrote: > > On Fri, 2012-07-27 at 15:14 +0530, Arun KS wrote: > [ 31] member > name "vinayak_i" > decl_file 2 > decl_line 2 > type [ 4e] > data_member_location [ 0] plus_uconst 0 > >>>>>>>>>>>>>>>> > <Arun>Things were fine till this point, > > [ 3f] member > name "vinayak_u" > decl_file 2 > decl_line 3 > type [ 55] > data_member_location [ 0] plus_uconst 4
Note that eu-readelf --debug-dump=info doesn't show you the abbrev numbers. Most likely is that both members use the same abbrev number. > .debug_abbrev follows: > > [ 2] offset: 19, children: yes, tag: structure_type > attr: name, form: strp, offset: 0x13 > attr: byte_size, form: data1, offset: 0x15 > attr: decl_file, form: data1, offset: 0x17 > attr: decl_line, form: data1, offset: 0x19 > attr: sibling, form: ref4, offset: 0x1b > [ 3] offset: 34, children: no, tag: member > attr: name, form: strp, offset: 0x22 > attr: decl_file, form: data1, offset: 0x24 > attr: decl_line, form: data1, offset: 0x26 > attr: type, form: ref4, offset: 0x28 > attr: data_member_location, form: block1, offset: 0x2a > > >>>>>>Why no entry in .debug_abbrev for second member named "vinayak_u"? > .debug_abbrev is directly going to base_type The DIE tree in the .debug_info points to the abbrevs that describe them. Most likely both point to [3] here. See "7.5.2 Debugging Information Entry" in the DWARF4 spec. You might want to use a library like libdw from elfutils or libdwarf to parse DWARF if a tool like eu-readelf doesn't give you the information you need. Cheers, Mark _______________________________________________ Dwarf-Discuss mailing list [email protected] http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org
