Registering pretty-printers
Doug Evans
dje@google.com
Fri Jun 12 16:43:00 GMT 2009
On Thu, Jun 11, 2009 at 8:51 PM, Daniel Jacobowitz<drow@false.org> wrote:
> In my opinion, anything that increases the size of the executable is a
> non-starter. I don't think there's any reliable way to create a
> non-allocatable section, and it would have other problems, like
> duplicate elimination.
Reliable in what sense? [I realize the term is pretty unambiguous.
I'm guessing I'm missing something as it doesn't seem to be
excessively hard for many important targets.] Or did you mean
portable?
As for duplicate elimination,
I'm reminded of the new comdat types support in DWARF 4: Type debug
info is put in comdat sections with a signature computed from the
type. The linker removes all duplicates and the result ends up in the
.debug_types section. Employing a similar thing here would solve that
it seems. It might even be cool to use the same signature. It avoids
wheel re-invention, and uses something documented and well-vetted.
And maybe the pretty-printer registration could be based on the type
signature. OTOH the signature wasn't really intended for anything
else so hijacking it may be problematic.
[Just thinking out loud ...]
Not saying there aren't other problems though.
OTOH, I wouldn't mind seeing a couple of paradigms for registering
pretty printers if it means targets that can handle better solutions
aren't left to suffer to the lowest common denominator.
More information about the Gdb
mailing list