Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pierre Muller <muller@ics.u-strasbg.fr>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [Problem] gnu-v3 abi loaded wronly.
Date: Wed, 18 Sep 2002 07:58:00 -0000	[thread overview]
Message-ID: <4.2.0.58.20020918165204.02010968@ics.u-strasbg.fr> (raw)
In-Reply-To: <20020918145132.GA14392@nevyn.them.org>

At 16:51 18/09/2002 , Daniel Jacobowitz a écrit:
>On Wed, Sep 18, 2002 at 03:35:41PM +0200, Pierre Muller wrote:
> > At 15:17 18/09/2002 , Daniel Jacobowitz a écrit:
> > >On Wed, Sep 18, 2002 at 12:00:22PM +0200, Pierre Muller wrote:
> > > > 
> > > > 
> > > >    The code for loading gnu-v3-abi is symply to
> > > > look if there is a minimal symbol starting with 
> > > >   _Z
> > > > underscore followed by a capital Z:
> > > > 
> > > > Why is this test so imprecise?
> > > > To what symbol generated by GCC
> > > > v3 does it correspond?
> > > > Why is it not a full name test?
> > > > 
> > > > Currently this creates a problem for me when
> > > > I mix GCC 2.95.X code with Free Pascal generated
> > > > code on linux, because Free Pascal defines
> > > > a minimal symbol _ZONE_NAMES
> > > > that is recognized as a GCC v3 marker...
> > > > 
> > > > if you create a c code with a static variable 
> > > > called _Zzzz
> > > > you will probably get the same error...
> > > > 
> > > > I consider this to be a bug in GDB, but 
> > > > I would like to get the arguments of the 
> > > > interested people.
> > >
> > >Every mangled name in v3 starts with _Z.  We've always held that if you
> > >use names in the reserved namespace for your own functions, you get
> > >what you deserve - but we hadn't thought any other compilers used this
> > >namespace...
> > >
> > >We could require that the first _Z symbol be a valid mangled C++ name.
> > >That would sometimes break the test in the other direction if you had
> > >v3 code linked with Free Pascal code.  Does Free Pascal define a large
> > >number of symbols starting with _Z, or just the one?  If it's just the
> > 
> > No, its just a static variable that starts with Z 
> > so there can be others around...
> > (Free Pascal adds a leading underscore to all
> > static variables, regardless of what GCC does...)
>
>Blech.
>
> > >one we can fix this by checking all _Z symbols until we find one that
> > >is v3 mangled.
> > 
> > I started to write a Free Pascal version of xx-abi.c
> > because there are other object/class related problems 
> > with Free Pascal.
> > 
> > The other solution would be to check for "fpc_compiled"
> > and then declare that its an Free Pascal  compiled object,
> > but that would not solve the problem of my
> > IDE that has both Free Pascal code and
> > GCC code of  libgdb...
> > because in that case it would mean that we need to decide 
> > which abi to use depending on the source file type,
> > would that be possible?
>
>GDB is definitely not set up to do this.  If you mix code that requires
>particular ABI support, you'll just confuse it hopelessly.  For
>instance, we can determine the ABI without debug information (though we
>don't use it for much in that case) - which ABI do you pick if two are
>marked?
>
>For C++ this is generally OK.  No one except Apple is crazy enough to
>try to mix-n-match.  If Free Pascal code is commonly linked with C++
>code, then we need to think about this further.

I have no C++ code in my problem...
Libgdb is only C code, but the problem arises nevertheless...




Pierre Muller
Institut Charles Sadron
6,rue Boussingault
F 67083 STRASBOURG CEDEX (France)
mailto:muller@ics.u-strasbg.fr
Phone : (33)-3-88-41-40-07  Fax : (33)-3-88-41-40-99


  reply	other threads:[~2002-09-18 14:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-18  3:06 Pierre Muller
2002-09-18  6:17 ` Daniel Jacobowitz
2002-09-18  6:41   ` Pierre Muller
2002-09-18  7:51     ` Daniel Jacobowitz
2002-09-18  7:58       ` Pierre Muller [this message]
2002-09-18  8:28         ` Daniel Jacobowitz

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=4.2.0.58.20020918165204.02010968@ics.u-strasbg.fr \
    --to=muller@ics.u-strasbg.fr \
    --cc=drow@mvista.com \
    --cc=gdb-patches@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