Bootstrap failure caused by jvmti additions

2006-08-04 Thread Volker Reichelt
Hi Tom,

your patch http://gcc.gnu.org/ml/java-patches/2006-q3/msg00264.html
broke bootstrap (at least on x86_64-unknown-linux-gnu):

ranlib .libs/libgij.a
creating libgij.la
./.libs/libgcj.so: undefined reference to `JvNumMethods(java::lang::Class*)'
./.libs/libgcj.so: undefined reference to `JvGetFirstMethod(java::lang::Class*)'
collect2: ld returned 1 exit status
make[5]: *** [jv-convert] Error 1

Regards,
Volker




Re: Bootstrap failure caused by jvmti additions

2006-08-04 Thread Mark Wielaard
Hi,

On Fri, 2006-08-04 at 10:57 +0200, Volker Reichelt wrote:
 your patch http://gcc.gnu.org/ml/java-patches/2006-q3/msg00264.html
 broke bootstrap (at least on x86_64-unknown-linux-gnu):
 
 ranlib .libs/libgij.a
 creating libgij.la
 ./.libs/libgcj.so: undefined reference to `JvNumMethods(java::lang::Class*)'
 ./.libs/libgcj.so: undefined reference to 
 `JvGetFirstMethod(java::lang::Class*)'
 collect2: ld returned 1 exit status
 make[5]: *** [jv-convert] Error 1

No idea if it is correct, but I am using the attached to get things to
compile again.

Cheers,

Mark
Index: jvmti.cc
===
--- jvmti.cc	(revision 115934)
+++ jvmti.cc	(working copy)
@@ -29,6 +29,8 @@
 #include java/util/HashMap.h
 #include java/net/URL.h
 
+#include gcj/method.h
+
 extern struct JNINativeInterface _Jv_JNIFunctions;
 
 struct _Jv_rawMonitorID
@@ -553,13 +555,10 @@
   if (klass-isArray())
 {
   jclass comp = klass-getComponentType();
-  jint base
-	= (jint) _Jv_GetArrayElementFromElementType(NULL,
-		klass-getComponentType());
   // FIXME: correct for primitive types?
   jint compSize = comp-size();
   __JArray *array = (__JArray *) object;
-  *result = base + array-length * compSize;
+  *result = klass-size() + array-length * compSize;
 }
   else
 {


Re: Bootstrap failure caused by jvmti additions

2006-08-04 Thread Tom Tromey
 Volker == Volker Reichelt [EMAIL PROTECTED] writes:

Volker your patch http://gcc.gnu.org/ml/java-patches/2006-q3/msg00264.html
Volker broke bootstrap (at least on x86_64-unknown-linux-gnu):

I'm very sorry about this.  I know it must not seem like it, but I
really did build with this patch.  I don't know what went wrong, but I
assume it is some mistake of mine.

I'm checking the appended subset of Mark's patch.
The other part, I believe, I have already taken care of.

Tom

Index: ChangeLog
from  Mark Wielaard  [EMAIL PROTECTED]

* jvmti.cc: Include gcj/method.h.

Index: jvmti.cc
===
--- jvmti.cc(revision 115942)
+++ jvmti.cc(working copy)
@@ -16,6 +16,8 @@
 #include java-gc.h
 #include jvmti.h
 
+#include gcj/method.h
+
 #include gnu/classpath/SystemProperties.h
 #include gnu/gcj/runtime/BootClassLoader.h
 #include java/lang/Class.h