[kaffe] CVS kaffe (dalibor): Moved config/superh to config/sh
Kaffe CVS
cvs-commits at kaffe.org
Wed Jul 14 09:18:38 PDT 2004
PatchSet 4969
Date: 2004/07/14 14:37:28
Author: dalibor
Branch: HEAD
Tag: (none)
Log:
Moved config/superh to config/sh
2004-07-13 Dalibor Topic <robilad at kaffe.org>
* config/superh: Moved over to
* config/sh: new directory.
* Makefile.am:
(EXTRA_DIST) Removed superh patch.
* Makefile.in:
Regenerated.
* FAQ/FAQ.cross-compiling:
Removed extra secion on superh.
* config/Makefile.am:
(EXTRA_DIST) Renamed superh files to begin with sh.
* config/Makefile.in:
Regenerated.
* config/config.alias,
config/superh/common.h,
config/superh/sysdepCallMethod.h,
config/superh/threads.h,
config/superh/trampolines.c,
config/superh/linux/config.frag,
config/superh/linux/md.c,
config/superh/linux/md.h:
Use sh instead of superh.
* developers/autogen.sh:
Removed superh patch.
* libltdl/config.sub,
scripts/config.sub:
Rengenerated.
Members:
ChangeLog:1.2533->1.2534
Makefile.am:1.71->1.72
Makefile.in:1.167->1.168
FAQ/FAQ.cross-compiling:1.1->1.2
config/Makefile.am:1.46->1.47
config/Makefile.in:1.143->1.144
config/config.alias:1.19->1.20
config/sh/common.h:INITIAL->1.1
config/sh/sysdepCallMethod.h:INITIAL->1.1
config/sh/threads.h:INITIAL->1.1
config/sh/trampolines.c:INITIAL->1.1
config/sh/linux/config.frag:INITIAL->1.1
config/sh/linux/md.c:INITIAL->1.1
config/sh/linux/md.h:INITIAL->1.1
config/superh/common.h:1.3->1.4(DEAD)
config/superh/sysdepCallMethod.h:1.2->1.3(DEAD)
config/superh/threads.h:1.1->1.2(DEAD)
config/superh/trampolines.c:1.2->1.3(DEAD)
config/superh/linux/config.frag:1.1->1.2(DEAD)
config/superh/linux/md.c:1.1->1.2(DEAD)
config/superh/linux/md.h:1.4->1.5(DEAD)
developers/autogen.sh:1.42->1.43
developers/patch-config.sub-superh.diff:1.2->1.3(DEAD)
libltdl/config.sub:1.9->1.10
scripts/config.sub:1.4->1.5
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.2533 kaffe/ChangeLog:1.2534
--- kaffe/ChangeLog:1.2533 Wed Jul 14 12:55:28 2004
+++ kaffe/ChangeLog Wed Jul 14 14:37:28 2004
@@ -1,5 +1,42 @@
2004-07-13 Dalibor Topic <robilad at kaffe.org>
+ * config/superh: Moved over to
+ * config/sh: new directory.
+
+ * Makefile.am:
+ (EXTRA_DIST) Removed superh patch.
+
+ * Makefile.in:
+ Regenerated.
+
+ * FAQ/FAQ.cross-compiling:
+ Removed extra secion on superh.
+
+ * config/Makefile.am:
+ (EXTRA_DIST) Renamed superh files to begin with sh.
+
+ * config/Makefile.in:
+ Regenerated.
+
+ * config/config.alias,
+ config/superh/common.h,
+ config/superh/sysdepCallMethod.h,
+ config/superh/threads.h,
+ config/superh/trampolines.c,
+ config/superh/linux/config.frag,
+ config/superh/linux/md.c,
+ config/superh/linux/md.h:
+ Use sh instead of superh.
+
+ * developers/autogen.sh:
+ Removed superh patch.
+
+ * libltdl/config.sub,
+ scripts/config.sub:
+ Rengenerated.
+
+2004-07-13 Dalibor Topic <robilad at kaffe.org>
+
* libraries/javalib/gnu/classpath/Configuration.java
(default_awt_toolkit): Added new field for classpath AWT.
Index: kaffe/Makefile.am
diff -u kaffe/Makefile.am:1.71 kaffe/Makefile.am:1.72
--- kaffe/Makefile.am:1.71 Sat Jul 10 09:30:12 2004
+++ kaffe/Makefile.am Wed Jul 14 14:37:30 2004
@@ -109,7 +109,6 @@
developers/mauve-html-gen.pl \
developers/mauve-kaffe \
developers/mauve-results.sh \
- developers/patch-config.sub-superh.diff \
developers/patch-libtool-quote-sys_search_path.diff \
developers/rpm-kaffe.spec \
developers/sp_offset.c \
Index: kaffe/Makefile.in
diff -u kaffe/Makefile.in:1.167 kaffe/Makefile.in:1.168
--- kaffe/Makefile.in:1.167 Mon Jul 12 17:51:04 2004
+++ kaffe/Makefile.in Wed Jul 14 14:37:31 2004
@@ -450,7 +450,6 @@
developers/mauve-html-gen.pl \
developers/mauve-kaffe \
developers/mauve-results.sh \
- developers/patch-config.sub-superh.diff \
developers/patch-libtool-quote-sys_search_path.diff \
developers/rpm-kaffe.spec \
developers/sp_offset.c \
Index: kaffe/FAQ/FAQ.cross-compiling
diff -u kaffe/FAQ/FAQ.cross-compiling:1.1 kaffe/FAQ/FAQ.cross-compiling:1.2
--- kaffe/FAQ/FAQ.cross-compiling:1.1 Wed Jun 4 09:45:45 2003
+++ kaffe/FAQ/FAQ.cross-compiling Wed Jul 14 14:37:33 2004
@@ -106,17 +106,6 @@
library issue, but I usually specify these too to reduce the time needed
for build.
-Super-H
-=======
-Usually, cross-tools suffix and host name needed for kaffe is same.
-But in case of Hitachi Super-H family, these are different. So in
-this case you have to specify
- CC=sh3-linux-gcc NM=sh3-linux-nm AR=sh3-linux-ar \
- ../kaffe-1.1.0/configure --host=superh-linux --build=i686-linux \
- --with-staticbin --with-staticlib --with-staticvm \
- --with-threads=unix-jthreads --without-x \
- --with-rt-jar=/tmp/rt.jar
-
So where's cross tools?
=======================
One of the hardest thing for cross-compiling kaffe should be this. If
Index: kaffe/config/Makefile.am
diff -u kaffe/config/Makefile.am:1.46 kaffe/config/Makefile.am:1.47
--- kaffe/config/Makefile.am:1.46 Mon Jul 12 16:34:38 2004
+++ kaffe/config/Makefile.am Wed Jul 14 14:37:33 2004
@@ -354,13 +354,13 @@
sparc/uxpds/jit-md.h \
sparc/uxpds/md.c \
sparc/uxpds/md.h \
- superh/common.h \
- superh/linux/config.frag \
- superh/linux/md.c \
- superh/linux/md.h \
- superh/sysdepCallMethod.h \
- superh/threads.h \
- superh/trampolines.c
+ sh/common.h \
+ sh/linux/config.frag \
+ sh/linux/md.c \
+ sh/linux/md.h \
+ sh/sysdepCallMethod.h \
+ sh/threads.h \
+ sh/trampolines.c
jit-md.h: stamp-h01
@if test ! -f $@; then rm -f stamp-h01; $(MAKE) stamp-h01; \
Index: kaffe/config/Makefile.in
diff -u kaffe/config/Makefile.in:1.143 kaffe/config/Makefile.in:1.144
--- kaffe/config/Makefile.in:1.143 Mon Jul 12 17:51:19 2004
+++ kaffe/config/Makefile.in Wed Jul 14 14:37:33 2004
@@ -663,13 +663,13 @@
sparc/uxpds/jit-md.h \
sparc/uxpds/md.c \
sparc/uxpds/md.h \
- superh/common.h \
- superh/linux/config.frag \
- superh/linux/md.c \
- superh/linux/md.h \
- superh/sysdepCallMethod.h \
- superh/threads.h \
- superh/trampolines.c
+ sh/common.h \
+ sh/linux/config.frag \
+ sh/linux/md.c \
+ sh/linux/md.h \
+ sh/sysdepCallMethod.h \
+ sh/threads.h \
+ sh/trampolines.c
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -781,7 +781,7 @@
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/alpha $(distdir)/alpha/linux $(distdir)/alpha/netbsd1 $(distdir)/alpha/osf $(distdir)/arm $(distdir)/arm/linux $(distdir)/arm/netbsd1 $(distdir)/arm/riscos $(distdir)/i386 $(distdir)/i386/beos $(distdir)/i386/bsdi $(distdir)/i386/cygwin32 $(distdir)/i386/dgux $(distdir)/i386/freebsd2 $(distdir)/i386/gnu $(distdir)/i386/linux $(distdir)/i386/netbsd1 $(distdir)/i386/nextstep3 $(distdir)/i386/openbsd2 $(distdir)/i386/oskit $(distdir)/i386/qnx $(distdir)/i386/sco3.2v5 $(distdir)/i386/solaris2 $(distdir)/i386/univel_svr4 $(distdir)/i386/win32 $(distdir)/ia64 $(distdir)/ia64/linux $(distdir)/m68k $(distdir)/m68k/a-ux $(distdir)/m68k/amigaos $(distdir)/m68k/linux $(distdir)/m68k/netbsd1 $(distdir)/m68k/nextstep3 $(distdir)/m68k/openbsd2 $(distdir)/m68k/sunos4 $(distdir)/mips $(distdir)/mips/irix5 $(distdir)/mips/linux $(distdir)/mips/netbsd1 $(distdir)/mips/ultrix4 $(distdir)/parisc $(distdir)/parisc/hpux $(distdir)/parisc/linux $(distdir)/powerpc $(distdir)/powerpc/aix $(distdir)/powerpc/darwin $(distdir)/powerpc/linux $(distdir)/powerpc/machten $(distdir)/powerpc/netbsd1 $(distdir)/s390 $(distdir)/s390/linux $(distdir)/sparc $(distdir)/sparc/bsdi3 $(distdir)/sparc/linux $(distdir)/sparc/netbsd1 $(distdir)/sparc/nextstep3 $(distdir)/sparc/openbsd2 $(distdir)/sparc/solaris2 $(distdir)/sparc/sunos4 $(distdir)/sparc/uxpds $(distdir)/superh $(distdir)/superh/linux $(distdir)/x86_64 $(distdir)/x86_64/linux
+ $(mkdir_p) $(distdir)/alpha $(distdir)/alpha/linux $(distdir)/alpha/netbsd1 $(distdir)/alpha/osf $(distdir)/arm $(distdir)/arm/linux $(distdir)/arm/netbsd1 $(distdir)/arm/riscos $(distdir)/i386 $(distdir)/i386/beos $(distdir)/i386/bsdi $(distdir)/i386/cygwin32 $(distdir)/i386/dgux $(distdir)/i386/freebsd2 $(distdir)/i386/gnu $(distdir)/i386/linux $(distdir)/i386/netbsd1 $(distdir)/i386/nextstep3 $(distdir)/i386/openbsd2 $(distdir)/i386/oskit $(distdir)/i386/qnx $(distdir)/i386/sco3.2v5 $(distdir)/i386/solaris2 $(distdir)/i386/univel_svr4 $(distdir)/i386/win32 $(distdir)/ia64 $(distdir)/ia64/linux $(distdir)/m68k $(distdir)/m68k/a-ux $(distdir)/m68k/amigaos $(distdir)/m68k/linux $(distdir)/m68k/netbsd1 $(distdir)/m68k/nextstep3 $(distdir)/m68k/openbsd2 $(distdir)/m68k/sunos4 $(distdir)/mips $(distdir)/mips/irix5 $(distdir)/mips/linux $(distdir)/mips/netbsd1 $(distdir)/mips/ultrix4 $(distdir)/parisc $(distdir)/parisc/hpux $(distdir)/parisc/linux $(distdir)/powerpc $(distdir)/powerpc/aix $(distdir)/powerpc/darwin $(distdir)/powerpc/linux $(distdir)/powerpc/machten $(distdir)/powerpc/netbsd1 $(distdir)/s390 $(distdir)/s390/linux $(distdir)/sh $(distdir)/sh/linux $(distdir)/sparc $(distdir)/sparc/bsdi3 $(distdir)/sparc/linux $(distdir)/sparc/netbsd1 $(distdir)/sparc/nextstep3 $(distdir)/sparc/openbsd2 $(distdir)/sparc/solaris2 $(distdir)/sparc/sunos4 $(distdir)/sparc/uxpds $(distdir)/x86_64 $(distdir)/x86_64/linux
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
Index: kaffe/config/config.alias
diff -u kaffe/config/config.alias:1.19 kaffe/config/config.alias:1.20
--- kaffe/config/config.alias:1.19 Tue Jul 6 13:17:23 2004
+++ kaffe/config/config.alias Wed Jul 14 14:37:33 2004
@@ -14,7 +14,7 @@
sparc*) Khost_cpu=sparc ;;
powerpc*) Khost_cpu=powerpc ;;
s390*) Khost_cpu=s390 ;;
-sh[34]*) Khost_cpu=superh ;;
+sh[34]*) Khost_cpu=sh ;;
esac
===================================================================
Checking out kaffe/config/sh/common.h
RCS: /home/cvs/kaffe/kaffe/config/sh/common.h,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/config/sh/common.h Wed Jul 14 16:18:36 2004
@@ -0,0 +1,43 @@
+/*
+ * sh/common.h
+ * Common Super-H configuration information.
+ *
+ * Copyright (c) 2001
+ * Transvirtual Technologies, Inc. All rights reserved.
+ *
+ * Copyright (c) 2003
+ * Kaffe.org contributors. See ChangeLog for details.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
+#if !defined(__sh_common_h)
+#define __sh_common_h
+
+/* The SuperH never aligns to more than a 4 byte boundary. */
+#define ALIGNMENT_OF_SIZE(S) ((S) < 4 ? (S) : 4)
+
+#include <stddef.h>
+
+/*
+ * Do an atomic compare and exchange. The address 'A' is checked against
+ * value 'O' and if they match it's exchanged with value 'N'.
+ * We return '1' if the exchange is sucessful, otherwise 0.
+ *
+ * Copied from "config/mips/common.h".
+ */
+#define COMPARE_AND_EXCHANGE(A,O,N) \
+({ \
+ int ret = 0; \
+ jthread_suspendall(); \
+ \
+ if (*(A) == (O)) { \
+ *(A) = (N); \
+ ret = 1; \
+ } \
+ jthread_unsuspendall(); \
+ ret; \
+})
+
+#endif /* !defined(__sh_common_h) */
===================================================================
Checking out kaffe/config/sh/sysdepCallMethod.h
RCS: /home/cvs/kaffe/kaffe/config/sh/sysdepCallMethod.h,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/config/sh/sysdepCallMethod.h Wed Jul 14 16:18:36 2004
@@ -0,0 +1,86 @@
+/*
+ * sh/sysdepCallMethod.h
+ * Common sysdepCallMethod for Super-H.
+ *
+ * Copyright (c) 2001
+ * Transvirtual Technologies, Inc. All rights reserved.
+ *
+ * Copyright (c) 2003
+ * Kaffe.org contributors. See ChangeLog for details.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
+#if ! defined(__sh_sysdepCallMethod_h)
+#define __sh_sysdepCallMethod_h
+
+#include "support.h"
+
+static inline void sysdepCallMethod(callMethodInfo *call) ALWAYS_INLINE;
+
+static inline void sysdepCallMethod(callMethodInfo *call)
+{
+ int extraargs[((call)->nrargs>4)?((call)->nrargs-4):0];
+ switch((call)->nrargs) {
+ register int r0 asm("r4");
+ register int r1 asm("r5");
+ register int r2 asm("r6");
+ register int r3 asm("r7");
+ default:
+ {
+ int *args = extraargs;
+ int argidx = 4;
+ if ((call)->callsize[3] == 2) args++;
+ for(; argidx < (call)->nrargs; ++argidx) {
+ if ((call)->callsize[argidx]) {
+ *args++ = (call)->args[argidx].i;
+ if ((call)->callsize[argidx] == 2)
+ *args++ = ((call)->args[argidx].j) >> 32;
+ }
+ }
+ }
+ case 4:
+ if ((call)->callsize[3]) {
+ r3 = (call)->args[3].i;
+ if ((call)->callsize[3] == 2)
+ *extraargs = ((call)->args[3].j) >> 32;
+ }
+ case 3:
+ if ((call)->callsize[2]) {
+ r2 = (call)->args[2].i;
+ if ((call)->callsize[2] == 2)
+ r3 = ((call)->args[2].j) >> 32;
+ }
+ case 2:
+ if ((call)->callsize[1]) {
+ r1 = (call)->args[1].i;
+ if ((call)->callsize[1] == 2)
+ r2 = ((call)->args[1].j) >> 32;
+ }
+ case 1:
+ if ((call)->callsize[0]) {
+ r0 = (call)->args[0].i;
+ if ((call)->callsize[0] == 2)
+ r1 = ((call)->args[0].j) >> 32;
+ }
+ case 0:
+ asm volatile ("jsr @%2 ; nop ; mov r0,r4 ; mov r1,r5\n"
+ : "=r" (r0), "=r" (r1)
+ : "r" ((call)->function),
+ "0" (r0), "1" (r1), "r" (r2), "r" (r3)
+ : "r14"
+ );
+ switch((call)->rettype) {
+ case 'D':
+ case 'J':
+ (&(call)->ret->i)[1] = r1;
+ /* follow through */
+ default:
+ (call)->ret->i = r0;
+ }
+ break;
+ }
+}
+
+#endif /* ! defined(__sh_sysdepCallMethod_h) */
===================================================================
Checking out kaffe/config/sh/threads.h
RCS: /home/cvs/kaffe/kaffe/config/sh/threads.h,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/config/sh/threads.h Wed Jul 14 16:18:36 2004
@@ -0,0 +1,34 @@
+/*
+ * sh/threads.h
+ * Super-H threading information.
+ *
+ * Copyright (c) 2001
+ * Transvirtual Technologies, Inc. All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
+#if ! defined(__sh_threads_h)
+#define __sh_threads_h
+
+/**/
+/* Thread handling */
+/**/
+#define USE_INTERNAL_THREADS
+
+/*
+ * Set a default size for the stack.
+ */
+#if !defined(THREADSTACKSIZE)
+#if defined(INTERPRETER)
+#define THREADSTACKSIZE (128 * 1024)
+#else
+#define THREADSTACKSIZE (64 * 1024)
+#endif
+#endif
+
+#define FP_OFFSET 6
+#define SP_OFFSET 7
+
+#endif /* ! defined(__sh_threads_h) */
===================================================================
Checking out kaffe/config/sh/trampolines.c
RCS: /home/cvs/kaffe/kaffe/config/sh/trampolines.c,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/config/sh/trampolines.c Wed Jul 14 16:18:36 2004
@@ -0,0 +1,60 @@
+/*
+ * sh/trampolines.c
+ * Super-H trampolines codes for various occasions.
+ *
+ * Copyright (c) 1996, 1997
+ * Transvirtual Technologies, Inc. All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
+#if defined(TRAMPOLINE_FUNCTION)
+/*
+ * If we have an explit function defined then use that.
+ */
+TRAMPOLINE_FUNCTION()
+
+#else
+/*
+ * Otherwise we'll try to construct one.
+ */
+#if !defined(START_ASM_FUNC)
+#define START_ASM_FUNC() ".text\n\t.align 4\n\t.global "
+#endif
+#if !defined(END_ASM_FUNC)
+#define END_ASM_FUNC() ""
+#endif
+#if defined(HAVE_UNDERSCORED_C_NAMES)
+#define C_FUNC_NAME(FUNC) "_" #FUNC
+#else
+#define C_FUNC_NAME(FUNC) #FUNC
+#endif
+
+asm(
+ START_ASM_FUNC() C_FUNC_NAME(sh_do_fixup_trampoline) " \n"
+C_FUNC_NAME(sh_do_fixup_trampoline) ": \n"
+" mov.l r4, at -r15 \n"
+" mov.l r5, at -r15 \n"
+" mov.l r6, at -r15 \n"
+" mov.l r7, at -r15 \n"
+" mov.l r1, at -r15 \n"
+" sts pr,r4 \n"
+" mov.l .L99999,r0 \n"
+" jsr @r0 \n"
+" nop \n"
+" lds.l @r15+,pr \n"
+" mov.l @r15+,r7 \n"
+" mov.l @r15+,r6 \n"
+" mov.l @r15+,r5 \n"
+" mov.l @r15+,r4 \n"
+" jmp @r0 \n"
+" nop \n"
+" .align 2 \n"
+".L99999: \n"
+" .long " C_FUNC_NAME(soft_fixup_trampoline) " \n"
+" \n"
+ END_ASM_FUNC()
+);
+
+#endif
===================================================================
Checking out kaffe/config/sh/linux/config.frag
RCS: /home/cvs/kaffe/kaffe/config/sh/linux/config.frag,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/config/sh/linux/config.frag Wed Jul 14 16:18:36 2004
@@ -0,0 +1,25 @@
+#
+# sh/Linux configuration.
+#
+# Written by Kiyo Inaba <k-inaba at mxb.mesh.ne.jp>, 2002;
+# to support cross compilation and endian.
+#
+Khost_cpu=sh
+Khost_os=linux
+CFLAGS="-g"
+if [ "$cross_compiling" = yes ]; then
+# In cross environment, following values may not be detected automatically.
+ ac_cv_alignmentof_voidp=${ac_cv_alignmentof_voidp='4'}
+ ac_cv_sizeof___int64=${ac_cv_sizeof___int64='0'}
+ ac_cv_sizeof_int=${ac_cv_sizeof_int='4'}
+ ac_cv_sizeof_long=${ac_cv_sizeof_long='4'}
+ ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long='8'}
+ ac_cv_sizeof_short=${ac_cv_sizeof_short='2'}
+ ac_cv_sizeof_voidp=${ac_cv_sizeof_voidp='4'}
+# Endian can be set by check the name of compiler, ugly?
+ if [ "$CC" = 'sh3eb-linux-gcc' ]; then
+ ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
+ else
+ ac_cv_c_bigendian=${ac_cv_c_bigendian='no'}
+ fi
+fi
===================================================================
Checking out kaffe/config/sh/linux/md.c
RCS: /home/cvs/kaffe/kaffe/config/sh/linux/md.c,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/config/sh/linux/md.c Wed Jul 14 16:18:36 2004
@@ -0,0 +1,10 @@
+/*
+ * sh/linux/md.c
+ * Linux SuperH specific functions.
+ *
+ * Copyright (c) 2001
+ * Transvirtual Technologies, Inc. All rights reserved.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
===================================================================
Checking out kaffe/config/sh/linux/md.h
RCS: /home/cvs/kaffe/kaffe/config/sh/linux/md.h,v
VERS: 1.1
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/config/sh/linux/md.h Wed Jul 14 16:18:36 2004
@@ -0,0 +1,53 @@
+/*
+ * sh/linux/md.h
+ * Linux SuperH configuration information.
+ *
+ * Copyright (c) 2001
+ * Transvirtual Technologies, Inc. All rights reserved.
+ *
+ * Copyright (c) 2003
+ * Kaffe.org contributors. See ChangeLog for details.
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file.
+ */
+
+#if ! defined(__sh_linux_md_h)
+#define __sh_linux_md_h
+
+#include "sh/common.h"
+#include "sh/sysdepCallMethod.h"
+#include "sh/threads.h"
+
+#if defined(TRANSLATOR)
+#include "jit-md.h"
+#endif
+
+#define EXCEPTIONPROTO int sig, int d1, int d2, int d3, struct sigcontext ctx
+
+#define EXCEPTIONFIXRETURN() asm volatile("mov.l %2,@%0\n\tmov.l %1,@(4,%0)" : : "r" ((int)&ctx - 8), "r" (ctx.sc_regs[14]), "r" (ctx.sc_pc));
+
+#define EXCEPTIONPC() (ctx.sc_pc)
+
+/* The Linux implementation of this provides a large amount
+ * of information for real-time stuff. We don't need that and
+ * the standard version returns the sigcontext which is all
+ * we're interested in. So just turn this flag off.
+ */
+#if defined(SA_SIGINFO)
+#undef SA_SIGINFO
+#endif
+
+/*
+ * No floating point support - so emulate
+ */
+#define HAVE_NO_FLOATING_POINT 1
+
+#undef SA_SIGINFO
+
+#define SIGNAL_ARGS(sig, sc) int sig, int d1, int d2, int d3, struct sigcontext sc
+#define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext *scp
+#define GET_SIGNAL_CONTEXT_POINTER(sc) &sc
+#define SIGNAL_PC(scp) scp->sc_pc
+
+#endif /* ! defined(__sh_linux_md_h) */
===================================================================
Checking out kaffe/config/superh/common.h
RCS: /home/cvs/kaffe/kaffe/config/superh/Attic/common.h,v
VERS: 1.3
***************
--- kaffe/config/superh/common.h Wed Jul 14 16:18:36 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,43 +0,0 @@
-/*
- * superh/common.h
- * Common Super-H configuration information.
- *
- * Copyright (c) 2001
- * Transvirtual Technologies, Inc. All rights reserved.
- *
- * Copyright (c) 2003
- * Kaffe.org contributors. See ChangeLog for details.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- */
-
-#ifndef __superh_common_h
-#define __superh_common_h
-
-/* The SuperH never aligns to more than a 4 byte boundary. */
-#define ALIGNMENT_OF_SIZE(S) ((S) < 4 ? (S) : 4)
-
-#include <stddef.h>
-
-/*
- * Do an atomic compare and exchange. The address 'A' is checked against
- * value 'O' and if they match it's exchanged with value 'N'.
- * We return '1' if the exchange is sucessful, otherwise 0.
- *
- * Copied from "config/mips/common.h".
- */
-#define COMPARE_AND_EXCHANGE(A,O,N) \
-({ \
- int ret = 0; \
- jthread_suspendall(); \
- \
- if (*(A) == (O)) { \
- *(A) = (N); \
- ret = 1; \
- } \
- jthread_unsuspendall(); \
- ret; \
-})
-
-#endif
===================================================================
Checking out kaffe/config/superh/sysdepCallMethod.h
RCS: /home/cvs/kaffe/kaffe/config/superh/Attic/sysdepCallMethod.h,v
VERS: 1.2
***************
--- kaffe/config/superh/sysdepCallMethod.h Wed Jul 14 16:18:36 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,86 +0,0 @@
-/*
- * superh/sysdepCallMethod.h
- * Common sysdepCallMethod for Super-H.
- *
- * Copyright (c) 2001
- * Transvirtual Technologies, Inc. All rights reserved.
- *
- * Copyright (c) 2003
- * Kaffe.org contributors. See ChangeLog for details.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- */
-
-#ifndef __superh_sysdepCallMethod_h
-#define __superh_sysdepCallMethod_h
-
-#include "support.h"
-
-static inline void sysdepCallMethod(callMethodInfo *call) ALWAYS_INLINE;
-
-static inline void sysdepCallMethod(callMethodInfo *call)
-{
- int extraargs[((call)->nrargs>4)?((call)->nrargs-4):0];
- switch((call)->nrargs) {
- register int r0 asm("r4");
- register int r1 asm("r5");
- register int r2 asm("r6");
- register int r3 asm("r7");
- default:
- {
- int *args = extraargs;
- int argidx = 4;
- if ((call)->callsize[3] == 2) args++;
- for(; argidx < (call)->nrargs; ++argidx) {
- if ((call)->callsize[argidx]) {
- *args++ = (call)->args[argidx].i;
- if ((call)->callsize[argidx] == 2)
- *args++ = ((call)->args[argidx].j) >> 32;
- }
- }
- }
- case 4:
- if ((call)->callsize[3]) {
- r3 = (call)->args[3].i;
- if ((call)->callsize[3] == 2)
- *extraargs = ((call)->args[3].j) >> 32;
- }
- case 3:
- if ((call)->callsize[2]) {
- r2 = (call)->args[2].i;
- if ((call)->callsize[2] == 2)
- r3 = ((call)->args[2].j) >> 32;
- }
- case 2:
- if ((call)->callsize[1]) {
- r1 = (call)->args[1].i;
- if ((call)->callsize[1] == 2)
- r2 = ((call)->args[1].j) >> 32;
- }
- case 1:
- if ((call)->callsize[0]) {
- r0 = (call)->args[0].i;
- if ((call)->callsize[0] == 2)
- r1 = ((call)->args[0].j) >> 32;
- }
- case 0:
- asm volatile ("jsr @%2 ; nop ; mov r0,r4 ; mov r1,r5\n"
- : "=r" (r0), "=r" (r1)
- : "r" ((call)->function),
- "0" (r0), "1" (r1), "r" (r2), "r" (r3)
- : "r14"
- );
- switch((call)->rettype) {
- case 'D':
- case 'J':
- (&(call)->ret->i)[1] = r1;
- /* follow through */
- default:
- (call)->ret->i = r0;
- }
- break;
- }
-}
-
-#endif /* __superh_sysdepCallMethod_h */
===================================================================
Checking out kaffe/config/superh/threads.h
RCS: /home/cvs/kaffe/kaffe/config/superh/Attic/threads.h,v
VERS: 1.1
***************
--- kaffe/config/superh/threads.h Wed Jul 14 16:18:36 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,34 +0,0 @@
-/*
- * superh/threads.h
- * Super-H threading information.
- *
- * Copyright (c) 2001
- * Transvirtual Technologies, Inc. All rights reserved.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- */
-
-#ifndef __superh_threads_h
-#define __superh_threads_h
-
-/**/
-/* Thread handling */
-/**/
-#define USE_INTERNAL_THREADS
-
-/*
- * Set a default size for the stack.
- */
-#if !defined(THREADSTACKSIZE)
-#if defined(INTERPRETER)
-#define THREADSTACKSIZE (128 * 1024)
-#else
-#define THREADSTACKSIZE (64 * 1024)
-#endif
-#endif
-
-#define FP_OFFSET 6
-#define SP_OFFSET 7
-
-#endif
===================================================================
Checking out kaffe/config/superh/trampolines.c
RCS: /home/cvs/kaffe/kaffe/config/superh/Attic/trampolines.c,v
VERS: 1.2
***************
--- kaffe/config/superh/trampolines.c Wed Jul 14 16:18:37 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,60 +0,0 @@
-/*
- * mips/trampolines.c
- * MIPS trampolines codes for various occasions.
- *
- * Copyright (c) 1996, 1997
- * Transvirtual Technologies, Inc. All rights reserved.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- */
-
-#if defined(TRAMPOLINE_FUNCTION)
-/*
- * If we have an explit function defined then use that.
- */
-TRAMPOLINE_FUNCTION()
-
-#else
-/*
- * Otherwise we'll try to construct one.
- */
-#if !defined(START_ASM_FUNC)
-#define START_ASM_FUNC() ".text\n\t.align 4\n\t.global "
-#endif
-#if !defined(END_ASM_FUNC)
-#define END_ASM_FUNC() ""
-#endif
-#if defined(HAVE_UNDERSCORED_C_NAMES)
-#define C_FUNC_NAME(FUNC) "_" #FUNC
-#else
-#define C_FUNC_NAME(FUNC) #FUNC
-#endif
-
-asm(
- START_ASM_FUNC() C_FUNC_NAME(superh_do_fixup_trampoline) " \n"
-C_FUNC_NAME(superh_do_fixup_trampoline) ": \n"
-" mov.l r4, at -r15 \n"
-" mov.l r5, at -r15 \n"
-" mov.l r6, at -r15 \n"
-" mov.l r7, at -r15 \n"
-" mov.l r1, at -r15 \n"
-" sts pr,r4 \n"
-" mov.l .L99999,r0 \n"
-" jsr @r0 \n"
-" nop \n"
-" lds.l @r15+,pr \n"
-" mov.l @r15+,r7 \n"
-" mov.l @r15+,r6 \n"
-" mov.l @r15+,r5 \n"
-" mov.l @r15+,r4 \n"
-" jmp @r0 \n"
-" nop \n"
-" .align 2 \n"
-".L99999: \n"
-" .long " C_FUNC_NAME(soft_fixup_trampoline) " \n"
-" \n"
- END_ASM_FUNC()
-);
-
-#endif
===================================================================
Checking out kaffe/config/superh/linux/config.frag
RCS: /home/cvs/kaffe/kaffe/config/superh/linux/Attic/config.frag,v
VERS: 1.1
***************
--- kaffe/config/superh/linux/config.frag Wed Jul 14 16:18:37 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,25 +0,0 @@
-#
-# superh/Linux configuration.
-#
-# Written by Kiyo Inaba <k-inaba at mxb.mesh.ne.jp>, 2002;
-# to support cross compilation and endian.
-#
-Khost_cpu=superh
-Khost_os=linux
-CFLAGS="-g"
-if [ "$cross_compiling" = yes ]; then
-# In cross environment, following values may not be detected automatically.
- ac_cv_alignmentof_voidp=${ac_cv_alignmentof_voidp='4'}
- ac_cv_sizeof___int64=${ac_cv_sizeof___int64='0'}
- ac_cv_sizeof_int=${ac_cv_sizeof_int='4'}
- ac_cv_sizeof_long=${ac_cv_sizeof_long='4'}
- ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long='8'}
- ac_cv_sizeof_short=${ac_cv_sizeof_short='2'}
- ac_cv_sizeof_voidp=${ac_cv_sizeof_voidp='4'}
-# Endian can be set by check the name of compiler, ugly?
- if [ "$CC" = 'sh3eb-linux-gcc' ]; then
- ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
- else
- ac_cv_c_bigendian=${ac_cv_c_bigendian='no'}
- fi
-fi
===================================================================
Checking out kaffe/config/superh/linux/md.c
RCS: /home/cvs/kaffe/kaffe/config/superh/linux/Attic/md.c,v
VERS: 1.1
***************
--- kaffe/config/superh/linux/md.c Wed Jul 14 16:18:37 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,10 +0,0 @@
-/*
- * superh/linux/md.c
- * Linux SuperH specific functions.
- *
- * Copyright (c) 2001
- * Transvirtual Technologies, Inc. All rights reserved.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- */
===================================================================
Checking out kaffe/config/superh/linux/md.h
RCS: /home/cvs/kaffe/kaffe/config/superh/linux/Attic/md.h,v
VERS: 1.4
***************
--- kaffe/config/superh/linux/md.h Wed Jul 14 16:18:37 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,53 +0,0 @@
-/*
- * superh/linux/md.h
- * Linux SuperH configuration information.
- *
- * Copyright (c) 2001
- * Transvirtual Technologies, Inc. All rights reserved.
- *
- * Copyright (c) 2003
- * Kaffe.org contributors. See ChangeLog for details.
- *
- * See the file "license.terms" for information on usage and redistribution
- * of this file.
- */
-
-#ifndef __superh_linux_md_h
-#define __superh_linux_md_h
-
-#include "superh/common.h"
-#include "superh/sysdepCallMethod.h"
-#include "superh/threads.h"
-
-#if defined(TRANSLATOR)
-#include "jit-md.h"
-#endif
-
-#define EXCEPTIONPROTO int sig, int d1, int d2, int d3, struct sigcontext ctx
-
-#define EXCEPTIONFIXRETURN() asm volatile("mov.l %2,@%0\n\tmov.l %1,@(4,%0)" : : "r" ((int)&ctx - 8), "r" (ctx.sc_regs[14]), "r" (ctx.sc_pc));
-
-#define EXCEPTIONPC() (ctx.sc_pc)
-
-/* The Linux implementation of this provides a large amount
- * of information for real-time stuff. We don't need that and
- * the standard version returns the sigcontext which is all
- * we're interested in. So just turn this flag off.
- */
-#if defined(SA_SIGINFO)
-#undef SA_SIGINFO
-#endif
-
-/*
- * No floating point support - so emulate
- */
-#define HAVE_NO_FLOATING_POINT 1
-
-#undef SA_SIGINFO
-
-#define SIGNAL_ARGS(sig, sc) int sig, int d1, int d2, int d3, struct sigcontext sc
-#define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext *scp
-#define GET_SIGNAL_CONTEXT_POINTER(sc) &sc
-#define SIGNAL_PC(scp) scp->sc_pc
-
-#endif
Index: kaffe/developers/autogen.sh
diff -u kaffe/developers/autogen.sh:1.42 kaffe/developers/autogen.sh:1.43
--- kaffe/developers/autogen.sh:1.42 Wed Jun 23 09:11:41 2004
+++ kaffe/developers/autogen.sh Wed Jul 14 14:37:35 2004
@@ -123,16 +123,9 @@
autoconf -Wall
(
- cd scripts
- patch < ../developers/patch-config.sub-superh.diff
- cd ..
-)
-
-(
cd libltdl
# Need to regenerate things because patching
# screws up timestamps
autoreconf -i -Wall
- patch < ../developers/patch-config.sub-superh.diff
touch config-h.in
)
===================================================================
Checking out kaffe/developers/patch-config.sub-superh.diff
RCS: /home/cvs/kaffe/kaffe/developers/Attic/patch-config.sub-superh.diff,v
VERS: 1.2
***************
--- kaffe/developers/patch-config.sub-superh.diff Wed Jul 14 16:18:37 2004
+++ /dev/null Sun Aug 4 19:57:58 2002
@@ -1,34 +0,0 @@
*** Patch too long, truncated ***
More information about the kaffe
mailing list