aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/build-hacks.patch56
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/fix_hotspot_crosscompile.patch46
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/icedtea-crosscompile-fix.patch229
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch29
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-nio-use-host-cc.patch11
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-rmi-crosscompile.patch13
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/icedtea-xawt-crosscompile-fix.patch82
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/icedtea-zero-hotspotfix.patch36
-rw-r--r--recipes-core/openjdk/openjdk-7-85b01/jvm.cfg43
-rw-r--r--recipes-core/openjdk/openjdk-7-release-85b01.inc77
-rw-r--r--recipes-core/openjdk/openjdk-7_85b01-2.6.1.bb35
11 files changed, 657 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-7-85b01/build-hacks.patch b/recipes-core/openjdk/openjdk-7-85b01/build-hacks.patch
new file mode 100644
index 0000000..012c4cb
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/build-hacks.patch
@@ -0,0 +1,56 @@
+--- icedtea-2.6.1/Makefile.am.orig 2015-07-24 08:52:12.442036786 +0200
++++ icedtea-2.6.1/Makefile.am 2015-07-24 08:58:25.046029702 +0200
+@@ -605,6 +605,12 @@
+ FT2_LIBS="$(FREETYPE2_LIBS)" \
+ ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \
+ HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \
++ 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)" \
+ QUIETLY="" \
+ ANT_RESPECT_JAVA_HOME="TRUE" \
+ DISTRIBUTION_ID="$(DIST_ID)" \
+@@ -2077,8 +2083,8 @@
+ rm -f stamps/add-tzdata-support.stamp
+
+ stamps/check-crypto.stamp: stamps/cryptocheck.stamp stamps/icedtea.stamp
+- if [ -e $(BUILD_SDK_DIR)/bin/java ] ; then \
+- $(BUILD_SDK_DIR)/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
++ if [ -e $(BOOT_DIR)/bin/java ] ; then \
++ $(BOOT_DIR)/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
+ fi
+ mkdir -p stamps
+ touch $@
+@@ -2483,7 +2489,11 @@
+ if BUILD_JAMVM
+ cd jamvm/jamvm && \
+ ./autogen.sh --with-java-runtime-library=openjdk7 \
+- --prefix=$(abs_top_builddir)/jamvm/install ; \
++ --prefix=$(abs_top_builddir)/jamvm/install \
++ --host=$(host_alias) \
++ --build=$(build_alias) \
++ --target=$(target_alias) \
++ --with-libtool-sysroot=${ALT_FREETYPE_LIB_PATH} ; \
+ $(MAKE) ; \
+ $(MAKE) install
+ mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+@@ -2548,6 +2558,7 @@
+ --host=$(host_alias) \
+ --build=$(build_alias) \
+ --target=$(target_alias) \
++ --with-libtool-sysroot=${ALT_FREETYPE_LIB_PATH} \
+ --prefix=$(abs_top_builddir)/cacao/install \
+ --with-java-runtime-library=openjdk7 \
+ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \
+@@ -2616,7 +2627,7 @@
+ # configure script arguments, quoted in single quotes
+ CONFIGURE_ARGS = @CONFIGURE_ARGS@
+ ADD_ZERO_CONFIGURE_ARGS = \
+- --with-jdk-home=$(BUILD_SDK_DIR) \
++ --with-jdk-home=$(BOOT_DIR) \
+ --disable-bootstrap --enable-zero
+ if ADD_SHARK_BUILD
+ ADD_ZERO_CONFIGURE_ARGS += \
diff --git a/recipes-core/openjdk/openjdk-7-85b01/fix_hotspot_crosscompile.patch b/recipes-core/openjdk/openjdk-7-85b01/fix_hotspot_crosscompile.patch
new file mode 100644
index 0000000..13c7de2
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/fix_hotspot_crosscompile.patch
@@ -0,0 +1,46 @@
+--- icedtea-2.6.1/acinclude.m4
++++ icedtea-2.6.1/acinclude.m4
+@@ -906,6 +906,22 @@
+ AC_SUBST(VERSION_SUFFIX, $version_suffix)
+ ])
+
++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_ONCE([IT_WITH_GCJ],
+ [
+ AC_MSG_CHECKING([whether to compile ecj natively])
+--- icedtea-2.6.1/configure.ac.orig 2015-07-24 09:08:33.866018127 +0200
++++ icedtea-2.6.1/configure.ac 2015-07-24 09:08:40.458018002 +0200
+@@ -22,6 +22,8 @@
+ AC_PROG_CC
+ AC_PROG_CXX
+
++AC_CHECK_WITH_CC_FOR_BUILD
++
+ IT_FIND_TOOLS([MAKE], [gmake make])
+ IT_FIND_TOOL([GZIP], [gzip])
+ IT_FIND_TOOL([ANT], [ant])
+--- icedtea-2.6.1/Makefile.am
++++ icedtea-2.6.1/Makefile.am
+@@ -605,6 +605,7 @@
+ FT2_LIBS="$(FREETYPE2_LIBS)" \
+ ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \
+ HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \
++ CC_FOR_BUILD="$(CC_FOR_BUILD)" \
+ OE_CFLAGS="$(OE_CFLAGS)" \
+ OE_CPPFLAGS="$(OE_CPPFLAGS)" \
+ OE_CXXFLAGS="$(OE_CXXFLAGS)" \
diff --git a/recipes-core/openjdk/openjdk-7-85b01/icedtea-crosscompile-fix.patch b/recipes-core/openjdk/openjdk-7-85b01/icedtea-crosscompile-fix.patch
new file mode 100644
index 0000000..e957d1e
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/icedtea-crosscompile-fix.patch
@@ -0,0 +1,229 @@
+diff --git openjdk/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk
+index fb575fa..e0426ad 100644
+--- openjdk/corba/make/common/shared/Platform.gmk
++++ openjdk/corba/make/common/shared/Platform.gmk
+@@ -152,9 +152,13 @@
+ OS_NAME = linux
+ OS_VERSION := $(shell uname -r)
+ # Arch and OS name/version
+- mach := $(shell uname -m)
+- ifneq (,$(wildcard /usr/bin/dpkg-architecture))
+- mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/')
++ ifdef CROSS_COMPILE_ARCH
++ mach := $(CROSS_COMPILE_ARCH)
++ else
++ mach := $(shell uname -m)
++ ifneq (,$(wildcard /usr/bin/dpkg-architecture))
++ mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/')
++ endif
+ endif
+ archExpr = case "$(mach)" in \
+ i[3-9]86) \
+diff --git openjdk/hotspot/make/linux/makefiles/build_vm_def.sh openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
+index ea81ff6..68b0d71 100644
+--- openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
++++ openjdk/hotspot/make/linux/makefiles/build_vm_def.sh
+@@ -1,10 +1,12 @@
+ #!/bin/sh
+
+ # If we're cross compiling use that path for nm
+-if [ "$CROSS_COMPILE_ARCH" != "" ]; then
+-NM=$ALT_COMPILER_PATH/nm
+-else
+-NM=nm
++if [ "$NM" == "" ]; then
++ if [ "$CROSS_COMPILE_ARCH" != "" ]; then
++ NM=$ALT_COMPILER_PATH/nm
++ else
++ NM=nm
++ fi
+ fi
+
+ $NM --defined-only $* \
+diff --git openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+index 6fe5191..765fc6d 100644
+--- openjdk/hotspot/make/linux/makefiles/gcc.make
++++ openjdk/hotspot/make/linux/makefiles/gcc.make
+@@ -164,7 +164,7 @@ CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ACCEPTABLE_WARNINGS)
+ 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
+@@ -208,15 +208,7 @@ LFLAGS += -Wl,-relax
+ endif
+
+ # Enable linker optimization
+-LFLAGS += -Xlinker -O1
+-
+-# If this is a --hash-style=gnu system, use --hash-style=both
+-# The gnu .hash section won't work on some Linux systems like SuSE 10.
+-_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | grep -- '--hash-style=gnu')
+-ifneq ($(_HAS_HASH_STYLE_GNU),)
+- LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
+-endif
+-LFLAGS += $(LDFLAGS_HASH_STYLE)
++LFLAGS += $(OE_LDFLAGS)
+
+ # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
+ MAPFLAG = -Xlinker --version-script=FILENAME
+diff --git openjdk/hotspot/make/linux/makefiles/launcher.make openjdk/hotspot/make/linux/makefiles/launcher.make
+index 0c102ea..f4dfbf6 100644
+--- openjdk/hotspot/make/linux/makefiles/launcher.make
++++ openjdk/hotspot/make/linux/makefiles/launcher.make
+@@ -50,8 +50,8 @@ ifeq ($(LINK_INTO),AOUT)
+ LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
+ else
+ LAUNCHER.o = launcher.o
+- LFLAGS_LAUNCHER += -L `pwd`
+- LIBS_LAUNCHER += -l$(JVM) $(LIBS)
++ LFLAGS_LAUNCHER += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
++ LIBS_LAUNCHER += -l$(JVM) $(LIBS) -lstdc++
+ endif
+
+ LINK_LAUNCHER = $(LINK.CC)
+diff --git openjdk/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
+index b0ffd9a..4e8c47c 100644
+--- openjdk/hotspot/make/linux/makefiles/vm.make
++++ openjdk/hotspot/make/linux/makefiles/vm.make
+@@ -300,6 +300,7 @@
+ LFLAGS_VM += $(LLVM_LDFLAGS)
+ endif
+
++LFLAGS_VM += $(OE_LDFLAGS)
+ LINK_VM = $(LINK_LIB.CC)
+
+ # rule for building precompiled header
+diff --git openjdk/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk
+index 69e1177..dc7f8e6 100644
+--- openjdk/jdk/make/common/Defs-linux.gmk
++++ openjdk/jdk/make/common/Defs-linux.gmk
+@@ -162,28 +162,6 @@
+ endif
+ endif
+
+-#
+-# Default optimization
+-#
+-
+-ifndef OPTIMIZATION_LEVEL
+- ifeq ($(PRODUCT), java)
+- OPTIMIZATION_LEVEL = HIGHER
+- else
+- OPTIMIZATION_LEVEL = LOWER
+- endif
+-endif
+-ifndef FASTDEBUG_OPTIMIZATION_LEVEL
+- FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
+-endif
+-
+-CC_OPT/NONE =
+-CC_OPT/LOWER = -O2
+-CC_OPT/HIGHER = -O3
+-CC_OPT/HIGHEST = -O3
+-
+-CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
+-
+ # For all platforms, do not omit the frame pointer register usage.
+ # We need this frame pointer to make it easy to walk the stacks.
+ # This should be the default on X86, but ia64 and amd64 may not have this
+@@ -191,7 +169,7 @@
+ CFLAGS_REQUIRED_aarch64 += -fno-omit-frame-pointer -fsigned-char -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm += -fsigned-char -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
+@@ -359,7 +337,7 @@ LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION)
+ #
+ # -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)
+
+diff --git openjdk/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk
+index c23e96e..484afca 100644
+--- openjdk/jdk/make/common/shared/Platform.gmk
++++ openjdk/jdk/make/common/shared/Platform.gmk
+@@ -169,9 +169,9 @@
+ mach := $(CROSS_COMPILE_ARCH)
+ else
+ mach := $(shell uname -m)
+- endif
+- ifneq (,$(wildcard /usr/bin/dpkg-architecture))
+- mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/')
++ ifneq (,$(wildcard /usr/bin/dpkg-architecture))
++ mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/')
++ endif
+ endif
+ archExpr = case "$(mach)" in \
+ i[3-9]86) \
+diff --git openjdk/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
+index b6e0d99..edc530e 100644
+--- openjdk/jdk/make/sun/awt/mawt.gmk
++++ openjdk/jdk/make/sun/awt/mawt.gmk
+@@ -151,22 +151,6 @@ else
+ #endif
+
+ LIBXTST = -lXtst
+-ifeq ($(PLATFORM), linux)
+- ifeq ($(ARCH_DATA_MODEL), 64)
+- # XXX what about the rest of them?
+- LIBXT = -lXt
+- else
+- # Allows for builds on Debian GNU Linux, X11 is in a different place
+- LIBXT = $(firstword $(wildcard $(OPENWIN_LIB)/libXt.a) \
+- $(wildcard /usr/lib/libXt.a))
+- LIBSM = $(firstword $(wildcard $(OPENWIN_LIB)/libSM.a) \
+- $(wildcard /usr/lib/libSM.a))
+- LIBICE = $(firstword $(wildcard $(OPENWIN_LIB)/libICE.a) \
+- $(wildcard /usr/lib/libICE.a))
+- LIBXTST = $(firstword $(wildcard $(OPENWIN_LIB)/libXtst.a) \
+- $(wildcard /usr/lib/libXtst.a))
+- endif
+-endif
+
+ # Use -lXmu for EditRes support
+ LIBXMU_DBG = -lXmu
+@@ -181,7 +165,7 @@ ifneq (,$(findstring $(PLATFORM), linux macosx))
+ OTHER_CFLAGS += -DMLIB_NO_LIBSUNMATH
+ # XXX what is this define below? Isn't it motif-related?
+ OTHER_CFLAGS += -DXMSTRINGDEFINES=1
+-OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext $(LIBXT) $(LIBSM) $(LIBICE) -lX11 -lXi
++OTHER_LDLIBS = $(LIBXMU) $(LIBXTST) -lXext -lXt -lSM -lICE -lXi -lX11
+ endif
+
+ endif
+@@ -230,12 +214,6 @@ else
+ CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/fontconfig2
+ endif
+
+-ifndef HEADLESS
+-CPPFLAGS += -I$(OPENWIN_HOME)/include
+-LDFLAGS += -L$(OPENWIN_LIB)
+-
+-endif # !HEADLESS
+-
+ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
+ -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
+ -I$(PLATFORM_SRC)/native/$(PKGDIR)/../font \
+@@ -248,12 +248,6 @@
+ endif # !HEADLESS
+ endif # PLATFORM
+
+-ifeq ($(PLATFORM), linux)
+- # Checking for the X11/extensions headers at the additional location
+- CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \
+- $(wildcard /usr/include/X11/extensions))
+-endif
+-
+ ifeq ($(PLATFORM), macosx)
+ CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
+ -I$(OPENWIN_HOME)/include
diff --git a/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch b/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch
new file mode 100644
index 0000000..3152b38
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch
@@ -0,0 +1,29 @@
+--- openjdk/jdk/make/java/nio/Makefile
++++ openjdk/jdk/make/java/nio/Makefile
+@@ -966,7 +966,7 @@
+
+ $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
+ $(prep-target)
+- ($(CD) $(TEMPDIR); $(NIO_CC) $(CPPFLAGS) $(LDDFLAGS) \
++ ($(CD) $(TEMPDIR); $(NIO_CC) $(CPPFLAGS) -static $(LDDFLAGS) \
+ -o genSocketOptionRegistry$(EXE_SUFFIX) $(GENSOR_SRC))
+
+ ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
+@@ -1006,7 +1006,7 @@
+
+ $(GENUC_EXE) : $(GENUC_SRC)
+ $(prep-target)
+- $(NIO_CC) $(CPPFLAGS) -o $@ $(GENUC_SRC)
++ $(NIO_CC) $(CPPFLAGS) -static -o $@ $(GENUC_SRC)
+
+ ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
+ $(SFS_GEN)/UnixConstants.java: $(NIO_PLATFORM_CLASSES_ROOT_DIR)/sun/nio/fs/UnixConstants-$(PLATFORM)-$(ARCH).java
+@@ -1032,7 +1032,7 @@
+
+ $(GENSC_EXE) : $(GENSC_SRC)
+ $(prep-target)
+- $(NIO_CC) $(CPPFLAGS) -o $@ $(GENSC_SRC)
++ $(NIO_CC) $(CPPFLAGS) -static -o $@ $(GENSC_SRC)
+
+ ifdef NIO_PLATFORM_CLASSES_ROOT_DIR
+ $(SFS_GEN)/SolarisConstants.java: $(NIO_PLATFORM_CLASSES_ROOT_DIR)/sun/nio/fs/SolarisConstants-$(PLATFORM)-$(ARCH).java
diff --git a/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-nio-use-host-cc.patch b/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-nio-use-host-cc.patch
new file mode 100644
index 0000000..80fc808
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-nio-use-host-cc.patch
@@ -0,0 +1,11 @@
+--- openjdk/jdk/make/java/nio/Makefile
++++ openjdk/jdk/make/java/nio/Makefile
+@@ -961,7 +961,7 @@
+ ifeq ($(PLATFORM), macosx)
+ NIO_CC=$(HOST_CC)
+ else
+- NIO_CC=$(CC)
++ NIO_CC=$(CC_FOR_BUILD)
+ endif
+
+ $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
diff --git a/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-rmi-crosscompile.patch b/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-rmi-crosscompile.patch
new file mode 100644
index 0000000..55f1f9c
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/icedtea-jdk-rmi-crosscompile.patch
@@ -0,0 +1,13 @@
+diff --git openjdk/jdk/make/com/sun/jmx/Makefile openjdk/jdk/make/com/sun/jmx/Makefile
+index eaf8a6e..4938613 100644
+--- openjdk/jdk/make/com/sun/jmx/Makefile
++++ openjdk/jdk/make/com/sun/jmx/Makefile
+@@ -102,7 +102,7 @@ FILES_ties = $(subst javax/management/remote/rmi/,javax/management/remote/rmi/
+ # when available, we need to run with latest rmic version available. rmic
+ # launch tool not built at this stage but we can invoke via rmi class.
+
+-RMIC_JAVA = $(OUTPUTDIR)/bin/java
++RMIC_JAVA = $(BOOTDIR)/bin/java
+ # need to treat 64bit solaris differently
+ ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
+ RMIC_JAVA = $(OUTPUTDIR)/bin/amd64/java
diff --git a/recipes-core/openjdk/openjdk-7-85b01/icedtea-xawt-crosscompile-fix.patch b/recipes-core/openjdk/openjdk-7-85b01/icedtea-xawt-crosscompile-fix.patch
new file mode 100644
index 0000000..5eb5507
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/icedtea-xawt-crosscompile-fix.patch
@@ -0,0 +1,82 @@
+--- openjdk/jdk/make/sun/xawt/Makefile
++++ openjdk/jdk/make/sun/xawt/Makefile
+@@ -201,20 +201,6 @@
+ CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/glib2
+ endif
+
+-ifeq ($(PLATFORM), linux)
+- ifndef CROSS_COMPILE_ARCH
+- # Allows for builds on Debian GNU Linux, X11 is in a different place
+- # This should really be handled at a higher-level so we don't have to
+- # work-around this when cross-compiling
+- CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
+- -I/usr/include/X11/extensions \
+- -I$(OPENWIN_HOME)/include
+- else
+- CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
+- -I$(OPENWIN_HOME)/include
+- endif
+-endif
+-
+ ifeq ($(NATIVE_SUPPORT_DEBUG), true)
+ OTHER_CFLAGS += -DNATIVE_SUPPORT_DEBUG
+ endif
+@@ -299,16 +285,10 @@
+ SIZERS = $(SIZER).32
+ SIZERS_C = $(SIZER_32_C)
+ SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.32
+-ifdef CROSS_COMPILE_ARCH
+-CFLAGS_32 = -m32
+-endif
+ else # !32
+ SIZERS = $(SIZER).64
+ SIZERS_C = $(SIZER_64_C)
+ SIZES = $(WRAPPER_GENERATOR_DIR)/sizes.64
+-ifdef CROSS_COMPILE_ARCH
+-CFLAGS_64 = -m64
+-endif
+ endif # 32
+ endif # !macosx
+ endif # solaris
+@@ -344,15 +324,11 @@
+ WRAPPER_GENERATOR_CLASS=$(WRAPPER_GENERATOR_TEMPDIR)/WrapperGenerator.class
+ XLIBTYPES=$(PLATFORM_SRC)/classes/sun/awt/X11/generator/xlibtypes.txt
+
+-ifndef CROSS_COMPILE_ARCH
+ SIZERS_CC = $(CC)
+-else
+-SIZERS_CC = $(HOST_CC)
+-endif
+
+ $(SIZERS): $(SIZERS_C)
+ $(prep-target)
+- $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
++ $(SIZERS_CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -static -fuse-ld=bfd -o $@ $(SIZER)$(suffix $@).c
+
+ $(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
+ $(prep-target)
+@@ -365,6 +341,16 @@
+ $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
+
+ $(SIZES): $(SIZERS)
++ifdef CROSS_COMPILE_ARCH
++ @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
++ $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
++ $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
++ $(CHMOD) +w $@; \
++ else \
++ $(ECHO) GENERATING $@; \
++ $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++ fi
++else
+ @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
+ $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
+ $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
+@@ -373,6 +359,7 @@
+ $(ECHO) GENERATING $@; \
+ $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+ fi
++endif
+ @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+ $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+ $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
diff --git a/recipes-core/openjdk/openjdk-7-85b01/icedtea-zero-hotspotfix.patch b/recipes-core/openjdk/openjdk-7-85b01/icedtea-zero-hotspotfix.patch
new file mode 100644
index 0000000..e97e4fc
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/icedtea-zero-hotspotfix.patch
@@ -0,0 +1,36 @@
+diff --git openjdk/hotspot/make/linux/makefiles/zeroshark.make openjdk/hotspot/make/linux/makefiles/zeroshark.make
+index c2a1484..156bdd0 100644
+--- openjdk/hotspot/make/linux/makefiles/zeroshark.make
++++ openjdk/hotspot/make/linux/makefiles/zeroshark.make
+@@ -33,26 +33,27 @@
+ Obj_Files += arm32JIT.o
+
+ CFLAGS += -DHOTSPOT_ASM
++CCFLAGS += -DHOTSPOT_ASM
+
+ cppInterpreter_arm.o: offsets_arm.s bytecodes_arm.s
+ arm32JIT.o: offsets_arm.s
+
+ offsets_arm.s: mkoffsets
+ @echo Generating assembler offsets
+- ./mkoffsets > $@
++ $(QEMU) ./mkoffsets > $@
+
+ bytecodes_arm.s: bytecodes_arm.def mkbc
+ @echo Generating ARM assembler bytecode sequences
+- $(CXX_COMPILE) -E -x c++ - < $< | ./mkbc - $@ $(COMPILE_DONE)
++ $(CXX_COMPILE) -E -x c++ - < $< | $(QEMU) ./mkbc - $@ $(COMPILE_DONE)
+
+ mkbc: $(GAMMADIR)/tools/mkbc.c
+ @echo Compiling mkbc tool
+- $(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
++ $(CC_COMPILE) -static -fuse-ld=bfd -o $@ $< $(COMPILE_DONE)
+
+ mkoffsets: asm_helper.cpp
+ @echo Compiling offset generator
+ $(QUIETLY) $(REMOVE_TARGET)
+- $(CXX_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
++ $(CXX_COMPILE) -static -fuse-ld=bfd -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
+
+ endif
+ endif
diff --git a/recipes-core/openjdk/openjdk-7-85b01/jvm.cfg b/recipes-core/openjdk/openjdk-7-85b01/jvm.cfg
new file mode 100644
index 0000000..ea97cda
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-85b01/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-core/openjdk/openjdk-7-release-85b01.inc b/recipes-core/openjdk/openjdk-7-release-85b01.inc
new file mode 100644
index 0000000..6a8b482
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7-release-85b01.inc
@@ -0,0 +1,77 @@
+require openjdk-7-common.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+FILESPATH =. "${FILE_DIRNAME}/openjdk-7-85b01:"
+
+# 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.wildebeest.org/download/source/${ICEDTEA}.tar.gz;name=iced"
+
+ICEDTEA_PREFIX = "icedtea7-forest-2.6"
+ICEDTEA_HG_URL = "http://icedtea.classpath.org/hg/release/${ICEDTEA_PREFIX}"
+
+OPENJDK_FILE = "${OPENJDK_CHANGESET}.tar.bz2"
+OPENJDK_URI = "${ICEDTEA_HG_URL}/archive/${OPENJDK_FILE};name=openjdk;unpack=false"
+
+HOTSPOT_FILE = "${HOTSPOT_CHANGESET}.tar.bz2"
+#HOTSPOT_URI = "${ICEDTEA_HG_URL}/hotspot/archive/${HOTSPOT_FILE};name=hotspot;unpack=false"
+HOTSPOT_URI = "http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/archive/${HOTSPOT_FILE};name=hotspot;unpack=false"
+
+CORBA_FILE = "${CORBA_CHANGESET}.tar.bz2"
+CORBA_URI = "${ICEDTEA_HG_URL}/corba/archive/${CORBA_FILE};name=corba;unpack=false"
+
+JAXP_FILE = "${JAXP_CHANGESET}.tar.bz2"
+JAXP_URI = "${ICEDTEA_HG_URL}/jaxp/archive/${JAXP_FILE};name=jaxp;unpack=false"
+
+JAXWS_FILE = "${JAXWS_CHANGESET}.tar.bz2"
+JAXWS_URI = "${ICEDTEA_HG_URL}/jaxws/archive/${JAXWS_FILE};name=jaxws;unpack=false"
+
+JDK_FILE = "${JDK_CHANGESET}.tar.bz2"
+JDK_URI = "${ICEDTEA_HG_URL}/jdk/archive/${JDK_FILE};name=jdk;unpack=false"
+
+LANGTOOLS_FILE = "${LANGTOOLS_CHANGESET}.tar.bz2"
+LANGTOOLS_URI = "${ICEDTEA_HG_URL}/langtools/archive/${LANGTOOLS_FILE};name=langtools;unpack=false"
+
+CACAO_VERSION = "c182f119eaad"
+CACAO_FILE = "cacao-${CACAO_VERSION}.tar.gz"
+CACAO_URI = "http://icedtea.classpath.org/download/drops/cacao/${CACAO_FILE};name=cacao;unpack=false"
+SRC_URI[cacao.md5sum] = "df428cf98e5baf28c1d186bc9b92fb01"
+SRC_URI[cacao.sha256sum] = "eade43f6c5da8b3b5a64e6b206b624eaca88539f80101d7164d6aa426eb590b1"
+
+JAMVM_VERSION = "ec18fb9e49e62dce16c5094ef1527eed619463aa"
+JAMVM_FILE = "jamvm-${JAMVM_VERSION}.tar.gz"
+JAMVM_URI = "http://icedtea.wildebeest.org/download/drops/jamvm/${JAMVM_FILE};name=jamvm;unpack=false"
+SRC_URI[jamvm.md5sum] = "d50ae193d01a9251e10679c7a2cc6ff1"
+SRC_URI[jamvm.sha256sum] = "31810266666c23822942aac62a78019c2c4589e1c5ee48329cbf42652d4437bc"
+
+# Split up patches to allow overriding them separately
+OEPATCHES = "\
+ file://build-hacks.patch \
+ file://fix_hotspot_crosscompile.patch \
+ "
+
+ICEDTEAPATCHES = "\
+ file://icedtea-zero-hotspotfix.patch;apply=no \
+ file://icedtea-jdk-nio-use-host-cc.patch;apply=no \
+ file://icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch;apply=no \
+ file://icedtea-jdk-rmi-crosscompile.patch;apply=no \
+ file://icedtea-crosscompile-fix.patch;apply=no \
+ file://icedtea-xawt-crosscompile-fix.patch;apply=no \
+ "
+
+DISTRIBUTION_PATCHES = "\
+ patches/icedtea-zero-hotspotfix.patch \
+ patches/icedtea-jdk-nio-use-host-cc.patch \
+ patches/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch \
+ patches/icedtea-jdk-rmi-crosscompile.patch \
+ patches/icedtea-crosscompile-fix.patch \
+ patches/icedtea-xawt-crosscompile-fix.patch \
+ "
+
+export DISTRIBUTION_PATCHES
diff --git a/recipes-core/openjdk/openjdk-7_85b01-2.6.1.bb b/recipes-core/openjdk/openjdk-7_85b01-2.6.1.bb
new file mode 100644
index 0000000..1ca3b08
--- /dev/null
+++ b/recipes-core/openjdk/openjdk-7_85b01-2.6.1.bb
@@ -0,0 +1,35 @@
+require openjdk-7-release-85b01.inc
+
+PR = "${INC_PR}.1"
+
+SRC_URI[iced.md5sum] = "efac44117a94b9d3278988959e336e05"
+SRC_URI[iced.sha256sum] = "491866e57199b0bc99d716be3eabaab97d9f6a698d1a652d748baeddeedfe963"
+
+CORBA_CHANGESET = "2545636482d6"
+SRC_URI[corba.md5sum] = "7e821a5fb388d7ba0e29bcadbafea7ac"
+SRC_URI[corba.sha256sum] = "e91886a9e5e1bf5a481bf1bdc9f51a73cfadfc785e06a9d0af754c18b4c7d07a"
+
+JAXP_CHANGESET = "ffbe529eeac7"
+SRC_URI[jaxp.md5sum] = "d28f58c41fa71553cf110e0a2d1fdf05"
+SRC_URI[jaxp.sha256sum] = "2bd11bbd6a9ca5374353db5fa6c45cba1645e628af3c03e614fee1a79baec271"
+
+JAXWS_CHANGESET = "b9776fab65b8"
+SRC_URI[jaxws.md5sum] = "87aaa809c958e45ab882001cdf03a7dd"
+SRC_URI[jaxws.sha256sum] = "1892b1366b9ae90ceb41547067ca79c3e113ecc1eb8bcf447c81768d25b1a1a5"
+
+JDK_CHANGESET = "61d3e001dee6"
+SRC_URI[jdk.md5sum] = "01c56e39df95192cb2542f961b846e1c"
+SRC_URI[jdk.sha256sum] = "4bf866f2da37b7391fa89d205eaa8ad21c56953a922d8969ccfbd77b982dfba9"
+
+LANGTOOLS_CHANGESET = "9c6e1de67d7d"
+SRC_URI[langtools.md5sum] = "b47e31b700ba156e86599eef5994550c"
+SRC_URI[langtools.sha256sum] = "b5fbf91d0af014deb8a3ae3e8ee8d807f8c859351bc5bb767b3597cbe14b8acd"
+
+OPENJDK_CHANGESET = "39b2c4354d0a"
+SRC_URI[openjdk.md5sum] = "3732dfebef27c22ef39fd2280c8fd0ac"
+SRC_URI[openjdk.sha256sum] = "05725e6d4abccf657ed56064d03a2f0ef38363e2ff96011921c948341bcaebe6"
+
+# hotspot changeset taken from hotspot/tags
+HOTSPOT_CHANGESET = "3f1b4a1fe4a2"
+SRC_URI[hotspot.md5sum] = "106b2ec0a8798fbe07f3d838568bd0d8"
+SRC_URI[hotspot.sha256sum] = "39bc54bf343e1dce404b8c95285c0457a8d0a7c7aedfb55055aff9795dd36a85"