summaryrefslogtreecommitdiff
path: root/packages/cacao
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/cacao
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/cacao')
-rw-r--r--packages/cacao/cacao-cldc.inc64
-rw-r--r--packages/cacao/cacao-cldc_0.98.bb17
-rw-r--r--packages/cacao/cacao-initial_0.98.bb34
-rw-r--r--packages/cacao/cacao-native.inc36
-rw-r--r--packages/cacao/cacao-native_0.99.3.bb13
-rw-r--r--packages/cacao/cacao.inc41
-rw-r--r--packages/cacao/cacao_0.99.3.bb10
-rw-r--r--packages/cacao/cacaoh-cldc-native_0.98.bb9
-rw-r--r--packages/cacao/cacaoh-native.inc26
-rw-r--r--packages/cacao/cacaoh-native_0.99.3.bb5
-rw-r--r--packages/cacao/files/arm_mmap.patch21
-rw-r--r--packages/cacao/files/cacao-0.98+svn-classpath_var.patch56
-rw-r--r--packages/cacao/files/cacao-0.98-initial.patch45
-rw-r--r--packages/cacao/files/cacao-arm-race.patch241
-rw-r--r--packages/cacao/files/cacao-codegen-arm1.patch49
-rw-r--r--packages/cacao/files/cacao-codegen-arm2.patch66
-rw-r--r--packages/cacao/files/classpath_var.patch66
-rw-r--r--packages/cacao/files/libmath.patch53
-rw-r--r--packages/cacao/files/midpath.patch372
-rw-r--r--packages/cacao/files/offset.h_arm.patch35
-rw-r--r--packages/cacao/files/offsets_make.patch25
-rw-r--r--packages/cacao/files/vfp-compat.patch37
22 files changed, 0 insertions, 1321 deletions
diff --git a/packages/cacao/cacao-cldc.inc b/packages/cacao/cacao-cldc.inc
deleted file mode 100644
index 0a6e5249e7..0000000000
--- a/packages/cacao/cacao-cldc.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-DESCRIPTION = "Cacao-cldc is a Java Virtual Machine, which uses MIDPath CLDC as default Java core library"
-HOMEPAGE = "http://www.cacaojvm.org/"
-LICENSE = "GPL"
-PRIORITY = "optional"
-SECTION = "interpreters"
-
-DEPENDS = "zlib libtool classpath midpath-cldc cacaoh-cldc-native virtual/javac-native"
-
-# Avoid version number here, otherwise dpkg will expect a package name
-# and cannot be satisfied with a package that provides classpath.
-RDEPENDS = "midpath-cldc"
-
-PROVIDES = "cacao-cldc virtual/java-cldc"
-RPROVIDES_cacao-cldc = "java-cldc-runtime"
-
-inherit autotools update-alternatives
-
-EXTRA_OECONF = "\
- ${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']} \
- --enable-debug \
- --enable-jni \
- --disable-libjvm \
- --enable-java=cldc1.1 \
- --with-classpath=cldc1.1 \
- --with-classpath-classes=${STAGING_DATADIR}/midpath-cldc/midpath-cldc1.1.jar \
- --with-target-classpath-classes=${datadir}/midpath-cldc/midpath-cldc1.1.jar \
- --with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh-cldc-${PV} \
- --with-classpath-libdir=${STAGING_LIBDIR}/classpath \
- --with-classpath-includedir=${STAGING_INCDIR}/classpath \
- --with-vm-zip=${datadir}/cacao-cldc/vm.zip \
- --libdir=${libdir}/cacao-cldc \
- --program-suffix=-cldc \
- "
-
-S = "${WORKDIR}/cacao-${PV}"
-
-PACKAGES = "${PN} ${PN}-doc ${PN}-dbg"
-
-FILES_${PN} = "${bindir}/${PN} ${libdir}/lib*.so* ${datadir}/${PN}"
-FILES_${PN}-doc = "${datadir}/man"
-FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/.debug/lib*.so*"
-
-ALTERNATIVE_NAME = "java-cldc"
-ALTERNATIVE_LINK = "${bindir}/${ALTERNATIVE_NAME}"
-ALTERNATIVE_PATH = "${bindir}/cacao-cldc"
-ALTERNATIVE_PRIORITY = "10"
-
-do_configure_prepend() {
- # Replaces the placeholder OE_LIBDIR_JNI with the JNI library directory
- # configured in OE.
- if [ -e src/vm/properties.c ]; then
- sed -i -e "s|OE_LIBDIR_JNI|${libdir}/jni|" src/vm/properties.c
- fi
-
- if [ -e src/vm/properties.c ]; then
- sed -i -e "s|OE_LIBDIR_JNI|${libdir}/jni|" src/vm/vm.c
- fi
-}
-
-do_configure_append() {
- # Fix the executable name in the wrapper script.
- sed -i -e "s|exec cacao|exec cacao-cldc|" src/scripts/java.in
-}
-
diff --git a/packages/cacao/cacao-cldc_0.98.bb b/packages/cacao/cacao-cldc_0.98.bb
deleted file mode 100644
index f5a48c40a9..0000000000
--- a/packages/cacao/cacao-cldc_0.98.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-# Compatible with GNU Classpath 0.95 only!
-
-require cacao-cldc.inc
-
-PR = "r1"
-
-SRC_URI += "\
- http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2;md5sum=8b8907c8b925761c9410bcadb9705346 \
- file://midpath.patch;patch=1 \
- file://offsets_make.patch;patch=1 \
- file://classpath_var.patch;patch=1 \
- file://libmath.patch;patch=1 \
- file://arm_mmap.patch;patch=1 \
- "
-
-SRC_URI_append_arm = "file://offset.h_arm.patch;patch=1"
-
diff --git a/packages/cacao/cacao-initial_0.98.bb b/packages/cacao/cacao-initial_0.98.bb
deleted file mode 100644
index 08abf41c33..0000000000
--- a/packages/cacao/cacao-initial_0.98.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require cacao-native.inc
-
-PROVIDES = "virtual/java-initial"
-
-DEPENDS = "zlib-native libtool-native fastjar-native classpath-initial jikes-initial"
-
-PR = "r0"
-
-SRC_URI = "\
- http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2; \
- file://cacao-0.98-initial.patch;patch=1;pnum=1 \
- "
-
-# libjvm disabled - it would conflict with cacao-native installations
-EXTRA_OECONF = "\
- --enable-debug \
- --with-classpath-libdir=${libdir} \
- --with-classpath-includedir=${includedir}/classpath-initial \
- --with-classpath-classes=${datadir}/classpath-initial/glibj.zip \
- --with-vm-zip=${datadir}/cacao-initial/vm.zip \
- --program-suffix=-initial \
- --disable-libjvm \
- "
-
-# enforces the usage of jikes-initial
-export JAVAC=jikes-initial
-
-# enforces the usage of fastjar
-export JAR=fastjar
-
-do_configure_append() {
- # Fix the executable name in the wrapper script.
- sed -i -e "s|exec cacao|exec cacao-initial|" src/scripts/java.in
-}
diff --git a/packages/cacao/cacao-native.inc b/packages/cacao/cacao-native.inc
deleted file mode 100644
index fc86e684c5..0000000000
--- a/packages/cacao/cacao-native.inc
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "CacaoVM for use as OpenEmbedded's Java VM"
-HOMEPAGE = "http://www.cacaojvm.org/"
-LICENSE = "GPL"
-PRIORITY = "optional"
-SECTION = "interpreters"
-
-DEPENDS = "zlib-native libtool-native classpath-native ecj-initial fastjar-native"
-
-PROVIDES = "virtual/java-native"
-
-S = "${WORKDIR}/cacao-${PV}"
-
-inherit native autotools
-
-EXTRA_OECONF = "\
- --enable-debug \
- --with-vm-zip=${datadir}/cacao/vm.zip \
- \
- --with-classpath-libdir=${libdir_jni}:${libdir} \
- --with-classpath-includedir=${includedir}/classpath \
- --with-classpath-classes=${datadir}/classpath/glibj.zip \
- \
- --with-java-runtime-library-classes=${datadir}/classpath/glibj.zip \
- --with-java-runtime-library-libdir=${libdir_jni}:${libdir} \
- --with-jni_md_h=${includedir}/classpath \
- --with-jni_h=${includedir}/classpath \
- "
-
-# force usage of ecj-initial
-# Important: Not specifying the bootclasspath argument here is only supported
-# for Cacao >= 0.99. Earlier Cacao may need the BCP set to a Java5-capable
-# class library.
-export JAVAC="${STAGING_BINDIR_NATIVE}/ecj-initial"
-
-# force usage of fastjar
-export JAR="fastjar"
diff --git a/packages/cacao/cacao-native_0.99.3.bb b/packages/cacao/cacao-native_0.99.3.bb
deleted file mode 100644
index 878ef4dac2..0000000000
--- a/packages/cacao/cacao-native_0.99.3.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require cacao-native.inc
-
-PR = "r0"
-
-SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2"
-
-do_compile_prepend() {
-
- install -d ${S}/src/classes/classes/java
- install -d ${S}/src/classes/classes/gnu/java
- install -d ${S}/src/classes/classes/sun
-}
-
diff --git a/packages/cacao/cacao.inc b/packages/cacao/cacao.inc
deleted file mode 100644
index c22bbffd50..0000000000
--- a/packages/cacao/cacao.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Cacao is a Java Virtual Machine, which uses GNU Classpath as default Java core library"
-HOMEPAGE = "http://www.cacaojvm.org/"
-LICENSE = "GPL"
-PRIORITY = "optional"
-SECTION = "interpreters"
-
-DEPENDS = "zlib libtool classpath cacaoh-native virtual/javac-native"
-
-# Avoid version number here, otherwise dpkg will expect a package name
-# and cannot be satisfied with a package that provides classpath.
-RDEPENDS = "classpath"
-
-RPROVIDES_cacao = "java2-runtime"
-
-inherit java autotools update-alternatives
-
-ARM_INSTRUCTION_SET = "arm"
-
-# Configure options compatible with Cacao >= 0.99 only!
-EXTRA_OECONF = "\
- ${@['','--enable-softfloat'][bb.data.getVar('TARGET_FPU',d,1) == 'soft']} \
- --enable-debug \
- --with-vm-zip=${datadir}/cacao/vm.zip \
- --with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh-${PV} \
- --with-build-java-runtime-library-classes=${STAGING_DATADIR}/classpath/glibj.zip \
- --with-java-runtime-library-classes=${datadir}/classpath/glibj.zip \
- --with-java-runtime-library-libdir=${libdir_jni}:${libdir} \
- --with-jni_md_h=${STAGING_INCDIR}/classpath \
- --with-jni_h=${STAGING_INCDIR}/classpath \
- "
-
-PACKAGES = "${PN} ${PN}-doc ${PN}-dbg"
-
-FILES_${PN} = "${bindir}/${PN} ${libdir}/lib*.so* ${datadir}/${PN}"
-FILES_${PN}-doc = "${datadir}/man"
-FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/.debug/lib*.so*"
-
-ALTERNATIVE_NAME = "java"
-ALTERNATIVE_LINK = "${bindir}/${ALTERNATIVE_NAME}"
-ALTERNATIVE_PATH = "${bindir}/cacao"
-ALTERNATIVE_PRIORITY = "10"
diff --git a/packages/cacao/cacao_0.99.3.bb b/packages/cacao/cacao_0.99.3.bb
deleted file mode 100644
index b2f5801369..0000000000
--- a/packages/cacao/cacao_0.99.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require cacao.inc
-
-PR = "r5"
-
-SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2 \
- file://cacao-codegen-arm1.patch;patch=1 \
- file://cacao-codegen-arm2.patch;patch=1 \
- file://cacao-arm-race.patch;patch=1 \
- file://vfp-compat.patch;patch=1 \
- "
diff --git a/packages/cacao/cacaoh-cldc-native_0.98.bb b/packages/cacao/cacaoh-cldc-native_0.98.bb
deleted file mode 100644
index eac95b8ace..0000000000
--- a/packages/cacao/cacaoh-cldc-native_0.98.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require cacaoh-native.inc
-
-SRC_URI = "\
- http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2;md5sum=8b8907c8b925761c9410bcadb9705346 \
- "
-
-do_stage() {
- install -m 0755 src/cacaoh/.libs/cacaoh ${STAGING_BINDIR}/cacaoh-cldc-${PV}
-}
diff --git a/packages/cacao/cacaoh-native.inc b/packages/cacao/cacaoh-native.inc
deleted file mode 100644
index a44c5035c6..0000000000
--- a/packages/cacao/cacaoh-native.inc
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "Header generator for Cacao JVM - Needed for cross-compilation builds"
-HOMEPAGE = "http://www.cacaojvm.org/"
-LICENSE = "GPL"
-
-DEPENDS = "libtool-native zlib-native virtual/javac-native classpath-native"
-
-S = "${WORKDIR}/cacao-${PV}"
-
-inherit autotools native
-
-EXTRA_OECONF = " \
- --with-java-runtime-library-classes=${STAGING_DATADIR}/classpath/glibj.zip \
- --with-jni_md_h=${STAGING_INCDIR}/classpath \
- --with-jni_h=${STAGING_INCDIR}/classpath \
- "
-
-do_compile() {
- # Compile the header generator only (and what is needed for it).
- oe_runmake -C src/toolbox libtoolbox.la
- oe_runmake -C src/vmcore libvmcore.la
- oe_runmake -C src/cacaoh cacaoh
-}
-
-do_stage() {
- install -m 0755 src/cacaoh/.libs/cacaoh ${STAGING_BINDIR}/cacaoh-${PV}
-}
diff --git a/packages/cacao/cacaoh-native_0.99.3.bb b/packages/cacao/cacaoh-native_0.99.3.bb
deleted file mode 100644
index a7f59baa7b..0000000000
--- a/packages/cacao/cacaoh-native_0.99.3.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require cacaoh-native.inc
-
-PR = "r1"
-
-SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2"
diff --git a/packages/cacao/files/arm_mmap.patch b/packages/cacao/files/arm_mmap.patch
deleted file mode 100644
index e34c7b7802..0000000000
--- a/packages/cacao/files/arm_mmap.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- cacao-0.98/src/vm/exceptions.c 2007/06/27 09:04:17 8146
-+++ cacao-0.98/src/vm/exceptions.c 2007/07/02 14:07:24 8175
-@@ -92,6 +92,10 @@
-
- bool exceptions_init(void)
- {
-+#if !(defined(__ARM__) && defined(__LINUX__))
-+ /* On arm-linux the first memory page can't be mmap'ed, as it
-+ contains the exception vectors. */
-+
- int pagesize;
-
- /* mmap a memory page at address 0x0, so our hardware-exceptions
-@@ -100,6 +104,7 @@
- pagesize = getpagesize();
-
- (void) memory_mmap_anon(NULL, pagesize, PROT_NONE, MAP_PRIVATE | MAP_FIXED);
-+#endif
-
- /* check if we get into trouble with our hardware-exceptions */
-
diff --git a/packages/cacao/files/cacao-0.98+svn-classpath_var.patch b/packages/cacao/files/cacao-0.98+svn-classpath_var.patch
deleted file mode 100644
index 255281d386..0000000000
--- a/packages/cacao/files/cacao-0.98+svn-classpath_var.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Index: cacao-trunk/src/vm/properties.c
-===================================================================
---- cacao-trunk.orig/src/vm/properties.c 2007-08-31 13:28:53.000000000 +0200
-+++ cacao-trunk/src/vm/properties.c 2007-09-03 00:36:14.000000000 +0200
-@@ -294,14 +294,14 @@
- len =
- strlen(CACAO_VM_ZIP) +
- strlen(":") +
-- strlen(CLASSPATH_CLASSES) +
-+ strlen(TARGET_CLASSPATH_CLASSES) +
- strlen("0");
-
- boot_class_path = MNEW(char, len);
-
- strcpy(boot_class_path, CACAO_VM_ZIP);
- strcat(boot_class_path, ":");
-- strcat(boot_class_path, CLASSPATH_CLASSES);
-+ strcat(boot_class_path, TARGET_CLASSPATH_CLASSES);
-
- # elif defined(WITH_CLASSPATH_SUN)
-
-Index: cacao-trunk/configure.ac
-===================================================================
---- cacao-trunk.orig/configure.ac 2007-08-31 13:22:03.000000000 +0200
-+++ cacao-trunk/configure.ac 2007-08-31 13:30:44.000000000 +0200
-@@ -851,6 +851,7 @@
- AC_CHECK_WITH_CLASSPATH
- AC_CHECK_WITH_CLASSPATH_PREFIX
- AC_CHECK_WITH_CLASSPATH_CLASSES
-+AC_CHECK_WITH_TARGET_CLASSPATH_CLASSES
- AC_CHECK_WITH_CLASSPATH_LIBDIR
- AC_CHECK_WITH_CLASSPATH_INCLUDEDIR
-
-Index: cacao-trunk/m4/classpath.m4
-===================================================================
---- cacao-trunk.orig/m4/classpath.m4 2007-08-31 13:22:21.000000000 +0200
-+++ cacao-trunk/m4/classpath.m4 2007-08-31 13:30:55.000000000 +0200
-@@ -98,6 +98,18 @@
- AC_SUBST(CLASSPATH_CLASSES)
- ])
-
-+dnl where are Java core library classes installed on the target
-+
-+AC_DEFUN([AC_CHECK_WITH_TARGET_CLASSPATH_CLASSES],[
-+AC_MSG_CHECKING(where Java core library classes are installed on the target)
-+AC_ARG_WITH([target-classpath-classes],
-+ [AS_HELP_STRING(--with-target-classpath-classes=<path>,path to Java core library classes (includes the name of the file and may be flat) [[default=/usr/local/classpath/share/classpath/glibj.zip]])],
-+ [TARGET_CLASSPATH_CLASSES=${withval}],
-+ [TARGET_CLASSPATH_CLASSES=${CLASSPATH_PREFIX}/share/classpath/glibj.zip])
-+AC_MSG_RESULT(${TARGET_CLASSPATH_CLASSES})
-+AC_DEFINE_UNQUOTED([TARGET_CLASSPATH_CLASSES], "${TARGET_CLASSPATH_CLASSES}", [Java core library classes on the target])
-+AC_SUBST(TARGET_CLASSPATH_CLASSES)
-+])
-
- dnl where are Java core library native libraries installed
-
diff --git a/packages/cacao/files/cacao-0.98-initial.patch b/packages/cacao/files/cacao-0.98-initial.patch
deleted file mode 100644
index 30b6d147e8..0000000000
--- a/packages/cacao/files/cacao-0.98-initial.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: cacao-0.98/configure.ac
-===================================================================
---- cacao-0.98.orig/configure.ac 2007-12-19 22:07:55.000000000 +0100
-+++ cacao-0.98/configure.ac 2007-12-19 22:08:02.000000000 +0100
-@@ -27,7 +27,7 @@
- dnl Process this file with autoconf to produce a configure script.
-
-
--AC_INIT(cacao, 0.98, cacao@cacaojvm.org)
-+AC_INIT(cacao-initial, 0.98, cacao@cacaojvm.org)
- AC_CONFIG_SRCDIR(src/cacao/cacao.c)
- AC_CANONICAL_HOST
- AC_PREREQ(2.59)
-Index: cacao-0.98/src/vm/vm.c
-===================================================================
---- cacao-0.98.orig/src/vm/vm.c 2007-12-19 22:31:19.000000000 +0100
-+++ cacao-0.98/src/vm/vm.c 2007-12-19 22:32:36.000000000 +0100
-@@ -623,7 +623,7 @@
- #else
- puts(" java.boot.class.path : "CLASSPATH_CLASSES"");
- #endif
-- puts(" gnu.classpath.boot.library.path: "CLASSPATH_LIBDIR"/classpath\n");
-+ puts(" gnu.classpath.boot.library.path: "CLASSPATH_LIBDIR"/classpath-initial\n");
-
- puts("Runtime variables:\n");
- printf(" maximum heap size : %d\n", opt_heapmaxsize);
-@@ -828,15 +828,15 @@
-
- /* and finally set the path to GNU Classpath libraries */
-
-- len = strlen(cacao_prefix) + strlen("/lib/classpath") + strlen("0");
-+ len = strlen(cacao_prefix) + strlen("/lib/classpath-initial") + strlen("0");
-
- classpath_libdir = MNEW(char, len);
- strcpy(classpath_libdir, cacao_prefix);
-- strcat(classpath_libdir, "/lib/classpath");
-+ strcat(classpath_libdir, "/lib/classpath-initial");
- #else
- cacao_prefix = CACAO_PREFIX;
- cacao_libjvm = CACAO_LIBDIR"/libjvm";
-- classpath_libdir = CLASSPATH_LIBDIR"/classpath";
-+ classpath_libdir = CLASSPATH_LIBDIR"/classpath-initial";
- #endif
-
- /* set the bootclasspath */
diff --git a/packages/cacao/files/cacao-arm-race.patch b/packages/cacao/files/cacao-arm-race.patch
deleted file mode 100644
index a4b730df18..0000000000
--- a/packages/cacao/files/cacao-arm-race.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-Index: cacao-0.99.3/src/vm/jit/arm/linux/md-os.c
-===================================================================
---- cacao-0.99.3.orig/src/vm/jit/arm/linux/md-os.c 2008-07-07 13:36:19.000000000 +0200
-+++ cacao-0.99.3/src/vm/jit/arm/linux/md-os.c 2008-09-24 17:15:23.191805889 +0200
-@@ -2,6 +2,7 @@
-
- Copyright (C) 1996-2005, 2006, 2007, 2008
- CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
-+ Copyright (C) 2008 Theobroma Systems Ltd.
-
- This file is part of CACAO.
-
-@@ -60,7 +61,7 @@
- #include "vm/jit/executionstate.h"
- #include "vm/jit/stacktrace.h"
- #include "vm/jit/trap.h"
--
-+#include "vm/jit/patcher-common.h"
-
- /* md_signal_handler_sigsegv ***************************************************
-
-@@ -126,56 +127,52 @@
-
- void md_signal_handler_sigill(int sig, siginfo_t *siginfo, void *_p)
- {
-- ucontext_t *_uc;
-- scontext_t *_sc;
-- u1 *pv;
-- u1 *sp;
-- u1 *ra;
-- u1 *xpc;
-- u4 mcode;
-- int type;
-- intptr_t val;
-- void *p;
--
-- _uc = (ucontext_t*) _p;
-- _sc = &_uc->uc_mcontext;
--
-- /* ATTENTION: glibc included messed up kernel headers we needed a
-- workaround for the ucontext structure. */
--
-- pv = (u1 *) _sc->arm_ip;
-- sp = (u1 *) _sc->arm_sp;
-- ra = (u1 *) _sc->arm_lr; /* this is correct for leafs */
-- xpc = (u1 *) _sc->arm_pc;
--
-- /* get exception-throwing instruction */
--
-- mcode = *((u4 *) xpc);
--
-- /* check for undefined instruction we use */
--
-- if ((mcode & 0x0ff000f0) != 0x07f000f0) {
-- log_println("md_signal_handler_sigill: unknown illegal instruction: inst=%x", mcode);
--#if defined(ENABLE_DISASSEMBLER)
-- DISASSINSTR(xpc);
--#endif
-- vm_abort("Aborting...");
-- }
--
-- type = (mcode >> 8) & 0x0fff;
-- val = *((s4 *) _sc + OFFSET(scontext_t, arm_r0)/4 + (mcode & 0x0f));
--
-- /* Handle the trap. */
--
-- p = trap_handle(type, val, pv, sp, ra, xpc, _p);
--
-- /* set registers if we have an exception, continue execution
-- otherwise (this is needed for patchers to work) */
--
-- if (p != NULL) {
-- _sc->arm_r10 = (uintptr_t) p;
-- _sc->arm_fp = (uintptr_t) xpc;
-- _sc->arm_pc = (uintptr_t) asm_handle_exception;
-+ int type;
-+ intptr_t val;
-+ void *p;
-+ ucontext_t* _uc = (ucontext_t*) _p;
-+ scontext_t* _sc = &_uc->uc_mcontext;
-+
-+ /* ATTENTION: glibc included messed up kernel headers we needed a
-+ workaround for the ucontext structure. */
-+
-+ void* pv = (void*) _sc->arm_ip;
-+ void* sp = (void*) _sc->arm_sp;
-+ void* ra = (void*) _sc->arm_lr; // The RA is correct for leaf methods.
-+ void* xpc = (void*) _sc->arm_pc;
-+
-+ // Get the exception-throwing instruction.
-+ uint32_t mcode = *((uint32_t*) xpc);
-+
-+ // Check if the trap instruction is valid.
-+ // TODO Move this into patcher_handler.
-+ if (patcher_is_valid_trap_instruction_at(xpc) == false) {
-+ // Check if the PC has been patched during our way to this
-+ // signal handler (see PR85).
-+ // NOTE: ARM uses SIGILL for other traps too, but it's OK to
-+ // do this check anyway because it will fail.
-+ if (patcher_is_patched_at(xpc) == true)
-+ return;
-+
-+ // We have a problem...
-+ log_println("md_signal_handler_sigill: Unknown illegal instruction 0x%x at 0x%x", mcode, xpc);
-+ #if defined(ENABLE_DISASSEMBLER)
-+ (void) disassinstr(xpc);
-+ #endif
-+ vm_abort("Aborting...");
-+ }
-+
-+ type = (mcode >> 8) & 0x0fff;
-+ val = *((int32_t*) _sc + OFFSET(scontext_t, arm_r0)/4 + (mcode & 0x0f));
-+
-+ // Handle the trap.
-+ p = trap_handle(type, val, pv, sp, ra, xpc, _p);
-+
-+ // Set registers if we have an exception, continue execution
-+ // otherwise.
-+ if (p != NULL) {
-+ _sc->arm_r10 = (uintptr_t) p;
-+ _sc->arm_fp = (uintptr_t) xpc;
- }
- }
-
-Index: cacao-0.99.3/src/vm/jit/arm/patcher.c
-===================================================================
---- cacao-0.99.3.orig/src/vm/jit/arm/patcher.c 2008-04-27 23:44:08.000000000 +0200
-+++ cacao-0.99.3/src/vm/jit/arm/patcher.c 2008-09-24 17:05:17.003795314 +0200
-@@ -2,6 +2,7 @@
-
- Copyright (C) 1996-2005, 2006, 2007, 2008
- CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
-+ Copyright (C) 2008 Theobroma Systems Ltd.
-
- This file is part of CACAO.
-
-@@ -76,6 +77,25 @@
- PATCH_BACK_ORIGINAL_MCODE;
- }
-
-+
-+/**
-+ * Check if the trap instruction at the given PC is valid.
-+ *
-+ * @param pc Program counter.
-+ *
-+ * @return true if valid, false otherwise.
-+ */
-+bool patcher_is_valid_trap_instruction_at(void* pc)
-+{
-+ uint32_t mcode = *((uint32_t*) pc);
-+
-+ // Check for the undefined instruction we use.
-+ if ((mcode & 0x0ff000f0) != 0x07f000f0) {
-+ return false;
-+ }
-+
-+ return true;
-+}
-
- /* patcher_get_putstatic *******************************************************
-
-Index: cacao-0.99.3/src/vm/jit/patcher-common.c
-===================================================================
---- cacao-0.99.3.orig/src/vm/jit/patcher-common.c 2008-04-28 21:52:41.000000000 +0200
-+++ cacao-0.99.3/src/vm/jit/patcher-common.c 2008-09-24 17:05:17.047796037 +0200
-@@ -2,6 +2,7 @@
-
- Copyright (C) 2007, 2008
- CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
-+ Copyright (C) 2008 Theobroma Systems Ltd.
-
- This file is part of CACAO.
-
-@@ -254,6 +255,49 @@
- }
-
-
-+/**
-+ * Check if the patcher is already patched. This is done by comparing
-+ * the machine instruction.
-+ *
-+ * @param pr Patcher structure.
-+ *
-+ * @return true if patched, false otherwise.
-+ */
-+bool patcher_is_patched(patchref_t* pr)
-+{
-+ // Validate the instruction at the patching position is the same
-+ // instruction as the patcher structure contains.
-+ uint32_t mcode = *((uint32_t*) pr->mpc);
-+
-+ if (mcode != pr->mcode) {
-+ // The code differs.
-+ return false;
-+ }
-+
-+ return true;
-+}
-+
-+
-+/**
-+ *
-+ */
-+bool patcher_is_patched_at(void* pc)
-+{
-+ codeinfo* code = code_find_codeinfo_for_pc(pc);
-+
-+ // Get the patcher for the given PC.
-+ patchref_t* pr = patcher_list_find(code, pc);
-+
-+ if (pr == NULL) {
-+ // The given PC is not a patcher position.
-+ return false;
-+ }
-+
-+ // Validate the instruction.
-+ return patcher_is_patched(pr);
-+}
-+
-+
- /* patcher_handler *************************************************************
-
- Handles the request to patch JIT code at the given patching
-Index: cacao-0.99.3/src/vm/jit/patcher-common.h
-===================================================================
---- cacao-0.99.3.orig/src/vm/jit/patcher-common.h 2008-04-27 23:44:08.000000000 +0200
-+++ cacao-0.99.3/src/vm/jit/patcher-common.h 2008-09-24 17:05:17.115800331 +0200
-@@ -73,6 +73,12 @@
-
- void patcher_resolve(jitdata* jd);
-
-+bool patcher_is_patched(patchref_t* pr);
-+bool patcher_is_patched_at(void* pc);
-+
-+// MD function.
-+bool patcher_is_valid_trap_instruction_at(void* pc);
-+
- java_handle_t *patcher_handler(u1 *pc);
-
-
diff --git a/packages/cacao/files/cacao-codegen-arm1.patch b/packages/cacao/files/cacao-codegen-arm1.patch
deleted file mode 100644
index b4d9db8eb1..0000000000
--- a/packages/cacao/files/cacao-codegen-arm1.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-
-# HG changeset patch
-# User Christian Thalinger <twisti@complang.tuwien.ac.at>
-# Date 1221466650 -7200
-# Node ID d88bf99453b644bd2cc5c0dc5f8038f3151d897a
-# Parent b567fffd0ff7b8330b172a3f12325c731bee67bb
-* src/vm/jit/arm/codegen.h [__VFP_FP__] (M_CVTFI, M_CVTDI): Use signed
-conversion functions.
-
---- a/src/vm/jit/arm/codegen.h Sat Sep 13 15:00:00 2008 +0200
-+++ b/src/vm/jit/arm/codegen.h Mon Sep 15 10:17:30 2008 +0200
-@@ -643,6 +643,7 @@
- #if !defined(ENABLE_SOFTFLOAT)
-
- #if defined(__VFP_FP__)
-+
- #define M_FADD(a,b,d) M_CPDP(UNCOND,0,1,1,0,10,0,0,0,d,a,b)/* d = a + b */
- #define M_FSUB(a,b,d) M_CPDP(UNCOND,0,1,1,1,10,0,0,0,d,a,b)/* d = a - b */
- #define M_FMUL(a,b,d) M_CPDP(UNCOND,0,1,0,0,10,0,0,0,d,a,b)/* d = a * b */
-@@ -664,8 +665,8 @@
- #define M_CVTFD(a,d) M_CPDP(UNCOND,1,1,1,1,10,0,1,0,d,0x7,a)
- #define M_CVTIF(a,d) M_CPDP(UNCOND,1,1,1,1,10,0,1,0,d,0x8,a)
- #define M_CVTID(a,d) M_CPDP(UNCOND,1,1,1,1,11,0,1,0,d,0x8,a)
--#define M_CVTFI(a,d) M_CPDP(UNCOND,1,1,1,1,10,0,1,0,d,0xc,a)
--#define M_CVTDI(a,d) M_CPDP(UNCOND,1,1,1,1,11,0,1,0,d,0xc,a)
-+#define M_CVTFI(a,d) M_CPDP(UNCOND,1,1,1,1,10,0,1,0,d,0xd,a) // ftosis
-+#define M_CVTDI(a,d) M_CPDP(UNCOND,1,1,1,1,11,0,1,0,d,0xd,a) // ftosid
-
- #define M_FMSTAT M_CPRT(UNCOND,0x07,1,10,0,0x1,0xf)
-
-@@ -675,7 +676,9 @@
- #define M_FMRDL(Fa,b) M_CPRT(UNCOND,0x00,1,11,0,Fa,b)
- #define M_FMDHR(a,Fb) M_CPRT(UNCOND,0x01,0,11,0,Fb,a)
- #define M_FMRDH(Fa,b) M_CPRT(UNCOND,0x01,1,11,0,Fa,b)
-+
- #else
-+
- #define M_FADD(a,b,d) M_CPDOS(UNCOND,0x00,0,d,a,b) /* d = a + b */
- #define M_FSUB(a,b,d) M_CPDOS(UNCOND,0x02,0,d,a,b) /* d = a - b */
- #define M_FMUL(a,b,d) M_CPDOS(UNCOND,0x01,0,d,a,b) /* d = a * b */
-@@ -701,6 +704,7 @@
- #define M_CVTID(a,d) M_CPRTD(UNCOND,0,a,d,0) /* d = (float) a */
- #define M_CVTFI(a,d) M_CPRTI(UNCOND,1,d,0,a) /* d = (int) a */
- #define M_CVTDI(a,d) M_CPRTI(UNCOND,1,d,0,a) /* d = (int) a */
-+
- #endif
-
-
-
diff --git a/packages/cacao/files/cacao-codegen-arm2.patch b/packages/cacao/files/cacao-codegen-arm2.patch
deleted file mode 100644
index 710f284345..0000000000
--- a/packages/cacao/files/cacao-codegen-arm2.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-
-# HG changeset patch
-# User Christian Thalinger <twisti@complang.tuwien.ac.at>
-# Date 1221467463 -7200
-# Node ID a67fe1cb2b81b7cbfc9d824f17b440e50c7697ef
-# Parent d88bf99453b644bd2cc5c0dc5f8038f3151d897a
-* src/vm/jit/arm/codegen.c (codegen_emit) [__VFP_FP__]: Implemented
-I2F, I2D, F2I, and D2I correctly.
-
---- a/src/vm/jit/arm/codegen.c Mon Sep 15 10:17:30 2008 +0200
-+++ b/src/vm/jit/arm/codegen.c Mon Sep 15 10:31:03 2008 +0200
-@@ -1013,7 +1013,12 @@
-
- s1 = emit_load_s1(jd, iptr, REG_ITMP1);
- d = codegen_reg_of_dst(jd, iptr, REG_FTMP1);
-+#if defined(__VFP_FP__)
-+ M_FMSR(s1, d);
-+ M_CVTIF(d, d);
-+#else
- M_CVTIF(s1, d);
-+#endif
- emit_store_dst(jd, iptr, d);
- break;
-
-@@ -1021,7 +1026,12 @@
-
- s1 = emit_load_s1(jd, iptr, REG_ITMP1);
- d = codegen_reg_of_dst(jd, iptr, REG_FTMP1);
-+#if defined(__VFP_FP__)
-+ M_FMSR(s1, d);
-+ M_CVTID(d, d);
-+#else
- M_CVTID(s1, d);
-+#endif
- emit_store_dst(jd, iptr, d);
- break;
-
-@@ -1029,9 +1039,12 @@
-
- s1 = emit_load_s1(jd, iptr, REG_FTMP1);
- d = codegen_reg_of_dst(jd, iptr, REG_ITMP1);
-+#if defined(__VFP_FP__)
-+ M_CVTFI(s1, REG_FTMP2);
-+ M_FMRS(REG_FTMP2, d);
-+#else
- /* this uses round towards zero, as Java likes it */
- M_CVTFI(s1, d);
--#if !defined(__VFP_FP__)
- /* this checks for NaN; to return zero as Java likes it */
- M_FCMP(s1, 0x8);
- M_MOVVS_IMM(0, d);
-@@ -1043,9 +1056,12 @@
-
- s1 = emit_load_s1(jd, iptr, REG_FTMP1);
- d = codegen_reg_of_dst(jd, iptr, REG_ITMP1);
-+#if defined(__VFP_FP__)
-+ M_CVTDI(s1, REG_FTMP2);
-+ M_FMRS(REG_FTMP2, d);
-+#else
- /* this uses round towards zero, as Java likes it */
- M_CVTDI(s1, d);
--#if !defined(__VFP_FP__)
- /* this checks for NaN; to return zero as Java likes it */
- M_DCMP(s1, 0x8);
- M_MOVVS_IMM(0, d);
-
diff --git a/packages/cacao/files/classpath_var.patch b/packages/cacao/files/classpath_var.patch
deleted file mode 100644
index a2a69f9d1c..0000000000
--- a/packages/cacao/files/classpath_var.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Index: cacao-0.98/configure.ac
-===