This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Petr Sorfa's Dwarf 2 changes
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: Jim Blandy <jimb at redhat dot com>, John Wolfe <jlw at caldera dot com>,Andrew Cagney <ac131313 at redhat dot com>, gdb at sources dot redhat dot com
- Date: Mon, 4 Nov 2002 15:38:05 -0500
- Subject: Re: Petr Sorfa's Dwarf 2 changes
Not only will they agree, I believe Petr and John had already finished
doing this.
And I did it before them.
Doubtless there's still some room for improvement, but the
functionality is there... John, do you have that merged dwarf2read
available?
If they don't, you should be able to find mine in the archives.
Unless i'm misremembering Petr's, it keeps all the CU's around all the
time.
One thing I did was to make it so you could throw away CU's at will,
and it would just reread them if/when necessary (IE it would just keep
the last 10 used CU's or something as a cache). Cuts down on memory
usage significantly with almost no loss in speed.
PS I remember someone mentioning something about not needing to
basically rewrite the dwarf2 reader to do this, though, which is what
"pretty pervasive changes" sounds like. Not that i'm bitter, i just
find it funny. :)
Though i'm aware the retort will be that i did more than necessary
(like mmapping the symbol files, and the ever controversial duplicate
removal).
Jim, you should be able to just rip the pieces from the dwarf2 reader
rewrite i had done, or Petr did, without any trouble.
[For instance, from Petr's July posting:
* dwarf2read.c (build_die_ref): New function that builds
a new die reference if necessary, will search across
multiple comp units to find the reference.
(find_die_ref): New function that searches for a die
reference for a given comp unit.
(find_cu_header_from_begin_offset): New function that
searches through a link list of comp unit headers for
a comp unit that matches the given offset.
]
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer