A gdb+bfd string pool?

Andrew Cagney ac131313@redhat.com
Fri Oct 31 15:15:00 GMT 2003


Hello,

GDB, to contain its run-time size is, uses gdb/bcaches where ...
/* A bcache is a data structure for factoring out duplication in
    read-only structures.  You give the bcache some string of bytes S.
    If the bcache already contains a copy of S, it hands you back a
    pointer to its copy.  Otherwise, it makes a fresh copy of S, and
    hands you back a pointer to that.  In either case, you can throw
    away your copy of S, and use the bcache's.
One notable feature of this mechanism is that it lets you eliminate 
string equality comparisons - equal bcache values implies equal strings.

Now, if I'm reading the BFD elf reader correctly, elf-strtab implements 
a similar mechanism (But I think it is currently only used by the linker?).

Should/could BFD export a string pool that GDB could use and then use 
that for any slurped symbol names?

Andrew



More information about the Binutils mailing list