This is the mail archive of the java-patches@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]

PATCH: libjava FreeBSD configuration


OK, with this patch and the related GC patch (just posted under
separate cover), I now see only this expected set of 4 deterministic
failures (in both fully bootstrapped mainline and 3.1 trees on
i386-*-freebsd4.5):

FAIL: Throw_2 execution from source compiled test
FAIL: Throw_2 execution from bytecode->native test
FAIL: Throw_2 -O execution from source compiled test
FAIL: Throw_2 -O execution from bytecode->native test

And a varying small set of these non-deterministic failures:

WARNING: program timed out.
<random built executable>

There is no obvious correlation from one libjava `make check' to the
next regarding which exact test cases will get hit.  The most I have
seen is six out of 452 execution tests.  All three live cases I have
caught under gdb have this consistent backtrace (to look at it
further, I will need to rebuild the system ld-elf.so with debugging
enable):

#0  0x2804f92c in nanosleep () from /usr/libexec/ld-elf.so.1
#1  0x2804e4c6 in xprintf () from /usr/libexec/ld-elf.so.1
#2  0x2804d42b in dlopen () from /usr/libexec/ld-elf.so.1
#3  0x28422f22 in GC_dlopen (path=0x0, mode=257)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/boehm-gc/gc_dlopen.c:85
#4  0x28433a75 in sys_dl_open (loader_data=0x0, filename=0x0)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/libltdl/ltdl.c:296
#5  0x28433ff7 in tryall_dlopen (handle=0xbfbfe768, filename=0x0)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/libltdl/ltdl.c:937
#6  0x28435634 in lt_dlopen (filename=0x0)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/libltdl/ltdl.c:1316
#7  0x28328f7f in java::lang::Runtime::init() (this=0xf0)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/java/lang/natRuntime.cc:210
#8  0x2833bf4b in java.lang.Runtime.__U3c_clinit__U3e_() ()
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/java/lang/Runtime.java:139
#9  0x28324097 in java::lang::Class::initializeClass() (this=0x285634e0)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/java/lang/natClass.cc:779
#10 0x28443ac8 in _Jv_InitClass (klass=0xf0)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/java/lang/Class.h:248
#11 0x2833be17 in java.lang.Runtime.getRuntime() ()
#12 0x2830ca10 in _Jv_RunMain(java::lang::Class*, char const*, int, char const**, bool) (klass=0x8049f40, name=0x0, argc=1, argv=0xbfbfe904, is_jar=false)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/prims.cc:986
#13 0x2830cb82 in JvRunMain (klass=0x8049f40, argc=1, argv=0xbfbfe904)
    at /usr/users/rittle/outside-cvs-src/gcc-3.1/libjava/prims.cc:1020
#14 0x08048b61 in main (argc=1, argv=0xbfbfe904) at /var/tmp/ccRQQhDh.i:11
#15 0x08048a8f in _start (arguments=0xbfbfea90 "./overload")
    at /usr/src/lib/csu/i386-elf/crt1.c:96

(these random startup hangs were also seen before the GC patch with
the exact same backtrace thus I conclude that it is an independent
issue to be fixed if possible before the gcc 3.1 release)

Permission to apply to mainline?  Since it is a self-contained
configuration patch which affects only one port and improves it over
the generic per-CPU configuration, permission to apply to 3.1 branch
as well?

Regards,
Loren

Index: libjava/configure.host
===================================================================
RCS file: /cvs/gcc/gcc/libjava/configure.host,v
retrieving revision 1.23.2.4
diff -c -r1.23.2.4 configure.host
*** configure.host	2002/03/27 16:40:25	1.23.2.4
--- configure.host	2002/04/03 13:30:03
***************
*** 71,76 ****
--- 71,84 ----
   	enable_java_net_default=no
   	enable_getenv_properties_default=no
  	;;
+   i686-*-freebsd*|i586-*-freebsd*|i486-*-freebsd*|i386-*-freebsd*)
+         sysdeps_dir=i386
+         libgcj_flags="${libgcj_flags} -ffloat-store"
+         libgcj_interpreter=yes
+         enable_hash_synchronization_default=yes
+         DIVIDESPEC=-fuse-divide-subroutine
+         CHECKREFSPEC=-fcheck-references
+         ;;
    i686-*|i586-*|i486-*|i386-*)
  	sysdeps_dir=i386
  	libgcj_flags="${libgcj_flags} -ffloat-store"
***************
*** 81,86 ****
--- 89,102 ----
  	enable_hash_synchronization_default=yes
  	slow_pthread_self=yes
  	;;
+   alpha*-*-freebsd*)
+         sysdeps_dir=alpha
+         libgcj_flags="${libgcj_flags} -mieee"
+         libgcj_interpreter=yes
+         enable_hash_synchronization_default=yes
+         DIVIDESPEC=-fuse-divide-subroutine
+         CHECKREFSPEC=-fcheck-references
+         ;;
    alpha*-*)
  	sysdeps_dir=alpha
  	libgcj_flags="${libgcj_flags} -mieee"


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