From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12010 invoked by alias); 27 Apr 2005 20:09:11 -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 11722 invoked from network); 27 Apr 2005 20:09:04 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 27 Apr 2005 20:09:04 -0000 Received: from drow by nevyn.them.org with local (Exim 4.50 #1 (Debian)) id 1DQsqE-0006ay-J9; Wed, 27 Apr 2005 16:09:02 -0400 Date: Wed, 27 Apr 2005 20:09:00 -0000 From: Daniel Jacobowitz To: Wu Zhou , gdb-patches@sources.redhat.com, gilliam@us.ibm.com, manjo@austin.ibm.com Subject: Re: about how to add support to new c++ compiler in GDB Message-ID: <20050427200901.GA25180@nevyn.them.org> Mail-Followup-To: Wu Zhou , gdb-patches@sources.redhat.com, gilliam@us.ibm.com, manjo@austin.ibm.com References: <001f01c54a0b$146e8450$7286b509@ibmcsdl9m89c83> <20050426031822.GA4998@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050426031822.GA4998@nevyn.them.org> User-Agent: Mutt/1.5.8i X-SW-Source: 2005-04/txt/msg00373.txt.bz2 On Mon, Apr 25, 2005 at 11:18:23PM -0400, Daniel Jacobowitz wrote: > On Tue, Apr 26, 2005 at 10:53:03AM +0800, Wu Zhou wrote: > > Hello Daniel and all, > > > > I am recently running GDB testsuite against IBM's xlc compiler, and found > > some problems with c++ testcases, especially while handling virtual-table > > related stuff. After some analysis, I found there are some difference > > between the debuginfo output between xlc++ and g++. The main difference I > > noted now is that the class in xlc++ didn't depend on DW_TAG_containing_type > > to find its virutal function table. Instead, every virtual class in xlc++ > > had its own "__vfp", which act the same role as "_vptr.CLASSNAME" in g++. > > This will make gdb crash (SEGV) on quite a few c++ testcase. > > I have some patches for this, originally developed for the ARM RVCT > compiler. I haven't had the time to clean them up and post them. > They will probably be helpful to you. > > If I haven't posted them by the end of this week, please, remind me. You can find the patch, against current CVS GDB, at: http://return.false.org/~drow/gdb/combined-rvct-patches.diff On i386-linux, using g++, it breaks a couple of gcj tests (hmm, I thought I'd fixed that) and fixes a couple of C++ KFAILs. For RVCT the results are more dramatic. It is going to be a long time before these patches are all merged; there are 41 of them, some will require discussion, and all will require me finding some time. I'll go do the first one now. You should give these a try with xlc++ and see if they help. If not, we'll need to discuss the differences in xlc output. -- Daniel Jacobowitz CodeSourcery, LLC