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
prev parent 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