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]

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?

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