kaffe-0.10.0 on SunOS 4

Kiyo Inaba inaba at src.ricoh.co.jp
Thu May 14 19:21:33 PDT 1998


Finally, I can make kaffe-0.10.0 work on Sparc/SunOS4. Detailed
working configuration is,
	CPU: Sparc
	OS: SunOS 4.1.4
	CC: gcc 2.7.0
	Make: gmake 3.62

Following patches will correct,
1) wrong SP offset in SunOS4
2) missing prototype definitions
3) += directive use in COMMON definition
	it does not work in gmake 3.62.

I've tested this with jit/intrp with dynamic lib, and now trying
to fix problem for static lib. Because my final target is to use
kaffe on Mips/BSD and m68k/SunOS4...

Kiyo

diff -cr kaffe-0.10.0/config/sparc/sunos4/md.h kaffe-0.10.0-release/config/sparc/sunos4/md.h
*** kaffe-0.10.0/config/sparc/sunos4/md.h	Tue Mar 31 03:59:50 1998
--- kaffe-0.10.0-release/config/sparc/sunos4/md.h	Fri May 15 02:24:50 1998
***************
*** 15,22 ****
--- 15,49 ----
  #include "sparc/common.h"
  #include "sparc/threads.h"
  
+ /*
+  * Redefine stack pointer offset.
+  */
+ #undef  SP_OFFSET
+ #define SP_OFFSET       2
+ 
  #if defined(TRANSLATOR)
  #include "jit-md.h"
  #endif
+ 
+ /*
+  * <sjg> SunOS does not have prototypes which we need...
+  */
+ #ifndef __P
+ #if defined(__STDC__) || defined(__cplusplus)
+ #define __P(p)     p
+ #else
+ #define __P(p)     ()
+ #endif
+ #endif
+ 
+ int   rename __P((char *, char *));
+ int   remove __P((char *));
+ int   sendto __P((int, char *, int, int, struct sockaddr *, int));
+ int   socket __P((int, int, int));
+ int   setsockopt __P((int, int, int, char *, int *));
+ int   getsockopt __P((int, int, int, char *, int));
+ int   getsockname __P((int, struct sockaddr *, int *));
+ int   getpeername __P((int, struct sockaddr *, int *));
+ int   select __P((int, fd_set *, fd_set *, fd_set *, struct timeval *));
  
  #endif
diff -cr kaffe-0.10.0/kaffe/kaffevm/Makefile.in kaffe-0.10.0-release/kaffe/kaffevm/Makefile.in
*** kaffe-0.10.0/kaffe/kaffevm/Makefile.in	Tue Mar 31 03:59:52 1998
--- kaffe-0.10.0-release/kaffe/kaffevm/Makefile.in	Fri May 15 01:48:15 1998
***************
*** 66,72 ****
  #
  # Use internal threads
  #
! COMMON+=	internal$(OBJEXT) \
  		internalCalls$(OBJEXT)
  
  
--- 66,72 ----
  #
  # Use internal threads
  #
! THREAD=		internal$(OBJEXT) \
  		internalCalls$(OBJEXT)
  
  
***************
*** 76,82 ****
  @cpu_frag@
  @cpu_os_frag@
  
! OBJECT=		$(COMMON) $(ENGINE_OBJECTS) $(CPU_OBJECTS) $(CPUOS_OBJECTS)
  
  mkkaffevm:	$(LLIB)
  
--- 76,82 ----
  @cpu_frag@
  @cpu_os_frag@
  
! OBJECT=		$(COMMON) $(THREAD) $(ENGINE_OBJECTS) $(CPU_OBJECTS) $(CPUOS_OBJECTS)
  
  mkkaffevm:	$(LLIB)
  


More information about the kaffe mailing list