public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Tom Tromey <tromey@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFC] allow unqualified function names in linespecs
Date: Wed, 21 Dec 2011 14:08:00 -0000	[thread overview]
Message-ID: <20111221140128.GK23376@adacore.com> (raw)
In-Reply-To: <m3y5u7l1a2.fsf@fleche.redhat.com>

> 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

  reply	other threads:[~2011-12-21 14:01 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-14 14:36 Joel Brobecker
2011-12-20 15:24 ` Tom Tromey
2011-12-21 14:08   ` Joel Brobecker [this message]
2011-12-23 10:39     ` unqualified function names in linespecs in Ada... (try #2) Joel Brobecker
2011-12-23 10:39     ` [commit/Ada 1/3] New function ada-lang.c:should_use_wild_match Joel Brobecker
2011-12-27  4:27       ` Checked in: " Joel Brobecker
2011-12-23 10:39     ` [RFA 2/3] Ada: allow unqualified function names in linespecs Joel Brobecker
2012-01-12  3:13       ` Joel Brobecker
2012-01-19 15:40       ` Joel Brobecker
2012-01-24 19:41       ` Tom Tromey
2012-01-26  4:23         ` Joel Brobecker
2012-01-26 10:22           ` Crash regression gdb.cp/no-dmgl-verbose.exp: " Jan Kratochvil
2012-01-26 10:55             ` Jan Kratochvil
2012-01-27  5:15             ` Jan Kratochvil
2012-01-27  5:25               ` Joel Brobecker
2012-01-27 17:09                 ` [patch] Fix the 2012-01-26 regression by la_get_symbol_name_match_p [Re: Crash regression gdb.cp/no-dmgl-verbose.exp] Jan Kratochvil
2012-01-27 19:27                   ` Joel Brobecker
2012-01-27 20:33                     ` [commit] " Jan Kratochvil
2011-12-23 11:01     ` [RFA 3/3] Remove language param from name_matcher in struct quick_symbol_functions Joel Brobecker
2012-01-12  4:30       ` Joel Brobecker
2012-01-19 15:47       ` Joel Brobecker
2012-01-24 19:45       ` Tom Tromey
2012-01-26  4:57         ` Joel Brobecker
2012-01-24 19:17     ` [RFC] allow unqualified function names in linespecs Tom Tromey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111221140128.GK23376@adacore.com \
    --to=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).