From: David Carlton <carlton@math.stanford.edu>
To: gdb <gdb@sources.redhat.com>
Cc: Tom Tromey <tromey@redhat.com>,
Michael Elizabeth Chastain <mec@shout.net>
Subject: break jmisc.main
Date: Thu, 13 Mar 2003 20:39:00 -0000 [thread overview]
Message-ID: <ro1el5bknmg.fsf@jackfruit.Stanford.EDU> (raw)
Here's the scoop with the FAILs on "break jmisc.main" and "break
jmisc.main(java.lang.String[]))".
1) For "break jmisc.main", decode_line_1 calls decode_compound (which
handles C++ and Java compound data structures). That notices that
there is a class calles 'jmisc', and then looks for a member in it
called 'main'.
Unfortunately, GDB thinks the member in question is called
'jmisc.main(java.lang.String[])' instead of just 'main': the debug
info says:
.long .LC2 # DW_AT_name: "jmisc.main(java.lang.String[])"
Sigh. GCJ should get fixed.
2) For "break jmisc.main(java.lang.String[])", decode_compound gets
bypassed, and decode_variable gets called, looking for a symbol of
that name. Unfortunately, it doesn't find one: the symbol that it
finds is called something strange like
"jmisc::main(Jaray<java::lang::String*>*)". (I'm pretty sure
that's right, though I'd have to check this at home to be sure;
that's what c++filt demangles the name to.)
Something weird is going on here; at first, I'd assumed this was a
bug in cplus_demangle, but c++filt -s java gets the name demangled
correctly. So my guess is that, somewhere, a demangler is getting
called in a situation where the symbol isn't yet identified as a
Java symbol, so the C++ demangler gets used. Do the minsym readers
reliably know the language of the minsyms they're creating? If
not, then we could be getting the bad value there and caching it
with the new demangling code, so the bad value remains when the
symbol table is setting the symbol's name.
So, we have two things to do: submit a bug report to the GCJ people,
and track down where the symbol name is getting demangled
incorrectly. (And a third thing: convince somebody who knows more
about GCJ to become GDB's Java maintainer.)
David Carlton
carlton@math.stanford.edu
next reply other threads:[~2003-03-13 20:39 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-13 20:39 David Carlton [this message]
2003-03-13 20:54 ` David Carlton
2003-03-13 20:57 ` Daniel Jacobowitz
2003-03-13 21:07 ` Daniel Jacobowitz
2003-03-13 21:16 ` David Carlton
2003-03-13 21:22 ` Daniel Jacobowitz
2003-03-13 23:32 ` David Carlton
2003-03-13 23:36 ` Daniel Jacobowitz
2003-03-14 0:17 ` David Carlton
2003-03-14 4:18 ` Daniel Jacobowitz
2003-03-13 23:04 ` Tom Tromey
2003-03-13 22:59 ` Tom Tromey
2003-03-13 23:03 ` Daniel Jacobowitz
2003-03-14 15:09 Michael Elizabeth Chastain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ro1el5bknmg.fsf@jackfruit.Stanford.EDU \
--to=carlton@math.stanford.edu \
--cc=gdb@sources.redhat.com \
--cc=mec@shout.net \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox