psymtab/symtab error
Daniel Jacobowitz
drow@mvista.com
Mon Dec 16 18:26:00 GMT 2002
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
More information about the Gdb
mailing list