Hi, Riccardo could you try this diff on solaris/usparc ? It is against the latest CVS.
Cheers, Guilhem. P.S.: It seems that on solaris rlim_max may be bigger than infinity...
Index: thread.c =================================================================== RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/thread.c,v retrieving revision 1.62 diff -u -r1.62 thread.c --- thread.c 22 Apr 2004 08:13:56 -0000 1.62 +++ thread.c 22 Apr 2004 14:57:00 -0000 @@ -714,14 +714,14 @@ * Since everything is stored in the threadData struct now, we can simply * attach a faked java.lang.Thread instance later on. */ -#ifdef HAVE_GETRLIMIT +#if defined(HAVE_GETRLIMIT) { struct rlimit rl; if (getrlimit(RLIMIT_STACK, &rl) < 0) stackSize = MAINSTACKSIZE; else - stackSize = (rl.rlim_max == RLIM_INFINITY) ? rl.rlim_cur : rl.rlim_max; + stackSize = (rl.rlim_max >= RLIM_INFINITY) ? rl.rlim_cur : rl.rlim_max; } #else stackSize = MAINSTACKSIZE;