This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: psymtab/symtab error


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]