This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: psymtab/symtab error
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Michael Elizabeth Chastain <mec at shout dot net>
- Cc: carlton at math dot stanford dot edu, pkoning at equallogic dot com,gdb at sources dot redhat dot com
- Date: Mon, 16 Dec 2002 21:27:50 -0500
- Subject: Re: psymtab/symtab error
- References: <200212170215.gBH2FbD12856@duracef.shout.net>
On Mon, Dec 16, 2002 at 08:15:37PM -0600, Michael Elizabeth Chastain wrote:
> 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<CVolume>::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.
These options are not available with his tools versions; it's mdebug or
bust. DWARF-2 didn't start working until 3.2 or so, and stabs until
binutils 2.12.1 or so.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer