libjava status on Tru64 UNIX V5.1

Rainer Orth ro@TechFak.Uni-Bielefeld.DE
Wed Mar 20 19:46:00 GMT 2002


Rainer Orth writes:
> I'm just running a new bootstrap on alpha-dec-osf4.0f where those EH
> handling failures don't happen and libjava testsuite results should be as
> good as in 3.0.5.

make check just finished and looks reasonably well:
 === libjava tests ===
Running target unix
FAIL: PR5902 compilation from bytecode
FAIL: PR5902 -O compilation from bytecode
FAIL: cxxtest.c compilation
FAIL: Invoke_1 execution from source compiled test
FAIL: Invoke_1 execution from bytecode->native test
FAIL: Invoke_1 -O execution from source compiled test
FAIL: Invoke_1 -O execution from bytecode->native test
FAIL: PR218 execution from source compiled test
FAIL: PR218 execution from bytecode->native test
FAIL: PR218 -O execution from source compiled test
FAIL: PR218 -O execution from bytecode->native test
FAIL: invokethrow execution from source compiled test
FAIL: invokethrow execution from bytecode->native test
FAIL: invokethrow -O execution from source compiled test
FAIL: invokethrow -O execution from bytecode->native test
FAIL: TLtest compilation from bytecode
FAIL: TLtest -O compilation from bytecode
FAIL: Array_3 execution from source compiled test
FAIL: Array_3 execution from bytecode->native test
FAIL: Array_3 -O execution from source compiled test
FAIL: Array_3 -O execution from bytecode->native test
 === libjava Summary ===
# of expected passes 1922
# of unexpected failures 21
# of expected failures 18
# of untested testcases 110
So this platform seems to need -fcheck-references as well. Unfortunately
my proposed patch (included below for reference) to enable this on
platforms that need it revealed a problem:
* bootstrap on sparc-sun-solaris2.8 failed compiling
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/java/lang/Boolean.java: In class `java.lang.Boolean':
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/java/lang/Boolean.java: In constructor `(boolean)':
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/java/lang/Boolean.java:90: can't reassign a value to the final variable 'value'.
 	this.value = value;
 ^
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/java/lang/Boolean.java:79: final field 'value' may not have been initialized
1 error
 This error vanishes if compiling with -fno-check-references.
* bootstrap on i686-pc-solaris2.8 succeeded, but apart from fixing some
 testsuite failures as expected, it introduced a couple of new ones:
+FAIL: final_initialization_in_ctor compilation from source
+FAIL: final_initialization_in_ctor -O compilation from source
+FAIL: final_static_and_friend compilation from source
+FAIL: final_static_and_friend -O compilation from source
+FAIL: final_int compilation from source
+FAIL: final_int -O compilation from source
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java: In class `final_initialization_in_ctor':
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java: In constructor `(int,float)':
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java:19: can't reassign a value to the final variable 'loadFactor'.
 this.loadFactor = loadFactor;
 ^
/vol/gnu/src/gcc/gcc-3.1-branch-dist/libjava/testsuite/libjava.compile/final_initialization_in_ctor.java:10: final field 'loadFactor' may not have been initialized
1 error
Any suggestions what to do about this?
	Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Mon Mar 18 19:18:14 2002 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
	* configure.host: Introduce host_cpu and host_os switches, moving
	cpu- or os-only sections here.
	Sort host switch.
	* configure.host (REFERENCESPEC): New.
	* libgcj.spec.in (jc1): Use it.
	* configure.in (REFERENCESPEC): Substitute it.
	* configure.host (solaris2*, mips-sgi-irix6*): Use
	-fcheck-references for REFERENCESPEC.
	
	* configure.host (i?86-*-solaris2*): Keep default DIVIDESPEC.
Index: configure.host
===================================================================
RCS file: /cvs/gcc/gcc/libjava/configure.host,v
retrieving revision 1.23.2.3
diff -u -p -r1.23.2.3 configure.host
--- configure.host	2002年03月16日 00:35:42	1.23.2.3
+++ configure.host	2002年03月21日 03:40:28
@@ -1,7 +1,7 @@
 # configure.host
 
 # This shell script handles all host based configuration for libgcj.
-# It sets various shell variables based on the the host and the
+# It sets various shell variables based on the host and the
 # configuration options. You can modify this shell script without
 # needing to rerun autoconf.
 
@@ -12,6 +12,7 @@
 # It uses the following shell variables:
 # host		The configuration host
 # host_cpu		The configuration host CPU
+# host_os The configuration host OS
 # target_optspace	--enable-target-optspace ("yes", "no", "")
 
 # It sets the following shell variables:
@@ -51,26 +52,21 @@ esac
 
 AM_RUNTESTFLAGS= 
 
-# Set any host dependent compiler flags.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-
 echo "$target"
 
 DIVIDESPEC=-fuse-divide-subroutine
 EXCEPTIONSPEC=-fnon-call-exceptions
+REFERENCESPEC=
 
-case "${host}" in
- mips-tx39-*|mipstx39-unknown-*)
-	libgcj_flags="${libgcj_flags} -G 0"
-	LDFLAGS="$LDFLAGS -Tjmr3904dram.ld"
-	AM_RUNTESTFLAGS="--target_board=jmr3904-sim"	
-	# Use "Ecos" processes since they are a no-op.
-	PROCESS=Ecos
-	FILE=Posix
- 	enable_java_net_default=no
- 	enable_getenv_properties_default=no
+# Set any CPU dependent comphost# THIS TABLE IS SORTED. KEEP IT THAT WAY.
+case "${host_cpu}" in
+ alpha*)
+	sysdeps_dir=alpha
+	libgcj_flags="${libgcj_flags} -mieee"
+	libgcj_interpreter=yes
+	enable_hash_synchronization_default=yes
 	;;
- i686-*|i586-*|i486-*|i386-*)
+ i[3456]6)
 	sysdeps_dir=i386
 	libgcj_flags="${libgcj_flags} -ffloat-store"
 	libgcj_interpreter=yes
@@ -80,29 +76,51 @@ case "${host}" in
 	enable_hash_synchronization_default=yes
 	slow_pthread_self=yes
 	;;
- alpha*-*)
-	sysdeps_dir=alpha
-	libgcj_flags="${libgcj_flags} -mieee"
+ ia64)
+	sysdeps_dir=ia64
+ libgcj_flags="${libgcj_flags} -funwind-tables"
 	libgcj_interpreter=yes
 	enable_hash_synchronization_default=yes
 	;;
- powerpc*-linux*)
-	sysdeps_dir=powerpc
-	libgcj_interpreter=yes
-	enable_hash_synchronization_default=yes
-	slow_pthread_self=yes
+esac
+
+# Set any OS dependent compiler flags.
+# THIS TABLE IS SORTED. KEEP IT THAT WAY.
+case "${host_os}" in
+ solaris2*)
+	REFERENCESPEC=-fcheck-references
+	;;
+esac
+
+# Set any flags dependent on the full host triplet.
+# THIS TABLE IS SORTED. KEEP IT THAT WAY.
+case "${host}" in
+ i?86-*-solaris2*)
+	# override i?86 default
+	DIVIDESPEC=-fuse-divide-subroutine
+	;;
+ mips-sgi-irix6*)
+	REFERENCESPEC=-fcheck-references
+	;;
+ mips-tx39-*|mipstx39-unknown-*)
+	libgcj_flags="${libgcj_flags} -G 0"
+	LDFLAGS="$LDFLAGS -Tjmr3904dram.ld"
+	AM_RUNTESTFLAGS="--target_board=jmr3904-sim"	
+	# Use "Ecos" processes since they are a no-op.
+	PROCESS=Ecos
+	FILE=Posix
+ 	enable_java_net_default=no
+ 	enable_getenv_properties_default=no
 	;;
 powerpc*-darwin*)
 	sysdeps_dir=powerpc
 libgcj_interpreter=yes
 	;;
- sparc-*)
- ;;
- ia64-*)
-	sysdeps_dir=ia64
- libgcj_flags="${libgcj_flags} -funwind-tables"
+ powerpc*-linux*)
+	sysdeps_dir=powerpc
 	libgcj_interpreter=yes
 	enable_hash_synchronization_default=yes
+	slow_pthread_self=yes
 	;;
 xscale*-elf)
 	with_libffi_default=no
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/libjava/configure.in,v
retrieving revision 1.114.2.3
diff -u -p -r1.114.2.3 configure.in
--- configure.in	2002年03月10日 03:30:48	1.114.2.3
+++ configure.in	2002年03月21日 03:40:28
@@ -736,6 +736,7 @@ AC_SUBST(ZDEPS)
 AC_SUBST(ZINCS)
 AC_SUBST(DIVIDESPEC)
 AC_SUBST(EXCEPTIONSPEC)
+AC_SUBST(REFERENCESPEC)
 
 AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
 AM_CONDITIONAL(NULL_TARGET, test "$NULL_TARGET" = yes)
Index: libgcj.spec.in
===================================================================
RCS file: /cvs/gcc/gcc/libjava/libgcj.spec.in,v
retrieving revision 1.20
diff -u -p -r1.20 libgcj.spec.in
--- libgcj.spec.in	2001年08月01日 12:33:38	1.20
+++ libgcj.spec.in	2002年03月21日 03:40:28
@@ -6,4 +6,4 @@
 %rename lib liborig
 *lib: -lgcj -lm @LIBICONV@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) %(liborig)
 
-*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ -fkeep-inline-functions
+*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @REFERENCESPEC@ -fkeep-inline-functions


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /