This is the mail archive of the
mailing list for the GDB project.
Re: patch to robustify gnuv3_rtti_type
Daniel Jacobowitz wrote:
> Wait a second. Are you debugging Java or C++ here? Or are you
> debugging a Java program and the C++ runtime,
Yes, basically. The bug I'm currently working on is a bug in the
run-time verifier (libjava/verify.cc).
> and the same thing is
> accessible as java::lang::Class and java.lang.Class?
Yes, basically. The Class and Object classes are handled specially
by the compiler, though I'm not sure that matters to the debugger.
In general, we have gcj create the "definition" of classes; we also
auto-generate C++ header files for the same classes so they can be
accessed by C++, for writing "native" methods However, the Class
class is special, in that the the C++ version is written by hand.
In either case, we'd like gdb to realize that java::lang::Class
and java.lang.Class are the same, which seems to require namespace
support to do it properly.
> Why do you currently emit java.lang.Class?
Because is seemed the right thing to do, given gdb's lack of proper
namespace support - we just treat "java.lang.Object" as an atomic
name. This fixes some problems and breaks others.
Also, gcj internally uses the fully-qualfied name "java.lang.Class"
internally. Changing this will take some work, but if it will
give us proper namespace-aware debugging I'm willing to do it.