gcj computes the type of the `itable' field of Class differently from how the runtime declares this type. This is confusing to the maintainer and potentially fragile (depending on the vagaries of struct layout). See http://gcc.gnu.org/ml/java-patches/2004-q4/msg00286.html
Confirmed.
Closing as won't fix as the Java front-end has been removed from the trunk.