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