Patches to build kaffe 0.9.2 with HP's CC (NOT GCC!) on HP-UX 10.20/PA-RISC.

Yuji Nimura nimura at arc.isl.melco.co.jp
Mon Nov 24 18:10:46 PST 1997


This is a report about 6 patches to build kaffe 0.9.2 with HP's CC
(NOT GCC!) on HP-UX 10.20/PA-RISC.

With patch.nosharedlib, patch.nosharedlib.tim and patches below,
kaffe 0.9.2 on HP-UX 10.20/PA-RISC passed all tests in
kaffe-0.9.2/test.

Yuji Nimura (nimura at arc.isl.melco.co.jp)
-------------------------------------------------------------------
<summry>

1)kaffe-0.9.2/packages/tjwassoc.co.uk/APIcore/lib/java.lang/String.c:
  HP-CC stops for lack of symbol references. 
   => include config.h and config-std.h additionally.

2)kaffe-0.9.2/packages/tjwassoc.co.uk/APIcore/lib/Makefile.in
  HP-Make does not build object files with wrong rule.
   => delete last backslash of OBJECT.UTIL definition.

3)kaffe-0.9.2/include/Arrays.h
  HP-CC stops for that the array size is 0.
  # It said the array size must be greater than 0.
   => change the size of array to 1.
      # I know this is ad-hoc but I have no smart idea to fix.

4)kaffe-0.9.2/kaffe/kaffevm/thread-internal.h
  Same as above.

5)kaffe-0.9.2/config/parisc/threads.h
  1. HP-CC stops for wrong MACRO definition(lack of backslash at the
     end of line to continue next line.).
     => add a backslash to connect lines of THREADINFO(ee) definition.
  2. The compiler may not support __asm__().
     => use parisc_get_sp() in threads.s instead of __asm__().

6)kaffe-0.9.2/kaffe/kaffevm/Makefile.in
     => change rule to not build md.o.

-------------------------------------------------------------------
<patches>

== kaffe-0.9.2/packages/tjwassoc.co.uk/APIcore/lib/java.lang/String.c ==
*** /var/tmp/,RCSt1a19939	Wed Nov 19 15:48:26 1997
--- String.c	Wed Nov 19 13:05:29 1997
***************
*** 9,14
   * Written by Tim Wilkinson <tim at tjwassoc.co.uk>
   */
  
  #include <native.h>
  
  extern Hjava_lang_String* internJavaString(Hjava_lang_String*);

--- 9,16 -----
   * Written by Tim Wilkinson <tim at tjwassoc.co.uk>
   */
  
+ #include "config.h"
+ #include "config-std.h"
  #include <native.h>
  
  extern Hjava_lang_String* internJavaString(Hjava_lang_String*);
========================================================================

====== kaffe-0.9.2/packages/tjwassoc.co.uk/APIcore/lib/Makefile.in =====
*** /var/tmp/,RCSt1a19966	Wed Nov 19 15:49:28 1997
--- Makefile.in	Wed Nov 19 13:39:27 1997
***************
*** 96,102
  
  OBJECT.UTIL=\
  		ResourceBundleStub$(OBJEXT) \
! 		ResourceBundle$(OBJEXT) \
  
  OBJECT=		$(OBJECT.LANG) $(OBJECT.LANG.REFLECT) $(OBJECT.IO) \
  		$(OBJECT.UTIL)

--- 96,102 -----
  
  OBJECT.UTIL=\
  		ResourceBundleStub$(OBJEXT) \
! 		ResourceBundle$(OBJEXT)
  
  OBJECT=		$(OBJECT.LANG) $(OBJECT.LANG.REFLECT) $(OBJECT.IO) \
  		$(OBJECT.UTIL)
========================================================================

=========== kaffe-0.9.2/include/Arrays.h ==============================
*** /var/tmp/,RCSt1a19902	Wed Nov 19 15:42:28 1997
--- Arrays.h	Wed Nov 19 12:50:11 1997
***************
*** 15,21
  
  #define ARRAY_FIELDS \
  	unsigned int		length;	\
! 	double			align[0]
  
  struct Array {
  	Hjava_lang_Object	base;

--- 15,21 -----
  
  #define ARRAY_FIELDS \
  	unsigned int		length;	\
! 	double			align[1]
  
  struct Array {
  	Hjava_lang_Object	base;
========================================================================

=============== kaffe-0.9.2/kaffe/kaffevm/thread-internal.h ============
*** /var/tmp/,RCSt1a19908	Wed Nov 19 15:44:10 1997
--- thread-internal.h	Wed Nov 19 12:53:26 1997
***************
*** 33,39
  	void				(*func)(void);
  	jmp_buf				env;
  	/* for alignment (Gcc extension) */
! 	double				align[0];
  } ctx;
  
  extern struct Hjava_lang_Thread* liveThreads;

--- 33,39 -----
  	void				(*func)(void);
  	jmp_buf				env;
  	/* for alignment (Gcc extension) */
! 	double				align[1];
  } ctx;
  
  extern struct Hjava_lang_Thread* liveThreads;
========================================================================

=============== kaffe-0.9.2/config/parisc/threads.h ====================
*** /var/tmp/,RCSt1a19925	Wed Nov 19 15:46:27 1997
--- threads.h	Wed Nov 19 12:52:24 1997
***************
*** 38,44
  		(to)->restorePoint = (void *)regstore;			\
  	} while (0)
  
! #define THREADINFO(ee)
          do {                                                            \
                  register uint8 *sp __asm__("%r30");                     \
                  (ee)->restorePoint = NULL;                              \

--- 38,44 -----
  		(to)->restorePoint = (void *)regstore;			\
  	} while (0)
  
! #define THREADINFO(ee)							\
          do {                                                            \
                  register uint8 *sp = parisc_get_sp("%r30");             \
                  (ee)->restorePoint = NULL;                              \
***************
*** 40,46
  
  #define THREADINFO(ee)
          do {                                                            \
!                 register uint8 *sp __asm__("%r30");                     \
                  (ee)->restorePoint = NULL;                              \
                  (ee)->stackBase = sp;                                   \
                  (ee)->stackEnd = sp + threadStackSize;                  \

--- 40,46 -----
  
  #define THREADINFO(ee)							\
          do {                                                            \
!                 register uint8 *sp = parisc_get_sp("%r30");             \
                  (ee)->restorePoint = NULL;                              \
                  (ee)->stackBase = sp;                                   \
                  (ee)->stackEnd = sp + threadStackSize;                  \
========================================================================

=============== kaffe-0.9.2/kaffe/kaffevm/Makefile.in ==================
*** /var/tmp/,RCSt1a24438	Tue Nov 25 10:56:02 1997
--- Makefile.in	Wed Nov 19 12:57:24 1997
***************
*** 61,68
  		verify$(OBJEXT) \
  		code-analyse$(OBJEXT) \
  		exception$(OBJEXT) \
! 		stackTrace$(OBJEXT) \
! 		md$(OBJEXT)
  
  all:		mkkaffevm
  

--- 61,68 -----
  		verify$(OBJEXT) \
  		code-analyse$(OBJEXT) \
  		exception$(OBJEXT) \
! 		stackTrace$(OBJEXT)
! #		md$(OBJEXT)
  
  all:		mkkaffevm
  
========================================================================



More information about the kaffe mailing list