This is the mail archive of the
mailing list for the Archer project.
Re: dwarf name canonicalization
- From: Keith Seitz <keiths at redhat dot com>
- To: tromey at redhat dot com
- Cc: Project Archer <archer at sourceware dot org>
- Date: Tue, 23 Feb 2010 14:06:50 -0800
- Subject: Re: dwarf name canonicalization
- References: <email@example.com>
On 02/23/2010 12:52 PM, Tom Tromey wrote:
Keith, do you happen to know offhand what things in gdb rely on
canonicalizing C++ names in the dwarf reader?
I have a pretty good idea. :-)
I was discussing this canonicalization with a user who prefers to remain
anonymous. His experience is that this canonicalization greatly slows
down gdb startup (he said 15%), and in his experience isn't needed for
his use case, which is running gdb as part of an IDE.
[OT: I would love a test case. I *pleaded* for specific test cases.]
Anonymous obviously has evidence that his IDE can work around the
problems of generic input which we must deal with in the console. I see
no reason why anonymous shouldn't submit a patch to disable
canonicalization (and related). He'll probably want to also disable
dwarf2_physname and bring back DW_AT_MIPS_linkage_name (assuming that
doesn't disappear altogether).
I'm wondering whether it would make sense to somehow disable this, maybe
via some special mode for IDEs to use. I thought maybe you'd know what
Unless the IDE provided a console that accepted generic input (like
"normal" gdb), I don't think that much would break, if anything. IDEs
really rather rely on linespecs for the most part, no? As long as you're
not sending input to gdb that looks like a function name, you should be
safe. But I cannot guarantee. I have no first-hand experience with IDEs
(in many years).
I would much rather address (fix?) the speed problem first. The idea of
multiple paths through the code for the "same" task would seem a high
bit rot risk.