This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Removing DW_AT_MIPS_linkage_name from dwarf2read.c


In discussion of my recent dwarf2read.c patch, I wrote:

 >> I'd also like to remove dwarf2read's other dependencies on
 >> DW_AT_MIPS_linkage_name, since it's not part of the spec and takes up a
 >> lot of space.  As it is, we rely on that attribute to find class
 >> members, through the symbol table.  But that shouldn't be necessary;
 >> the definitions of the members tell you what they're defining, so you
 >> should be able to update the field/fn_field at that time.

Did you have any thoughts about this?  The way it seems to work currently,
given a declaration in one translation unit, gdb uses the symbol to find a
definition in another TU.  If we don't have the symbol info, gdb know how
to find the definition.  But it seems to me that if we properly combine
type definitions from multiple TUs, we don't need the symbol; the
definition of a static variable (say) would update the field entry in its
containing type with the appropriate PHYSADDR, and things would work from
there.  But we don't currently combine separate definitions of the same
type, do we?  The other obstacle is that dwarf2read doesn't provide any way
to find the field entry again from the DIE, but that should be pretty
straightforward.

Another possibility would be to kludge things like HP did, and refer to
these things with demangled pseudo-symbols, but that doesn't appeal to me.

Jason

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]