This is the mail archive of the mailing list for the Archer 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: dwarf name canonicalization

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
would break...

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.


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