From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18028 invoked by alias); 25 Nov 2001 20:29:21 -0000 Mailing-List: contact gdb-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 17957 invoked from network); 25 Nov 2001 20:29:19 -0000 Received: from unknown (HELO www.cgsoftware.com) (208.155.65.221) by sourceware.cygnus.com with SMTP; 25 Nov 2001 20:29:19 -0000 Received: from localhost (localhost [127.0.0.1]) by www.cgsoftware.com (8.9.3/8.9.3) with ESMTP id PAA07175; Sun, 25 Nov 2001 15:29:08 -0500 Date: Tue, 13 Nov 2001 10:07:00 -0000 From: Daniel Berlin To: Benjamin Kosnik cc: Eli Zaretskii , , , Subject: Re: c++ debugging hosed In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2001-11/txt/msg00139.txt.bz2 On Sun, 25 Nov 2001, Benjamin Kosnik wrote: > > > No, it's relevant to STABS, too. > > It's due to not properly searching virtual baseclasses. > > I might still have the changes to do that somewhere, if someone wants > > them. > > This has been broken for some time now. I'd appreciate it if it got > fixed, so that C++ could be debugged properly. I'm sure a lot of people would. Unfortunately, it appears I don't have the code i had worked up to abstract out the base class offset finding anymore. What's happening is that GDB wants to know the baseclass offset, and the routine it uses is tuned to either gnu-v2 or hp aCC (it checks for something only hp's debug readers fill in, and if it doesn't find it, it assumes gnu-v2), and the gnu-v2 code either returns the wrong value (weird errors occur), or -1, which gives you "virtual baseclass botch"/attempts to deref int values as pointers. baseclass_offset needs to be abstracted into the cp abi model, and all existing uses need to use it. HTH somebody, Dan