From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 528 invoked by alias); 18 Sep 2002 13:41:30 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 521 invoked from network); 18 Sep 2002 13:41:29 -0000 Received: from unknown (HELO cerbere.u-strasbg.fr) (130.79.112.250) by sources.redhat.com with SMTP; 18 Sep 2002 13:41:29 -0000 Received: from laocoon (laocoon.u-strasbg.fr [130.79.112.72]) by cerbere.u-strasbg.fr (Postfix) with ESMTP id 8565A3FC; Wed, 18 Sep 2002 15:42:39 +0200 (CEST) Message-Id: <4.2.0.58.20020918152959.02110ad8@ics.u-strasbg.fr> X-Sender: muller@ics.u-strasbg.fr Date: Wed, 18 Sep 2002 06:41:00 -0000 To: Daniel Jacobowitz From: Pierre Muller Subject: Re: [Problem] gnu-v3 abi loaded wronly. Cc: gdb-patches@sources.redhat.com In-Reply-To: <20020918131713.GA8720@nevyn.them.org> References: <4.2.0.58.20020918115440.015557e8@ics.u-strasbg.fr> <4.2.0.58.20020918115440.015557e8@ics.u-strasbg.fr> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-SW-Source: 2002-09/txt/msg00386.txt.bz2 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...) >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? 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