This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libjava status on Tru64 UNIX V5.1


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]