[RFC] Fix PR38892: "--enable-libgcj-debug" breaks bootstrap.

Dave Korn dave.korn.cygwin@googlemail.com
Mon Apr 27 12:22:00 GMT 2009


Dave Korn wrote:
> Tom Tromey wrote:
>>>>>>> "Dave" == Dave Korn <dave.korn.cygwin@googlemail.com> writes:
>> Dave>   Well, as it happens :)
>> Dave> libjava/ChangeLog
>>
>> [...]
>>
>> Dave> 	* classpath/configure.ac:  Likewise.
>> Dave> 	* classpath/native/jni/classpath/jcl.h:  Likewise.
>> Dave> 	* classpath/native/jni/java-lang/java_lang_VMDouble.c:  Likewise.
>>
>> I think you should not need any changes to Classpath.
>> Classpath code won't include the CNI headers, and so should not have
>> the problem.  Is that not the case?
>>
>> Tom
> 
>   I didn't check, I just did a mechanical search and replace; I'll try
> reverting the classpath changes and check it's still ok.

  How's this version?  I reverted classpath/, but I left
gnu/classpath/natConfiguration.cc alone (it includes cni.h).  I rebuilt the
previous $objdir rather than fully bootstrapped, but it all built fine and I
now get lots of nice debug output in my failing testruns showing me that there
are problems with the class loader, stuff like

spawn [open ...]
libgcj failure: klass->state == JV_STATE_LOADED
   in function defineClass, file
/gnu/gcc/gcc/libjava/java/lang/natVMClassLoader.cc, line 99
FAIL: ExtraClassLoader execution - source compiled test

and

PASS: linking PR15133
set_ld_library_path_env_vars:
ld_library_path=.:/gnu/gcc/obj/i686-pc-cygwin/./libjava/.libs
spawn [open ...]
Exception in thread "main" java.lang.UnsatisfiedLinkError: libPR15133: No such
file or directory
   at java.lang.Runtime._load(Unknown Source)
   at java.lang.Runtime.loadLibrary(Unknown Source)
   at java.lang.System.loadLibrary(Unknown Source)
   at PR15133.main(Unknown Source)
FAIL: PR15133 run
UNTESTED: PR15133 output

  So:

libjava/ChangeLog

	* interpret.cc (DEBUG):  Rename this ...
	(__GCJ_DEBUG):  ... to this throughout.
	* configure.ac:  Likewise.
	* interpret-run.cc:  Likewise.
	* prims.cc:  Likewise.
	* gnu/classpath/natConfiguration.cc:  Likewise.
	* include/java-assert.h:  Likewise.
	* java/io/natVMObjectInputStream.cc:  Likewise.

	* configure:  Regenerate.
	* include/config.h.in:  Regenerate.

  Ok now?

    cheers,
      DaveK

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr38892-part-2-no-classpath.diff
Type: text/x-c
Size: 5903 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/java-patches/attachments/20090427/2d1affee/attachment.bin>


More information about the Java-patches mailing list