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

On Wed, Sep 18, 2002 at 04:52:54PM +0200, Pierre Muller wrote:
> 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...

Then there should be no problem with setting a new free-pascal ABI. 
The ABI only specifies things C++ (and now Pascal) specific; C code
doesn't use it at all.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


      reply	other threads:[~2002-09-18 15:28 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
2002-09-18  8:28         ` 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=20020918152824.GA23522@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=muller@ics.u-strasbg.fr \
    /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