Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Daniel Berlin <dberlin@redhat.com>
To: "Peter.Schauer" <Peter.Schauer@regent.e-technik.tu-muenchen.de>
Cc: msnyder@cygnus.com, jimb@cygnus.com,
	gdb-patches@sources.redhat.com, ezannoni@cygnus.com
Subject: Re: [RFA]: Fix partial symbol lookups
Date: Thu, 16 Nov 2000 08:56:00 -0000	[thread overview]
Message-ID: <m3lmuj26vd.fsf@dan2.cygnus.com> (raw)
In-Reply-To: <200011161629.RAA06158@reisser.regent.e-technik.tu-muenchen.de>

"Peter.Schauer" <Peter.Schauer@regent.e-technik.tu-muenchen.de> writes:

> > > The previous version of lookup_partial_symbol (before your changes) would
> > > have found both mangled and demangled names.
> > 
> > Now this I take issue with.
> > How could it possibly find demangled names, if it doesn't have access
> > to them?
> > lookup_partial_symbol didn't find demangled names before my patch on
> > 10-12. It doesn't have the code to do so, as you pointed out yourself
> > (because the SYMBOL_MATCHES_NAME is no better than the strcmp, since
> > we have no access to demangled names), unless the symbol name was the
> > demangled name, rather than the mangled name, which doesn't occur.
> 
> Not true.
> There were no demangled names in partial symbols from most symbol readers,
> _except_ for the HP reader, which we are currently discussing, and which
> I discovered rather late in the day as well.
> Before your change, lookup_partial_symbol fell back to a linear search
> if it didn't find the symbol and had the chance to find the demangled symbol
> via SYMBOL_MATCHES_NAME during the linear search.

Peter, you are missing an important point.

*I* added that SYMBOL_MATCHES_NAME. Not HP. As the comment shows
right above it.

In the GDB-5.0 source, it's    


   while (STREQ (SYMBOL_NAME (*top), name))
        {
          if (SYMBOL_NAMESPACE (*top) == namespace)
            {
              return (*top);
            }
          top++;
        }



So we couldn't have possibly been finding demangled names until I
added that, and since the HP code is older than the change to use
SYMBOL_MATCHES_NAME, they couldn't have had demangled names working in
partial symbol lookups.
--Dan


  parent reply	other threads:[~2000-11-16  8:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <m3snorj4d7.fsf@dan2.cygnus.com>
2000-11-16  8:29 ` Peter.Schauer
2000-11-16  8:44   ` Daniel Berlin
2000-11-16  9:06     ` Peter.Schauer
2000-11-16  9:16       ` Daniel Berlin
2000-11-16  8:56   ` Daniel Berlin [this message]
2000-11-16  9:02     ` Daniel Berlin
     [not found] <200011161222.NAA05985@reisser.regent.e-technik.tu-muenchen.de>
     [not found] ` <m38zqj3mcb.fsf@dan2.cygnus.com>
2000-11-16 11:01   ` Christopher Faylor
     [not found] <m3vgtqv60a.fsf@dan2.cygnus.com>
     [not found] ` <npbsvhzxm9.fsf@zwingli.cygnus.com>
     [not found]   ` <m3hf59izpl.fsf@dan2.cygnus.com>
2000-11-15  8:56     ` Michael Snyder
     [not found]       ` <m3g0ktkrjh.fsf@dan2.cygnus.com>
2000-11-15 11:19         ` Michael Snyder

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=m3lmuj26vd.fsf@dan2.cygnus.com \
    --to=dberlin@redhat.com \
    --cc=Peter.Schauer@regent.e-technik.tu-muenchen.de \
    --cc=ezannoni@cygnus.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=jimb@cygnus.com \
    --cc=msnyder@cygnus.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