Initial psymtab replacement results

Tom Tromey tromey@redhat.com
Mon Dec 21 21:29:00 GMT 2009


>>>>> "Daniel" == Daniel Jacobowitz <drow@false.org> writes:

Tom> The problem I have with it is that it doesn't help the first time you
Tom> start gdb.  And because the cache is invalidated whenever an objfile
Tom> changes, the part of your program you are hacking on will always look
Tom> like the first time.

Daniel> Are monolithic single objects still the norm?  In e.g. the OpenOffice
Daniel> case, this is fine; most of the guts are in shared libraries and
Daniel> hopefully someone hacking on OO.o can rebuild just one library at a
Daniel> time.

Yeah, but the vitally important "gdb gdb" is still slow.
Maybe I'll just buy a faster machine :-)

Daniel> Yes, it does, although it probably does best with the psymtab cleanups
Daniel> you've already got.  Any interest in submitting those independently?
Daniel> It sounds like a nice framework for investigating alternate
Daniel> approaches.

Sure, I will do it if you think it is worthwhile.  The reason I was
putting it off is that it seemed strange to refactor all this code
behind a bunch of function pointers, and then only have a single
implementation.

The other infrastructure is the threading changes, which are a bit
uglier.  For one thing, I didn't see an easy way to make the BFD cache
code truly thread-safe; so for now I wrap it in a lock and just pretend
that nothing bad can happen.  Also, I'm not 100% sure I got all the
places that need a __thread modifier.

Tom



More information about the Archer mailing list