Here's a snippet from the HEAD version of gdb.java/jprint.java in the GDB testsuite:
public static void main(String[] args) { jprint x = new jprint (); x.dothat (44); print (k, 33); } GCC's debug info reports that x is a pointer in %rax when compiled with -g -O0. It reports that that's true throughout the function. Unfortunately it isn't true; it's in %rax before the call to x.dothat(44) but afterwards %rax is garbage. -- Summary: Bad location information for Java local variable Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: drow at gcc dot gnu dot org GCC host triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31920