This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: Removing DW_AT_MIPS_linkage_name from dwarf2read.c
> > What's the immediate problem you're trying to solve? You say the
> > DW_AT_MIPS_linkage_name attributes take up a lot of space; are there
> > really that many static class members flying around?
>
> No, but there are lots of member functions, and mangled names can get very
> long. I think I was seeing something like a 20% savings by turning it off.
>
> Perhaps, instead of re-using type objects, we could just re-use the field
> and fn_field entries. Of course, to do that you would need to be able to
> compare the type signatures of two functions.
I just remembered: you can't share type objects between different
objfiles. (A GDB objfile represents a shared library or executable.)
All the symbols and types in a given objfile's symbols are allocated
from that objfile's obstack. When an objfile's symbols are re-read,
we toss the whole obstack at once.
(I guess GDB needs a garbage collector, just like GCC does. "Those
who do not understand Lisp are condemned to reinvent it, poorly.")
What if we changed value_static_field to search for another type with
the same name, and copy its static field and member function info?