assertion with --enable-libgcj-debug
Anthony Green
green@redhat.com
Sun Jul 3 07:06:00 GMT 2005
Hi,
I wanted to poke at Azureus again, so I built a 4.0 branch toolchain with
--enable-libgcj-debug. I had to apply the following hack in order for libgcj
to compile cleanly, since we have some assertions that try to read non-public
fields.
Index: gcj/javaprims.h
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gcj/javaprims.h,v
retrieving revision 1.55
diff -u -p -r1.55 javaprims.h
--- gcj/javaprims.h 23 Feb 2005 17:36:24 -0000 1.55
+++ gcj/javaprims.h 3 Jul 2005 07:00:50 -0000
@@ -535,6 +535,9 @@ typedef unsigned int _Jv_ulong __attribu
class _Jv_Utf8Const
{
+#ifdef DEBUG
+ public:
+#endif
_Jv_ushort hash;
_Jv_ushort length; /* In bytes, of data portion, without final '0円'. */
char data[1]; /* In Utf8 format, with final '0円'. */
Once I had build everything, I found that every time I tried to run
interpreted code I got:
libgcj failure: klass->state == JV_STATE_LOADED
in function defineClass, file ../../../gcc/libjava/java/lang/natVMClassLoader.cc, line 106
Aborted
Is the assertion wrong, or our code?
klass->state is JV_STATE_READ when we assert.
Thanks,
AG
More information about the Java
mailing list