Kaffe tests (was: Compiling kaffe-1.0.b3)

Parmelan, Edouard EP510777 at exchange.FRANCE.NCR.com
Fri Jan 15 10:00:24 PST 1999


> > What is your CPU for Solaris ?
> > sparc or i386
> Its a sparc.
Extract from ChangeLog after kaffe-1.0b3 (release on 8 Dec 1998)

Wed Jan 13 03:48:28 1999  Alexandre Oliva  <oliva at dcc.unicamp.br>

	* config/sparc/common.h (sysdepCallMethod): don't try to use the
	delay slot with a conditional expression, it's not worth it

Fri Dec 11 18:36:52 1998  Jason Baker  <jbaker at cs.utah.edu>

	* config/i386/common.h, config/sparc/common.h,
	kaffe/kaffevm/support.[ch]:  simplified sysdepCallMacro.
	Improved timing system.

> gendevfs1> kaffe WidgetsDemo
> illegal Graphics target: 1282797040
> illegal Graphics target: -4
> illegal Graphics target: 3904016
> illegal Graphics target: 8747928
> illegal Graphics target: 3904016
> illegal Graphics target: -268442824
> illegal Graphics target: -281650988
> illegal Graphics target: 2080
As "illegal Graphics target" is in a native method, and
the target type is one of his parameter this could explain
your problems [I'm note sure]

> > What is the thread system ?
> 	s%@THREAD_SYSTEM@%unix-jthreads%g
> Sorry for being a bit slow but how do I specify the thread system ? More
> importantly do they both work on Solaris ? I did initially have build
> problems using the "make" provided by Solaris. I then used "gmake" to
> the system and rebuild it without errors. 
Rerun configure with option --with-thread=unix-internal

Unfortunary, unix-internal is deprecated, Godmar remove it
from CVS tree yesterday.

I think you should try to make unix-jthread work for you.

Some revelants options are in config/sparc/*/*.

There are (for me) some stranges diffs for OSs and sparc:
  *bsd* define FLUSH_DCACHE() not the other OSs :(
  Oops, *bsd* redefine it, it is defined in config/sparc/jit.h
    for all sparc :)

Check if SP_OFFSET is correct for Solaris (the default value in
set to 1 in config/sparc/threads.h).  If it's not correct, redefine
it in config/sparc/solaris2/md.h (sunos4 use 2)

Howto check it ?
write a small prog that use setjmp and inspect values with gdb

#include <setbuf.h>
#include <string.h>
int main()
  jmp_buf jmp;

  memset(&jmp, 0x00, sizeof(jmp));
(gdb) break [line of setjmp]
(gdb) print /x jmp
(gdb) info registers
(gdb) next
(gdb) info registers
(gdb) print /x jmp

May be you also need save FP for sparc.

Hope this help.

More information about the kaffe mailing list