This is the mail archive of the gdb-patches@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: patch to robustify gnuv3_rtti_type


On Sun, Jan 20, 2002 at 12:43:45PM -0800, Per Bothner wrote:
> Daniel Jacobowitz wrote:
> >Go look at gnuv3_rtti_type again.  It's misnamed; it does not use RTTI
> >at all.  It only looks that the vtable exists and has a name demangled to
> >'vtable for <Class>'.
> 
> Yes.  With my current patches (gcc and gdb), I get when debugging Java
> runtime (written in C++):
> 
> (gdb) whatis source
> type = Class *
> (gdb) p *source
> can't find class named `java::lang::Class', as given by C++ RTTI
> 
> That is actually an improvement.  The problem at this point is
> inconsistent handling of namespaces bwteeen g++ and gcj.  gcj
> emits a class named 'java.lang.Class' (including the periods),
> while g++ emits plain 'Class'.  So gdb does not realize these are
> the same class.  And neither g++ or gcj emits proper namespace
> information.  I think this is one of the biggest stumbling-blocks
> to proper Java debugging.

Wait a second.  Are you debugging Java or C++ here?  Or are you
debugging a Java program and the C++ runtime, and the same thing is
accessible as java::lang::Class and java.lang.Class?

> What is the current status of support for namepace-handling in gdb?
> If we fix gcj so it emits the same debug into as g++ (i.e.
> 'java.lang.Class' is emitted as plain 'Class'), can gdb "do the
> right thing" based on the mangled names?  If not, can gdb handle
> dwarf2 namespace information (which g++ currently supresses)?

We are not currently ready for dwarf2 namespace information, as I
understand it.  Fixing it should be the work of a few hours, though. 
The state of namespaces through the rest of GDB is a little more
questionable.  I know the v3 support file needs changes.

Why do you currently emit java.lang.Class?

-- 
Daniel Jacobowitz                           Carnegie Mellon University
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]