From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30306 invoked by alias); 16 Jul 2004 22:15:34 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 30293 invoked from network); 16 Jul 2004 22:15:33 -0000 Received: from unknown (HELO smtp10.atl.mindspring.net) (207.69.200.246) by sourceware.org with SMTP; 16 Jul 2004 22:15:33 -0000 Received: from user-119a90a.biz.mindspring.com ([66.149.36.10] helo=berman.michael-chastain.com) by smtp10.atl.mindspring.net with esmtp (Exim 3.33 #1) id 1Blaz9-00053e-00; Fri, 16 Jul 2004 18:15:19 -0400 Received: by berman.michael-chastain.com (Postfix, from userid 502) id 0708C4B104; Fri, 16 Jul 2004 18:15:32 -0400 (EDT) To: jimb@redhat.com, mec.gnu@mindspring.com Subject: Re: How to setup a breakpoint on constructor Cc: drow@false.org, eliz@gnu.org, gdb@sources.redhat.com, rolandz@poczta.fm Message-Id: <20040716221532.0708C4B104@berman.michael-chastain.com> Date: Sat, 17 Jul 2004 10:09:00 -0000 From: mec.gnu@mindspring.com (Michael Elizabeth Chastain) X-SW-Source: 2004-07/txt/msg00221.txt.bz2 jimb> If I remember right, the use of separate complete and base jimb> constructors is an ABI requirement; the compiler doesn't have the jimb> option of just generating whatever code it likes. The ABI does require separate names. If I recall correctly, Apple implemented this by having separate names for base ctor and complete ctor (as required by the ABI) and then having them call a unified constructor. Gcc optimization can reduce calls from {base,complete}-ctor to unified-ctor, from call instructions to jump instructions. Then the debugger just puts ctor breakpoints on the unified-ctor. http://gcc.gnu.org/ml/gcc-patches/2002-08/msg00354.html Apple folks, have I got that right? Michael C