Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: David Carlton <carlton@kealia.com>
Cc: gdb <gdb@sources.redhat.com>
Subject: Re: constructors and DW_AT_MIPS_linkage_name
Date: Sun, 15 Feb 2004 01:14:00 -0000	[thread overview]
Message-ID: <20040215011457.GA18740@nevyn.them.org> (raw)
In-Reply-To: <m3smheoo71.fsf@coconut.kealia.com>

On Fri, Feb 13, 2004 at 09:59:30AM -0800, David Carlton wrote:
> I was just looking at the .debug_info for the example given in PR
> 1553, and I was surprised to see the following (some bits have been
> deleted)

> The weird thing is that operator= gets a linkage name, but the
> constructors don't.  I don't think we're prepared to deal with this;
> it would explain some weirdnesses that I've seen elsewhere, where
> trying to look up a class returns that class's constructor instead.
> 
> Is this a known GCC issue?  (The above is with GCC 3.2; for GCC
> mainline, the debug info for A isn't there at all, but that's a
> separate issue.)  If so, in what circumstances does it occur?

Hi David,

You have rediscovered the cloned constructors "bug".  The constructor
referenced in the debug information actually is an abstract instance,
and the two concrete instances reference that die via
DW_AT_abstract_origin.  Any cloned constructor or destructor will show
this behavior.

The finding-constructors-instead-of-classes thing is actually only
tangentially related.  At least, the last time I ran into it, it was. 
We do not walk the DW_AT_abstract_origin, or have a mangled name, so we
assume it's a toplevel function named Classname.  I thought this no
longer happened...

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


      reply	other threads:[~2004-02-15  1:14 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-13 17:59 David Carlton
2004-02-15  1:14 ` Daniel Jacobowitz [this message]

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=20040215011457.GA18740@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=carlton@kealia.com \
    --cc=gdb@sources.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