From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27382 invoked by alias); 17 Dec 2002 02:15:44 -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 27368 invoked from network); 17 Dec 2002 02:15:40 -0000 Received: from unknown (HELO duracef.shout.net) (204.253.184.12) by sources.redhat.com with SMTP; 17 Dec 2002 02:15:40 -0000 Received: (from mec@localhost) by duracef.shout.net (8.11.6/8.11.6) id gBH2FbD12856; Mon, 16 Dec 2002 20:15:37 -0600 Date: Mon, 16 Dec 2002 18:15:00 -0000 From: Michael Elizabeth Chastain Message-Id: <200212170215.gBH2FbD12856@duracef.shout.net> To: carlton@math.stanford.edu, pkoning@equallogic.com Subject: Re: psymtab/symtab error Cc: gdb@sources.redhat.com X-SW-Source: 2002-12/txt/msg00234.txt.bz2 Paul Koning wrote: > I don't know. I ran into this with gcc 3.0.1, NetBSD i386 host, > NetBSD MIPS target. Yikes. gcc 3.0.4 had many bugs with C++ debugging information, particularly with templates. And the symbol `_ZN9CFreeListI7CVolumeE6m_baseE' demangles to `CFreeList::m_base', which is definitely a template symbol (probably a member, from the name). I am assuming here that your gcc 3.0.1 on NetBSD MIPS will have about the same symbol table code as my gcc 3.0.4 on native i686-pc-linux-gnu. I recommend that you upgrade to gcc 3.1 or gcc 3.1.1 or gcc 3.2 or gcc 3.2.1. gcc 3.2.1 would be the best but any of them are much better than gcc 3.0.4. Eschew the CVS versions of gcc, they are not measurably better than gcc 3.2.1 at this time and in some ways they are worse. If you can't upgrade gcc, you can try building your whole program with "-gdwarf-2" and see if that helps. If that doesn't help any, building the whole program with "-gstabs+" and see if that helps. -gdwarf-2 is the best debugging format for C++, and -gstabs+ is second best. I don't know a simple reliable way to tell which is the default on your platform. I usually compile a small test program with "gcc -S foo.c" and then read the foo.s file and look for the telltale dwarf-2 or stabs+ information. But regardless of what the default debug format is, you can try setting the debug format explicitly. Michael C