This is the mail archive of the gdb@sourceware.org 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]

gdb breakage wrt C++ on power pc between 7.0 and 7.3 (code compiled with gcc-3.3)?


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.


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