This is the mail archive of the gdb@sources.redhat.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]
Other format: [Raw text]

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






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