jamvm-native: Removed restart workaround, use libffi instead of custom assembly code.
authorRobert Schuster <robertschuster@fsfe.org>
Fri, 16 Jul 2010 12:05:48 +0000 (14:05 +0200)
committerRobert Schuster <robertschuster@fsfe.org>
Fri, 16 Jul 2010 12:07:51 +0000 (14:07 +0200)
recipes/jamvm/files/java [deleted file]
recipes/jamvm/jamvm-native.inc
recipes/jamvm/jamvm-native_1.5.3.bb

diff --git a/recipes/jamvm/files/java b/recipes/jamvm/files/java
deleted file mode 100644 (file)
index 0cc72cb..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-#
-# Wrapper which (almost) silently restarts the VM in case of segfaults.
-
-redo_from_start=1;
-while [ $redo_from_start -eq 1 ]; do
-    echo "Running JamVM-native: ${@}"
-    redo_from_start=0;
-    jamvm ${1+"$@"}
-    if [ $? -eq 139 ]; then
-        echo "JamVM-native crashed - silently trying again"
-        redo_from_start=1;
-    fi
-done
-
index c1c1dad..853c38d 100644 (file)
@@ -1,10 +1,14 @@
 require jamvm.inc 
 
-DEPENDS = "zlib-native classpath-native ecj-initial"
+DEPENDS = "zlib-native classpath-native ecj-initial libffi-native"
 RDEPENDS_${PN} = ""
 
 PROVIDES = "virtual/java-native"
 
+# Use libffi instead of handcoded JNI calling code. This code seems to have issues which only randomly
+# trigger a segfault.
+EXTRA_OECONF += "--enable-ffi"
+
 RPROVIDES_jamvm = ""
 
 # This uses 32 bit arm, so force the instruction set to arm, not thumb
@@ -13,9 +17,7 @@ ARM_INSTRUCTION_SET = "arm"
 # Needed for big compilation targets like OpenJDK
 CFLAGS += "-DDEFAULT_MAX_HEAP=2048*MB"
 
-EXTRA_OECONF += "--with-program-suffix=-bin"
-
-SRC_URI += "file://java"
+#SRC_URI += "file://java"
 
 inherit native
 
@@ -23,7 +25,7 @@ S = "${WORKDIR}/jamvm-${PV}"
 
 do_install_append() {
        install -d ${D}${bindir}
-       install -m 0755 ${WORKDIR}/java ${D}${bindir}/
+       ln -s ${bindir}/jamvm ${D}${bindir}/java
 }
 
 # Enforce usage of ecj-initial.
index 0c40b1b..72a1b2a 100644 (file)
@@ -2,7 +2,7 @@
 
 require jamvm-native.inc
 
-PR = "r2"
+PR = "r3"
 
 SRC_URI += "file://jamvm-1.5.3-jni_h-noinst.patch"