From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8536 invoked by alias); 26 Jun 2003 01:00:15 -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 4314 invoked from network); 25 Jun 2003 23:04:54 -0000 Received: from unknown (HELO crack.them.org) (146.82.138.56) by sources.redhat.com with SMTP; 25 Jun 2003 23:04:54 -0000 Received: from dsl093-172-017.pit1.dsl.speakeasy.net ([66.93.172.17] helo=nevyn.them.org ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 19VJKj-0001La-00; Wed, 25 Jun 2003 18:05:45 -0500 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 19VJJo-0000zz-00; Wed, 25 Jun 2003 19:04:48 -0400 Date: Thu, 26 Jun 2003 01:00:00 -0000 From: Daniel Jacobowitz To: Andrew Cagney Cc: Michael Elizabeth Chastain , gdb-patches@sources.redhat.com Subject: Re: [rfa] PROBLEMS: document 'constructor breakpoint ignored' bug Message-ID: <20030625230448.GA1600@nevyn.them.org> Mail-Followup-To: Andrew Cagney , Michael Elizabeth Chastain , gdb-patches@sources.redhat.com References: <200306242026.h5OKQThr012996@duracef.shout.net> <3EFA0DE4.4070009@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3EFA0DE4.4070009@redhat.com> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-06/txt/msg00781.txt.bz2 Sure, since it's not going to be fixed in time. Go for it. On Wed, Jun 25, 2003 at 05:02:28PM -0400, Andrew Cagney wrote: > It's C++ so Daniel? > > Andrew > Date: Tue, 24 Jun 2003 16:26:29 -0400 > From: Michael Elizabeth Chastain > Subject: [rfa] PROBLEMS: document 'constructor breakpoint ignored' bug > To: gdb-patches@sources.redhat.com > > This patch documents the notorious "constructor breakpoints ignored" > problem in the gdb PROBLEMS file. > > Okay to apply this to mainline? > > Okay to apply this to the 6.0 branch? > > Michael C > > 2003-06-24 Michael Chastain > > * PROBLEMS: Document pr gdb/1091 and pr gdb/1193, > the "constructor breakpoints ignored" bug. > > Index: PROBLEMS > =================================================================== > RCS file: /cvs/src/src/gdb/PROBLEMS,v > retrieving revision 1.15 > diff -c -3 -r1.15 PROBLEMS > *** PROBLEMS 23 Jun 2003 03:28:13 -0000 1.15 > --- PROBLEMS 24 Jun 2003 20:20:53 -0000 > *************** > *** 3,6 **** > --- 3,21 ---- > > See also: http://www.gnu.org/software/gdb/bugs/ > > + gdb/1091: Constructor breakpoints ignored > + gdb/1193: g++ 3.3 creates multiple constructors: gdb 5.3 can't set breakpoints > > + When gcc 3.x compiles a C++ constructor or C++ destructor, it generates > + 2 or 3 different versions of the object code. These versions have > + unique mangled names (they have to, in order for linking to work), but > + they have identical source code names, which leads to a great deal of > + confusion. Specifically, if you set a breakpoint in a constructor or a > + destructor, gdb will put a breakpoint in one of the versions, but your > + program may execute the other version. This makes it impossible to set > + breakpoints reliably in constructors or destructors. > + > + gcc 3.x generates these multiple object code functions in order to > + implement virtual base classes. gcc 2.x generated just one object code > + function with a hidden parameter, but gcc 3.x conforms to a multi-vendor > + ABI for C++ which requires multiple object code functions. > -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer