This is the mail archive of the gdb-patches@sourceware.org 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: [RFC] allow unqualified function names in linespecs


> I don't think it is the very best thing for us to have Ada be so very
> different from the rest of GDB in so many ways -- special debuginfo
> encoded in symbol names, special rules for linespecs, special rules for
> iterating symbol tables.  I am sure it is better for Ada users, but the
> problem is that if we want to make changes to core things in GDB,
> eventually it requires you to step in and do a piece of the work.  E.g.,
> we just punted on .gdb_index support for Ada.

Yeah, I agree. It's a combination of things. I do recognize that part
of the problem comes from us, having developed an Ada mode that was
never designed to extend the overall design to satisfy Ada's needs.
I wasn't there, but I think we were rushed, trying to transform a C
debugger, with instructions on how to decode everything manually,
to something that handled as much of Ada as possible.

Part of the problem also comes from the fact that C++ and Ada are so
different, and thus are also often used in very different projects.
Trying to unify support for both without some kind of abstraction
layer is very hard. In fact, coming up with that abstraction layer
is also very hard, as we're finding out.

My goal in the past 10 years, has always been to clean the Ada mode up,
and all the messes we created. But at the same time, I dont' want that
work to create more work for me during the periodic merges I make from
the FSF tree to ours. So, my first goal is to first reconcile AdaCore's
ada-* files with the ones on the FSF. That's a lot of micro-redesign,
sometimes, to get things to an acceptable state. The good news is,
I feel like I am getting really close. And once I'm done, I can start
the cleanup in earnest.

There are some thing that I need to accept though: If some things
are common idioms in Ada, there is now way I am going to be able
to stop supporting them without losing my job :-). Believe it or not,
though, I do a fair amount of push back against some of the features
that get requested internally.

> [ ideas ]
> Joel>   . Redesign a bit the interface.  For instance, let the language
> Joel>     itself iterate over all partial symbols? The default implementation
> Joel>     would do what we already do. The Ada implementation would do
> Joel>     something else, not sure what yet.  And we could get rid of
> Joel>     the la_symbol_name_compare method.
> 
> I suppose either this or having a way for the language to compute the
> name-matching function.
> 
> I am not so sure about an Ada-specific psymtab walker.  I think I'd have
> to see the patch or a fuller proposal.

OK. I'll try to come up with something along either of those lines...

-- 
Joel


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