All of lore.kernel.org
 help / color / mirror / Atom feed
* [oe-classic][PATCH 00/12] openjdk
@ 2012-02-18 21:20 Henning Heinold
  2012-02-18 21:20 ` [PATCH 01/12][oe-classic] libbecj-bootstrap: use sort for build order of the javafiles and introduce INC_PR, backported from meta-java Henning Heinold
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel

Hi,

in good old tradition I send this patches for review against
older openembedded.dev branch. It makes openjdk buildable
again and updates it to version 1.11.1.
Work was sponsored by Koan s.a.s. If nobody objects I will
commit it on monday.

Bye Henning

Henning Heinold (12):
  libbecj-bootstrap: use sort for build order of the javafiles and
    introduce INC_PR, backported from meta-java
  jamvm-inital: rework libffi detection
  cacao-native: update hg version
  icedtea6-native: add linux kernel version 3 support
  ecj-inital: rename recipe to ecj-initial-native
  jamvm: add recipes which combines native and target
  angstrom-jalimo.conf,sane-toolchain-java.inc: use jamvm-git instead
    of cacao-hg as java-native
  rhino: add version 1.7r2
  ecj-bootstrap-native: update ecj script
  openjdk: backport 1.11.1 release from meta-java
  angstrom-jalimo.conf: prefer icedtea 1.11.1 for openjdk6
  openjdk-6-common.inc: fix hardcoded path for allowing to build with
    linux 3.x

 conf/distro/include/angstrom-jalimo.conf           |    6 +-
 conf/distro/include/sane-toolchain-java.inc        |    2 +-
 recipes/cacao/cacao-native.inc                     |   15 ++-
 recipes/cacao/cacao-native_hg.bb                   |    8 +-
 recipes/classpath/classpath-native.inc             |    2 +-
 recipes/ecj/ecj-bootstrap-native.bb                |    2 +-
 recipes/ecj/ecj-initial-native.bb                  |   35 +++
 recipes/ecj/ecj-initial.bb                         |   35 ---
 recipes/ecj/files/ecj.in                           |   23 +--
 recipes/ecj/libecj-bootstrap.inc                   |    4 +-
 recipes/ecj/libecj-bootstrap_3.6.1.bb              |    2 +-
 recipes/ecj/libecj-bootstrap_3.6.bb                |    2 +-
 .../icedtea-support_linux_3.patch                  |   19 ++
 recipes/icedtea/icedtea6-native_1.7.10.bb          |    4 +-
 recipes/jamvm/jamvm-initial/libffi.patch           |   68 ++++++
 recipes/jamvm/jamvm-initial_1.4.5.bb               |   12 +-
 recipes/jamvm/jamvm-native.inc                     |    2 +-
 recipes/jamvm/jamvm.inc                            |   36 +++-
 recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch       |   13 ++
 recipes/jamvm/jamvm/libffi.patch                   |   69 ++++++
 recipes/jamvm/jamvm_git.bb                         |   15 ++
 recipes/mozilla/rhino-native_1.7r2.bb              |    5 +
 recipes/mozilla/rhino_1.7r2.bb                     |   45 ++++
 .../openjdk-langtools-native_0.0+jdk7-b31.bb       |    2 +-
 recipes/openjdk/openjdk-6-6b24/build-hacks.patch   |   79 +++++++
 .../openjdk/openjdk-6-6b24/cacao-libtoolize.patch  |   12 +
 .../openjdk-6-6b24/cacao-loadavg-makefile.patch    |   12 +
 recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch |   27 +++
 .../openjdk-6-6b24/fix_hotspot_crosscompile.patch  |   51 +++++
 .../openjdk-6-6b24/icedtea-crosscompile-fix.patch  |  216 ++++++++++++++++++
 .../openjdk-6-6b24/icedtea-fix-xrender.patch       |   13 ++
 .../openjdk-6-6b24/icedtea-hostbuildcc.patch       |   12 +
 .../icedtea-hotspot-dlvsym-uclibc.patch            |   16 ++
 .../icedtea-hotspot-glibc-version.patch            |   23 ++
 .../openjdk-6-6b24/icedtea-hotspot-isfinte.patch   |   15 ++
 .../openjdk-6-6b24/icedtea-hotspot-isnanf.patch    |   21 ++
 .../openjdk-6-6b24/icedtea-hotspot-loadavg.patch   |   28 +++
 .../openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch  |   39 ++++
 .../icedtea-jdk-remove-unused-backtrace.patch      |   41 ++++
 .../openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch |   12 +
 .../openjdk-6-6b24/icedtea-launcher-stdc++.patch   |   13 ++
 .../openjdk-6-6b24/icedtea-libnet-renaming.patch   |  148 +++++++++++++
 .../openjdk-6-6b24/icedtea-remove_werror.patch     |   14 ++
 .../icedtea-shark-arm-linux-cpu-detection.patch    |  113 ++++++++++
 .../openjdk-6-6b24/icedtea-unbreak-float.patch     |   18 ++
 .../openjdk-6-6b24/icedtea-zero-hotspotfix.patch   |   41 ++++
 recipes/openjdk/openjdk-6-6b24/jvm.cfg             |   43 ++++
 recipes/openjdk/openjdk-6-common.inc               |  165 +++++++++------
 recipes/openjdk/openjdk-6-release-6b24.inc         |  115 ++++++++++
 recipes/openjdk/openjdk-6/build-hacks.patch        |   31 +++
 .../openjdk-6/cacao-disable-stackbase-check.patch  |   12 +
 recipes/openjdk/openjdk-6/cacao-libtoolize.patch   |   18 ++
 recipes/openjdk/openjdk-6/cacao-vfp-compat.patch   |   37 ++++
 recipes/openjdk/openjdk-6/fix-llvm-libs.patch      |   13 ++
 .../openjdk-6/fix_hotspot_crosscompile.patch       |   94 ++++++++
 .../openjdk-6/icedtea-crosscompile-fix.patch       |  229 ++++++++++++++++++++
 .../openjdk-6/icedtea-fix-jar-command.patch        |   13 ++
 .../openjdk/openjdk-6/icedtea-hasgettransfer.patch |  131 +++++++++++
 .../openjdk/openjdk-6/icedtea-hostbuildcc.patch    |   12 +
 .../openjdk-6/icedtea-hotspot-glibc-version.patch  |   23 ++
 .../openjdk-6/icedtea-hotspot-isfinte.patch        |   15 ++
 .../openjdk/openjdk-6/icedtea-hotspot-isnanf.patch |   21 ++
 .../openjdk-6/icedtea-hotspot-loadavg.patch        |   28 +++
 .../openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch        |   13 ++
 .../openjdk-6/icedtea-jdk-iconv-uclibc.patch       |   39 ++++
 .../icedtea-jdk-remove-unused-backtrace.patch      |   41 ++++
 .../openjdk-6/icedtea-jdk-unpack-uclibc.patch      |   12 +
 .../openjdk-6/icedtea-launcher-stdc++.patch        |   13 ++
 .../openjdk-6/icedtea-libnet-renaming.patch        |  148 +++++++++++++
 .../openjdk/openjdk-6/icedtea-llvm_headers.patch   |   29 +++
 .../openjdk/openjdk-6/icedtea-remove_werror.patch  |   14 ++
 .../openjdk/openjdk-6/icedtea-unbreak-float.patch  |   18 ++
 recipes/openjdk/openjdk-6/jvm.cfg                  |   41 ++++
 recipes/openjdk/openjdk-6/mkbc_returncode.patch    |   11 +
 .../openjdk-6/shark-arm-linux-cpu-detection.patch  |  113 ++++++++++
 .../openjdk/openjdk-6/shark-build-openjdkdir.patch |   13 ++
 recipes/openjdk/openjdk-6/zero-cmpswap-long.patch  |   20 ++
 recipes/openjdk/openjdk-6_6b24-1.11.1.bb           |   18 ++
 78 files changed, 2787 insertions(+), 146 deletions(-)
 create mode 100644 recipes/ecj/ecj-initial-native.bb
 delete mode 100644 recipes/ecj/ecj-initial.bb
 create mode 100644 recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch
 create mode 100644 recipes/jamvm/jamvm-initial/libffi.patch
 create mode 100644 recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch
 create mode 100644 recipes/jamvm/jamvm/libffi.patch
 create mode 100644 recipes/jamvm/jamvm_git.bb
 create mode 100644 recipes/mozilla/rhino-native_1.7r2.bb
 create mode 100644 recipes/mozilla/rhino_1.7r2.bb
 create mode 100644 recipes/openjdk/openjdk-6-6b24/build-hacks.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/jvm.cfg
 create mode 100644 recipes/openjdk/openjdk-6-release-6b24.inc
 create mode 100644 recipes/openjdk/openjdk-6/build-hacks.patch
 create mode 100644 recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch
 create mode 100644 recipes/openjdk/openjdk-6/cacao-libtoolize.patch
 create mode 100644 recipes/openjdk/openjdk-6/cacao-vfp-compat.patch
 create mode 100644 recipes/openjdk/openjdk-6/fix-llvm-libs.patch
 create mode 100644 recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-remove_werror.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch
 create mode 100644 recipes/openjdk/openjdk-6/jvm.cfg
 create mode 100644 recipes/openjdk/openjdk-6/mkbc_returncode.patch
 create mode 100644 recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch
 create mode 100644 recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch
 create mode 100644 recipes/openjdk/openjdk-6/zero-cmpswap-long.patch
 create mode 100644 recipes/openjdk/openjdk-6_6b24-1.11.1.bb

-- 
1.7.9



^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 01/12][oe-classic] libbecj-bootstrap: use sort for build order of the javafiles and introduce INC_PR, backported from meta-java
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 02/12][oe-classic] jamvm-inital: rework libffi detection Henning Heinold
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel

* on some filesystems find orders the files to build not the
  right way, using sort seems to fix it, thanks Stefan Ring
  for the patch

* use INC_PR for better revision handling

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/ecj/libecj-bootstrap.inc      |    4 +++-
 recipes/ecj/libecj-bootstrap_3.6.1.bb |    2 +-
 recipes/ecj/libecj-bootstrap_3.6.bb   |    2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/recipes/ecj/libecj-bootstrap.inc b/recipes/ecj/libecj-bootstrap.inc
index 1adce62..bece3f0 100644
--- a/recipes/ecj/libecj-bootstrap.inc
+++ b/recipes/ecj/libecj-bootstrap.inc
@@ -6,6 +6,8 @@ LICENSE = "EPL"
 
 DEPENDS = "fastjar-native jikes-initial virtual/java-initial"
 
+INC_PR = "r1"
+
 inherit native java
 
 S = "${WORKDIR}"
@@ -48,7 +50,7 @@ do_unpackpost() {
 addtask unpackpost after do_unpack before do_patch
 
 do_compile() {
-  find source -name '*.java' > sourcefiles
+  find source -name '*.java' | LC_ALL=C sort > sourcefiles
   split -l 25 sourcefiles ecj-sources.
 
   # Compiling in place is done because the sources contain
diff --git a/recipes/ecj/libecj-bootstrap_3.6.1.bb b/recipes/ecj/libecj-bootstrap_3.6.1.bb
index 66e3fc1..d5da24e 100644
--- a/recipes/ecj/libecj-bootstrap_3.6.1.bb
+++ b/recipes/ecj/libecj-bootstrap_3.6.1.bb
@@ -1,6 +1,6 @@
 require libecj-bootstrap.inc
 
-PR = "r0"
+PR = "${INC_PR}.0"
 
 SRC_URI = " \
 	   http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.6.1-201009090800/ecjsrc-${PV}.zip \
diff --git a/recipes/ecj/libecj-bootstrap_3.6.bb b/recipes/ecj/libecj-bootstrap_3.6.bb
index faece53..a4a8b70 100644
--- a/recipes/ecj/libecj-bootstrap_3.6.bb
+++ b/recipes/ecj/libecj-bootstrap_3.6.bb
@@ -1,6 +1,6 @@
 require libecj-bootstrap.inc
 
-PR = "r0"
+PR = "${INC_PR}.0"
 
 SRC_URI = " \
 	   http://mirrors.ibiblio.org/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.6-201006080911/ecjsrc-${PV}.zip \
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 02/12][oe-classic] jamvm-inital: rework libffi detection
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
  2012-02-18 21:20 ` [PATCH 01/12][oe-classic] libbecj-bootstrap: use sort for build order of the javafiles and introduce INC_PR, backported from meta-java Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 03/12][oe-classic] cacao-native: update hg version Henning Heinold
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel

* this patch allows us to real enable or disable libffi and
   it does not let sneak host libs in

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/jamvm/jamvm-initial/libffi.patch |   68 ++++++++++++++++++++++++++++++
 recipes/jamvm/jamvm-initial_1.4.5.bb     |   12 +++---
 2 files changed, 74 insertions(+), 6 deletions(-)
 create mode 100644 recipes/jamvm/jamvm-initial/libffi.patch

diff --git a/recipes/jamvm/jamvm-initial/libffi.patch b/recipes/jamvm/jamvm-initial/libffi.patch
new file mode 100644
index 0000000..52c7e10
--- /dev/null
+++ b/recipes/jamvm/jamvm-initial/libffi.patch
@@ -0,0 +1,68 @@
+Index: jamvm-1.4.5/configure.ac
+===================================================================
+--- jamvm-1.4.5.orig/configure.ac	2007-02-05 04:18:05.000000000 +0100
++++ jamvm-1.4.5/configure.ac	2012-02-16 22:38:03.687663901 +0100
+@@ -166,10 +166,25 @@
+         enable_zip=no
+     fi])
+ 
+-AC_CHECK_LIB(ffi,ffi_call,,
+-    [if test "$enable_ffi" != no; then
+-        AC_MSG_ERROR(cannot find libffi)
+-    fi])
++LIBFFI_FOUND=no
++if test "$enable_ffi" = yes
++then
++PKG_CHECK_MODULES([LIBFFI], [libffi], [LIBFFI_FOUND=yes], [LIBFFI_FOUND=no])
++if test "x${LIBFFI_FOUND}" = xno
++then
++  LIBFFI_FOUND=
++  AC_CHECK_HEADER([ffi.h],[LIBFFI_CFLAGS=],[LIBFFI_FOUND=no])
++  AC_SEARCH_LIBS([ffi_call], [ffi],[LIBFFI_LIBS=-lffi],[LIBFFI_FOUND=no])
++  if test "x${LIBFFI_FOUND}" = xno
++    then
++      AC_MSG_ERROR([Could not find libffi headers - \
++      Instal libffi-devel or libffi-dev.])
++ fi
++fi
++fi
++AC_SUBST(LIBFFI_CFLAGS)
++AC_SUBST(LIBFFI_LIBS)
++
+ 
+ dnl Checks for header files.
+ AC_HEADER_STDC
+@@ -180,11 +195,6 @@
+         enable_zip=no
+     fi])
+ 
+-AC_CHECK_HEADER(ffi.h,,
+-    [if test "$enable_ffi" != no; then
+-        AC_MSG_ERROR(cannot find ffi.h)
+-    fi])
+-
+ if test "$enable_zip" != no; then
+     AC_DEFINE([USE_ZIP],1,[use zip])
+     use_zip_yes=
+@@ -197,7 +207,7 @@
+ AC_SUBST(use_zip_yes)
+ AC_SUBST(use_zip_no)
+ 
+-if test "$enable_ffi" != no; then
++if test "x${LIBFFI_FOUND}" != xno; then
+     AC_DEFINE([USE_FFI],1,[use FFI])
+ fi
+ 
+Index: jamvm-1.4.5/src/Makefile.am
+===================================================================
+--- jamvm-1.4.5.orig/src/Makefile.am	2006-12-25 05:10:18.000000000 +0100
++++ jamvm-1.4.5/src/Makefile.am	2012-02-16 22:36:26.211385087 +0100
+@@ -19,6 +19,7 @@
+ 
+ jamvm_LDADD = libcore.la
+ libjvm_la_LIBADD = libcore.la
+-libcore_la_LIBADD = os/@os@/@arch@/libnative.la os/@os@/libos.la
++libcore_la_LIBADD = os/@os@/@arch@/libnative.la os/@os@/libos.la $(LIBFFI_LIBS)
++libcore_la_CPPFLAGS = $(LIBFFI_CFLAGS)
+ 
+ DISTCLEANFILES = arch.h
diff --git a/recipes/jamvm/jamvm-initial_1.4.5.bb b/recipes/jamvm/jamvm-initial_1.4.5.bb
index 55bd5f9..de790a4 100644
--- a/recipes/jamvm/jamvm-initial_1.4.5.bb
+++ b/recipes/jamvm/jamvm-initial_1.4.5.bb
@@ -4,13 +4,14 @@ LICENSE = "GPL"
 
 DEPENDS = "zlib-native classpath-initial jikes-initial libffi-native"
 
-PR = "r3"
+PR = "r4"
 
 PROVIDES = "virtual/java-initial"
 
 S = "${WORKDIR}/jamvm-${PV}"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/jamvm/jamvm-${PV}.tar.gz \
+          file://libffi.patch \
           file://jamvm_${PV}-initial.patch \
           "
 
@@ -22,6 +23,7 @@ inherit native autotools
 # libdir must be modified so that jamvm-initial and -native
 # do not interfere
 EXTRA_OECONF = "\
+  --enable-ffi \
   --with-classpath-install-dir=${prefix} \
   --program-suffix=-initial \
   --libdir=${STAGING_LIBDIR}/jamvm-initial \
@@ -30,11 +32,9 @@ EXTRA_OECONF = "\
 # jamvm-initial has to run some binaries which need lots of memory.
 CFLAGS += "-DDEFAULT_MAX_HEAP=512*MB"
 
-do_compile() {
-  oe_runmake \
-    JAVAC=jikes-initial \
-    GLIBJ_ZIP=${STAGING_DATADIR_NATIVE}/classpath-initial/glibj.zip
-}
+EXTRA_OEMAKE = "JAVAC=${STAGING_BINDIR_NATIVE}/jikes-initial \
+                GLIBJ_ZIP=${STAGING_DATADIR_NATIVE}/classpath-inital/glibj.zip \
+               "
 
 do_install_append() {
   install -d ${D}${bindir}/
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 03/12][oe-classic] cacao-native: update hg version
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
  2012-02-18 21:20 ` [PATCH 01/12][oe-classic] libbecj-bootstrap: use sort for build order of the javafiles and introduce INC_PR, backported from meta-java Henning Heinold
  2012-02-18 21:20 ` [PATCH 02/12][oe-classic] jamvm-inital: rework libffi detection Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 04/12][oe-classic] icedtea6-native: add linux kernel version 3 support Henning Heinold
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel

* fixes segfaults and remove shutdownguard-patch, which is applied upstream
* remove the pre-generated libtool files

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/cacao/cacao-native.inc   |   13 +++++++++++++
 recipes/cacao/cacao-native_hg.bb |    8 +++-----
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/recipes/cacao/cacao-native.inc b/recipes/cacao/cacao-native.inc
index fc86e68..8501634 100644
--- a/recipes/cacao/cacao-native.inc
+++ b/recipes/cacao/cacao-native.inc
@@ -34,3 +34,16 @@ export JAVAC="${STAGING_BINDIR_NATIVE}/ecj-initial"
 
 # force usage of fastjar
 export JAR="fastjar"
+
+do_configure_prepend () {
+        # Remove old libtool macros.
+        MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+        for i in ${MACROS}; do
+               rm -f src/mm/boehm-gc/m4/$i
+               rm -f m4/$i
+        done
+	rm  ltmain.sh
+	rm  libtool
+	rm  src/mm/boehm-gc/ltmain.sh
+	rm  src/mm/boehm-gc/libtool
+}
diff --git a/recipes/cacao/cacao-native_hg.bb b/recipes/cacao/cacao-native_hg.bb
index 020dee3..9413633 100644
--- a/recipes/cacao/cacao-native_hg.bb
+++ b/recipes/cacao/cacao-native_hg.bb
@@ -1,11 +1,9 @@
 require cacao-native.inc
 
 PV = "1.1.0+hgr${SRCPV}"
-PR = "r5"
+PR = "r6"
 
-SRCREV = "c7bf150bfa46"
-SRC_URI = "hg://mips.complang.tuwien.ac.at/hg/;module=cacao;rev=${SRCREV} \
-           file://cacao-shutdownguard.patch \
-          "
+SRCREV = "cff92704c4e0"
+SRC_URI = "hg://mips.complang.tuwien.ac.at/hg/;module=cacao;rev=${SRCREV}" 
 
 S = "${WORKDIR}/cacao"
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 04/12][oe-classic] icedtea6-native: add linux kernel version 3 support
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (2 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 03/12][oe-classic] cacao-native: update hg version Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 05/12][oe-classic] ecj-inital: rename recipe to ecj-initial-native Henning Heinold
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel

* bump PR

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 .../icedtea-support_linux_3.patch                  |   19 +++++++++++++++++++
 recipes/icedtea/icedtea6-native_1.7.10.bb          |    4 +++-
 2 files changed, 22 insertions(+), 1 deletions(-)
 create mode 100644 recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch

diff --git a/recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch b/recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch
new file mode 100644
index 0000000..925ca6c
--- /dev/null
+++ b/recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch
@@ -0,0 +1,19 @@
+# HG changeset patch
+# User andrew
+# Date 1309217125 -3600
+# Node ID f7e8b10f51c6a622520b55df0c644fb09ec78542
+# Parent  b8227c320dec384a94026fcaa650b0ebd4eef13b
+Allow building HotSpot with any Linux 3 version.
+
+diff -r b8227c320dec -r f7e8b10f51c6 make/linux/Makefile
+--- openjdk/hotspot/make/linux/Makefile	Wed Jun 15 18:56:52 2011 +0100
++++ openjdk/hotspot/make/linux/Makefile	Tue Jun 28 00:25:25 2011 +0100
+@@ -230,7 +230,7 @@
+ # Solaris 2.5.1, 2.6).
+ # Disable this check by setting DISABLE_HOTSPOT_OS_VERSION_CHECK=ok.
+ 
+-SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7%
++SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%
+ OS_VERSION := $(shell uname -r)
+ EMPTY_IF_NOT_SUPPORTED = $(filter $(SUPPORTED_OS_VERSION),$(OS_VERSION))
+ 
diff --git a/recipes/icedtea/icedtea6-native_1.7.10.bb b/recipes/icedtea/icedtea6-native_1.7.10.bb
index 77c6232..a637bf0 100644
--- a/recipes/icedtea/icedtea6-native_1.7.10.bb
+++ b/recipes/icedtea/icedtea6-native_1.7.10.bb
@@ -1,6 +1,6 @@
 require ${PN}.inc
 
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 SRC_URI = "\
 	http://icedtea.classpath.org/download/source/icedtea6-${PV}.tar.gz;name=iced \
@@ -24,6 +24,7 @@ ICEDTEA_PATCHES = "\
 	file://icedtea-hotspot-make-arch-sane-for-x86.patch;apply=no \
 	file://icedtea-jdk-sane-x86-arch.patch;apply=no \
 	file://icedtea-unbreak-float.patch;apply=no \
+	file://icedtea-support_linux_3.patch;apply=no \
 	"
 
 export DISTRIBUTION_PATCHES = "\
@@ -33,4 +34,5 @@ export DISTRIBUTION_PATCHES = "\
 	patches/icedtea-hotspot-make-arch-sane-for-x86.patch \
 	patches/icedtea-jdk-sane-x86-arch.patch \
 	patches/icedtea-unbreak-float.patch \
+	patches/icedtea-support_linux_3.patch \
 	"
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 05/12][oe-classic] ecj-inital: rename recipe to ecj-initial-native
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (3 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 04/12][oe-classic] icedtea6-native: add linux kernel version 3 support Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 06/12][oe-classic] jamvm: add recipes which combines native and target Henning Heinold
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel


Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/cacao/cacao-native.inc                     |    2 +-
 recipes/classpath/classpath-native.inc             |    2 +-
 recipes/ecj/ecj-initial-native.bb                  |   35 ++++++++++++++++++++
 recipes/ecj/ecj-initial.bb                         |   35 --------------------
 recipes/jamvm/jamvm-native.inc                     |    2 +-
 .../openjdk-langtools-native_0.0+jdk7-b31.bb       |    2 +-
 6 files changed, 39 insertions(+), 39 deletions(-)
 create mode 100644 recipes/ecj/ecj-initial-native.bb
 delete mode 100644 recipes/ecj/ecj-initial.bb

diff --git a/recipes/cacao/cacao-native.inc b/recipes/cacao/cacao-native.inc
index 8501634..aceee2b 100644
--- a/recipes/cacao/cacao-native.inc
+++ b/recipes/cacao/cacao-native.inc
@@ -4,7 +4,7 @@ LICENSE  = "GPL"
 PRIORITY = "optional"
 SECTION  = "interpreters"
 
-DEPENDS = "zlib-native libtool-native classpath-native ecj-initial fastjar-native"
+DEPENDS = "zlib-native libtool-native classpath-native ecj-initial-native fastjar-native"
 
 PROVIDES = "virtual/java-native"
 
diff --git a/recipes/classpath/classpath-native.inc b/recipes/classpath/classpath-native.inc
index a3ff439..0ebf608 100644
--- a/recipes/classpath/classpath-native.inc
+++ b/recipes/classpath/classpath-native.inc
@@ -1,7 +1,7 @@
 DESCRIPTION = "GNU Classpath standard Java libraries - For native Java-dependent programs"
 HOMEPAGE = "http://www.gnu.org/software/classpath/"
 LICENSE = "Classpath"
-DEPENDS = "ecj-initial fastjar-native zip-native"
+DEPENDS = "ecj-initial-native fastjar-native zip-native"
 
 inherit autotools native
 
diff --git a/recipes/ecj/ecj-initial-native.bb b/recipes/ecj/ecj-initial-native.bb
new file mode 100644
index 0000000..1809cd6
--- /dev/null
+++ b/recipes/ecj/ecj-initial-native.bb
@@ -0,0 +1,35 @@
+# ECJ as a bootstrap compiler is a drop-in replacement for Sun's javac. It offers no more
+# and no less features.
+
+# This variant runs on the initial (not Java5-compatible runtime).
+
+DESCRIPTION = "JDT Core Batch Compiler - Bootstrap variant"
+HOMEPAGE = "http://www.eclipse.org/"
+LICENSE = "EPL"
+
+DEPENDS = "libecj-bootstrap"
+
+PR = "r2"
+
+SRC_URI = "file://ecj-initial.in"
+
+NATIVE_INSTALL_WORKS = "1"
+
+S = "${WORKDIR}"
+
+inherit native
+
+JAR = "ecj-bootstrap.jar"
+
+do_compile() {
+  # Create the start script
+  echo "#!/bin/sh" > ecj-initial
+  echo "ECJ_JAR=${STAGING_DATADIR}/java/${JAR}" >> ecj-initial
+  echo "RUNTIME=java-initial" >> ecj-initial
+  cat ecj-initial.in >> ecj-initial
+}
+
+do_install() {
+  install -d ${D}${bindir}
+  install -m 755 ${S}/ecj-initial ${D}${bindir}
+}
diff --git a/recipes/ecj/ecj-initial.bb b/recipes/ecj/ecj-initial.bb
deleted file mode 100644
index 1809cd6..0000000
--- a/recipes/ecj/ecj-initial.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-# ECJ as a bootstrap compiler is a drop-in replacement for Sun's javac. It offers no more
-# and no less features.
-
-# This variant runs on the initial (not Java5-compatible runtime).
-
-DESCRIPTION = "JDT Core Batch Compiler - Bootstrap variant"
-HOMEPAGE = "http://www.eclipse.org/"
-LICENSE = "EPL"
-
-DEPENDS = "libecj-bootstrap"
-
-PR = "r2"
-
-SRC_URI = "file://ecj-initial.in"
-
-NATIVE_INSTALL_WORKS = "1"
-
-S = "${WORKDIR}"
-
-inherit native
-
-JAR = "ecj-bootstrap.jar"
-
-do_compile() {
-  # Create the start script
-  echo "#!/bin/sh" > ecj-initial
-  echo "ECJ_JAR=${STAGING_DATADIR}/java/${JAR}" >> ecj-initial
-  echo "RUNTIME=java-initial" >> ecj-initial
-  cat ecj-initial.in >> ecj-initial
-}
-
-do_install() {
-  install -d ${D}${bindir}
-  install -m 755 ${S}/ecj-initial ${D}${bindir}
-}
diff --git a/recipes/jamvm/jamvm-native.inc b/recipes/jamvm/jamvm-native.inc
index 853c38d..ce227aa 100644
--- a/recipes/jamvm/jamvm-native.inc
+++ b/recipes/jamvm/jamvm-native.inc
@@ -1,6 +1,6 @@
 require jamvm.inc 
 
-DEPENDS = "zlib-native classpath-native ecj-initial libffi-native"
+DEPENDS = "zlib-native classpath-native ecj-initial-native libffi-native"
 RDEPENDS_${PN} = ""
 
 PROVIDES = "virtual/java-native"
diff --git a/recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb b/recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
index 39b6dd9..45af116 100644
--- a/recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
+++ b/recipes/openjdk-langtools/openjdk-langtools-native_0.0+jdk7-b31.bb
@@ -4,7 +4,7 @@ LICENSE  = "GPL"
 
 PR = "r3"
 
-DEPENDS = "classpath-native fastjar-native ecj-initial virtual/java-native"
+DEPENDS = "classpath-native fastjar-native ecj-initial-native virtual/java-native"
 
 S = "${WORKDIR}/icepick-0.0+hg20080118"
 
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 06/12][oe-classic] jamvm: add recipes which combines native and target
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (4 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 05/12][oe-classic] ecj-inital: rename recipe to ecj-initial-native Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 07/12][oe-classic] angstrom-jalimo.conf, sane-toolchain-java.inc: use jamvm-git instead of cacao-hg as java-native Henning Heinold
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel


Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/jamvm/jamvm.inc                      |   36 +++++++++++---
 recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch |   13 +++++
 recipes/jamvm/jamvm/libffi.patch             |   69 ++++++++++++++++++++++++++
 recipes/jamvm/jamvm_git.bb                   |   15 ++++++
 4 files changed, 126 insertions(+), 7 deletions(-)
 create mode 100644 recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch
 create mode 100644 recipes/jamvm/jamvm/libffi.patch
 create mode 100644 recipes/jamvm/jamvm_git.bb

diff --git a/recipes/jamvm/jamvm.inc b/recipes/jamvm/jamvm.inc
index 811a811..95676f6 100644
--- a/recipes/jamvm/jamvm.inc
+++ b/recipes/jamvm/jamvm.inc
@@ -2,25 +2,47 @@ DESCRIPTION = "A compact Java Virtual Machine which conforms to the JVM specific
 HOMEPAGE = "http://jamvm.sourceforge.net/"
 LICENSE = "GPL"
 
-DEPENDS = "zlib classpath virtual/javac-native"
+DEPENDS = "zlib classpath virtual/javac-native libffi"
+DEPENDS_virtclass-native = "zlib-native classpath-native ecj-initial-native libffi-native"
+
 RDEPENDS_${PN} = "classpath"
+RDEPENDS_${PN}_virtclass-native = ""
+
+PROVIDES_virtclass-native = "virtual/java-native"
+RPROVIDES_${PN} = "java2-runtime"
+RPROVIDES_${PN}_virtclass-native = ""
+
+BBCLASSEXTEND = "native"
 
-SRC_URI = "${SOURCEFORGE_MIRROR}/jamvm/jamvm-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/jamvm/jamvm-${PV}.tar.gz \
+            file://jamvm-jni_h-noinst.patch \
+            file://libffi.patch \
+          "
 
-RPROVIDES_jamvm = "java2-runtime"
+
+inherit java autotools update-alternatives
 
 # This uses 32 bit arm, so force the instruction set to arm, not thumb
 ARM_INSTRUCTION_SET = "arm"
 
-PRIVATE_LIBS = "libjvm.so"
 
-inherit java autotools update-alternatives
+EXTRA_OECONF = "--with-classpath-install-dir=${prefix} --libdir=${libdir}/jamvm --enable-ffi"
+
+# Enforce usage of ecj-initial.
+EXTRA_OEMAKE = "JAVAC=${STAGING_BINDIR_NATIVE}/ecj-initial \
+                GLIBJ_ZIP=${STAGING_DATADIR_NATIVE}/classpath/glibj.zip \
+               "
 
-EXTRA_OECONF = "--with-classpath-install-dir=${prefix} --libdir=${libdir}/jamvm"
-CFLAGS += "-DDEFAULT_MAX_HEAP=16*MB"
+do_install_append_virtclass-native() {
+	install -d ${D}${bindir}
+	ln -s ${bindir}/jamvm ${D}${bindir}/java
+}
+
+PRIVATE_LIBS = "libjvm.so"
 
 FILES_${PN} += "${libdir}/jamvm/lib*.so"
 
 ALTERNATIVE_NAME = "java"
 ALTERNATIVE_PATH = "${bindir}/jamvm"
 ALTERNATIVE_PRIORITY = "4"
+
diff --git a/recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch b/recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch
new file mode 100644
index 0000000..f0884fd
--- /dev/null
+++ b/recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch
@@ -0,0 +1,13 @@
+Index: jamvm-1.5.3/src/Makefile.am
+===================================================================
+--- jamvm-1.5.3.orig/src/Makefile.am	2009-09-29 09:29:13.386565473 +0200
++++ jamvm-1.5.3/src/Makefile.am	2009-09-29 09:33:47.702565852 +0200
+@@ -23,7 +23,7 @@
+ DIST_SUBDIRS = os arch interp
+ 
+ bin_PROGRAMS = jamvm
+-include_HEADERS = jni.h
++noinst_HEADERS = jni.h
+ 
+ lib_LTLIBRARIES = libjvm.la
+ noinst_LTLIBRARIES = libcore.la
diff --git a/recipes/jamvm/jamvm/libffi.patch b/recipes/jamvm/jamvm/libffi.patch
new file mode 100644
index 0000000..1f68c5e
--- /dev/null
+++ b/recipes/jamvm/jamvm/libffi.patch
@@ -0,0 +1,69 @@
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac	2011-11-18 15:47:15.339088111 +0100
++++ git/configure.ac	2011-11-18 15:47:15.742392674 +0100
+@@ -273,9 +273,24 @@
+     AC_CHECK_LIB(z,inflate,,AC_MSG_ERROR(zlib is missing))
+ fi
+ 
+-if test "$enable_ffi" != no; then
+-    AC_CHECK_LIB(ffi,ffi_call,,AC_MSG_ERROR(libffi is missing))
++LIBFFI_FOUND=no
++if test "$enable_ffi" = yes
++then
++PKG_CHECK_MODULES([LIBFFI], [libffi], [LIBFFI_FOUND=yes], [LIBFFI_FOUND=no])
++if test "x${LIBFFI_FOUND}" = xno
++then
++  LIBFFI_FOUND=
++  AC_CHECK_HEADER([ffi.h],[LIBFFI_CFLAGS=],[LIBFFI_FOUND=no])
++  AC_SEARCH_LIBS([ffi_call], [ffi],[LIBFFI_LIBS=-lffi],[LIBFFI_FOUND=no])
++  if test "x${LIBFFI_FOUND}" = xno
++    then
++      AC_MSG_ERROR([Could not find libffi headers - \
++      Instal libffi-devel or libffi-dev.])
++ fi
++fi
+ fi
++AC_SUBST(LIBFFI_CFLAGS)
++AC_SUBST(LIBFFI_LIBS)
+ 
+ dnl Checks for header files.
+ AC_HEADER_STDC
+@@ -285,10 +300,6 @@
+     AC_CHECK_HEADER(zlib.h,,AC_MSG_ERROR(zlib.h is missing))
+ fi
+ 
+-if test "$enable_ffi" != no; then
+-    AC_CHECK_HEADER(ffi.h,,AC_MSG_ERROR(ffi.h is missing))
+-fi
+-
+ if test "$enable_zip" != no; then
+     AC_DEFINE([USE_ZIP],1,[use zip])
+     use_zip_yes=
+@@ -302,7 +313,9 @@
+ AC_SUBST(use_zip_no)
+ 
+ if test "$enable_ffi" != no; then
+-    AC_DEFINE([USE_FFI],1,[use FFI])
++    if test "$LIBFFI_FOUND" != no; then
++        AC_DEFINE([USE_FFI],1,[use FFI])
++    fi
+ fi
+ 
+ if test "$enable_md_stubs" != no; then
+Index: git/src/Makefile.am
+===================================================================
+--- git.orig/src/Makefile.am	2011-11-18 15:47:15.685730049 +0100
++++ git/src/Makefile.am	2011-11-18 15:49:43.881825251 +0100
+@@ -43,8 +43,9 @@
+ jamvm_LDADD = libcore.la
+ libjvm_la_LIBADD = libcore.la
+ libcore_la_LIBADD = interp/libinterp.la os/@os@/@arch@/libnative.la \
+-                    os/@os@/libos.la classlib/@classlib@/libclasslib.la
++                    os/@os@/libos.la classlib/@classlib@/libclasslib.la \
++                    $(LIBFFI_LIBS)
+ 
+-AM_CPPFLAGS = -I$(top_srcdir)/src/interp/engine
++AM_CPPFLAGS = -I$(top_srcdir)/src/interp/engine $(LIBFFI_CFLAGS)
+ 
+ DISTCLEANFILES = arch.h classlib.h classlib-defs.h classlib-symbol.h
diff --git a/recipes/jamvm/jamvm_git.bb b/recipes/jamvm/jamvm_git.bb
new file mode 100644
index 0000000..e6b6132
--- /dev/null
+++ b/recipes/jamvm/jamvm_git.bb
@@ -0,0 +1,15 @@
+# Note: You *must* use this together with classpath-native 0.98.
+# Otherwise it won't work!
+
+require jamvm.inc
+
+SRCREV = "4617da717ecb05654ea5bb9572338061106a414d"
+PV = "1.5.5+1.6.0-devel+git${SRCPV}"
+
+SRC_URI = "git://git.berlios.de/jamvm;protocol=git \
+           file://jamvm-jni_h-noinst.patch \
+           file://libffi.patch \
+          "
+
+S = "${WORKDIR}/git"
+
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 07/12][oe-classic] angstrom-jalimo.conf, sane-toolchain-java.inc: use jamvm-git instead of cacao-hg as java-native
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (5 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 06/12][oe-classic] jamvm: add recipes which combines native and target Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 08/12][oe-classic] rhino: add version 1.7r2 Henning Heinold
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel

* latest jamvm seems to be more stable

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 conf/distro/include/angstrom-jalimo.conf    |    4 ++--
 conf/distro/include/sane-toolchain-java.inc |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/conf/distro/include/angstrom-jalimo.conf b/conf/distro/include/angstrom-jalimo.conf
index 3ab8e2d..f2d2fa6 100644
--- a/conf/distro/include/angstrom-jalimo.conf
+++ b/conf/distro/include/angstrom-jalimo.conf
@@ -5,8 +5,8 @@ PREFERRED_VERSION_jamvm-initial = "1.4.5"
 PREFERRED_VERSION_classpath-initial = "0.93"
 
 # Native VM
-PREFERRED_PROVIDER_virtual/java-native ?= "cacao-native"
-SRCREV_pn-cacao-native ?= "c7bf150bfa46"
+PREFERRED_PROVIDER_virtual/java-native ?= "jamvm-native"
+PREFERRED_VERSION_jamvm-native = "1.5.5+1.6.0-devel+git0+4617da717ecb05654ea5bb9572338061106a414d"
 PREFERRED_VERSION_classpath-native = "0.98"
 
 # Native compiler settings
diff --git a/conf/distro/include/sane-toolchain-java.inc b/conf/distro/include/sane-toolchain-java.inc
index a754f11..ff91992 100644
--- a/conf/distro/include/sane-toolchain-java.inc
+++ b/conf/distro/include/sane-toolchain-java.inc
@@ -1,7 +1,7 @@
 # Set PREFFERED and VERSION stuff for working java-toolchain
 
 PREFERRED_PROVIDER_virtual/java-initial ?= "jamvm-initial"
-PREFERRED_PROVIDER_virtual/java-native ?= "cacao-native"
+PREFERRED_PROVIDER_virtual/java-native ?= "jamvm-native"
 
 # target cacao is failing to build
 # without this provider we get
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 08/12][oe-classic] rhino: add version 1.7r2
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (6 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 07/12][oe-classic] angstrom-jalimo.conf, sane-toolchain-java.inc: use jamvm-git instead of cacao-hg as java-native Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 09/12][oe-classic] ecj-bootstrap-native: update ecj script Henning Heinold
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel


Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/mozilla/rhino-native_1.7r2.bb |    5 +++
 recipes/mozilla/rhino_1.7r2.bb        |   45 +++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 recipes/mozilla/rhino-native_1.7r2.bb
 create mode 100644 recipes/mozilla/rhino_1.7r2.bb

diff --git a/recipes/mozilla/rhino-native_1.7r2.bb b/recipes/mozilla/rhino-native_1.7r2.bb
new file mode 100644
index 0000000..1b56360
--- /dev/null
+++ b/recipes/mozilla/rhino-native_1.7r2.bb
@@ -0,0 +1,5 @@
+require rhino_${PV}.bb
+
+inherit java-native
+
+RDEPENDS_${PN} = ""
diff --git a/recipes/mozilla/rhino_1.7r2.bb b/recipes/mozilla/rhino_1.7r2.bb
new file mode 100644
index 0000000..0e9e14e
--- /dev/null
+++ b/recipes/mozilla/rhino_1.7r2.bb
@@ -0,0 +1,45 @@
+DESCRIPTION = "Lexical analyzer generator for Java"
+
+LICENSE = "GPL MPL"
+
+DEPENDS = "fastjar-native"
+
+inherit java-library
+
+SRC_URI = "\
+	ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip \
+	file://rhino \
+	file://rhino-jsc \
+	"
+
+S = "${WORKDIR}/rhino1_7R2"
+
+PACKAGES = "${JPN} rhino"
+
+FILES_${PN} = "${bindir}/rhino ${bindir}/rhino-jsc"
+RDEPENDS_${PN} = "java2-runtime ${JPN}"
+
+do_compile() {
+  mkdir -p build
+
+	# Compatibility fix for jamvm which has non-genericised
+  # java.lang classes. :(
+	bcp_arg="-bootclasspath ${STAGING_DATADIR_NATIVE}/classpath/glibj.zip"
+
+  javac $bcp_arg -source 1.5 -sourcepath src -d build `find src -name "*.java"`
+
+	mkdir -p build/org/mozilla/javascript/resources
+	cp src/org/mozilla/javascript/resources/*.properties build/org/mozilla/javascript/resources
+
+  fastjar -m ${S}/src/manifest -C build -c -f ${JARFILENAME} .
+}
+
+do_install_append() {
+	install -d ${D}${bindir}
+
+	install -m 0755 ${WORKDIR}/rhino ${D}${bindir}
+	install -m 0755 ${WORKDIR}/rhino-jsc ${D}${bindir}
+}
+
+SRC_URI[md5sum] = "40d0a9abec8169e42920214b37fa8e0e"
+SRC_URI[sha256sum] = "677f7dc1b67a1587bc03974d5f0720474a56b8f29835e1d860739908df8462dc"
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 09/12][oe-classic] ecj-bootstrap-native: update ecj script
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (7 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 08/12][oe-classic] rhino: add version 1.7r2 Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 10/12][oe-classic] openjdk: backport 1.11.1 release from meta-java Henning Heinold
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel

* merge with script from java-initial
* bailout after 50 tries

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/ecj/ecj-bootstrap-native.bb |    2 +-
 recipes/ecj/files/ecj.in            |   23 ++++++++++-------------
 2 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/recipes/ecj/ecj-bootstrap-native.bb b/recipes/ecj/ecj-bootstrap-native.bb
index a11ba74..72571bf 100644
--- a/recipes/ecj/ecj-bootstrap-native.bb
+++ b/recipes/ecj/ecj-bootstrap-native.bb
@@ -17,7 +17,7 @@ SRC_URI = "file://ecj.in"
 
 S = "${WORKDIR}"
 
-PR = "r4"
+PR = "r5"
 
 JAR = "ecj-bootstrap.jar"
 
diff --git a/recipes/ecj/files/ecj.in b/recipes/ecj/files/ecj.in
index f8d97ac..a75c610 100755
--- a/recipes/ecj/files/ecj.in
+++ b/recipes/ecj/files/ecj.in
@@ -1,16 +1,13 @@
-COUNT=5
-END=0
-RETURNCODE=0
+COUNT=50
 
-while test "${COUNT}" -gt "${END}"
-do
- ${RUNTIME} -Xmx1024m -cp ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main ${1+"$@"}
- RETURNCODE=${?}
- if test "${?}" -eq "${END}"
- then
-    break
- fi
- COUNT=$(($COUNT-1))
+redo_from_start=1;
+while [ ${redo_from_start} -eq 1 -a ${COUNT} -gt 0 ]; do
+    redo_from_start=0;
+    ${RUNTIME} -Xmx1024m -cp ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main ${1+"$@"}
+    if [ ${?} -ne 0 ]; then
+        echo "underlying JVM crashed - silently trying again"
+        redo_from_start=1;
+	COUNT=$((${COUNT}-1))
+    fi
 done
 
-exit ${RETURNCODE}
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 10/12][oe-classic] openjdk: backport 1.11.1 release from meta-java
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (8 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 09/12][oe-classic] ecj-bootstrap-native: update ecj script Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 11/12][oe-classic] angstrom-jalimo.conf: prefer icedtea 1.11.1 for openjdk6 Henning Heinold
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel

* shark is disabled since 1.11
* rework patches
* rework inc files for jamvm
* bump PR

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/openjdk/openjdk-6-6b24/build-hacks.patch   |   79 +++++++
 .../openjdk/openjdk-6-6b24/cacao-libtoolize.patch  |   12 +
 .../openjdk-6-6b24/cacao-loadavg-makefile.patch    |   12 +
 recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch |   27 +++
 .../openjdk-6-6b24/fix_hotspot_crosscompile.patch  |   51 +++++
 .../openjdk-6-6b24/icedtea-crosscompile-fix.patch  |  216 ++++++++++++++++++
 .../openjdk-6-6b24/icedtea-fix-xrender.patch       |   13 ++
 .../openjdk-6-6b24/icedtea-hostbuildcc.patch       |   12 +
 .../icedtea-hotspot-dlvsym-uclibc.patch            |   16 ++
 .../icedtea-hotspot-glibc-version.patch            |   23 ++
 .../openjdk-6-6b24/icedtea-hotspot-isfinte.patch   |   15 ++
 .../openjdk-6-6b24/icedtea-hotspot-isnanf.patch    |   21 ++
 .../openjdk-6-6b24/icedtea-hotspot-loadavg.patch   |   28 +++
 .../openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch  |   39 ++++
 .../icedtea-jdk-remove-unused-backtrace.patch      |   41 ++++
 .../openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch |   12 +
 .../openjdk-6-6b24/icedtea-launcher-stdc++.patch   |   13 ++
 .../openjdk-6-6b24/icedtea-libnet-renaming.patch   |  148 +++++++++++++
 .../openjdk-6-6b24/icedtea-remove_werror.patch     |   14 ++
 .../icedtea-shark-arm-linux-cpu-detection.patch    |  113 ++++++++++
 .../openjdk-6-6b24/icedtea-unbreak-float.patch     |   18 ++
 .../openjdk-6-6b24/icedtea-zero-hotspotfix.patch   |   41 ++++
 recipes/openjdk/openjdk-6-6b24/jvm.cfg             |   43 ++++
 recipes/openjdk/openjdk-6-common.inc               |  163 +++++++++------
 recipes/openjdk/openjdk-6-release-6b24.inc         |  115 ++++++++++
 recipes/openjdk/openjdk-6/build-hacks.patch        |   31 +++
 .../openjdk-6/cacao-disable-stackbase-check.patch  |   12 +
 recipes/openjdk/openjdk-6/cacao-libtoolize.patch   |   18 ++
 recipes/openjdk/openjdk-6/cacao-vfp-compat.patch   |   37 ++++
 recipes/openjdk/openjdk-6/fix-llvm-libs.patch      |   13 ++
 .../openjdk-6/fix_hotspot_crosscompile.patch       |   94 ++++++++
 .../openjdk-6/icedtea-crosscompile-fix.patch       |  229 ++++++++++++++++++++
 .../openjdk-6/icedtea-fix-jar-command.patch        |   13 ++
 .../openjdk/openjdk-6/icedtea-hasgettransfer.patch |  131 +++++++++++
 .../openjdk/openjdk-6/icedtea-hostbuildcc.patch    |   12 +
 .../openjdk-6/icedtea-hotspot-glibc-version.patch  |   23 ++
 .../openjdk-6/icedtea-hotspot-isfinte.patch        |   15 ++
 .../openjdk/openjdk-6/icedtea-hotspot-isnanf.patch |   21 ++
 .../openjdk-6/icedtea-hotspot-loadavg.patch        |   28 +++
 .../openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch        |   13 ++
 .../openjdk-6/icedtea-jdk-iconv-uclibc.patch       |   39 ++++
 .../icedtea-jdk-remove-unused-backtrace.patch      |   41 ++++
 .../openjdk-6/icedtea-jdk-unpack-uclibc.patch      |   12 +
 .../openjdk-6/icedtea-launcher-stdc++.patch        |   13 ++
 .../openjdk-6/icedtea-libnet-renaming.patch        |  148 +++++++++++++
 .../openjdk/openjdk-6/icedtea-llvm_headers.patch   |   29 +++
 .../openjdk/openjdk-6/icedtea-remove_werror.patch  |   14 ++
 .../openjdk/openjdk-6/icedtea-unbreak-float.patch  |   18 ++
 recipes/openjdk/openjdk-6/jvm.cfg                  |   41 ++++
 recipes/openjdk/openjdk-6/mkbc_returncode.patch    |   11 +
 .../openjdk-6/shark-arm-linux-cpu-detection.patch  |  113 ++++++++++
 .../openjdk/openjdk-6/shark-build-openjdkdir.patch |   13 ++
 recipes/openjdk/openjdk-6/zero-cmpswap-long.patch  |   20 ++
 recipes/openjdk/openjdk-6_6b24-1.11.1.bb           |   18 ++
 54 files changed, 2439 insertions(+), 66 deletions(-)
 create mode 100644 recipes/openjdk/openjdk-6-6b24/build-hacks.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
 create mode 100644 recipes/openjdk/openjdk-6-6b24/jvm.cfg
 create mode 100644 recipes/openjdk/openjdk-6-release-6b24.inc
 create mode 100644 recipes/openjdk/openjdk-6/build-hacks.patch
 create mode 100644 recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch
 create mode 100644 recipes/openjdk/openjdk-6/cacao-libtoolize.patch
 create mode 100644 recipes/openjdk/openjdk-6/cacao-vfp-compat.patch
 create mode 100644 recipes/openjdk/openjdk-6/fix-llvm-libs.patch
 create mode 100644 recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-remove_werror.patch
 create mode 100644 recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch
 create mode 100644 recipes/openjdk/openjdk-6/jvm.cfg
 create mode 100644 recipes/openjdk/openjdk-6/mkbc_returncode.patch
 create mode 100644 recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch
 create mode 100644 recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch
 create mode 100644 recipes/openjdk/openjdk-6/zero-cmpswap-long.patch
 create mode 100644 recipes/openjdk/openjdk-6_6b24-1.11.1.bb

diff --git a/recipes/openjdk/openjdk-6-6b24/build-hacks.patch b/recipes/openjdk/openjdk-6-6b24/build-hacks.patch
new file mode 100644
index 0000000..e23bae5
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/build-hacks.patch
@@ -0,0 +1,79 @@
+Index: icedtea6/Makefile.am
+===================================================================
+--- icedtea6.orig/Makefile.am	2011-12-21 21:24:25.000000000 +0100
++++ icedtea6/Makefile.am	2011-12-21 22:50:11.649227590 +0100
+@@ -538,6 +538,11 @@
+ 	JAVAC="" \
+ 	JAVA_HOME="" \
+ 	JDK_HOME="" \
++        OE_CFLAGS="$(OE_CFLAGS)" \
++        OE_CPPFLAGS="$(OE_CPPFLAGS)" \
++        OE_CXXFLAGS="$(OE_CXXFLAGS)" \
++        OE_LDFLAGS="$(OE_LDFLAGS)" \
++        OE_LAUNCHER_LDFLAGS="$(OE_LAUNCHER_LDFLAGS)" \
+ 	DISTRIBUTION_ID="$(DIST_ID)" \
+ 	DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \
+ 	DEBUG_CLASSFILES="true" \
+@@ -1851,12 +1856,16 @@
+ if BUILD_JAMVM
+ 	cd jamvm/jamvm && \
+ 	LDFLAGS="-Xlinker -z -Xlinker noexecstack" \
+-	./autogen.sh --with-java-runtime-library=openjdk \
+-	  --prefix=$(abs_top_builddir)/jamvm/install ; \
+-	$(MAKE) ; \
+-	$(MAKE) install
++       $(ARCH_PREFIX) ./autogen.sh --with-java-runtime-library=openjdk \
++	  --prefix=/usr/lib \
++	  --host=$(host_alias) \
++	  --build=$(build_alias) \
++	  --target=$(target_alias)  \
++	  --with-libtool-sysroot ; \
++	$(ARCH_PREFIX) $(MAKE) ; \
++	$(ARCH_PREFIX) $(MAKE) install DESTDIR=$(abs_top_builddir)/jamvm/install
+ 	mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+-	cp $(abs_top_builddir)/jamvm/install/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
++	cp $(abs_top_builddir)/jamvm/install/usr/lib/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+ 	ln -sf server $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/client
+ 	touch $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
+ 	ln -sf client/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/libjsig.so
+@@ -1874,7 +1883,7 @@
+ stamps/add-jamvm.stamp: stamps/icedtea.stamp stamps/jamvm.stamp
+ if ADD_JAMVM_BUILD
+ 	mkdir -p $(BUILD_JRE_ARCH_DIR)/jamvm
+-	install -m 644 jamvm/install/lib/libjvm.so \
++	install -m 644 jamvm/install/usr/lib/lib/libjvm.so \
+ 		$(BUILD_JRE_ARCH_DIR)/jamvm/
+ 	printf -- '-jamvm KNOWN\n' >> $(BUILD_JRE_ARCH_DIR)/jvm.cfg
+ else
+@@ -1918,6 +1927,7 @@
+ 	  --host=$(host_alias) \
+ 	  --build=$(build_alias) \
+ 	  --target=$(target_alias) \
++	  --with-libtool-sysroot \
+ 	  --prefix=$(abs_top_builddir)/cacao/install \
+ 	  --with-java-runtime-library=openjdk \
+ 	  --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
+@@ -1984,7 +1994,7 @@
+ # configure script arguments, quoted in single quotes
+ CONFIGURE_ARGS = @CONFIGURE_ARGS@
+ ADD_ZERO_CONFIGURE_ARGS = \
+-	--with-jdk-home=$(BUILD_OUTPUT_DIR)/j2sdk-image \
++	--with-jdk-home=$(abs_top_builddir)/bootstrap/jdk1.6.0 \
+ 	--enable-zero
+ if ADD_SHARK_BUILD
+ ADD_ZERO_CONFIGURE_ARGS += \
+Index: icedtea6/javac.in
+===================================================================
+--- icedtea6.orig/javac.in	2011-12-21 21:24:30.000000000 +0100
++++ icedtea6/javac.in	2011-12-21 22:44:25.860460813 +0100
+@@ -45,7 +45,9 @@
+     my @CLASSPATH = ('@ECJ_JAR@');
+     push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"};
+     $ENV{"CLASSPATH"} = join ':', @CLASSPATH;
+-    exec '@JAVA@', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args;
++    # Compiling hotspot-tools consumes tons of memory and exceeds any default
++    # limits for jamvm and cacao.
++    exec '@JAVA@', '-Xmx1024m', 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @ecj_args;
+ }
+ else
+ {
diff --git a/recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch b/recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
new file mode 100644
index 0000000..484cb10
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
@@ -0,0 +1,12 @@
+Index: icedtea6/Makefile.am
+===================================================================
+--- icedtea6.orig/Makefile.am	2011-12-21 22:58:23.000000000 +0100
++++ icedtea6/Makefile.am	2011-12-21 23:00:21.405887186 +0100
+@@ -1922,6 +1922,7 @@
+ if BUILD_CACAO
+ if !USE_SYSTEM_CACAO
+ 	cd cacao/cacao && \
++	rm -f libtool && \
+ 	./autogen.sh && \
+ 	$(ARCH_PREFIX) ./configure \
+ 	  --host=$(host_alias) \
diff --git a/recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch b/recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
new file mode 100644
index 0000000..0f50c6c
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
@@ -0,0 +1,12 @@
+Index: icedtea6/Makefile.am
+===================================================================
+--- icedtea6.orig/Makefile.am	2011-12-20 10:54:09.000000000 +0100
++++ icedtea6/Makefile.am	2011-12-20 11:49:12.810009279 +0100
+@@ -1921,6 +1921,7 @@
+ if BUILD_CACAO
+ if !USE_SYSTEM_CACAO
+ 	cd cacao/cacao && \
++	patch -p1 -N  < $(abs_top_srcdir)/patches/cacao-loadavg.patch && \
+ 	rm -f libtool && \
+ 	./autogen.sh && \
+ 	$(ARCH_PREFIX) ./configure \
diff --git a/recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch b/recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch
new file mode 100644
index 0000000..0fc1a81
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch
@@ -0,0 +1,27 @@
+Index: cacao-cff92704c4e0/src/vm/os.hpp
+===================================================================
+--- cacao-cff92704c4e0/src/vm/os.hpp	2011-12-08 13:40:45.000000000 +0100
++++ cacao-cff92704c4e0/src/vm/os.hpp	2011-12-20 11:42:36.985633921 +0100
+@@ -425,7 +425,21 @@
+ #if defined(HAVE_GETLOADAVG)
+ 	return ::getloadavg(loadavg, nelem);
+ #else
+-# error getloadavg not available
++        FILE *LOADAVG;
++        double avg[3] = { 0.0, 0.0, 0.0 };
++        int i, res = -1;;
++
++        if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++                fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++                res = 0;
++                fclose(LOADAVG);
++        }
++
++        for (i = 0; (i < nelem) && (i < 3); i++) {
++                loadavg[i] = avg[i];
++        }
++
++        return res;
+ #endif
+ }
+ 
diff --git a/recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch b/recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
new file mode 100644
index 0000000..bef699f
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
@@ -0,0 +1,51 @@
+Index: icedtea6/acinclude.m4
+===================================================================
+--- icedtea6.orig/acinclude.m4	2011-12-20 02:25:50.000000000 +0100
++++ icedtea6/acinclude.m4	2011-12-20 18:02:08.340386576 +0100
+@@ -928,6 +928,21 @@
+   AC_SUBST(ALT_CACAO_SRC_DIR)
+ ])
+ 
++AC_DEFUN([AC_CHECK_WITH_CC_FOR_BUILD],
++[
++  AC_MSG_CHECKING(for compiler used for subsidiary programs)
++  AC_ARG_WITH([cc-for-build],
++              [AS_HELP_STRING(--with-cc-for-build,specify the compiler for subsidiary (helper) programs)],
++  [
++    CC_FOR_BUILD="${withval}"
++  ],
++  [
++    CC_FOR_BUILD="\$(CC)"
++  ])
++  AC_MSG_RESULT(${CC_FOR_BUILD})
++  AC_SUBST(CC_FOR_BUILD)
++])
++
+ AC_DEFUN([IT_WITH_GCJ],
+ [
+   AC_MSG_CHECKING([whether to compile ecj natively])
+Index: icedtea6/Makefile.am
+===================================================================
+--- icedtea6.orig/Makefile.am	2011-12-20 17:59:27.000000000 +0100
++++ icedtea6/Makefile.am	2011-12-20 18:04:32.972312064 +0100
+@@ -538,6 +538,7 @@
+ 	JAVAC="" \
+ 	JAVA_HOME="" \
+ 	JDK_HOME="" \
++	CC_FOR_BUILD="$(CC_FOR_BUILD)" \
+         OE_CFLAGS="$(OE_CFLAGS)" \
+         OE_CPPFLAGS="$(OE_CPPFLAGS)" \
+         OE_CXXFLAGS="$(OE_CXXFLAGS)" \
+Index: icedtea6/configure.ac
+===================================================================
+--- icedtea6.orig/configure.ac	2011-12-20 02:25:50.000000000 +0100
++++ icedtea6/configure.ac	2011-12-20 18:03:04.534043885 +0100
+@@ -18,6 +18,8 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+ 
++AC_CHECK_WITH_CC_FOR_BUILD
++
+ IT_FIND_TOOL([MAKE], [make])
+ IT_FIND_TOOL([GZIP], [gzip])
+ IT_FIND_TOOL([ANT], [ant])
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000..652f7ac
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
@@ -0,0 +1,216 @@
+Index: openjdk/jdk/make/sun/awt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/Makefile	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/Makefile	2009-01-24 17:55:07.000000000 +0100
+@@ -509,10 +509,10 @@
+ #
+ 
+ ifeq ($(PLATFORM), linux)
+-CPPFLAGS += -I$(MOTIF_DIR)/include \
+-            -I$(OPENWIN_HOME)/include \
+-            -I$(OPENWIN_HOME)/include/X11/extensions \
+-            -I$(PLATFORM_SRC)/native/$(PKGDIR)/font 
++#CPPFLAGS += -I$(MOTIF_DIR)/include \
++#            -I$(OPENWIN_HOME)/include \
++#            -I$(OPENWIN_HOME)/include/X11/extensions \
++CPPFLAGS +=  -I$(PLATFORM_SRC)/native/$(PKGDIR)/font 
+ endif
+ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
+             -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
+@@ -536,7 +536,7 @@
+ 	    $(EVENT_MODEL)
+ 
+ ifeq ($(PLATFORM), linux)
+-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
++#LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
+ endif
+ 
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
+Index: openjdk/jdk/make/sun/awt/mawt.gmk
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/mawt.gmk	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/mawt.gmk	2009-01-24 17:55:07.000000000 +0100
+@@ -194,8 +194,8 @@
+ CPPFLAGS += -I$(CUPS_HEADERS_PATH)
+ 
+ ifndef HEADLESS
+-CPPFLAGS += -I$(OPENWIN_HOME)/include 
+-LDFLAGS  += -L$(OPENWIN_LIB)
++#CPPFLAGS += -I$(OPENWIN_HOME)/include 
++#LDFLAGS  += -L$(OPENWIN_LIB)
+ 
+ endif # !HEADLESS
+ 
+@@ -223,8 +223,8 @@
+ 
+ ifeq ($(PLATFORM), linux)
+ # Checking for the X11/extensions headers at the additional location
+-  CPPFLAGS += -I/X11R6/include/X11/extensions \
+-              -I/usr/include/X11/extensions
++#  CPPFLAGS += -I/X11R6/include/X11/extensions \
++#              -I/usr/include/X11/extensions
+ endif
+ 
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/xawt/Makefile	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile	2009-01-24 17:55:07.000000000 +0100
+@@ -123,11 +123,12 @@
+         -I$(PLATFORM_SRC)/native/sun/awt 
+ 
+ ifeq ($(PLATFORM), linux)
++# Very unsuitable for cross-compilation.
+ # Allows for builds on Debian GNU Linux, X11 is in a different place 
+-  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
+-              -I/usr/include/X11/extensions \
+-              -I$(MOTIF_DIR)/include \
+-              -I$(OPENWIN_HOME)/include 
++#  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
++#              -I/usr/include/X11/extensions \
++#              -I$(MOTIF_DIR)/include \
++#              -I$(OPENWIN_HOME)/include 
+ endif
+ 
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/hotspot/make/linux/makefiles/vm.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/vm.make	2009-01-24 17:55:07.000000000 +0100
+@@ -170,6 +170,7 @@
+ LIBS_VM   += $(LLVM_LIBS)
+ endif
+ 
++LFLAGS_VM += $(OE_LDFLAGS)
+ LINK_VM = $(LINK_LIB.c)
+ 
+ # rule for building precompiled header
+Index: openjdk/hotspot/make/linux/makefiles/buildtree.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make	2009-01-24 17:55:07.000000000 +0100
+@@ -343,7 +343,7 @@
+ 	echo "rm -f Queens.class"; \
+ 	echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
+ 	echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
+-	echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
++	echo 'echo Silently skipping the execution of the gamma program'; \
+ 	) > $@
+ 	$(QUIETLY) chmod +x $@
+ 
+Index: openjdk/corba/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/corba/make/common/Defs-linux.gmk	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/corba/make/common/Defs-linux.gmk	2009-01-24 17:55:07.000000000 +0100
+@@ -82,9 +82,9 @@
+ CC_NO_OPT      =
+ 
+ ifeq ($(PRODUCT), java)
+-    _OPT = $(CC_HIGHER_OPT)
++    _OPT = $(OE_CFLAGS)
+ else
+-    _OPT = $(CC_LOWER_OPT)
++    _OPT = $(OE_CFLAGS)
+     CPPFLAGS_DBG    += -DLOGGING 
+ endif
+ 
+@@ -94,7 +94,7 @@
+ #    as the default.
+ CFLAGS_REQUIRED_alpha   += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm     += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm     += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa    +=
+ CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -221,7 +221,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT     = -Xlinker -O1
++LDFLAGS_OPT     = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+ 
+Index: openjdk/jdk/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs-linux.gmk	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/common/Defs-linux.gmk	2009-01-24 17:55:07.000000000 +0100
+@@ -92,9 +92,9 @@
+ CC_NO_OPT      =
+ 
+ ifeq ($(PRODUCT), java)
+-    _OPT = $(CC_HIGHER_OPT)
++    _OPT = $(OE_CFLAGS)
+ else
+-    _OPT = $(CC_LOWER_OPT)
++    _OPT = $(OE_CFLAGS)
+     CPPFLAGS_DBG    += -DLOGGING 
+ endif
+ 
+@@ -104,7 +104,7 @@
+ #    as the default.
+ CFLAGS_REQUIRED_alpha   += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm     += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm     += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa    +=
+ CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -231,7 +231,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT     = -Xlinker -O1
++LDFLAGS_OPT     = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+ 
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2009-01-24 17:55:07.000000000 +0100
+@@ -119,7 +119,7 @@
+ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) 
+ 
+ # The flags to use for an Optimized g++ build
+-OPT_CFLAGS += -O3
++OPT_CFLAGS += $(OE_CFLAGS)
+ 
+ # Hotspot uses very unstrict aliasing turn this optimization off
+ OPT_CFLAGS += -fno-strict-aliasing
+@@ -148,7 +148,7 @@
+ endif
+ 
+ # Enable linker optimization
+-LFLAGS += -Xlinker -O1
++LFLAGS += $(OE_LDFLAGS)
+ 
+ # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
+ MAPFLAG = -Xlinker --version-script=FILENAME
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make	2009-01-24 17:55:19.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make	2009-01-24 17:56:05.000000000 +0100
+@@ -44,7 +44,7 @@
+   LIBS_LAUNCHER             += $(STATIC_STDCXX) $(LIBS)
+ else
+   LAUNCHER.o                 = launcher.o
+-  LFLAGS_LAUNCHER           += -L `pwd`
++  LFLAGS_LAUNCHER           += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
+   LIBS_LAUNCHER             += -l$(JVM) $(LIBS) -lstdc++
+ endif
+ 
+Index: icedtea6-1.8.5/build/openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/xawt/Makefile	2011-03-14 14:17:03.926207269 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile	2011-03-14 14:30:11.956186631 +0100
+@@ -245,7 +245,7 @@
+ 	    $(CHMOD) +w $@;\
+ 	else	\
+ 	    $(ECHO) GENERATING $@; \
+-	    $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++	    $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+ 	fi
+ 	@if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+ 	    $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
new file mode 100644
index 0000000..4bd8b2c
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
@@ -0,0 +1,13 @@
+Index: openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
+===================================================================
+--- openjdk.orig/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c	2011-10-19 16:56:03.014276748 +0200
++++ openjdk/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c	2011-10-19 16:57:19.942658211 +0200
+@@ -29,7 +29,7 @@
+ #include "X11SurfaceData.h"
+ 
+ /*#include <xcb/xcb.h>*/
+-#include <Xrender.h>
++#include <X11/extensions/Xrender.h>
+ 
+ #ifndef RepeatNone  /* added in 0.10 */
+ #define RepeatNone    0
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
new file mode 100644
index 0000000..5f2c98b
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
@@ -0,0 +1,12 @@
+Index: openjdk/hotspot/make/linux/makefiles/rules.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/rules.make	2010-02-02 02:22:33.201668748 +0100
++++ openjdk/hotspot/make/linux/makefiles/rules.make	2010-02-02 02:23:08.480415783 +0100
+@@ -39,6 +39,7 @@
+ # $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
+ C_COMPILE       = $(CC) $(CPPFLAGS) $(CFLAGS)
+ CC_COMPILE      = $(CCC) $(CPPFLAGS) $(CFLAGS)
++CC_HOST_COMPILE  = $(BUILD_CC) $(CPPFLAGS) $(CFLAGS)
+ 
+ AS.S            = $(AS) $(ASFLAGS)
+ 
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
new file mode 100644
index 0000000..657f722
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
@@ -0,0 +1,16 @@
+Index: openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2011-12-20 19:15:05.000000000 +0100
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2011-12-20 19:18:22.411503442 +0100
+@@ -2593,10 +2593,7 @@
+ // If we are running with earlier version, which did not have symbol versions,
+ // we should use the base version.
+ void* os::Linux::libnuma_dlsym(void* handle, const char *name) {
+-  void *f = dlvsym(handle, name, "libnuma_1.1");
+-  if (f == NULL) {
+-    f = dlsym(handle, name);
+-  }
++  void *f = dlsym(handle, name);
+   return f;
+ }
+ 
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
new file mode 100644
index 0000000..faa90ea
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
@@ -0,0 +1,23 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-06-09 22:22:13.696298239 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-06-09 22:24:15.308790737 +0200
+@@ -49,7 +49,6 @@
+ # include <string.h>
+ # include <syscall.h>
+ # include <sys/sysinfo.h>
+-# include <gnu/libc-version.h>
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+ # include <link.h>
+@@ -544,9 +543,7 @@
+      os::Linux::set_glibc_version(str);
+   } else {
+      // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version()
+-     static char _gnu_libc_version[32];
+-     jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version),
+-              "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release());
++     static char _gnu_libc_version[32] = "2.9";
+      os::Linux::set_glibc_version(_gnu_libc_version);
+   }
+ 
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
new file mode 100644
index 0000000..7c5da59
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
@@ -0,0 +1,15 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp	2010-06-09 21:41:28.576131825 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp	2010-06-09 21:41:55.555711815 +0200
+@@ -235,8 +235,8 @@
+ 
+ // Checking for finiteness
+ 
+-inline int g_isfinite(jfloat  f)                 { return finite(f); }
+-inline int g_isfinite(jdouble f)                 { return finite(f); }
++inline int g_isfinite(jfloat  f)                 { return isfinite(f); }
++inline int g_isfinite(jdouble f)                 { return isfinite(f); }
+ 
+ 
+ // Wide characters
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
new file mode 100644
index 0000000..494e965
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
@@ -0,0 +1,21 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp	2010-06-09 21:47:12.695674808 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp	2010-06-09 21:48:08.699007491 +0200
+@@ -220,14 +220,14 @@
+ // checking for nanness
+ #ifdef SOLARIS
+ #ifdef SPARC
+-inline int g_isnan(float  f) { return isnanf(f); }
++inline int g_isnan(float  f) { return __isnanf(f); }
+ #else
+ // isnanf() broken on Intel Solaris use isnand()
+ inline int g_isnan(float  f) { return isnand(f); }
+ #endif
+ inline int g_isnan(double f) { return isnand(f); }
+ #elif LINUX
+-inline int g_isnan(float  f) { return isnanf(f); }
++inline int g_isnan(float  f) { return __isnanf(f); }
+ inline int g_isnan(double f) { return isnan(f); }
+ #else
+ #error "missing platform-specific definition here"
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
new file mode 100644
index 0000000..7da41fd
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
@@ -0,0 +1,28 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-06-09 22:16:09.406334411 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-06-09 22:19:38.952152043 +0200
+@@ -4325,7 +4325,22 @@
+ // Linux doesn't yet have a (official) notion of processor sets,
+ // so just return the system wide load average.
+ int os::loadavg(double loadavg[], int nelem) {
+-  return ::getloadavg(loadavg, nelem);
++
++	FILE *LOADAVG;
++	double avg[3] = { 0.0, 0.0, 0.0 };
++	int i, res = -1;;
++
++	if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++		fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++		res = 0;
++		fclose(LOADAVG);
++	}
++
++	for (i = 0; (i < nelem) && (i < 3); i++) {
++		loadavg[i] = avg[i];
++	}
++
++	return res;
+ }
+ 
+ void os::pause() {
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
new file mode 100644
index 0000000..68f8581
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
@@ -0,0 +1,39 @@
+Index: openjdk/jdk/make/java/npt/Makefile
+===================================================================
+--- openjdk/jdk/make/java/npt/Makefile	2010-06-13 15:11:02.598512448 +0200
++++ openjdk/jdk/make/java/npt/Makefile	2010-06-13 15:11:28.504759286 +0200
+@@ -65,6 +65,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+ 
++LDLIBS += -liconv
++
+ # Add -export options to explicitly spell exported symbols
+ ifeq ($(PLATFORM), windows)
+   OTHER_LCF += -export:nptInitialize -export:nptTerminate
+Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
+===================================================================
+--- openjdk/jdk/make/java/instrument/Makefile	2010-06-13 15:12:14.688505195 +0200
++++ openjdk/jdk/make/java/instrument/Makefile	2010-06-13 15:12:32.641425670 +0200
+@@ -123,6 +123,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+ 
++LDLIBS += -liconv
++
+ #
+ # Add to ambient vpath so we pick up the library files
+ #
+Index: openjdk/jdk/make/sun/splashscreen/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/splashscreen/Makefile	2010-06-13 15:12:48.951840824 +0200
++++ openjdk/jdk/make/sun/splashscreen/Makefile	2010-06-13 15:13:01.191422891 +0200
+@@ -55,6 +55,8 @@
+ 
+ JAVALIB=
+ 
++LDLIBS += -liconv
++
+ #
+ # C Flags
+ #
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
new file mode 100644
index 0000000..5423fde
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
@@ -0,0 +1,41 @@
+Index: openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
+===================================================================
+--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c	2010-08-05 16:45:56.607257503 +0200
++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c	2010-08-05 16:47:19.727254686 +0200
+@@ -27,9 +27,6 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xos.h>
+ #include <X11/Xatom.h>
+-#ifdef __linux__
+-#include <execinfo.h>
+-#endif
+ 
+ #include <jvm.h>
+ #include <jni.h>
+@@ -689,26 +686,6 @@
+     return ret;
+ }
+ 
+-#ifdef __linux__
+-void print_stack(void)
+-{
+-  void *array[10];
+-  size_t size;
+-  char **strings;
+-  size_t i;
+-
+-  size = backtrace (array, 10);
+-  strings = backtrace_symbols (array, size);
+-
+-  fprintf (stderr, "Obtained %zd stack frames.\n", size);
+-
+-  for (i = 0; i < size; i++)
+-     fprintf (stderr, "%s\n", strings[i]);
+-
+-  free (strings);
+-}
+-#endif
+-
+ Window get_xawt_root_shell(JNIEnv *env) {
+   static jclass classXRootWindow = NULL;
+   static jmethodID methodGetXRootWindow = NULL;
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
new file mode 100644
index 0000000..40564f0
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
@@ -0,0 +1,12 @@
+Index: openjdk/jdk/make/com/sun/java/pack/Makefile
+===================================================================
+--- openjdk/jdk/make/com/sun/java/pack/Makefile	2010-06-13 15:25:21.548426411 +0200
++++ openjdk/jdk/make/com/sun/java/pack/Makefile	2010-06-13 15:25:43.858007543 +0200
+@@ -103,6 +103,7 @@
+   OTHER_LDLIBS += $(LIBCXX) -lc
+ # setup the list of libraries to link in...
+ ifeq ($(PLATFORM), linux)
++  OTHER_LDLIBS  += -lpthread
+ ifeq ("$(CC_VER_MAJOR)", "3")
+   OTHER_LDLIBS  += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
+ endif
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
new file mode 100644
index 0000000..b97745d
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
@@ -0,0 +1,13 @@
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/launcher.make	2011-12-20 10:33:37.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make	2011-12-20 10:37:54.055022618 +0100
+@@ -51,7 +51,7 @@
+ else
+   LAUNCHER.o                 = launcher.o
+   LFLAGS_LAUNCHER           += -L `pwd`
+-  LIBS_LAUNCHER             += -l$(JVM) $(LIBS)
++  LIBS_LAUNCHER             += -l$(JVM) $(LIBS) -lstdc++
+   ifeq ($(SHARK_BUILD), true)
+     LFLAGS_LAUNCHER += $(LLVM_LDFLAGS)
+     LIBS_LAUNCHER   += $(LLVM_LIBS)
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
new file mode 100644
index 0000000..024969d
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
@@ -0,0 +1,148 @@
+Index: openjdk/jdk/make/java/net/Makefile
+===================================================================
+--- openjdk/jdk/make/java/net/Makefile	2010-07-05 12:28:58.476625401 +0200
++++ openjdk/jdk/make/java/net/Makefile	2010-07-05 12:29:11.876625138 +0200
+@@ -25,7 +25,7 @@
+ 
+ BUILDDIR = ../..
+ PACKAGE = java.net
+-LIBRARY = net
++LIBRARY = javanet
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
+ 
+Index: openjdk/jdk/make/java/nio/Makefile
+===================================================================
+--- openjdk/jdk/make/java/nio/Makefile	2010-07-05 12:31:27.046626250 +0200
++++ openjdk/jdk/make/java/nio/Makefile	2010-07-05 12:32:06.647874890 +0200
+@@ -139,11 +139,11 @@
+ endif
+ ifeq ($(PLATFORM), linux)
+ COMPILER_WARNINGS_FATAL=true
+-OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
++OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet -lpthread -ldl
+ endif
+ ifeq ($(PLATFORM), solaris)
+ OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 -ldl \
+-		-L$(LIBDIR)/$(LIBARCH) -ljava -lnet
++		-L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet
+ endif # PLATFORM
+ 
+ #
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java	2010-07-05 17:40:56.467876415 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java	2010-07-05 17:41:43.326628410 +0200
+@@ -58,7 +58,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+     }
+ 
+     /**
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java	2010-07-05 17:41:01.027875484 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java	2010-07-05 17:41:56.826626386 +0200
+@@ -74,7 +74,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+     }
+ 
+     /**
+Index: openjdk/jdk/src/share/classes/java/net/DatagramPacket.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/DatagramPacket.java	2010-07-05 17:41:02.017875980 +0200
++++ openjdk/jdk/src/share/classes/java/net/DatagramPacket.java	2010-07-05 17:42:06.057875677 +0200
+@@ -47,7 +47,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+         init();
+     }
+ 
+Index: openjdk/jdk/src/share/classes/java/net/InetAddress.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/InetAddress.java	2010-07-05 17:41:02.756626429 +0200
++++ openjdk/jdk/src/share/classes/java/net/InetAddress.java	2010-07-05 17:42:15.997875786 +0200
+@@ -230,7 +230,7 @@
+     static {
+         preferIPv6Address = java.security.AccessController.doPrivileged(
+             new GetBooleanAction("java.net.preferIPv6Addresses")).booleanValue();
+-        AccessController.doPrivileged(new LoadLibraryAction("net"));
++        AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+         init();
+     }
+ 
+Index: openjdk/jdk/src/share/classes/java/net/NetworkInterface.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/NetworkInterface.java	2010-07-05 17:41:03.547875282 +0200
++++ openjdk/jdk/src/share/classes/java/net/NetworkInterface.java	2010-07-05 17:42:22.647875475 +0200
+@@ -52,7 +52,7 @@
+     private boolean virtual = false;
+ 
+     static {
+-        AccessController.doPrivileged(new LoadLibraryAction("net"));
++        AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+         init();
+     }
+ 
+Index: openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java	2010-07-05 17:41:04.306628153 +0200
++++ openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java	2010-07-05 17:42:32.666627264 +0200
+@@ -89,7 +89,7 @@
+                 }});
+         if (b != null && b.booleanValue()) {
+             java.security.AccessController.doPrivileged(
+-                      new sun.security.action.LoadLibraryAction("net"));
++                      new sun.security.action.LoadLibraryAction("javanet"));
+             hasSystemProxies = init();
+         }
+     }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/share/classes/sun/nio/ch/Util.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/nio/ch/Util.java	2010-07-05 17:41:05.086626745 +0200
++++ openjdk/jdk/src/share/classes/sun/nio/ch/Util.java	2010-07-05 17:42:39.266626410 +0200
+@@ -354,7 +354,7 @@
+                 return;
+             loaded = true;
+             java.security.AccessController
+-                .doPrivileged(new sun.security.action.LoadLibraryAction("net"));
++                .doPrivileged(new sun.security.action.LoadLibraryAction("javanet"));
+             java.security.AccessController
+                 .doPrivileged(new sun.security.action.LoadLibraryAction("nio"));
+             // IOUtil must be initialized; Its native methods are called from
+Index: openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2010-07-05 17:41:05.896626691 +0200
++++ openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2010-07-05 17:42:45.606625991 +0200
+@@ -244,7 +244,7 @@
+ 
+     static {
+         java.security.AccessController.doPrivileged(
+-            new sun.security.action.LoadLibraryAction("net"));
++            new sun.security.action.LoadLibraryAction("javanet"));
+     }
+ 
+ }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2010-07-05 17:41:06.786627210 +0200
++++ openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2010-07-05 17:42:51.926627747 +0200
+@@ -160,7 +160,7 @@
+ 
+     static {
+         java.security.AccessController.doPrivileged(
+-            new sun.security.action.LoadLibraryAction("net"));
++            new sun.security.action.LoadLibraryAction("javanet"));
+         init0();
+ 
+         // start the address listener thread
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
new file mode 100644
index 0000000..f2ad035
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
@@ -0,0 +1,14 @@
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/gcc.make	2010-02-02 16:11:35.758533706 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2010-02-02 16:11:42.761456458 +0100
+@@ -98,9 +98,6 @@
+   CFLAGS += -pipe
+ endif
+ 
+-# Compiler warnings are treated as errors
+-WARNINGS_ARE_ERRORS = -Werror
+-
+ # Except for a few acceptable ones
+ # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
+ # conversions which might affect the values. To avoid that, we need to turn
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
new file mode 100644
index 0000000..f40bc51
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
@@ -0,0 +1,113 @@
+Index: openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp
+===================================================================
+--- openjdk.orig/hotspot/src/share/vm/shark/sharkCompiler.cpp	2010-07-14 16:42:48.412103129 +0200
++++ openjdk/hotspot/src/share/vm/shark/sharkCompiler.cpp	2010-07-14 16:50:51.680282178 +0200
+@@ -32,6 +32,96 @@
+ 
+ #if SHARK_LLVM_VERSION >= 27
+ namespace {
++
++#if defined(__arm__) && defined(__linux__)
++#include <fcntl.h>
++#include <linux/auxvec.h>
++#include <asm/hwcap.h>
++#define VECBUFF_SIZE 32
++
++bool TestARMLinuxHWCAP(int feature) {
++  int fd;
++  unsigned vecs[VECBUFF_SIZE];
++  unsigned *p;
++  int i, n;
++  int rc;
++
++  rc = 0;
++  fd = open("/proc/self/auxv", O_RDONLY);
++  if (fd < 0) return 0;
++  do {
++    n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
++    p = vecs;
++    i = n/8;
++    while (--i >=0) {
++      unsigned tag = *p++;
++      unsigned value = *p++;
++      if (tag == 0) goto fini;
++      if(tag == AT_HWCAP && (value & feature)) {
++        rc = 1;
++        goto fini;
++      }
++    }
++  } while (n == VECBUFF_SIZE * sizeof(unsigned));
++fini:
++  close(fd);
++  return rc;
++}
++
++char* TestARMLinuxAT(int auxvec) {
++  int fd;
++  unsigned vecs[VECBUFF_SIZE];
++  unsigned *p;
++  int i, n;
++  char* rc;
++
++  rc = 0;
++  fd = open("/proc/self/auxv", O_RDONLY);
++  if (fd < 0) return 0;
++  do {
++    n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
++    p = vecs;
++    i = n/8;
++    while (--i >=0) {
++      unsigned tag = *p++;
++      unsigned value = *p++;
++      if (tag == 0) goto fini;
++      if(tag == (unsigned) auxvec ) {
++        rc = (char*)value;
++        goto fini;
++      }
++    }
++  } while (n == VECBUFF_SIZE * sizeof(unsigned));
++fini:
++  close(fd);
++  return rc;
++}
++
++bool getARMHostCPUFeatures(StringMap<bool> &Features) {
++  // FIXME LLVM PR6561 // Features["neon"]=TestARMLinuxHWCAP(HWCAP_NEON);
++  Features["thumb2"]=TestARMLinuxHWCAP(HWCAP_THUMBEE);
++  Features["vfp2"]=TestARMLinuxHWCAP(HWCAP_VFP);
++
++  std::string testArchKey(TestARMLinuxAT(AT_PLATFORM));
++
++  StringMap<std::string> archLinuxToLLVMMap;
++  archLinuxToLLVMMap["v4l"]="v4t";
++  archLinuxToLLVMMap["v5l"]="v5t";
++  archLinuxToLLVMMap["v6l"]="v6";
++  // FIXME change this from v6 to v7a when LLVM PR7048 have been fixed
++  archLinuxToLLVMMap["v7l"]="v6";
++
++  llvm::StringMapIterator<std::string> resultIterator(archLinuxToLLVMMap.find(
++                                                      testArchKey));
++  if(resultIterator->first()) {
++    std::string arch(resultIterator->second);
++    Features[arch]=true;
++  }
++
++  return true;
++}
++#endif
++
+   cl::opt<std::string>
+   MCPU("mcpu");
+ 
+@@ -64,7 +154,11 @@
+ #if SHARK_LLVM_VERSION >= 27
+   // Finetune LLVM for the current host CPU.
+   StringMap<bool> Features;
++#if defined(__arm__) && defined(__linux__)
++  bool gotCpuFeatures = getARMHostCPUFeatures(Features);
++#else
+   bool gotCpuFeatures = llvm::sys::getHostCPUFeatures(Features);
++#endif
+   std::string cpu("-mcpu=" + llvm::sys::getHostCPUName());
+ 
+   std::vector<const char*> args;
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
new file mode 100644
index 0000000..9f875de
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
@@ -0,0 +1,18 @@
+Index: openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+===================================================================
+--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h	2010-02-02 13:49:39.972718207 +0100
++++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h	2010-02-02 13:50:04.635639302 +0100
+@@ -27,13 +27,11 @@
+ 
+ #include "jfdlibm.h"
+ 
+-#ifdef __NEWVALID       /* special setup for Sun test regime */
+ #if defined(i386) || defined(i486) || \
+         defined(intel) || defined(x86) || \
+         defined(i86pc) || defined(_M_IA64) || defined(ia64)
+ #define _LITTLE_ENDIAN
+ #endif
+-#endif
+ 
+ #ifdef _LITTLE_ENDIAN
+ #define __HI(x) *(1+(int*)&x)
diff --git a/recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch b/recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
new file mode 100644
index 0000000..ec10e69
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
@@ -0,0 +1,41 @@
+Index: openjdk/hotspot/make/linux/makefiles/zeroshark.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/zeroshark.make	2011-12-20 18:24:38.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/zeroshark.make	2011-12-20 18:31:22.584884637 +0100
+@@ -32,13 +32,20 @@
+ Obj_Files += thumb2.o
+ 
+ CFLAGS += -DHOTSPOT_ASM
++CCFLAGS += -DHOTSPOT_ASM
++
++ifeq ($(CROSS_COMPILATION), true)
++	C_COMPILE_FOR_MKBC = $(CC_FOR_BUILD)
++else
++	C_COMPILE_FOR_MKBC = $(C_COMPILE)
++endif
+ 
+ cppInterpreter_arm.o:	offsets_arm.s bytecodes_arm.s
+ thumb2.o:		offsets_arm.s
+ 
+ offsets_arm.s:	mkoffsets
+ 	@echo Generating assembler offsets
+-	./mkoffsets > $@
++	$(QEMU) ./mkoffsets > $@
+ 
+ bytecodes_arm.s: bytecodes_arm.def mkbc
+ 	@echo Generatine ARM assembler bytecode sequences
+@@ -46,12 +53,12 @@
+ 
+ mkbc:	$(GAMMADIR)/tools/mkbc.c
+ 	@echo Compiling mkbc tool
+-	$(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
++	$(C_COMPILE_FOR_MKBC) -o $@ $< $(COMPILE_DONE)
+ 
+ mkoffsets:	asm_helper.cpp
+ 	@echo Compiling offset generator
+ 	$(QUIETLY) $(REMOVE_TARGET)
+-	$(CC_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
++	$(CC_COMPILE) -static -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
+ 
+ endif
+ 
diff --git a/recipes/openjdk/openjdk-6-6b24/jvm.cfg b/recipes/openjdk/openjdk-6-6b24/jvm.cfg
new file mode 100644
index 0000000..ea97cda
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-6b24/jvm.cfg
@@ -0,0 +1,43 @@
+# Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+# 
+# List of JVMs that can be used as an option to java, javac, etc.
+# Order is important -- first in this list is the default JVM.
+# NOTE that this both this file and its format are UNSUPPORTED and
+# WILL GO AWAY in a future release.
+#
+# You may also select a JVM in an arbitrary location with the
+# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
+# and may not be available in a future release.
+#
+-server ERROR
+-client IGNORE
+-hotspot ERROR
+-classic WARN
+-native ERROR
+-green ERROR
+-zero ALIASED_TO -server
+-shark ERROR
+-cacao ERROR
+-jamvm ERROR
diff --git a/recipes/openjdk/openjdk-6-common.inc b/recipes/openjdk/openjdk-6-common.inc
index 59a7a56..f6d3c34 100644
--- a/recipes/openjdk/openjdk-6-common.inc
+++ b/recipes/openjdk/openjdk-6-common.inc
@@ -10,7 +10,7 @@ ICEDTEA = "NEEDS TO BE SET"
 S = "${WORKDIR}/${ICEDTEA}"
 B = "${S}/build"
 
-INC_PR = "r12"
+INC_PR = "r13"
 
 SRC_URI = "\
   ${ICEDTEA_URI} \
@@ -24,6 +24,8 @@ SRC_URI = "\
   file://jvm.cfg \
   "
 
+FILESPATHPKG =. "openjdk-6-${PV}:"
+
 JDKPN = "openjdk-6"
 JDK_DIR = "java-6-openjdk"
 
@@ -33,21 +35,23 @@ PROVIDES += "${JDKPN} ${PACKAGES}"
 DEPENDS = "giflib libpng jpeg cups \
 	   xalan-j xerces-j rhino \
 	   freetype libxinerama libxt libxp libxrender libxtst libxi \
-	   ant-native alsa-lib libffi \
-	   icedtea6-native fastjar \
-           llvm2.7 cacaoh-openjdk-native \
+	   alsa-lib libffi llvm2.7 \
+           ant-native \
+           fastjar-native \
+	   icedtea6-native \
+           cacaoh-openjdk-native \
            zip-native \
-	 "
+          "
+
+DEPENDS_append_libc-uclibc = " libiconv "
 
 # The OpenJDK build with interpreter optimizations for ARM depends on a binary
 # that generates constants for an assembler source file. There is no other
 # way than to generate this on a pseudo machine. Cross-compiling would not help
 # because structure sizes and/or alignment may differ.
-DEPENDS_append_arm = " qemu-native "
+DEPENDS_append = " qemu-native "
 
 
-FILESPATHPKG =. "openjdk-6-${PV}:"
-
 # No package should directly depend on this (it should require
 # java2-runtime instead).
 PRIVATE_LIBS = "\
@@ -62,10 +66,10 @@ PRIVATE_LIBS = "\
 	libversionCheck.so libcompiledMethodLoad.so libgctest.so \
 	libheapViewer.so libheapTracker.so libminst.so libmtrace.so \
 	libwaiters.so libhprof.so \
-"
+       "
 
 
-inherit java autotools
+inherit java autotools gettext qemu
 
 export ALT_CUPS_HEADERS_PATH = "${STAGING_INCDIR}"
 export ALT_FREETYPE_HEADERS_PATH = "${STAGING_INCDIR}/freetype2"
@@ -86,7 +90,7 @@ EXTRA_OECONF = "\
 	--with-java=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/java \
 	--with-javac=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javac \
 	--with-javah=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javah \
-	--with-jar=${STAGING_BINDIR_NATIVE}/fastjar \
+	--with-jar=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/jar \
 	--with-rmic=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/rmic \
 	--with-xalan2-jar=${STAGING_DATADIR_JAVA}/xalan2.jar \
 	--with-xalan2-serializer-jar=${STAGING_DATADIR_JAVA}/serializer.jar \
@@ -101,7 +105,7 @@ EXTRA_OECONF = "\
 	--with-pkgversion=${PV} \
 	--with-cc-for-build=${BUILD_CC} \
         --enable-zero \
-        --with-additional-vms=shark,cacao \
+        --with-additional-vms=${WITH_ADDITIONAL_VMS} \
         --enable-openjdk-cross-compilation \
        "
 
@@ -114,8 +118,8 @@ def get_jdk_arch(d):
   jdk_arch = bb.data.getVar('TARGET_ARCH', d, 1)
   if jdk_arch == "x86_64":
     jdk_arch = "amd64"
-  elif (jdk_arch == "i586" or jdk_arch == "i686"):
-    jdk_arch = "i586"
+  elif (jdk_arch == "i486" or jdk_arch == "i586" or jdk_arch == "i686"):
+    jdk_arch = "i386"
 
   return jdk_arch
 
@@ -150,12 +154,12 @@ def get_llvm_configure_arch(d):
     arch = "x86"
   elif arch == "arm":
     arch = "arm"
-  elif arch == "mipsel":
+  elif arch == "mipsel" or arch == "mips":
     arch = "mips"
   elif arch == "powerpc":
     arch = "powerpc"
   else:
-    oefatal("Your target architecture is not supported by this recipe");
+    oefatal("%s does not support %s yet" % (bb.data.getVar('PN', d, 1), arch) );
 
   return arch
 
@@ -178,7 +182,7 @@ do_configure_prepend() {
   ln -sf ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/jre/lib/rt.jar ${WORKDIR}/fake-jdk/jre/lib/rt.jar
 
   symlinked=false
-  oenote "Creating symlinks for fake-jdk"
+  echo "Creating symlinks for fake-jdk"
   mkdir -p ${WORKDIR}/fake-jdk/include
   for i in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/include` ;do
 	bn=`basename $i`
@@ -195,7 +199,7 @@ do_configure_prepend() {
   then
     oefatal "Build b0rken! Have not created any symlinks for fake-jdk!"
   else
-	oenote "fake-jdk setup appears sane."
+    oenote "fake-jdk setup appears sane."
   fi
 }
 
@@ -248,19 +252,16 @@ export WANT_LLVM_RELEASE = "2.7"
 # Provides the target architecture to the configure script.
 export LLVM_CONFIGURE_ARCH="${@get_llvm_configure_arch(d)}"
 
-OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm2.7"
+OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm${WANT_LLVM_RELEASE} -Wl,-rpath,/usr/lib/llvm${WANT_LLVM_RELEASE}"
 
 EXTRA_OEMAKE += 'OE_LAUNCHER_LDFLAGS="${OE_LAUNCHER_LDFLAGS}"'
 
 
 # Large stack is required at least on x86_64 host, otherwise random segfaults appear:
-QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_TARGET}"
+QEMU = "${@qemu_target_binary(d)} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_TARGET}"
 
 EXTRA_OEMAKE += 'QEMU="${QEMU}"'
 
-# Name of the directory containing the compiled output
-BUILD_DIR = "build/linux-${JDK_ARCH}"
-
 # The build of OpenJDK is a 3-part process. For better restartability and overrideability they have been split into
 # three functions.
 # 1. compile Hotspot or Cacao (this one is supposed to be implemented according to wanted VM)
@@ -282,12 +283,12 @@ do_compilestepone() {
         rm -rf bootstrap/ecj/jre/lib/${JDK_ARCH} || true
 
                 # Provide a symlink to the target arch's libjvm.so (to link against)
-        ln -s `pwd`/openjdk-ecj/${BUILD_DIR}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH}
+        ln -s `pwd`/${BUILD_DIR_ECJ}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH}
 
         # fake j2sdk-image
-        rm openjdk-ecj/${BUILD_DIR}/j2sdk-image/include || true
-        cp -ar openjdk-ecj/${BUILD_DIR}/hotspot/import/include openjdk-ecj/${BUILD_DIR}/j2sdk-image/
-        install -d openjdk-ecj/${BUILD_DIR}/j2sdk-image/bin
+        rm ${BUILD_DIR_ECJ}/j2sdk-image/include || true
+        cp -ar ${BUILD_DIR_ECJ}/hotspot/import/include ${BUILD_DIR_ECJ}/j2sdk-image/
+        install -d ${BUILD_DIR_ECJ}/j2sdk-image/bin
 }
 addtask compilestepone after do_configure before do_compilesteptwo
 
@@ -299,7 +300,7 @@ do_compilesteptwo() {
 	rm stamps/icedtea-against-ecj.stamp stamps/icedtea-ecj.stamp || true
 	oe_runmake icedtea-against-ecj
 
-	ln -sf ../openjdk-ecj/${BUILD_DIR}/j2sdk-image bootstrap/icedtea
+	ln -sf ../${BUILD_DIR_ECJ}/j2sdk-image bootstrap/icedtea
 
 	#	Replace all executables with symlinks to their native equivalents.
 	for F in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin -type f`
@@ -321,7 +322,7 @@ do_compile() {
 
 do_install() {
 	install -d ${D}${libdir_jvm}
-	cp -R ${S}/build/openjdk/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME}
+	cp -R ${S}/build/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME}
 
 	chmod u+rw -R ${D}${JDK_HOME}
 
@@ -342,11 +343,6 @@ do_install() {
         install -m644 ${WORKDIR}/jvm.cfg  ${D}${JDK_HOME}/jre/lib/${JDK_ARCH}/
 }
 
-# Manual staging step that is only needed for oe-stable.
-do_stage() {
-          :
-}
-
 # Notes about the ideas behind packaging:
 # 1) User should install openjdk-6-jre. This is a provider of 'java2-runtime'.
 # 2) This lets package mgmt install: openjdk-6-java
@@ -370,6 +366,7 @@ PACKAGES = " \
             ${JDKPN}-vm-shark \
             ${JDKPN}-vm-zero \
             ${JDKPN}-vm-cacao \
+	    ${JDKPN}-vm-jamvm \
             ${JDKPN}-common \
            "
 
@@ -405,11 +402,13 @@ FILES_${JDKPN}-source = "${JDK_HOME}/src.zip"
 
 FILES_${JDKPN}-java = "${JDK_HOME}/jre/bin/java"
 
-FILES_${JDKPN}-vm-zero = "${JDK_HOME}/jre/lib/arm/server/"
+FILES_${JDKPN}-vm-zero = "${JDK_HOME}/jre/lib/${JDK_ARCH}/server/"
 
-FILES_${JDKPN}-vm-shark = "${JDK_HOME}/jre/lib/arm/shark/"
+FILES_${JDKPN}-vm-shark = "${JDK_HOME}/jre/lib/${JDK_ARCH}/shark/"
 
-FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/arm/cacao/"
+FILES_${JDKPN}-vm-cacao = "${JDK_HOME}/jre/lib/${JDK_ARCH}/cacao/"
+
+FILES_${JDKPN}-vm-jamvm = "${JDK_HOME}/jre/lib/${JDK_ARCH}/jamvm/"
 
 FILES_${JDKPN}-common = "${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \
                           ${JDK_HOME}/jre/THIRD_PARTY_README \
@@ -435,18 +434,28 @@ RDEPENDS_${JDKPN}-common = "librhino-java"
 RPROVIDES_${JDKPN}-vm-shark = "java2-vm"
 RPROVIDES_${JDKPN}-vm-zero = "java2-vm"
 RPROVIDES_${JDKPN}-vm-cacao = "java2-vm"
+RPROVIDES_${JDKPN}-vm-jamvm = "java2-vm"
 
-RDEPENDS_${JDKPN}-java = "java2-vm"
+# Even though a vm is a hard dependency it is set as RRECOMMENDS so a single vm can get uninstalled:
+# root@beaglebone:~/java# opkg remove openjdk-6-vm-shark
+# No packages removed.
+# Collected errors:
+#  * print_dependents_warning: Package openjdk-6-vm-shark is depended upon by packages:
+#  * print_dependents_warning: 	openjdk-6-java
+#  * print_dependents_warning: These might cease to work if package openjdk-6-vm-shark is removed.
+RRECOMMENDS_${JDKPN}-java = "java2-vm"
 
 # For some reason shark and cacao do not automatically depends on -common.
 # So we add that manually.
 RDEPENDS_${JDKPN}-vm-shark = "${JDKPN}-common"
 RDEPENDS_${JDKPN}-vm-cacao = "${JDKPN}-common"
+RDEPENDS_${JDKPN}-vm-jamvm = "${JDKPN}-common"
 
 # There is a symlink to a .so but this one is valid.
 INSANE_SKIP_${JDKPN}-vm-shark = "1"
 INSANE_SKIP_${JDKPN}-vm-zero = "1"
 INSANE_SKIP_${JDKPN}-vm-cacao = "1"
+INSANE_SKIP_${JDKPN}-vm-jamvm = "1"
 INSANE_SKIP_${JDKPN}-common = "1"
 
 FILES_${JDKPN}-jdk = " \
@@ -462,53 +471,75 @@ RDEPENDS_${JDKPN}-jdk = "${JDKPN}-jre"
 FILES_${JDKPN}-doc = "${JDK_HOME}/man"
 
 pkg_postinst_${JDKPN}-vm-shark () {
-        if  grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
-          sed -i -e "/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
-          echo "-cacao KNOWN" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
+        if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+          sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+	else
+          sed -i -e "s/\-shark.*/\-shark KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
         fi 
-
-	sed -i -e "/\-shark.*/d" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
 }
 
 pkg_prerm_${JDKPN}-vm-shark () {
-	sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg 
-        if  grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
-          sed -i -e "/\-cacao KNOWN/d" -e  "s|\(^\-server*\)|\-cacao KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+	sed -i -e "/^\-shark.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+          FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+          sed -i -e "/${FIRST_KNOWN}/d" -e  "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
         fi
+
+        echo "-shark ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
 }
 
 pkg_postinst_${JDKPN}-vm-cacao () {
-        if  grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
-          sed -i -e "/\-cacao.*/d" -e  "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
-        else 
-	  sed -i -e "s|^\-cacao.*|\-cacao KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+        if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+          sed -i -e "/\-cacao.*/d" -e "s|\(^\-server*\)|\-cacao KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+	else
+          sed -i -e "s/\-cacao.*/\-cacao KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
         fi
 }
 
 pkg_prerm_${JDKPN}-vm-cacao () {
-     if  grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/arm/jvm.cfg && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
-	sed -i -e "/\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
-        echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
-      else
-	sed -i -e "s|^\-cacao.*|\-cacao ERROR|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
-      fi
+	sed -i -e "/^\-cacao.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+          FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+          sed -i -e "/${FIRST_KNOWN}/d" -e  "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        fi
+
+        echo "-cacao ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+}
+
+pkg_postinst_${JDKPN}-vm-jamvm () {
+        if grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && ! grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+          sed -i -e "/\-jamvm.*/d" -e "s|\(^\-server*\)|\-jamvm KNOWN\n\1|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+	else
+          sed -i -e "s/\-jamvm.*/\-jamvm KNOWN/" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        fi 
+}
+
+pkg_prerm_${JDKPN}-vm-jamvm () {
+	sed -i -e "/^\-jamvm.*/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+          FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+          sed -i -e "/${FIRST_KNOWN}/d" -e  "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        fi
+
+        echo "-jamvm ERROR" >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
 }
 
 pkg_postinst_${JDKPN}-vm-zero () {
- if  grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg  && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
-   sed -i -e "/\-cacao KNOWN/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
-   echo "-cacao KNOWN" >> ${JDK_HOME}/jre/lib/arm/jvm.cfg
- fi
+        if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg && grep -q "\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+           FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+           sed -i -e "/${FIRST_KNOWN}/d" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+           echo ${FIRST_KNOWN} >> ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        fi
 
- sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+        sed -i -e "s|^\-server.*|\-server KNOWN|" -e "/^$/d" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
 }
 
 pkg_prerm_${JDKPN}-vm-zero () {
- if  grep -q "\-cacao KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg  && ! grep -q "\-shark KNOWN" ${JDK_HOME}/jre/lib/arm/jvm.cfg; then
-   sed -i -e "/\-cacao KNOWN/d" -e  "s|\(^\-server*\)|\-cacao KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
- fi
-
- sed -i -e "s|^\-server.*|\-server ERROR|" -e "/^$/d" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+	sed -i -e "/^\-server.*/\-server ERROR" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        if grep -q "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg; then
+          FIRST_KNOWN=`grep "KNOWN" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg | head -1`
+          sed -i -e "/${FIRST_KNOWN}/d" -e  "s|\(^\-server*\)|${FIRST_KNOWN}\n\1|" ${JDK_HOME}/jre/lib/${JDK_ARCH}/jvm.cfg
+        fi
 }
 
 pkg_postinst_${JDKPN}-jre () {
diff --git a/recipes/openjdk/openjdk-6-release-6b24.inc b/recipes/openjdk/openjdk-6-release-6b24.inc
new file mode 100644
index 0000000..74ac277
--- /dev/null
+++ b/recipes/openjdk/openjdk-6-release-6b24.inc
@@ -0,0 +1,115 @@
+require openjdk-6-common.inc
+
+# needed for dis-asm.h
+# if shark is needed
+# DEPENDS += "binutils"
+
+SRC_URI += "${JAMVM_URI}"
+
+EXTRA_OECONF += "\
+        --with-jdk-home=${WORKDIR}/fake-jdk \
+	--with-jar=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/jar \
+	--with-out-rhino \
+	--with-jaxws-drop-zip=${DL_DIR}/${JAXWS_FILE} \ 
+	--with-jaf-drop-zip=${DL_DIR}/${JAF_FILE} \
+	--with-jaxp-drop-zip=${DL_DIR}/${JAXP_FILE} \
+	--with-cacao-src-zip=${DL_DIR}/${CACAO_VERSION}.tar.gz \
+	--with-jamvm-src-zip=${DL_DIR}/jamvm-${JAMVM_VERSION}.tar.gz \
+	--with-openjdk-src-zip=${DL_DIR}/openjdk-6-src-${OPENJDK_VERSION}-${OPENJDK_DATE}.tar.gz \
+"
+
+# List of additional JVM to include in the build.
+WITH_ADDITIONAL_VMS = "cacao,jamvm"
+
+# Name of the directory containing the compiled output
+BUILD_DIR = "openjdk.build"
+BUILD_DIR_ECJ = "openjdk.build-ecj"
+
+# Force arm mode for now
+ARM_INSTRUCTION_SET_armv4t = "ARM"
+
+ICEDTEA_URI = "http://icedtea.classpath.org/download/source/${ICEDTEA}.tar.gz;name=iced"
+
+OPENJDK_VERSION = "b24"
+OPENJDK_DATE = "14_nov_2011"
+OPENJDK_URI = "http://download.java.net/openjdk/jdk6/promoted/${OPENJDK_VERSION}/openjdk-6-src-${OPENJDK_VERSION}-${OPENJDK_DATE}.tar.gz;subdir=openjdk-src-dir;name=openjdk"
+SRC_URI[openjdk.md5sum] = "0eabdd360169144336e50081b8d01001"
+SRC_URI[openjdk.sha256sum] = "f84e7f0938f4939660ff8f9c2aa164d301faa8a519f2324ceb05ad34b2e09227"
+
+JAXWS_FILE = "jdk6-jaxws2_1_6-2011_06_13.zip"
+JAXWS_URI = "http://icedtea.classpath.org/download/drops/${JAXWS_FILE};name=jaxws"
+SRC_URI[jaxws.md5sum] = "8fd91b09b643a19a912b8a75e7a7a9d5"
+SRC_URI[jaxws.sha256sum] = "229040544e791f44906e8e7b6f6faf503c730a5d854275135f3925490d5c3be3"
+
+JAF_FILE = "jdk6-jaf-b20.zip"
+JAF_URI = "http://icedtea.classpath.org/download/drops/${JAF_FILE};name=jaf"
+SRC_URI[jaf.md5sum] = "bc95c133620bd68c161cac9891592901"
+SRC_URI[jaf.sha256sum] = "78c7b5c9d6271e88ee46abadd018a61f1e9645f8936cc8df1617e5f4f5074012"
+
+JAXP_FILE = "jaxp144_03.zip"
+JAXP_URI = "http://icedtea.classpath.org/download/drops/${JAXP_FILE};name=jaxp"
+SRC_URI[jaxp.md5sum] = "9eea471ad474040265c688858fcf09aa"
+SRC_URI[jaxp.sha256sum] = "c1a5348e17b330a7e4b18431e61a40efd2ba99a7da71102cf2c604478ef96012"
+
+CACAO_URI = "http://icedtea.classpath.org/download/drops/cacao/${CACAO_VERSION}.tar.gz;name=cacao"
+
+JAMVM_URI = "http://icedtea.classpath.org/download/drops/jamvm/jamvm-${JAMVM_VERSION}.tar.gz;name=jamvm"
+
+# Allow overriding this separately
+OEPATCHES = "\
+	file://build-hacks.patch \
+	file://cacao-libtoolize.patch \
+	file://cacao-loadavg-makefile.patch \
+	file://fix_hotspot_crosscompile.patch \
+	file://cacao-loadavg.patch;apply=no \
+	"
+
+# Allow overriding this separately
+ICEDTEAPATCHES = "\
+	file://icedtea-launcher-stdc++.patch;apply=no \
+	file://icedtea-crosscompile-fix.patch;apply=no \
+	file://icedtea-hostbuildcc.patch;apply=no \
+	file://icedtea-unbreak-float.patch;apply=no \
+	file://icedtea-remove_werror.patch;apply=no \
+        file://icedtea-libnet-renaming.patch;apply=no \
+	file://icedtea-fix-xrender.patch;apply=no \
+	file://icedtea-shark-arm-linux-cpu-detection.patch;apply=no \
+        file://icedtea-zero-hotspotfix.patch;apply=no \
+	"
+
+ICEDTEAPATCHES_append_libc-uclibc = " \
+        file://icedtea-hotspot-isfinte.patch;apply=no \
+        file://icedtea-hotspot-glibc-version.patch;apply=no \
+        file://icedtea-hotspot-loadavg.patch;apply=no \
+        file://icedtea-hotspot-isnanf.patch;apply=no \
+        file://icedtea-jdk-iconv-uclibc.patch;apply=no \
+        file://icedtea-jdk-remove-unused-backtrace.patch;apply=no \
+        file://icedtea-jdk-unpack-uclibc.patch;apply=no \
+	file://icedtea-hotspot-dlvsym-uclibc.patch;apply=no \
+        "
+
+# Allow overriding this separately
+DISTRIBUTION_PATCHES = "\
+	patches/icedtea-launcher-stdc++.patch \
+	patches/icedtea-crosscompile-fix.patch \
+	patches/icedtea-hostbuildcc.patch \
+	patches/icedtea-unbreak-float.patch \
+	patches/icedtea-remove_werror.patch \
+        patches/icedtea-libnet-renaming.patch \
+	patches/icedtea-fix-xrender.patch \
+	patches/icedtea-shark-arm-linux-cpu-detection.patch \
+	patches/icedtea-zero-hotspotfix.patch \
+	"
+
+DISTRIBUTION_PATCHES_append_libc-uclibc = "\
+        patches/icedtea-hotspot-isfinte.patch \
+        patches/icedtea-hotspot-isnanf.patch \
+        patches/icedtea-hotspot-glibc-version.patch \
+        patches/icedtea-hotspot-loadavg.patch \
+        patches/icedtea-jdk-iconv-uclibc.patch \
+        patches/icedtea-jdk-remove-unused-backtrace.patch \
+        patches/icedtea-jdk-unpack-uclibc.patch \
+	patches/icedtea-hotspot-dlvsym-uclibc.patch \
+        "
+
+export DISTRIBUTION_PATCHES
diff --git a/recipes/openjdk/openjdk-6/build-hacks.patch b/recipes/openjdk/openjdk-6/build-hacks.patch
new file mode 100644
index 0000000..02a8300
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/build-hacks.patch
@@ -0,0 +1,31 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am	2010-04-12 23:55:51.754838172 +0200
++++ icedtea6-1.8/Makefile.am	2010-06-16 15:17:10.224708601 +0200
+@@ -477,6 +477,11 @@
+ 	JAVAC="" \
+ 	JAVA_HOME="" \
+ 	JDK_HOME="" \
++        OE_CFLAGS="$(OE_CFLAGS)" \
++        OE_CPPFLAGS="$(OE_CPPFLAGS)" \
++        OE_CXXFLAGS="$(OE_CXXFLAGS)" \
++        OE_LDFLAGS="$(OE_LDFLAGS)" \
++        OE_LAUNCHER_LDFLAGS="$(OE_LAUNCHER_LDFLAGS)" \
+ 	DISTRIBUTION_ID="$(DIST_ID)" \
+ 	DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \
+ 	DEBUG_CLASSFILES="true" \
+Index: icedtea6-1.8/javac.in
+===================================================================
+--- icedtea6-1.8.orig/javac.in	2010-03-25 15:10:41.714835519 +0100
++++ icedtea6-1.8/javac.in	2010-06-16 15:14:31.205334756 +0200
+@@ -35,7 +35,9 @@
+ elif [ ! -z "@ECJ@" ] ; then
+     @ECJ@ -1.5 -nowarn $bcoption $NEW_ARGS
+ else
++    # Compiling hotspot-tools consumes tons of memory and exceeds any default
++    # limits for jamvm and cacao.
+     CLASSPATH=@ECJ_JAR@${CLASSPATH:+:}$CLASSPATH \
+-     @JAVA@ org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $bcoption $NEW_ARGS
++     @JAVA@ -Xmx1024m org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $bcoption $NEW_ARGS
+ fi
+ 
diff --git a/recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch b/recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch
new file mode 100644
index 0000000..d676142
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch
@@ -0,0 +1,12 @@
+Index: cacao/cacao/src/mm/boehm-gc/os_dep.c
+===================================================================
+--- cacao/cacao/src/mm/boehm-gc/os_dep.c	2009-02-15 16:29:15.000000000 +0100
++++ cacao/cacao/src/mm/boehm-gc/os_dep.c	2009-02-15 16:29:24.000000000 +0100
+@@ -1077,7 +1077,6 @@
+       c = stat_buf[buf_offset++];
+     }
+     close(f);
+-    if (result < 0x10000000) ABORT("Absurd stack bottom value");
+     return (ptr_t)result;
+   }
+ 
diff --git a/recipes/openjdk/openjdk-6/cacao-libtoolize.patch b/recipes/openjdk/openjdk-6/cacao-libtoolize.patch
new file mode 100644
index 0000000..a153a32
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/cacao-libtoolize.patch
@@ -0,0 +1,18 @@
+Index: icedtea6-1.8.5/Makefile.am
+===================================================================
+--- icedtea6-1.8.5.orig/Makefile.am	2011-02-04 18:29:58.826701224 +0100
++++ icedtea6-1.8.5/Makefile.am	2011-02-04 18:31:53.430016002 +0100
+@@ -1918,10 +1918,13 @@
+ if BUILD_CACAO
+ if !USE_SYSTEM_CACAO
+ 	cd cacao/cacao && \
++        rm -f libtool && \
++        autoreconf --verbose --install --force --no-recursive && \
+ 	$(ARCH_PREFIX) ./configure \
+ 	  --host=$(host_alias) \
+ 	  --build=$(build_alias) \
+ 	  --target=$(target_alias) \
++          --with-libtool-sysroot \
+ 	  --prefix=$(abs_top_builddir)/cacao/install \
+ 	  --with-java-runtime-library=openjdk \
+ 	  --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
diff --git a/recipes/openjdk/openjdk-6/cacao-vfp-compat.patch b/recipes/openjdk/openjdk-6/cacao-vfp-compat.patch
new file mode 100644
index 0000000..09ba984
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/cacao-vfp-compat.patch
@@ -0,0 +1,37 @@
+Index: cacao/cacao/src/vm/jit/arm/codegen.c
+===================================================================
+--- cacao/cacao/src/vm/jit/arm/codegen.c	2008-10-01 16:23:21.439856241 +0200
++++ cacao/cacao/src/vm/jit/arm/codegen.c	2008-10-01 16:41:24.278841537 +0200
+@@ -2353,10 +2353,12 @@
+ 
+ 			d = md->returntype.type;
+ 
+-#if !defined(__SOFTFP__)
++#if !defined(__SOFTFP__) && !defined(__VFP_FP__)
+ 			/* TODO: this is only a hack, since we use R0/R1 for float
+ 			   return!  this depends on gcc; it is independent from
+-			   our ENABLE_SOFTFLOAT define */
++			   our ENABLE_SOFTFLOAT define
++			   It is only needed for -mfpu=fpa -mfloat-abi=hard!
++			 */
+ 			if (iptr->opc == ICMD_BUILTIN && d != TYPE_VOID && IS_FLT_DBL_TYPE(d)) {
+ #if 0 && !defined(NDEBUG)
+ 				dolog("BUILTIN that returns float or double (%s.%s)", m->clazz->name->text, m->name->text);
+@@ -3019,7 +3021,7 @@
+ 	s1 = (s4) (cd->mcodeptr - cd->mcodebase);
+ 	M_RECOMPUTE_PV(s1);
+ 
+-#if !defined(__SOFTFP__)
++#if !defined(__SOFTFP__) && !defined(__VFP_FP__)
+ 	/* TODO: this is only a hack, since we use R0/R1 for float return! */
+ 	/* this depends on gcc; it is independent from our ENABLE_SOFTFLOAT define */
+ 	if (md->returntype.type != TYPE_VOID && IS_FLT_DBL_TYPE(md->returntype.type)) {
+@@ -3030,7 +3032,7 @@
+ 		/* M_CAST_FLT_TO_INT_TYPED(md->returntype.type, REG_FRESULT, REG_RESULT_TYPED(md->returntype.type)); */
+ 		if (IS_2_WORD_TYPE(md->returntype.type)) {
+ 			DCD(0xed2d8102); /* stfd    f0, [sp, #-8]! */
+-			M_LDRD_UPDATE(REG_RESULT_PACKED, REG_SP, 8);
++ 			M_LDRD_UPDATE(REG_RESULT_PACKED, REG_SP, 8);
+ 		} else {
+ 			DCD(0xed2d0101); /* stfs    f0, [sp, #-4]!*/
+ 			M_LDR_UPDATE(REG_RESULT, REG_SP, 4);
diff --git a/recipes/openjdk/openjdk-6/fix-llvm-libs.patch b/recipes/openjdk/openjdk-6/fix-llvm-libs.patch
new file mode 100644
index 0000000..7c82daf
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/fix-llvm-libs.patch
@@ -0,0 +1,13 @@
+Index: icedtea6-1.8/configure.ac
+===================================================================
+--- icedtea6-1.8.orig/configure.ac
++++ icedtea6-1.8/configure.ac
+@@ -472,7 +472,7 @@
+     if test "x$LLVM_SHARED_LIB" != x && echo "$flag" | grep -q '^-lLLVM'; then
+       continue
+     fi
+-    if echo "$flag" | grep -q '^-l'; then
++    if echo "$flag" | grep -q '^-l\|.so'; then
+       if test "x$LLVM_LIBS" != "x"; then
+         LLVM_LIBS="$LLVM_LIBS "
+       fi
diff --git a/recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch b/recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch
new file mode 100644
index 0000000..38fb191
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch
@@ -0,0 +1,94 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am	2010-06-18 12:31:34.534667003 +0200
++++ icedtea6-1.8/Makefile.am	2010-06-18 12:31:34.714667729 +0200
+@@ -488,6 +488,7 @@
+ 	DEBUG_BINARIES="true" \
+ 	ALT_DROPS_DIR="$(abs_top_builddir)/drops" \
+ 	VERBOSE="$(VERBOSE)" \
++	CC_FOR_BUILD="$(CC_FOR_BUILD)" \
+ 	ALT_NETX_DIST="$(abs_top_builddir)/netx.build" \
+ 	ALT_LIVECONNECT_DIST="$(abs_top_builddir)/liveconnect"
+ 
+Index: icedtea6-1.8/acinclude.m4
+===================================================================
+--- icedtea6-1.8.orig/acinclude.m4	2010-04-10 21:58:40.804836529 +0200
++++ icedtea6-1.8/acinclude.m4	2010-06-18 12:31:34.714667729 +0200
+@@ -900,6 +900,21 @@
+   AC_SUBST(ALT_CACAO_SRC_DIR)
+ ])
+ 
++AC_DEFUN([AC_CHECK_WITH_CC_FOR_BUILD],
++[
++  AC_MSG_CHECKING(for compiler used for subsidiary programs)
++  AC_ARG_WITH([cc-for-build],
++              [AS_HELP_STRING(--with-cc-for-build,specify the compiler for subsidiary (helper) programs)],
++  [
++    CC_FOR_BUILD="${withval}"
++  ],
++  [
++    CC_FOR_BUILD="\$(CC)"
++  ])
++  AC_MSG_RESULT(${CC_FOR_BUILD})
++  AC_SUBST(CC_FOR_BUILD)
++])
++
+ AC_DEFUN([AC_CHECK_WITH_GCJ],
+ [
+   AC_MSG_CHECKING([whether to compile ecj natively])
+Index: icedtea6-1.8/configure.ac
+===================================================================
+--- icedtea6-1.8.orig/configure.ac	2010-04-12 13:46:18.821086023 +0200
++++ icedtea6-1.8/configure.ac	2010-06-18 12:31:34.724666321 +0200
+@@ -44,6 +44,7 @@
+ IT_CHECK_FOR_MERCURIAL
+ IT_OBTAIN_HG_REVISIONS
+ AC_PATH_TOOL([LSB_RELEASE],[lsb_release])
++AC_CHECK_WITH_CC_FOR_BUILD
+ AC_CHECK_WITH_GCJ
+ AC_CHECK_WITH_HOTSPOT_BUILD
+ AC_PATH_TOOL([LINUX32],[linux32])
+Index: icedtea6-1.8/ports/hotspot/make/linux/makefiles/zeroshark.make
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/make/linux/makefiles/zeroshark.make	2010-03-25 15:10:42.061085966 +0100
++++ icedtea6-1.8/ports/hotspot/make/linux/makefiles/zeroshark.make	2010-06-18 12:40:42.834666505 +0200
+@@ -32,6 +32,13 @@
+ Obj_Files += thumb2.o
+ 
+ CFLAGS += -DHOTSPOT_ASM
++CCFLAGS += -DHOTSPOT_ASM
++
++ifeq ($(CROSS_COMPILATION), true)
++  C_COMPILE_FOR_MKBC = $(CC_FOR_BUILD)
++else
++  C_COMPILE_FOR_MKBC = $(C_COMPILE)
++endif
+ 
+ %.o: %.S
+ 	@echo Assembling $<
+@@ -43,20 +50,20 @@
+ 
+ offsets_arm.s:	mkoffsets
+ 	@echo Generating assembler offsets
+-	./mkoffsets > $@
++	$(QEMU) ./mkoffsets > $@
+ 
+ bytecodes_arm.s: bytecodes_arm.def mkbc
+ 	@echo Generatine ARM assembler bytecode sequences
+ 	$(CC_COMPILE) -E -x c++ - < $< | ./mkbc - $@ $(COMPILE_DONE)
+ 
+-mkbc:	$(GAMMADIR)/tools/mkbc.c
++mkbc: $(GAMMADIR)/tools/mkbc.c
+ 	@echo Compiling mkbc tool
+-	$(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
++	$(C_COMPILE_FOR_MKBC) -o $@ $< $(COMPILE_DONE)
+ 
+-mkoffsets:	asm_helper.cpp
++mkoffsets: asm_helper.cpp
+ 	@echo Compiling offset generator
+ 	$(QUIETLY) $(REMOVE_TARGET)
+-	$(CC_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
++	$(CC_COMPILE) -static -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
+ 
+ endif
+ 
diff --git a/recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch b/recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000..6ec83bb
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch
@@ -0,0 +1,229 @@
+Index: openjdk/jdk/make/sun/awt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/Makefile	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/Makefile	2009-01-24 17:55:07.000000000 +0100
+@@ -509,10 +509,10 @@
+ #
+ 
+ ifeq ($(PLATFORM), linux)
+-CPPFLAGS += -I$(MOTIF_DIR)/include \
+-            -I$(OPENWIN_HOME)/include \
+-            -I$(OPENWIN_HOME)/include/X11/extensions \
+-            -I$(PLATFORM_SRC)/native/$(PKGDIR)/font 
++#CPPFLAGS += -I$(MOTIF_DIR)/include \
++#            -I$(OPENWIN_HOME)/include \
++#            -I$(OPENWIN_HOME)/include/X11/extensions \
++CPPFLAGS +=  -I$(PLATFORM_SRC)/native/$(PKGDIR)/font 
+ endif
+ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
+             -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
+@@ -536,7 +536,7 @@
+ 	    $(EVENT_MODEL)
+ 
+ ifeq ($(PLATFORM), linux)
+-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
++#LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
+ endif
+ 
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
+Index: openjdk/jdk/make/sun/awt/mawt.gmk
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/mawt.gmk	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/mawt.gmk	2009-01-24 17:55:07.000000000 +0100
+@@ -194,8 +194,8 @@
+ CPPFLAGS += -I$(CUPS_HEADERS_PATH)
+ 
+ ifndef HEADLESS
+-CPPFLAGS += -I$(OPENWIN_HOME)/include 
+-LDFLAGS  += -L$(OPENWIN_LIB)
++#CPPFLAGS += -I$(OPENWIN_HOME)/include 
++#LDFLAGS  += -L$(OPENWIN_LIB)
+ 
+ endif # !HEADLESS
+ 
+@@ -223,8 +223,8 @@
+ 
+ ifeq ($(PLATFORM), linux)
+ # Checking for the X11/extensions headers at the additional location
+-  CPPFLAGS += -I/X11R6/include/X11/extensions \
+-              -I/usr/include/X11/extensions
++#  CPPFLAGS += -I/X11R6/include/X11/extensions \
++#              -I/usr/include/X11/extensions
+ endif
+ 
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/xawt/Makefile	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile	2009-01-24 17:55:07.000000000 +0100
+@@ -123,11 +123,12 @@
+         -I$(PLATFORM_SRC)/native/sun/awt 
+ 
+ ifeq ($(PLATFORM), linux)
++# Very unsuitable for cross-compilation.
+ # Allows for builds on Debian GNU Linux, X11 is in a different place 
+-  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
+-              -I/usr/include/X11/extensions \
+-              -I$(MOTIF_DIR)/include \
+-              -I$(OPENWIN_HOME)/include 
++#  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
++#              -I/usr/include/X11/extensions \
++#              -I$(MOTIF_DIR)/include \
++#              -I$(OPENWIN_HOME)/include 
+ endif
+ 
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/hotspot/make/linux/makefiles/vm.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/vm.make	2009-01-24 17:55:07.000000000 +0100
+@@ -170,6 +170,7 @@
+ LIBS_VM   += $(LLVM_LIBS)
+ endif
+ 
++LFLAGS_VM += $(OE_LDFLAGS)
+ LINK_VM = $(LINK_LIB.c)
+ 
+ # rule for building precompiled header
+Index: openjdk/hotspot/make/linux/makefiles/buildtree.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make	2009-01-24 17:55:07.000000000 +0100
+@@ -343,7 +343,7 @@
+ 	echo "rm -f Queens.class"; \
+ 	echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
+ 	echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
+-	echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
++	echo 'echo Silently skipping the execution of the gamma program'; \
+ 	) > $@
+ 	$(QUIETLY) chmod +x $@
+ 
+Index: openjdk/corba/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/corba/make/common/Defs-linux.gmk	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/corba/make/common/Defs-linux.gmk	2009-01-24 17:55:07.000000000 +0100
+@@ -82,9 +82,9 @@
+ CC_NO_OPT      =
+ 
+ ifeq ($(PRODUCT), java)
+-    _OPT = $(CC_HIGHER_OPT)
++    _OPT = $(OE_CFLAGS)
+ else
+-    _OPT = $(CC_LOWER_OPT)
++    _OPT = $(OE_CFLAGS)
+     CPPFLAGS_DBG    += -DLOGGING 
+ endif
+ 
+@@ -94,7 +94,7 @@
+ #    as the default.
+ CFLAGS_REQUIRED_alpha   += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm     += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm     += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa    +=
+ CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -221,7 +221,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT     = -Xlinker -O1
++LDFLAGS_OPT     = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+ 
+Index: openjdk/jdk/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs-linux.gmk	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/common/Defs-linux.gmk	2009-01-24 17:55:07.000000000 +0100
+@@ -92,9 +92,9 @@
+ CC_NO_OPT      =
+ 
+ ifeq ($(PRODUCT), java)
+-    _OPT = $(CC_HIGHER_OPT)
++    _OPT = $(OE_CFLAGS)
+ else
+-    _OPT = $(CC_LOWER_OPT)
++    _OPT = $(OE_CFLAGS)
+     CPPFLAGS_DBG    += -DLOGGING 
+ endif
+ 
+@@ -104,7 +104,7 @@
+ #    as the default.
+ CFLAGS_REQUIRED_alpha   += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm     += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm     += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa    +=
+ CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -231,7 +231,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT     = -Xlinker -O1
++LDFLAGS_OPT     = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+ 
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2009-01-24 17:55:07.000000000 +0100
+@@ -119,7 +119,7 @@
+ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) 
+ 
+ # The flags to use for an Optimized g++ build
+-OPT_CFLAGS += -O3
++OPT_CFLAGS += $(OE_CFLAGS)
+ 
+ # Hotspot uses very unstrict aliasing turn this optimization off
+ OPT_CFLAGS += -fno-strict-aliasing
+@@ -148,7 +148,7 @@
+ endif
+ 
+ # Enable linker optimization
+-LFLAGS += -Xlinker -O1
++LFLAGS += $(OE_LDFLAGS)
+ 
+ # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
+ MAPFLAG = -Xlinker --version-script=FILENAME
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make	2009-01-24 17:55:19.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make	2009-01-24 17:56:05.000000000 +0100
+@@ -44,7 +44,7 @@
+   LIBS_LAUNCHER             += $(STATIC_STDCXX) $(LIBS)
+ else
+   LAUNCHER.o                 = launcher.o
+-  LFLAGS_LAUNCHER           += -L `pwd`
++  LFLAGS_LAUNCHER           += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
+   LIBS_LAUNCHER             += -l$(JVM) $(LIBS) -lstdc++
+ endif
+ 
+Index: icedtea6-1.8.5/build/openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/xawt/Makefile	2011-03-14 14:17:03.926207269 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile	2011-03-14 14:30:11.956186631 +0100
+@@ -245,7 +245,7 @@
+ 	    $(CHMOD) +w $@;\
+ 	else	\
+ 	    $(ECHO) GENERATING $@; \
+-	    $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++	    $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+ 	fi
+ 	@if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+ 	    $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+Index: openjdk/hotspot/make/linux/makefiles/jsig.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/jsig.make	2010-02-17 04:11:04.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/jsig.make	2011-11-18 22:56:03.923900991 +0100
+@@ -39,7 +39,7 @@
+ # cause problems with interposing. See CR: 6466665
+ # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
+ 
+-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT
++LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(OE_LDFLAGS)
+ 
+ # DEBUG_BINARIES overrides everything, use full -g debug information
+ ifeq ($(DEBUG_BINARIES), true)
diff --git a/recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch b/recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch
new file mode 100644
index 0000000..59d806d
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch
@@ -0,0 +1,13 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am	2010-06-17 10:29:13.654666801 +0200
++++ icedtea6-1.8/Makefile.am	2010-06-17 10:30:50.334670771 +0200
+@@ -1750,7 +1745,7 @@
+ stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR)
+ if WITH_RHINO
+ 	mkdir -p rhino/rhino.{old,new}
+-	(cd rhino/rhino.old ; jar xf $(RHINO_JAR))
++	(cd rhino/rhino.old ; $(ICEDTEA_BOOT_DIR)/bin/jar xf $(RHINO_JAR))
+ 	$(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter \
+ 	  com.redhat.rewriter.ClassRewriter \
+ 	  $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \
diff --git a/recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch b/recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch
new file mode 100644
index 0000000..01dcb82
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch
@@ -0,0 +1,131 @@
+Index: openjdk/jdk/src/share/classes/javax/swing/HasGetTransferHandler.java
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ openjdk/jdk/src/share/classes/javax/swing/HasGetTransferHandler.java	2011-11-18 20:44:00.281649848 +0100
+@@ -0,0 +1,38 @@
++/*
++ * Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ *
++ * This code is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 only, as
++ * published by the Free Software Foundation.  Sun designates this
++ * particular file as subject to the "Classpath" exception as provided
++ * by Sun in the LICENSE file that accompanied this code.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++ * CA 95054 USA or visit www.sun.com if you need additional information or
++ * have any questions.
++ */
++package javax.swing;
++
++/**
++ * An interface to tag things with a {@code getTransferHandler} method.
++ */
++interface HasGetTransferHandler {
++
++     /** Returns the {@code TransferHandler}.
++      *
++      * @return The {@code TransferHandler} or {@code null}
++      */
++     public TransferHandler getTransferHandler();
++}
++
+Index: openjdk/jdk/src/share/classes/javax/swing/TransferHandler.java
+===================================================================
+--- openjdk/jdk/src/share/classes/javax/swing/TransferHandler.java	2011-11-18 18:51:22.000000000 +0100
++++ openjdk/jdk/src/share/classes/javax/swing/TransferHandler.java	2011-11-18 20:44:01.628219313 +0100
+@@ -122,18 +122,6 @@
+     public static final int LINK = DnDConstants.ACTION_LINK;
+ 
+     /**
+-     * An interface to tag things with a {@code getTransferHandler} method.
+-     */
+-    interface HasGetTransferHandler {
+-
+-        /** Returns the {@code TransferHandler}.
+-         *
+-         * @return The {@code TransferHandler} or {@code null}
+-         */
+-        public TransferHandler getTransferHandler();
+-    }
+-
+-    /**
+      * Represents a location where dropped data should be inserted.
+      * This is a base class that only encapsulates a point.
+      * Components supporting drop may provide subclasses of this
+diff --git a/jdk/src/share/classes/javax/swing/JApplet.java b/jdk/src/share/classes/javax/swing/JApplet.java
+index 47f792a..72c2cf9 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JApplet.java
++++ openjdk/jdk/src/share/classes/javax/swing/JApplet.java
+@@ -91,7 +91,7 @@ import javax.accessibility.*;
+  */
+ public class JApplet extends Applet implements Accessible,
+                                                RootPaneContainer,
+-                               TransferHandler.HasGetTransferHandler
++                                               HasGetTransferHandler
+ {
+     /**
+      * @see #getRootPane
+diff --git a/jdk/src/share/classes/javax/swing/JComponent.java b/jdk/src/share/classes/javax/swing/JComponent.java
+index 4293a4f..0c0a1dc 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JComponent.java
++++ openjdk/jdk/src/share/classes/javax/swing/JComponent.java
+@@ -171,7 +171,7 @@ import sun.swing.UIClientPropertyKey;
+  * @author Arnaud Weber
+  */
+ public abstract class JComponent extends Container implements Serializable,
+-                                              TransferHandler.HasGetTransferHandler
++                                                              HasGetTransferHandler
+ {
+     /**
+      * @see #getUIClassID
+diff --git a/jdk/src/share/classes/javax/swing/JDialog.java b/jdk/src/share/classes/javax/swing/JDialog.java
+index a0193d1..aeeb243 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JDialog.java
++++ openjdk/jdk/src/share/classes/javax/swing/JDialog.java
+@@ -97,7 +97,7 @@ import javax.accessibility.*;
+ public class JDialog extends Dialog implements WindowConstants,
+                                                Accessible,
+                                                RootPaneContainer,
+-                               TransferHandler.HasGetTransferHandler
++                                               HasGetTransferHandler
+ {
+     /**
+      * Key into the AppContext, used to check if should provide decorations
+diff --git a/jdk/src/share/classes/javax/swing/JFrame.java b/jdk/src/share/classes/javax/swing/JFrame.java
+index 9910b43..4cb8f58 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JFrame.java
++++ openjdk/jdk/src/share/classes/javax/swing/JFrame.java
+@@ -109,7 +109,7 @@ import javax.accessibility.*;
+ public class JFrame  extends Frame implements WindowConstants,
+                                               Accessible,
+                                               RootPaneContainer,
+-                              TransferHandler.HasGetTransferHandler
++                                              HasGetTransferHandler
+ {
+     /**
+      * The exit application default window close operation. If a window
+diff --git a/jdk/src/share/classes/javax/swing/JWindow.java b/jdk/src/share/classes/javax/swing/JWindow.java
+index c94803c..85bbb57 100644
+--- openjdk/jdk/src/share/classes/javax/swing/JWindow.java
++++ openjdk/jdk/src/share/classes/javax/swing/JWindow.java
+@@ -91,7 +91,7 @@ import javax.accessibility.*;
+  */
+ public class JWindow extends Window implements Accessible,
+                                                RootPaneContainer,
+-                               TransferHandler.HasGetTransferHandler
++                                               HasGetTransferHandler
+ {
+     /**
+      * The <code>JRootPane</code> instance that manages the
diff --git a/recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch b/recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch
new file mode 100644
index 0000000..5f2c98b
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch
@@ -0,0 +1,12 @@
+Index: openjdk/hotspot/make/linux/makefiles/rules.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/rules.make	2010-02-02 02:22:33.201668748 +0100
++++ openjdk/hotspot/make/linux/makefiles/rules.make	2010-02-02 02:23:08.480415783 +0100
+@@ -39,6 +39,7 @@
+ # $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
+ C_COMPILE       = $(CC) $(CPPFLAGS) $(CFLAGS)
+ CC_COMPILE      = $(CCC) $(CPPFLAGS) $(CFLAGS)
++CC_HOST_COMPILE  = $(BUILD_CC) $(CPPFLAGS) $(CFLAGS)
+ 
+ AS.S            = $(AS) $(ASFLAGS)
+ 
diff --git a/recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch b/recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch
new file mode 100644
index 0000000..faa90ea
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch
@@ -0,0 +1,23 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-06-09 22:22:13.696298239 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-06-09 22:24:15.308790737 +0200
+@@ -49,7 +49,6 @@
+ # include <string.h>
+ # include <syscall.h>
+ # include <sys/sysinfo.h>
+-# include <gnu/libc-version.h>
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+ # include <link.h>
+@@ -544,9 +543,7 @@
+      os::Linux::set_glibc_version(str);
+   } else {
+      // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version()
+-     static char _gnu_libc_version[32];
+-     jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version),
+-              "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release());
++     static char _gnu_libc_version[32] = "2.9";
+      os::Linux::set_glibc_version(_gnu_libc_version);
+   }
+ 
diff --git a/recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch b/recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch
new file mode 100644
index 0000000..7c5da59
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch
@@ -0,0 +1,15 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp	2010-06-09 21:41:28.576131825 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp	2010-06-09 21:41:55.555711815 +0200
+@@ -235,8 +235,8 @@
+ 
+ // Checking for finiteness
+ 
+-inline int g_isfinite(jfloat  f)                 { return finite(f); }
+-inline int g_isfinite(jdouble f)                 { return finite(f); }
++inline int g_isfinite(jfloat  f)                 { return isfinite(f); }
++inline int g_isfinite(jdouble f)                 { return isfinite(f); }
+ 
+ 
+ // Wide characters
diff --git a/recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch b/recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch
new file mode 100644
index 0000000..494e965
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch
@@ -0,0 +1,21 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp	2010-06-09 21:47:12.695674808 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp	2010-06-09 21:48:08.699007491 +0200
+@@ -220,14 +220,14 @@
+ // checking for nanness
+ #ifdef SOLARIS
+ #ifdef SPARC
+-inline int g_isnan(float  f) { return isnanf(f); }
++inline int g_isnan(float  f) { return __isnanf(f); }
+ #else
+ // isnanf() broken on Intel Solaris use isnand()
+ inline int g_isnan(float  f) { return isnand(f); }
+ #endif
+ inline int g_isnan(double f) { return isnand(f); }
+ #elif LINUX
+-inline int g_isnan(float  f) { return isnanf(f); }
++inline int g_isnan(float  f) { return __isnanf(f); }
+ inline int g_isnan(double f) { return isnan(f); }
+ #else
+ #error "missing platform-specific definition here"
diff --git a/recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch b/recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch
new file mode 100644
index 0000000..7da41fd
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch
@@ -0,0 +1,28 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-06-09 22:16:09.406334411 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-06-09 22:19:38.952152043 +0200
+@@ -4325,7 +4325,22 @@
+ // Linux doesn't yet have a (official) notion of processor sets,
+ // so just return the system wide load average.
+ int os::loadavg(double loadavg[], int nelem) {
+-  return ::getloadavg(loadavg, nelem);
++
++	FILE *LOADAVG;
++	double avg[3] = { 0.0, 0.0, 0.0 };
++	int i, res = -1;;
++
++	if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++		fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++		res = 0;
++		fclose(LOADAVG);
++	}
++
++	for (i = 0; (i < nelem) && (i < 3); i++) {
++		loadavg[i] = avg[i];
++	}
++
++	return res;
+ }
+ 
+ void os::pause() {
diff --git a/recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch b/recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch
new file mode 100644
index 0000000..9c70ba1
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch
@@ -0,0 +1,13 @@
+Index: openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c
+===================================================================
+--- openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c	2010-06-13 15:18:05.655136951 +0200
++++ openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c	2010-06-13 15:20:29.601377967 +0200
+@@ -51,7 +51,7 @@
+ {
+     const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
+     // look up existing handle only, do not load
+-    void *hModule = dlopen(libName, RTLD_NOLOAD);
++    void *hModule = dlopen(libName, RTLD_LAZY);
+     dprintf2("-handle for %s: %u\n", libName, hModule);
+     (*env)->ReleaseStringUTFChars(env, jLibName, libName);
+     return (jlong)hModule;
diff --git a/recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch b/recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch
new file mode 100644
index 0000000..68f8581
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch
@@ -0,0 +1,39 @@
+Index: openjdk/jdk/make/java/npt/Makefile
+===================================================================
+--- openjdk/jdk/make/java/npt/Makefile	2010-06-13 15:11:02.598512448 +0200
++++ openjdk/jdk/make/java/npt/Makefile	2010-06-13 15:11:28.504759286 +0200
+@@ -65,6 +65,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+ 
++LDLIBS += -liconv
++
+ # Add -export options to explicitly spell exported symbols
+ ifeq ($(PLATFORM), windows)
+   OTHER_LCF += -export:nptInitialize -export:nptTerminate
+Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
+===================================================================
+--- openjdk/jdk/make/java/instrument/Makefile	2010-06-13 15:12:14.688505195 +0200
++++ openjdk/jdk/make/java/instrument/Makefile	2010-06-13 15:12:32.641425670 +0200
+@@ -123,6 +123,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
+ 
++LDLIBS += -liconv
++
+ #
+ # Add to ambient vpath so we pick up the library files
+ #
+Index: openjdk/jdk/make/sun/splashscreen/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/splashscreen/Makefile	2010-06-13 15:12:48.951840824 +0200
++++ openjdk/jdk/make/sun/splashscreen/Makefile	2010-06-13 15:13:01.191422891 +0200
+@@ -55,6 +55,8 @@
+ 
+ JAVALIB=
+ 
++LDLIBS += -liconv
++
+ #
+ # C Flags
+ #
diff --git a/recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch b/recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch
new file mode 100644
index 0000000..5423fde
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch
@@ -0,0 +1,41 @@
+Index: openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
+===================================================================
+--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c	2010-08-05 16:45:56.607257503 +0200
++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c	2010-08-05 16:47:19.727254686 +0200
+@@ -27,9 +27,6 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xos.h>
+ #include <X11/Xatom.h>
+-#ifdef __linux__
+-#include <execinfo.h>
+-#endif
+ 
+ #include <jvm.h>
+ #include <jni.h>
+@@ -689,26 +686,6 @@
+     return ret;
+ }
+ 
+-#ifdef __linux__
+-void print_stack(void)
+-{
+-  void *array[10];
+-  size_t size;
+-  char **strings;
+-  size_t i;
+-
+-  size = backtrace (array, 10);
+-  strings = backtrace_symbols (array, size);
+-
+-  fprintf (stderr, "Obtained %zd stack frames.\n", size);
+-
+-  for (i = 0; i < size; i++)
+-     fprintf (stderr, "%s\n", strings[i]);
+-
+-  free (strings);
+-}
+-#endif
+-
+ Window get_xawt_root_shell(JNIEnv *env) {
+   static jclass classXRootWindow = NULL;
+   static jmethodID methodGetXRootWindow = NULL;
diff --git a/recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch b/recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch
new file mode 100644
index 0000000..40564f0
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch
@@ -0,0 +1,12 @@
+Index: openjdk/jdk/make/com/sun/java/pack/Makefile
+===================================================================
+--- openjdk/jdk/make/com/sun/java/pack/Makefile	2010-06-13 15:25:21.548426411 +0200
++++ openjdk/jdk/make/com/sun/java/pack/Makefile	2010-06-13 15:25:43.858007543 +0200
+@@ -103,6 +103,7 @@
+   OTHER_LDLIBS += $(LIBCXX) -lc
+ # setup the list of libraries to link in...
+ ifeq ($(PLATFORM), linux)
++  OTHER_LDLIBS  += -lpthread
+ ifeq ("$(CC_VER_MAJOR)", "3")
+   OTHER_LDLIBS  += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
+ endif
diff --git a/recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch b/recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch
new file mode 100644
index 0000000..ee24afa
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch
@@ -0,0 +1,13 @@
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make	2009-01-16 17:30:56.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make	2009-01-16 17:31:13.000000000 +0100
+@@ -45,7 +45,7 @@
+ else
+   LAUNCHER.o                 = launcher.o
+   LFLAGS_LAUNCHER           += -L `pwd`
+-  LIBS_LAUNCHER             += -l$(JVM) $(LIBS)
++  LIBS_LAUNCHER             += -l$(JVM) $(LIBS) -lstdc++
+ endif
+ 
+ LINK_LAUNCHER = $(LINK.c)
diff --git a/recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch b/recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch
new file mode 100644
index 0000000..024969d
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch
@@ -0,0 +1,148 @@
+Index: openjdk/jdk/make/java/net/Makefile
+===================================================================
+--- openjdk/jdk/make/java/net/Makefile	2010-07-05 12:28:58.476625401 +0200
++++ openjdk/jdk/make/java/net/Makefile	2010-07-05 12:29:11.876625138 +0200
+@@ -25,7 +25,7 @@
+ 
+ BUILDDIR = ../..
+ PACKAGE = java.net
+-LIBRARY = net
++LIBRARY = javanet
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
+ 
+Index: openjdk/jdk/make/java/nio/Makefile
+===================================================================
+--- openjdk/jdk/make/java/nio/Makefile	2010-07-05 12:31:27.046626250 +0200
++++ openjdk/jdk/make/java/nio/Makefile	2010-07-05 12:32:06.647874890 +0200
+@@ -139,11 +139,11 @@
+ endif
+ ifeq ($(PLATFORM), linux)
+ COMPILER_WARNINGS_FATAL=true
+-OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
++OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet -lpthread -ldl
+ endif
+ ifeq ($(PLATFORM), solaris)
+ OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 -ldl \
+-		-L$(LIBDIR)/$(LIBARCH) -ljava -lnet
++		-L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet
+ endif # PLATFORM
+ 
+ #
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java	2010-07-05 17:40:56.467876415 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java	2010-07-05 17:41:43.326628410 +0200
+@@ -58,7 +58,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+     }
+ 
+     /**
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java	2010-07-05 17:41:01.027875484 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java	2010-07-05 17:41:56.826626386 +0200
+@@ -74,7 +74,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+     }
+ 
+     /**
+Index: openjdk/jdk/src/share/classes/java/net/DatagramPacket.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/DatagramPacket.java	2010-07-05 17:41:02.017875980 +0200
++++ openjdk/jdk/src/share/classes/java/net/DatagramPacket.java	2010-07-05 17:42:06.057875677 +0200
+@@ -47,7 +47,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+         init();
+     }
+ 
+Index: openjdk/jdk/src/share/classes/java/net/InetAddress.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/InetAddress.java	2010-07-05 17:41:02.756626429 +0200
++++ openjdk/jdk/src/share/classes/java/net/InetAddress.java	2010-07-05 17:42:15.997875786 +0200
+@@ -230,7 +230,7 @@
+     static {
+         preferIPv6Address = java.security.AccessController.doPrivileged(
+             new GetBooleanAction("java.net.preferIPv6Addresses")).booleanValue();
+-        AccessController.doPrivileged(new LoadLibraryAction("net"));
++        AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+         init();
+     }
+ 
+Index: openjdk/jdk/src/share/classes/java/net/NetworkInterface.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/NetworkInterface.java	2010-07-05 17:41:03.547875282 +0200
++++ openjdk/jdk/src/share/classes/java/net/NetworkInterface.java	2010-07-05 17:42:22.647875475 +0200
+@@ -52,7 +52,7 @@
+     private boolean virtual = false;
+ 
+     static {
+-        AccessController.doPrivileged(new LoadLibraryAction("net"));
++        AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+         init();
+     }
+ 
+Index: openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java	2010-07-05 17:41:04.306628153 +0200
++++ openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java	2010-07-05 17:42:32.666627264 +0200
+@@ -89,7 +89,7 @@
+                 }});
+         if (b != null && b.booleanValue()) {
+             java.security.AccessController.doPrivileged(
+-                      new sun.security.action.LoadLibraryAction("net"));
++                      new sun.security.action.LoadLibraryAction("javanet"));
+             hasSystemProxies = init();
+         }
+     }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/share/classes/sun/nio/ch/Util.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/nio/ch/Util.java	2010-07-05 17:41:05.086626745 +0200
++++ openjdk/jdk/src/share/classes/sun/nio/ch/Util.java	2010-07-05 17:42:39.266626410 +0200
+@@ -354,7 +354,7 @@
+                 return;
+             loaded = true;
+             java.security.AccessController
+-                .doPrivileged(new sun.security.action.LoadLibraryAction("net"));
++                .doPrivileged(new sun.security.action.LoadLibraryAction("javanet"));
+             java.security.AccessController
+                 .doPrivileged(new sun.security.action.LoadLibraryAction("nio"));
+             // IOUtil must be initialized; Its native methods are called from
+Index: openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2010-07-05 17:41:05.896626691 +0200
++++ openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2010-07-05 17:42:45.606625991 +0200
+@@ -244,7 +244,7 @@
+ 
+     static {
+         java.security.AccessController.doPrivileged(
+-            new sun.security.action.LoadLibraryAction("net"));
++            new sun.security.action.LoadLibraryAction("javanet"));
+     }
+ 
+ }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2010-07-05 17:41:06.786627210 +0200
++++ openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2010-07-05 17:42:51.926627747 +0200
+@@ -160,7 +160,7 @@
+ 
+     static {
+         java.security.AccessController.doPrivileged(
+-            new sun.security.action.LoadLibraryAction("net"));
++            new sun.security.action.LoadLibraryAction("javanet"));
+         init0();
+ 
+         // start the address listener thread
diff --git a/recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch b/recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch
new file mode 100644
index 0000000..e47ee50
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch
@@ -0,0 +1,29 @@
+Index: openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp	2011-11-18 20:38:09.000000000 +0100
++++ openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp	2011-11-18 21:03:15.781644337 +0100
+@@ -38,7 +38,11 @@
+ #include <llvm/ModuleProvider.h>
+ #endif
+ #include <llvm/Support/IRBuilder.h>
++#if SHARK_LLVM_VERSION >= 29
++#include <llvm/Support/Threading.h>
++#else
+ #include <llvm/System/Threading.h>
++#endif
+ #include <llvm/Target/TargetSelect.h>
+ #include <llvm/Type.h>
+ #include <llvm/ExecutionEngine/JITMemoryManager.h>
+@@ -47,8 +51,12 @@
+ #include <llvm/ExecutionEngine/JIT.h>
+ #include <llvm/ADT/StringMap.h>
+ #include <llvm/Support/Debug.h>
++#if SHARK_LLVM_VERSION >= 29
++#include <llvm/Support/Host.h>
++#else
+ #include <llvm/System/Host.h>
+ #endif
++#endif
+ 
+ #include <map>
+ 
diff --git a/recipes/openjdk/openjdk-6/icedtea-remove_werror.patch b/recipes/openjdk/openjdk-6/icedtea-remove_werror.patch
new file mode 100644
index 0000000..f2ad035
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-remove_werror.patch
@@ -0,0 +1,14 @@
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/gcc.make	2010-02-02 16:11:35.758533706 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2010-02-02 16:11:42.761456458 +0100
+@@ -98,9 +98,6 @@
+   CFLAGS += -pipe
+ endif
+ 
+-# Compiler warnings are treated as errors
+-WARNINGS_ARE_ERRORS = -Werror
+-
+ # Except for a few acceptable ones
+ # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
+ # conversions which might affect the values. To avoid that, we need to turn
diff --git a/recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch b/recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch
new file mode 100644
index 0000000..9f875de
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch
@@ -0,0 +1,18 @@
+Index: openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+===================================================================
+--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h	2010-02-02 13:49:39.972718207 +0100
++++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h	2010-02-02 13:50:04.635639302 +0100
+@@ -27,13 +27,11 @@
+ 
+ #include "jfdlibm.h"
+ 
+-#ifdef __NEWVALID       /* special setup for Sun test regime */
+ #if defined(i386) || defined(i486) || \
+         defined(intel) || defined(x86) || \
+         defined(i86pc) || defined(_M_IA64) || defined(ia64)
+ #define _LITTLE_ENDIAN
+ #endif
+-#endif
+ 
+ #ifdef _LITTLE_ENDIAN
+ #define __HI(x) *(1+(int*)&x)
diff --git a/recipes/openjdk/openjdk-6/jvm.cfg b/recipes/openjdk/openjdk-6/jvm.cfg
new file mode 100644
index 0000000..9e008e9
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/jvm.cfg
@@ -0,0 +1,41 @@
+# Copyright 2003 Sun Microsystems, Inc.  All Rights Reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+# 
+# List of JVMs that can be used as an option to java, javac, etc.
+# Order is important -- first in this list is the default JVM.
+# NOTE that this both this file and its format are UNSUPPORTED and
+# WILL GO AWAY in a future release.
+#
+# You may also select a JVM in an arbitrary location with the
+# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
+# and may not be available in a future release.
+#
+-server ERROR
+-client IGNORE
+-hotspot ERROR
+-classic WARN
+-native ERROR
+-green ERROR
+-zero ALIASED_TO -server
+-cacao ERROR
diff --git a/recipes/openjdk/openjdk-6/mkbc_returncode.patch b/recipes/openjdk/openjdk-6/mkbc_returncode.patch
new file mode 100644
index 0000000..13280b3
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/mkbc_returncode.patch
@@ -0,0 +1,11 @@
+Index: icedtea6/ports/hotspot/tools/mkbc.c
+===================================================================
+--- icedtea6.orig/ports/hotspot/tools/mkbc.c	2010-04-01 12:25:13.791317722 +0200
++++ icedtea6/ports/hotspot/tools/mkbc.c	2010-04-01 12:27:34.151606177 +0200
+@@ -602,4 +602,6 @@
+ 	if (ferror(bci_f)) fatal("Error writing bci");
+ 	if (source_f != stdin) fclose(source_f);
+ 	if (bci_f != stdout) fclose(bci_f);
++
++	return 0;
+ }
diff --git a/recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch b/recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch
new file mode 100644
index 0000000..df9e147
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch
@@ -0,0 +1,113 @@
+Index: icedtea6-1.8/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp	2010-07-14 16:42:48.412103129 +0200
++++ icedtea6-1.8/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp	2010-07-14 16:50:51.680282178 +0200
+@@ -32,6 +32,96 @@
+ 
+ #if SHARK_LLVM_VERSION >= 27
+ namespace {
++
++#if defined(__arm__) && defined(__linux__)
++#include <fcntl.h>
++#include <linux/auxvec.h>
++#include <asm/hwcap.h>
++#define VECBUFF_SIZE 32
++
++bool TestARMLinuxHWCAP(int feature) {
++  int fd;
++  unsigned vecs[VECBUFF_SIZE];
++  unsigned *p;
++  int i, n;
++  int rc;
++
++  rc = 0;
++  fd = open("/proc/self/auxv", O_RDONLY);
++  if (fd < 0) return 0;
++  do {
++    n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
++    p = vecs;
++    i = n/8;
++    while (--i >=0) {
++      unsigned tag = *p++;
++      unsigned value = *p++;
++      if (tag == 0) goto fini;
++      if(tag == AT_HWCAP && (value & feature)) {
++        rc = 1;
++        goto fini;
++      }
++    }
++  } while (n == VECBUFF_SIZE * sizeof(unsigned));
++fini:
++  close(fd);
++  return rc;
++}
++
++char* TestARMLinuxAT(int auxvec) {
++  int fd;
++  unsigned vecs[VECBUFF_SIZE];
++  unsigned *p;
++  int i, n;
++  char* rc;
++
++  rc = 0;
++  fd = open("/proc/self/auxv", O_RDONLY);
++  if (fd < 0) return 0;
++  do {
++    n = read(fd, vecs, VECBUFF_SIZE * sizeof(unsigned));
++    p = vecs;
++    i = n/8;
++    while (--i >=0) {
++      unsigned tag = *p++;
++      unsigned value = *p++;
++      if (tag == 0) goto fini;
++      if(tag == (unsigned) auxvec ) {
++        rc = (char*)value;
++        goto fini;
++      }
++    }
++  } while (n == VECBUFF_SIZE * sizeof(unsigned));
++fini:
++  close(fd);
++  return rc;
++}
++
++bool getARMHostCPUFeatures(StringMap<bool> &Features) {
++  // FIXME LLVM PR6561 // Features["neon"]=TestARMLinuxHWCAP(HWCAP_NEON);
++  Features["thumb2"]=TestARMLinuxHWCAP(HWCAP_THUMBEE);
++  Features["vfp2"]=TestARMLinuxHWCAP(HWCAP_VFP);
++
++  std::string testArchKey(TestARMLinuxAT(AT_PLATFORM));
++
++  StringMap<std::string> archLinuxToLLVMMap;
++  archLinuxToLLVMMap["v4l"]="v4t";
++  archLinuxToLLVMMap["v5l"]="v5t";
++  archLinuxToLLVMMap["v6l"]="v6";
++  // FIXME change this from v6 to v7a when LLVM PR7048 have been fixed
++  archLinuxToLLVMMap["v7l"]="v6";
++
++  llvm::StringMapIterator<std::string> resultIterator(archLinuxToLLVMMap.find(
++                                                      testArchKey));
++  if(resultIterator->first()) {
++    std::string arch(resultIterator->second);
++    Features[arch]=true;
++  }
++
++  return true;
++}
++#endif
++
+   cl::opt<std::string>
+   MCPU("mcpu");
+ 
+@@ -64,7 +154,11 @@
+ #if SHARK_LLVM_VERSION >= 27
+   // Finetune LLVM for the current host CPU.
+   StringMap<bool> Features;
++#if defined(__arm__) && defined(__linux__)
++  bool gotCpuFeatures = getARMHostCPUFeatures(Features);
++#else
+   bool gotCpuFeatures = llvm::sys::getHostCPUFeatures(Features);
++#endif
+   std::string cpu("-mcpu=" + llvm::sys::getHostCPUName());
+ 
+   std::vector<const char*> args;
diff --git a/recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch b/recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch
new file mode 100644
index 0000000..4e89967
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch
@@ -0,0 +1,13 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am	2010-06-30 11:30:49.526648376 +0200
++++ icedtea6-1.8/Makefile.am	2010-06-30 11:42:02.606648734 +0200
+@@ -1882,7 +1882,7 @@
+ # configure script arguments, quoted in single quotes
+ CONFIGURE_ARGS = @CONFIGURE_ARGS@
+ ADD_ZERO_CONFIGURE_ARGS = \
+-	--with-openjdk=$(abs_top_builddir)/$(BUILD_OUTPUT_DIR)/j2sdk-image \
++	--with-openjdk=$(abs_top_builddir)/bootstrap/jdk1.6.0 \
+ 	--enable-zero
+ if ADD_SHARK_BUILD
+ ADD_ZERO_CONFIGURE_ARGS += \
diff --git a/recipes/openjdk/openjdk-6/zero-cmpswap-long.patch b/recipes/openjdk/openjdk-6/zero-cmpswap-long.patch
new file mode 100644
index 0000000..ca21ccf
--- /dev/null
+++ b/recipes/openjdk/openjdk-6/zero-cmpswap-long.patch
@@ -0,0 +1,20 @@
+Index: icedtea6-1.8/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp	2010-06-17 10:26:16.885292426 +0200
++++ icedtea6-1.8/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp	2010-06-17 10:29:19.034668305 +0200
+@@ -266,7 +266,15 @@
+                              volatile jlong* dest,
+                              jlong compare_value) {
+ 
++#ifdef ARM
++  return arm_compare_and_swap((jint *) dest, (jint) compare_value, (jint) exchange_value);
++#else
++#ifdef M68K
++  return m68k_compare_and_swap((jint *) dest, (jint) compare_value, (jint) exchange_value);
++#else
+   return __sync_val_compare_and_swap(dest, compare_value, exchange_value);
++#endif // M68K
++#endif // ARM
+ }
+ 
+ inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value,
diff --git a/recipes/openjdk/openjdk-6_6b24-1.11.1.bb b/recipes/openjdk/openjdk-6_6b24-1.11.1.bb
new file mode 100644
index 0000000..0a43281
--- /dev/null
+++ b/recipes/openjdk/openjdk-6_6b24-1.11.1.bb
@@ -0,0 +1,18 @@
+require openjdk-6-release-6b24.inc
+
+PR = "${INC_PR}.0"
+
+ICEDTEA = "icedtea6-1.11.1"
+
+SRC_URI[iced.md5sum] = "e51d9d2f0328cc5aa7a00943abd96ed6"
+SRC_URI[iced.sha256sum] = "bafb0e21e1edf5ee22871b13dbc0a8a0d3efd894551fb91d5f59783069b6912c"
+
+CACAO_VERSION = "cff92704c4e0"
+SRC_URI[cacao.md5sum] = "40b811b8b7f01b51cd21e62255691bc7"
+SRC_URI[cacao.sha256sum] = "dc768c9d097fb056ad34fc6d5a57e8fd4f3b24bf515be92acc5ee4208160eb3f"
+
+JAMVM_VERSION = "4617da717ecb05654ea5bb9572338061106a414d"
+SRC_URI[jamvm.md5sum] = "740c2587502831cac6797d1233a7e27b"
+SRC_URI[jamvm.sha256sum] = "47fce7bd556c1b1d29a93b8c45497e0d872b48b7f535066b303336f29d0f0d8d"
+
+FILESPATH =. "${FILE_DIRNAME}/openjdk-6-6b24:"
-- 
1.7.9




^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 11/12][oe-classic] angstrom-jalimo.conf: prefer icedtea 1.11.1 for openjdk6
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (9 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 10/12][oe-classic] openjdk: backport 1.11.1 release from meta-java Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-18 21:20 ` [PATCH 12/12][oe-classic] openjdk-6-common.inc: fix hardcoded path for allowing to build with linux 3.x Henning Heinold
  2012-02-19  0:27 ` [oe-classic][PATCH 00/12] openjdk Khem Raj
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel


Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 conf/distro/include/angstrom-jalimo.conf |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/conf/distro/include/angstrom-jalimo.conf b/conf/distro/include/angstrom-jalimo.conf
index f2d2fa6..d715980 100644
--- a/conf/distro/include/angstrom-jalimo.conf
+++ b/conf/distro/include/angstrom-jalimo.conf
@@ -21,7 +21,7 @@ PREFERRED_VERSION_jamvm = "1.5.2"
 PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk"
 PREFERRED_PROVIDER_classpath = "classpath"
 
-PREFERRED_VERSION_openjdk-6-jre = "6b18-1.8.5"
+PREFERRED_VERSION_openjdk-6-jre = "6b24-1.11.1"
 PREFERRED_VERSION_icedtea6-native = "1.7.10"
 
 # Stage JAR files not into ARCH related dirs
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH 12/12][oe-classic] openjdk-6-common.inc: fix hardcoded path for allowing to build with linux 3.x
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (10 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 11/12][oe-classic] angstrom-jalimo.conf: prefer icedtea 1.11.1 for openjdk6 Henning Heinold
@ 2012-02-18 21:20 ` Henning Heinold
  2012-02-19  0:27 ` [oe-classic][PATCH 00/12] openjdk Khem Raj
  12 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-18 21:20 UTC (permalink / raw)
  To: openembedded-devel


Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/openjdk/openjdk-6-common.inc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/recipes/openjdk/openjdk-6-common.inc b/recipes/openjdk/openjdk-6-common.inc
index f6d3c34..ee3db29 100644
--- a/recipes/openjdk/openjdk-6-common.inc
+++ b/recipes/openjdk/openjdk-6-common.inc
@@ -213,7 +213,7 @@ do_configure_prepend() {
 do_configure_append() {
 	oe_runmake patch-ecj
 
-	for F in ${WORKDIR}/openjdk-src-dir/hotspot/make/linux/Makefile ${WORKDIR}/icedtea6-1.8.5/build/openjdk-ecj/hotspot/make/linux/Makefile ${WORKDIR}/icedtea6-1.8.5/build/openjdk/hotspot/make/linux/Makefile ;
+	for F in ${WORKDIR}/openjdk-src-dir/hotspot/make/linux/Makefile ${B}/openjdk-ecj/hotspot/make/linux/Makefile ${B}/openjdk/hotspot/make/linux/Makefile ;
 	do
 		sed -i \
 			-e"s|SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 2.7%|SUPPORTED_OS_VERSION = 2.4% 2.5% 2.6% 3%|" \
-- 
1.7.9



^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [oe-classic][PATCH 00/12] openjdk
  2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
                   ` (11 preceding siblings ...)
  2012-02-18 21:20 ` [PATCH 12/12][oe-classic] openjdk-6-common.inc: fix hardcoded path for allowing to build with linux 3.x Henning Heinold
@ 2012-02-19  0:27 ` Khem Raj
  2012-02-19 18:44   ` Henning Heinold
  12 siblings, 1 reply; 17+ messages in thread
From: Khem Raj @ 2012-02-19  0:27 UTC (permalink / raw)
  To: openembedded-devel

On (18/02/12 22:20), Henning Heinold wrote:
> Hi,
> 
> in good old tradition I send this patches for review against
> older openembedded.dev branch. It makes openjdk buildable
> again and updates it to version 1.11.1.
> Work was sponsored by Koan s.a.s. If nobody objects I will
> commit it on monday.

the patches look sane. Two things I would think will be nice is
1. are these patches needed on 2011.03 branch ? if yes please submit
the pull request for the maintenance branch too
2. Are any of these patches needed for meta-java or any other
layer then they should be forwarded ported to respective layer
as well

Thx
-Khem

> 
> Bye Henning
> 
> Henning Heinold (12):
>   libbecj-bootstrap: use sort for build order of the javafiles and
>     introduce INC_PR, backported from meta-java
>   jamvm-inital: rework libffi detection
>   cacao-native: update hg version
>   icedtea6-native: add linux kernel version 3 support
>   ecj-inital: rename recipe to ecj-initial-native
>   jamvm: add recipes which combines native and target
>   angstrom-jalimo.conf,sane-toolchain-java.inc: use jamvm-git instead
>     of cacao-hg as java-native
>   rhino: add version 1.7r2
>   ecj-bootstrap-native: update ecj script
>   openjdk: backport 1.11.1 release from meta-java
>   angstrom-jalimo.conf: prefer icedtea 1.11.1 for openjdk6
>   openjdk-6-common.inc: fix hardcoded path for allowing to build with
>     linux 3.x
> 
>  conf/distro/include/angstrom-jalimo.conf           |    6 +-
>  conf/distro/include/sane-toolchain-java.inc        |    2 +-
>  recipes/cacao/cacao-native.inc                     |   15 ++-
>  recipes/cacao/cacao-native_hg.bb                   |    8 +-
>  recipes/classpath/classpath-native.inc             |    2 +-
>  recipes/ecj/ecj-bootstrap-native.bb                |    2 +-
>  recipes/ecj/ecj-initial-native.bb                  |   35 +++
>  recipes/ecj/ecj-initial.bb                         |   35 ---
>  recipes/ecj/files/ecj.in                           |   23 +--
>  recipes/ecj/libecj-bootstrap.inc                   |    4 +-
>  recipes/ecj/libecj-bootstrap_3.6.1.bb              |    2 +-
>  recipes/ecj/libecj-bootstrap_3.6.bb                |    2 +-
>  .../icedtea-support_linux_3.patch                  |   19 ++
>  recipes/icedtea/icedtea6-native_1.7.10.bb          |    4 +-
>  recipes/jamvm/jamvm-initial/libffi.patch           |   68 ++++++
>  recipes/jamvm/jamvm-initial_1.4.5.bb               |   12 +-
>  recipes/jamvm/jamvm-native.inc                     |    2 +-
>  recipes/jamvm/jamvm.inc                            |   36 +++-
>  recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch       |   13 ++
>  recipes/jamvm/jamvm/libffi.patch                   |   69 ++++++
>  recipes/jamvm/jamvm_git.bb                         |   15 ++
>  recipes/mozilla/rhino-native_1.7r2.bb              |    5 +
>  recipes/mozilla/rhino_1.7r2.bb                     |   45 ++++
>  .../openjdk-langtools-native_0.0+jdk7-b31.bb       |    2 +-
>  recipes/openjdk/openjdk-6-6b24/build-hacks.patch   |   79 +++++++
>  .../openjdk/openjdk-6-6b24/cacao-libtoolize.patch  |   12 +
>  .../openjdk-6-6b24/cacao-loadavg-makefile.patch    |   12 +
>  recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch |   27 +++
>  .../openjdk-6-6b24/fix_hotspot_crosscompile.patch  |   51 +++++
>  .../openjdk-6-6b24/icedtea-crosscompile-fix.patch  |  216 ++++++++++++++++++
>  .../openjdk-6-6b24/icedtea-fix-xrender.patch       |   13 ++
>  .../openjdk-6-6b24/icedtea-hostbuildcc.patch       |   12 +
>  .../icedtea-hotspot-dlvsym-uclibc.patch            |   16 ++
>  .../icedtea-hotspot-glibc-version.patch            |   23 ++
>  .../openjdk-6-6b24/icedtea-hotspot-isfinte.patch   |   15 ++
>  .../openjdk-6-6b24/icedtea-hotspot-isnanf.patch    |   21 ++
>  .../openjdk-6-6b24/icedtea-hotspot-loadavg.patch   |   28 +++
>  .../openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch  |   39 ++++
>  .../icedtea-jdk-remove-unused-backtrace.patch      |   41 ++++
>  .../openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch |   12 +
>  .../openjdk-6-6b24/icedtea-launcher-stdc++.patch   |   13 ++
>  .../openjdk-6-6b24/icedtea-libnet-renaming.patch   |  148 +++++++++++++
>  .../openjdk-6-6b24/icedtea-remove_werror.patch     |   14 ++
>  .../icedtea-shark-arm-linux-cpu-detection.patch    |  113 ++++++++++
>  .../openjdk-6-6b24/icedtea-unbreak-float.patch     |   18 ++
>  .../openjdk-6-6b24/icedtea-zero-hotspotfix.patch   |   41 ++++
>  recipes/openjdk/openjdk-6-6b24/jvm.cfg             |   43 ++++
>  recipes/openjdk/openjdk-6-common.inc               |  165 +++++++++------
>  recipes/openjdk/openjdk-6-release-6b24.inc         |  115 ++++++++++
>  recipes/openjdk/openjdk-6/build-hacks.patch        |   31 +++
>  .../openjdk-6/cacao-disable-stackbase-check.patch  |   12 +
>  recipes/openjdk/openjdk-6/cacao-libtoolize.patch   |   18 ++
>  recipes/openjdk/openjdk-6/cacao-vfp-compat.patch   |   37 ++++
>  recipes/openjdk/openjdk-6/fix-llvm-libs.patch      |   13 ++
>  .../openjdk-6/fix_hotspot_crosscompile.patch       |   94 ++++++++
>  .../openjdk-6/icedtea-crosscompile-fix.patch       |  229 ++++++++++++++++++++
>  .../openjdk-6/icedtea-fix-jar-command.patch        |   13 ++
>  .../openjdk/openjdk-6/icedtea-hasgettransfer.patch |  131 +++++++++++
>  .../openjdk/openjdk-6/icedtea-hostbuildcc.patch    |   12 +
>  .../openjdk-6/icedtea-hotspot-glibc-version.patch  |   23 ++
>  .../openjdk-6/icedtea-hotspot-isfinte.patch        |   15 ++
>  .../openjdk/openjdk-6/icedtea-hotspot-isnanf.patch |   21 ++
>  .../openjdk-6/icedtea-hotspot-loadavg.patch        |   28 +++
>  .../openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch        |   13 ++
>  .../openjdk-6/icedtea-jdk-iconv-uclibc.patch       |   39 ++++
>  .../icedtea-jdk-remove-unused-backtrace.patch      |   41 ++++
>  .../openjdk-6/icedtea-jdk-unpack-uclibc.patch      |   12 +
>  .../openjdk-6/icedtea-launcher-stdc++.patch        |   13 ++
>  .../openjdk-6/icedtea-libnet-renaming.patch        |  148 +++++++++++++
>  .../openjdk/openjdk-6/icedtea-llvm_headers.patch   |   29 +++
>  .../openjdk/openjdk-6/icedtea-remove_werror.patch  |   14 ++
>  .../openjdk/openjdk-6/icedtea-unbreak-float.patch  |   18 ++
>  recipes/openjdk/openjdk-6/jvm.cfg                  |   41 ++++
>  recipes/openjdk/openjdk-6/mkbc_returncode.patch    |   11 +
>  .../openjdk-6/shark-arm-linux-cpu-detection.patch  |  113 ++++++++++
>  .../openjdk/openjdk-6/shark-build-openjdkdir.patch |   13 ++
>  recipes/openjdk/openjdk-6/zero-cmpswap-long.patch  |   20 ++
>  recipes/openjdk/openjdk-6_6b24-1.11.1.bb           |   18 ++
>  78 files changed, 2787 insertions(+), 146 deletions(-)
>  create mode 100644 recipes/ecj/ecj-initial-native.bb
>  delete mode 100644 recipes/ecj/ecj-initial.bb
>  create mode 100644 recipes/icedtea/icedtea6-native-1.7.10/icedtea-support_linux_3.patch
>  create mode 100644 recipes/jamvm/jamvm-initial/libffi.patch
>  create mode 100644 recipes/jamvm/jamvm/jamvm-jni_h-noinst.patch
>  create mode 100644 recipes/jamvm/jamvm/libffi.patch
>  create mode 100644 recipes/jamvm/jamvm_git.bb
>  create mode 100644 recipes/mozilla/rhino-native_1.7r2.bb
>  create mode 100644 recipes/mozilla/rhino_1.7r2.bb
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/build-hacks.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-libtoolize.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-loadavg-makefile.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/cacao-loadavg.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/fix_hotspot_crosscompile.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-crosscompile-fix.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-fix-xrender.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hostbuildcc.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-dlvsym-uclibc.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-glibc-version.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isfinte.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-isnanf.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-hotspot-loadavg.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-iconv-uclibc.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-remove-unused-backtrace.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-jdk-unpack-uclibc.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-launcher-stdc++.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-libnet-renaming.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-remove_werror.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-shark-arm-linux-cpu-detection.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-unbreak-float.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/icedtea-zero-hotspotfix.patch
>  create mode 100644 recipes/openjdk/openjdk-6-6b24/jvm.cfg
>  create mode 100644 recipes/openjdk/openjdk-6-release-6b24.inc
>  create mode 100644 recipes/openjdk/openjdk-6/build-hacks.patch
>  create mode 100644 recipes/openjdk/openjdk-6/cacao-disable-stackbase-check.patch
>  create mode 100644 recipes/openjdk/openjdk-6/cacao-libtoolize.patch
>  create mode 100644 recipes/openjdk/openjdk-6/cacao-vfp-compat.patch
>  create mode 100644 recipes/openjdk/openjdk-6/fix-llvm-libs.patch
>  create mode 100644 recipes/openjdk/openjdk-6/fix_hotspot_crosscompile.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-crosscompile-fix.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-fix-jar-command.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-hasgettransfer.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-hostbuildcc.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-glibc-version.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-isfinte.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-isnanf.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-hotspot-loadavg.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-RTLD_NOLOAD.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-iconv-uclibc.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-remove-unused-backtrace.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-jdk-unpack-uclibc.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-launcher-stdc++.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-libnet-renaming.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-llvm_headers.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-remove_werror.patch
>  create mode 100644 recipes/openjdk/openjdk-6/icedtea-unbreak-float.patch
>  create mode 100644 recipes/openjdk/openjdk-6/jvm.cfg
>  create mode 100644 recipes/openjdk/openjdk-6/mkbc_returncode.patch
>  create mode 100644 recipes/openjdk/openjdk-6/shark-arm-linux-cpu-detection.patch
>  create mode 100644 recipes/openjdk/openjdk-6/shark-build-openjdkdir.patch
>  create mode 100644 recipes/openjdk/openjdk-6/zero-cmpswap-long.patch
>  create mode 100644 recipes/openjdk/openjdk-6_6b24-1.11.1.bb
> 
> -- 
> 1.7.9
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

-- 
-Khem



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [oe-classic][PATCH 00/12] openjdk
  2012-02-19  0:27 ` [oe-classic][PATCH 00/12] openjdk Khem Raj
@ 2012-02-19 18:44   ` Henning Heinold
  2012-02-20 11:19     ` Jaap de Jong
  0 siblings, 1 reply; 17+ messages in thread
From: Henning Heinold @ 2012-02-19 18:44 UTC (permalink / raw)
  To: openembedded-devel

On Sat, Feb 18, 2012 at 04:27:34PM -0800, Khem Raj wrote:
> On (18/02/12 22:20), Henning Heinold wrote:
> > Hi,
> > 
> > in good old tradition I send this patches for review against
> > older openembedded.dev branch. It makes openjdk buildable
> > again and updates it to version 1.11.1.
> > Work was sponsored by Koan s.a.s. If nobody objects I will
> > commit it on monday.
> 
> the patches look sane. Two things I would think will be nice is
> 1. are these patches needed on 2011.03 branch ? if yes please submit
> the pull request for the maintenance branch too

When there is someone who needs them in 2011.03 he can test and make a pull request.

> 2. Are any of these patches needed for meta-java or any other
> layer then they should be forwarded ported to respective layer
> as well

As beeing the meta-java maintainer only the 1.11.1 recipe will be soon in meta-oe,
when I find the time.

Bye Henning



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [oe-classic][PATCH 00/12] openjdk
  2012-02-19 18:44   ` Henning Heinold
@ 2012-02-20 11:19     ` Jaap de Jong
  2012-02-20 18:16       ` Henning Heinold
  0 siblings, 1 reply; 17+ messages in thread
From: Jaap de Jong @ 2012-02-20 11:19 UTC (permalink / raw)
  To: openembedded-devel@lists.openembedded.org

What would be the best approach to backport to 2010.12?
I volunteer to backport and do some testing...

On 02/19/2012 07:44 PM, Henning Heinold wrote:
> On Sat, Feb 18, 2012 at 04:27:34PM -0800, Khem Raj wrote:
>> On (18/02/12 22:20), Henning Heinold wrote:
>>> Hi,
>>>
>>> in good old tradition I send this patches for review against
>>> older openembedded.dev branch. It makes openjdk buildable
>>> again and updates it to version 1.11.1.
>>> Work was sponsored by Koan s.a.s. If nobody objects I will
>>> commit it on monday.
>> the patches look sane. Two things I would think will be nice is
>> 1. are these patches needed on 2011.03 branch ? if yes please submit
>> the pull request for the maintenance branch too
> When there is someone who needs them in 2011.03 he can test and make a pull request.
>
>> 2. Are any of these patches needed for meta-java or any other
>> layer then they should be forwarded ported to respective layer
>> as well
> As beeing the meta-java maintainer only the 1.11.1 recipe will be soon in meta-oe,
> when I find the time.
>
> Bye Henning
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [oe-classic][PATCH 00/12] openjdk
  2012-02-20 11:19     ` Jaap de Jong
@ 2012-02-20 18:16       ` Henning Heinold
  0 siblings, 0 replies; 17+ messages in thread
From: Henning Heinold @ 2012-02-20 18:16 UTC (permalink / raw)
  To: openembedded-devel

On Mon, Feb 20, 2012 at 12:19:51PM +0100, Jaap de Jong wrote:
> What would be the best approach to backport to 2010.12?
> I volunteer to backport and do some testing...

Hi Jaap,

cherry-pick the patches or try to apply them via git-am.

Bye Henning



^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2012-02-20 18:24 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-18 21:20 [oe-classic][PATCH 00/12] openjdk Henning Heinold
2012-02-18 21:20 ` [PATCH 01/12][oe-classic] libbecj-bootstrap: use sort for build order of the javafiles and introduce INC_PR, backported from meta-java Henning Heinold
2012-02-18 21:20 ` [PATCH 02/12][oe-classic] jamvm-inital: rework libffi detection Henning Heinold
2012-02-18 21:20 ` [PATCH 03/12][oe-classic] cacao-native: update hg version Henning Heinold
2012-02-18 21:20 ` [PATCH 04/12][oe-classic] icedtea6-native: add linux kernel version 3 support Henning Heinold
2012-02-18 21:20 ` [PATCH 05/12][oe-classic] ecj-inital: rename recipe to ecj-initial-native Henning Heinold
2012-02-18 21:20 ` [PATCH 06/12][oe-classic] jamvm: add recipes which combines native and target Henning Heinold
2012-02-18 21:20 ` [PATCH 07/12][oe-classic] angstrom-jalimo.conf, sane-toolchain-java.inc: use jamvm-git instead of cacao-hg as java-native Henning Heinold
2012-02-18 21:20 ` [PATCH 08/12][oe-classic] rhino: add version 1.7r2 Henning Heinold
2012-02-18 21:20 ` [PATCH 09/12][oe-classic] ecj-bootstrap-native: update ecj script Henning Heinold
2012-02-18 21:20 ` [PATCH 10/12][oe-classic] openjdk: backport 1.11.1 release from meta-java Henning Heinold
2012-02-18 21:20 ` [PATCH 11/12][oe-classic] angstrom-jalimo.conf: prefer icedtea 1.11.1 for openjdk6 Henning Heinold
2012-02-18 21:20 ` [PATCH 12/12][oe-classic] openjdk-6-common.inc: fix hardcoded path for allowing to build with linux 3.x Henning Heinold
2012-02-19  0:27 ` [oe-classic][PATCH 00/12] openjdk Khem Raj
2012-02-19 18:44   ` Henning Heinold
2012-02-20 11:19     ` Jaap de Jong
2012-02-20 18:16       ` Henning Heinold

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.