gdb breakage wrt C++ on power pc between 7.0 and 7.3 (code compiled with gcc-3.3)?
Stefan Puiu
stefan.puiu@gmail.com
Thu Sep 20 12:20:00 GMT 2012
Hi,
Sorry if this question is rather belated. Some months ago we upgraded
from gdb 7.0.1 to gdb 7.3 and, on our powerpc (ppc750) embedded
platform, we noticed issues while debugging C++ code. Namely,
examining instances of some classes using multiple, complex
inheritance would hang gdb. The code is compiled with '-g' and without
optimizations.
Breakpoint 1, <namespace>::Class::someFun (this=0x102ec708, <...>)
at path/to/Class.cpp:898:898
898 path/to/Class.cpp:898: No such file or directory.
path/to/Class.cpp:898
(gdb) n
900 path/to/Class.cpp:898
(gdb) p this->m_member
warning: RTTI symbol not found for class '<namespace>::Class'
$1 = (Class &) @0x102ec5b8: warning: RTTI symbol not found for class
'<namespace>::Class'
[... first hang]
ò{Quit
(gdb) p this->m_member.m_globalId
òòò
[... had to kill the session]
This works fine with gdb 7.0.1.
We're compiling our code with an ancient toolchain: gcc-3.3.4 and
glibc-2.3.3. Is there some way to track compatibility between gdb
releases and older toolchains? Or maybe there is a regression that got
fixed?
Unfortunately I don't have a simple test case to reproduce this. Using
a simple class hierarchy with multiple inheritance doesn't exhibit the
problem, so it's something more complex that I can't yet pinpoint. I
don't see any weird options that we pass to gcc - "-mcpu=750" and
"-pipe" (plus defines like -D__STDC_LIMIT_MACROS) don't seem out of
place to me.
Thanks,
Stefan.
More information about the Gdb
mailing list