summaryrefslogtreecommitdiff
path: root/package/openjdk
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-08-22 06:26:27 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-08-22 06:26:27 +0200
commit90f063cdaa362277b19eac3d3e3ebeb6227b4da3 (patch)
tree58f05de6554dd97a6afffada929aa5402dab2117 /package/openjdk
parentf41e4877defd5be85457121c5fd9b923a943d8ed (diff)
parent432ae1a94f4d543da3aa2ed226cd3c00e350e3c4 (diff)
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/openjdk')
-rw-r--r--package/openjdk/Makefile14
-rw-r--r--package/openjdk/patches/cross-compile.patch3
-rw-r--r--package/openjdk/patches/disable-backtrace.patch3
-rw-r--r--package/openjdk/patches/disable-freetype-check.patch5
-rw-r--r--package/openjdk/patches/disable-gamma.patch3
-rw-r--r--package/openjdk/patches/disable-sizers.patch12
-rw-r--r--package/openjdk/patches/dlopen-RTLD_NOLOAD.patch15
-rw-r--r--package/openjdk/patches/icedtea-arm-mkbc.patch29
-rw-r--r--package/openjdk/patches/icedtea6-Makefile_in.patch (renamed from package/openjdk/patches/patch-icedtea6-1_10_Makefile_in)0
-rw-r--r--package/openjdk/patches/iconv.patch19
-rw-r--r--package/openjdk/patches/inc-path.patch34
-rw-r--r--package/openjdk/patches/llvm-headers.patch3
-rw-r--r--package/openjdk/patches/openjdk-6_Makefile.patch (renamed from package/openjdk/patches/patch-openjdk-6_Makefile)3
-rw-r--r--package/openjdk/patches/qemu-sizer.patch22
-rw-r--r--package/openjdk/patches/remove-Werror.patch15
-rw-r--r--package/openjdk/patches/remove-libnsl.patch3
-rw-r--r--package/openjdk/patches/shark-adlc-cross-compile.patch23
-rw-r--r--package/openjdk/patches/uClibc-compat.patch4
18 files changed, 165 insertions, 45 deletions
diff --git a/package/openjdk/Makefile b/package/openjdk/Makefile
index 45194d4d9..1f8264f67 100644
--- a/package/openjdk/Makefile
+++ b/package/openjdk/Makefile
@@ -26,6 +26,8 @@ PKG_SITES:= http://download.java.net/openjdk/jdk6/promoted/b22/ \
#PKG_CFLINE_OPENJDK:= depends on ADK_TARGET_LIB_GLIBC || ADK_TARGET_LIB_EGLIBC && !ADK_TARGET_SYSTEM_LEMOTE_YEELONG
PKG_HOST_DEPENDS:= !darwin !cygwin !openbsd !netbsd !freebsd
+PKG_ARCH_DEPENDS:= arm mips x86 x86_64
+PKG_SYSTEM_DEPENDS:= !lemote-yeelong !linksys-ag241 !fon-fon2100
# autotools infrastructure for OpenJDK
ICEDTEA_NAME:= icedtea6
@@ -50,7 +52,7 @@ WRKSRC= ${WRKDIST}/${ICEDTEA_NAME}-${ICEDTEA_VERSION}
PKG_SUBPKGS:= OPENJDK
PKG_CHOICES_OPENJDK:= ZERO SHARK CACAO
PKGCD_ZERO:= zero-assembly backend
-PKGCD_SHARK:= JIT backend
+PKGCD_SHARK:= Shark JIT backend (needs eglibc/glibc)
PKGCB_SHARK:= llvm
PKGCD_CACAO:= Cacao JIT backend
PKGCD_JAMVM:= JamVM backend
@@ -59,6 +61,7 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,OPENJDK,openjdk,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
TARGET_CFLAGS:= $(filter-out -fhonour-copts,$(TARGET_CFLAGS))
BOOTSTRAPJDK:= ${STAGING_JAVA_HOST_DIR}/bootstrap-jdk
@@ -96,11 +99,13 @@ CONFIGURE_ARGS+= --disable-docs \
CONFIGURE_ENV+= PATH=$(STAGING_JAVA_HOST_DIR)/usr/bin:$${PATH}:${STAGING_TARGET_DIR}/usr/bin
MAKE_ENV+= ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME) \
+ ADK_ECJ=$(STAGING_JAVA_HOST_DIR)/usr/bin/ecj \
PATH=$(STAGING_JAVA_HOST_DIR)/usr/bin:$${PATH}:${STAGING_TARGET_DIR}/usr/bin \
GCC_HONOUR_COPTS=s \
TARGET_ALIAS=$(GNU_TARGET_NAME) BUILD_ALIAS=$(GNU_HOST_NAME) HOST_ALIAS=$(GNU_TARGET_NAME)
OPENJDK_NATIVE_ENV+= ALT_COMPILER_PATH=$(STAGING_HOST_DIR)/$(REAL_GNU_TARGET_NAME) \
+ ADK_ECJ=$(STAGING_JAVA_HOST_DIR)/usr/bin/ecj \
PATH=$(STAGING_JAVA_HOST_DIR)/usr/bin:$${PATH}:${STAGING_TARGET_DIR}/usr/bin \
GCC_HONOUR_COPTS=s CROSS_COMPILE_ARCH=$(ARCH) \
TARGET_ALIAS=$(GNU_TARGET_NAME) BUILD_ALIAS=$(GNU_HOST_NAME) HOST_ALIAS=$(GNU_TARGET_NAME)
@@ -108,6 +113,9 @@ ALL_TARGET:= icedtea
# add include path for Xrender.h from staging directory
post-patch:
+ifeq ($(QEMU),)
+ $(error Fatal error: $$QEMU not set!)
+endif
$(SED) "s#@ADK_TARGETDIR@#$(STAGING_TARGET_DIR)#" ${WRKDIST}/$(PKG_NAME)-$(PKG_VERSION)/jdk/make/sun/xawt/Makefile
do-extract:
@@ -146,10 +154,6 @@ pre-configure:
--with-gcj=$(STAGING_JAVA_HOST_DIR)/usr/bin/gcj \
--with-ecj-jar=$(STAGING_JAVA_HOST_DIR)/usr/share/java/ecj.jar \
--without-rhino ;\
- mkdir -p $(WRKBUILD)/generated/sun/awt/X11/generator/ ; \
- mkdir -p $(WRKBUILD)/openjdk.build/gensrc/sun/awt/X11/generator/ ; \
- cp $(TOPDIR)/jtools/openjdk/files/sizes.* $(WRKBUILD)/generated/sun/awt/X11/generator/; \
- cp $(TOPDIR)/jtools/openjdk/files/sizes.* $(WRKBUILD)/openjdk.build/gensrc/sun/awt/X11/generator/; \
env ${OPENJDK_NATIVE_ENV} $(MAKE) icedtea-ecj
# fixup symlinks to bootstrap jdk
ln -sf $(BOOTSTRAPJDK)/bin/java $(WRKBUILD)/openjdk.build-ecj/j2sdk-image/bin/java
diff --git a/package/openjdk/patches/cross-compile.patch b/package/openjdk/patches/cross-compile.patch
index afc00b032..604b5d6cb 100644
--- a/package/openjdk/patches/cross-compile.patch
+++ b/package/openjdk/patches/cross-compile.patch
@@ -1,3 +1,6 @@
+
+ disable wrong pathes to /usr, fix cross-compile
+
--- w-openjdk-6-1.orig/openjdk-6/jdk/make/sun/awt/Makefile 2011-02-28 17:06:11.000000000 +0100
+++ w-openjdk-6-1/openjdk-6/jdk/make/sun/awt/Makefile 2011-08-07 17:00:37.676468717 +0200
@@ -509,10 +509,7 @@
diff --git a/package/openjdk/patches/disable-backtrace.patch b/package/openjdk/patches/disable-backtrace.patch
index b54c95741..f3d1424c1 100644
--- a/package/openjdk/patches/disable-backtrace.patch
+++ b/package/openjdk/patches/disable-backtrace.patch
@@ -1,3 +1,6 @@
+
+ uClibc does not have backtrace support right now. Disable it for now.
+
--- w-openjdk-6-1.orig/openjdk-6/jdk/src/solaris/native/sun/xawt/XToolkit.c 2011-02-28 17:06:50.000000000 +0100
+++ w-openjdk-6-1/openjdk-6/jdk/src/solaris/native/sun/xawt/XToolkit.c 2011-08-08 10:45:01.445330729 +0200
@@ -27,9 +27,6 @@
diff --git a/package/openjdk/patches/disable-freetype-check.patch b/package/openjdk/patches/disable-freetype-check.patch
index 5f5f6cf83..cde23910d 100644
--- a/package/openjdk/patches/disable-freetype-check.patch
+++ b/package/openjdk/patches/disable-freetype-check.patch
@@ -1,4 +1,7 @@
---- w-openjdk-6-1.orig/openjdk-6.orig/jdk/make/common/shared/Sanity.gmk 2011-02-28 17:06:10.000000000 +0100
+
+ disable freetype sanity check, not cross-compile safe.
+
+--- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/shared/Sanity.gmk 2011-02-28 17:06:10.000000000 +0100
+++ w-openjdk-6-1/openjdk-6/jdk/make/common/shared/Sanity.gmk 2011-04-05 14:05:29.691807661 +0200
@@ -793,7 +793,7 @@
# Check for availability of FreeType (OpenJDK specific)
diff --git a/package/openjdk/patches/disable-gamma.patch b/package/openjdk/patches/disable-gamma.patch
index 92a80b3be..5dc1b2723 100644
--- a/package/openjdk/patches/disable-gamma.patch
+++ b/package/openjdk/patches/disable-gamma.patch
@@ -1,3 +1,6 @@
+
+ Fails when cross-compilation is done, disable it.
+
--- w-openjdk-6-1.orig/openjdk-6/hotspot/make/linux/makefiles/buildtree.make 2011-02-28 17:03:13.000000000 +0100
+++ w-openjdk-6-1/openjdk-6/hotspot/make/linux/makefiles/buildtree.make 2011-04-11 12:47:31.000000000 +0200
@@ -352,12 +352,8 @@
diff --git a/package/openjdk/patches/disable-sizers.patch b/package/openjdk/patches/disable-sizers.patch
deleted file mode 100644
index 46325008c..000000000
--- a/package/openjdk/patches/disable-sizers.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- w-openjdk-6.orig/openjdk-6/jdk/make/sun/xawt/Makefile 2011-02-28 17:06:12.000000000 +0100
-+++ w-openjdk-6/openjdk-6/jdk/make/sun/xawt/Makefile 2011-04-13 12:00:18.618922673 +0200
-@@ -237,7 +237,8 @@
- $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
- $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
-
--$(SIZES): $(SIZERS)
-+$(SIZES):
-+ $(prep-target)
- @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
- $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
- $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
diff --git a/package/openjdk/patches/dlopen-RTLD_NOLOAD.patch b/package/openjdk/patches/dlopen-RTLD_NOLOAD.patch
new file mode 100644
index 000000000..cd228391b
--- /dev/null
+++ b/package/openjdk/patches/dlopen-RTLD_NOLOAD.patch
@@ -0,0 +1,15 @@
+
+ the option RTLOD_NOLOAD is not portable. (not available in uClibc)
+ https://evolvis.org/scm/viewvc.php/jalimo/trunk/oe-overlay/packages/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-RTLD_NOLOAD.patch?revision=840&view=markup&pathrev=867
+
+--- w-openjdk-6.orig/openjdk-6/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2011-02-28 17:06:50.000000000 +0100
++++ w-openjdk-6/openjdk-6/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c 2011-08-10 14:41:26.700571862 +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/package/openjdk/patches/icedtea-arm-mkbc.patch b/package/openjdk/patches/icedtea-arm-mkbc.patch
new file mode 100644
index 000000000..9df3ebbf4
--- /dev/null
+++ b/package/openjdk/patches/icedtea-arm-mkbc.patch
@@ -0,0 +1,29 @@
+
+ execute mkoffsets via Qemu and build mkbc with the host compiler.
+
+--- w-openjdk-6-1.orig/icedtea6-1.10/patches/arm.patch 2011-02-23 23:32:32.909601440 +0100
++++ w-openjdk-6-1/icedtea6-1.10/patches/arm.patch 2011-08-09 20:05:56.721765260 +0200
+@@ -25,7 +25,7 @@
+ +
+ +offsets_arm.s: mkoffsets
+ + @echo Generating assembler offsets
+-+ ./mkoffsets > $@
+++ $(QEMU) ./mkoffsets > $@
+ +
+ +bytecodes_arm.s: bytecodes_arm.def mkbc
+ + @echo Generatine ARM assembler bytecode sequences
+@@ -33,12 +33,12 @@
+ +
+ +mkbc: $(GAMMADIR)/tools/mkbc.c
+ + @echo Compiling mkbc tool
+-+ $(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
+++ $(CC_FOR_BUILD) -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/package/openjdk/patches/patch-icedtea6-1_10_Makefile_in b/package/openjdk/patches/icedtea6-Makefile_in.patch
index 193e008aa..193e008aa 100644
--- a/package/openjdk/patches/patch-icedtea6-1_10_Makefile_in
+++ b/package/openjdk/patches/icedtea6-Makefile_in.patch
diff --git a/package/openjdk/patches/iconv.patch b/package/openjdk/patches/iconv.patch
index 16a6946f6..b79971930 100644
--- a/package/openjdk/patches/iconv.patch
+++ b/package/openjdk/patches/iconv.patch
@@ -1,17 +1,6 @@
-diff -Nur w-openjdk-6.orig/openjdk-6/hotspot/make/linux/makefiles/gcc.make w-openjdk-6/openjdk-6/hotspot/make/linux/makefiles/gcc.make
---- w-openjdk-6.orig/openjdk-6/hotspot/make/linux/makefiles/gcc.make 2011-02-28 17:03:13.000000000 +0100
-+++ w-openjdk-6/openjdk-6/hotspot/make/linux/makefiles/gcc.make 2011-04-11 18:36:16.837665258 +0200
-@@ -108,9 +108,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 -Nur w-openjdk-6.orig/openjdk-6/jdk/make/java/instrument/Makefile w-openjdk-6/openjdk-6/jdk/make/java/instrument/Makefile
+
+ add required linker flags.
+
--- w-openjdk-6.orig/openjdk-6/jdk/make/java/instrument/Makefile 2011-02-28 17:06:10.000000000 +0100
+++ w-openjdk-6/openjdk-6/jdk/make/java/instrument/Makefile 2011-04-11 23:14:27.571411016 +0200
@@ -123,6 +123,8 @@
@@ -23,7 +12,6 @@ diff -Nur w-openjdk-6.orig/openjdk-6/jdk/make/java/instrument/Makefile w-openjdk
#
# Add to ambient vpath so we pick up the library files
#
-diff -Nur w-openjdk-6.orig/openjdk-6/jdk/make/java/npt/Makefile w-openjdk-6/openjdk-6/jdk/make/java/npt/Makefile
--- w-openjdk-6.orig/openjdk-6/jdk/make/java/npt/Makefile 2011-02-28 17:06:11.000000000 +0100
+++ w-openjdk-6/openjdk-6/jdk/make/java/npt/Makefile 2011-04-11 23:14:07.017670197 +0200
@@ -65,6 +65,8 @@
@@ -35,7 +23,6 @@ diff -Nur w-openjdk-6.orig/openjdk-6/jdk/make/java/npt/Makefile w-openjdk-6/open
# Add -export options to explicitly spell exported symbols
ifeq ($(PLATFORM), windows)
OTHER_LCF += -export:nptInitialize -export:nptTerminate
-diff -Nur w-openjdk-6.orig/openjdk-6/jdk/make/sun/splashscreen/Makefile w-openjdk-6/openjdk-6/jdk/make/sun/splashscreen/Makefile
--- w-openjdk-6.orig/openjdk-6/jdk/make/sun/splashscreen/Makefile 2011-02-28 17:06:12.000000000 +0100
+++ w-openjdk-6/openjdk-6/jdk/make/sun/splashscreen/Makefile 2011-04-11 23:15:07.221411030 +0200
@@ -55,6 +55,8 @@
diff --git a/package/openjdk/patches/inc-path.patch b/package/openjdk/patches/inc-path.patch
index 32aaa919e..4a195f03e 100644
--- a/package/openjdk/patches/inc-path.patch
+++ b/package/openjdk/patches/inc-path.patch
@@ -1,14 +1,6 @@
---- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/Defs.gmk 2011-02-28 17:06:10.000000000 +0100
-+++ w-openjdk-6-1/openjdk-6/jdk/make/common/Defs.gmk 2011-08-07 21:21:49.335286149 +0200
-@@ -173,7 +173,7 @@
- ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
- FREETYPE_HEADERS_PATH = $(DEVTOOLS_FT_DIR)/include
- else
-- FREETYPE_HEADERS_PATH = /usr/include
-+ FREETYPE_HEADERS_PATH = /usr/include/disabled
- endif
- endif
- endif
+
+ disable wrong pathes for cross-compilation
+
--- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/shared/Defs-linux.gmk 2011-02-28 17:06:10.000000000 +0100
+++ w-openjdk-6-1/openjdk-6/jdk/make/common/shared/Defs-linux.gmk 2011-08-08 10:07:58.975256728 +0200
@@ -170,7 +170,7 @@
@@ -20,3 +12,23 @@
# Import JDK images allow for partial builds, components not built are
# imported (or copied from) these import areas when needed.
+--- w-openjdk-6-1.orig/openjdk-6/jdk/make/common/Defs.gmk 2011-02-28 17:06:10.000000000 +0100
++++ w-openjdk-6-1/openjdk-6/jdk/make/common/Defs.gmk 2011-08-10 18:50:53.248017538 +0200
+@@ -156,7 +156,7 @@
+ ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
+ FREETYPE_LIB_PATH = $(DEVTOOLS_FT_DIR)/lib
+ else
+- FREETYPE_LIB_PATH = /usr/lib
++ FREETYPE_LIB_PATH = /usr/lib/disabled
+ USING_SYSTEM_FT_LIB=true
+ endif
+ endif
+@@ -173,7 +173,7 @@
+ ifeq ($(DEVTOOLS_FT_DIR_EXISTS), true)
+ FREETYPE_HEADERS_PATH = $(DEVTOOLS_FT_DIR)/include
+ else
+- FREETYPE_HEADERS_PATH = /usr/include
++ FREETYPE_HEADERS_PATH = /usr/include/disabled
+ endif
+ endif
+ endif
diff --git a/package/openjdk/patches/llvm-headers.patch b/package/openjdk/patches/llvm-headers.patch
index d0f42146d..25dd137d9 100644
--- a/package/openjdk/patches/llvm-headers.patch
+++ b/package/openjdk/patches/llvm-headers.patch
@@ -1,3 +1,6 @@
+
+ fix wrong header path
+
--- w-openjdk-6.orig/openjdk-6/hotspot/src/share/vm/shark/llvmHeaders.hpp 2011-02-28 17:03:21.000000000 +0100
+++ w-openjdk-6/openjdk-6/hotspot/src/share/vm/shark/llvmHeaders.hpp 2011-04-29 18:07:20.171550601 +0200
@@ -43,7 +43,7 @@
diff --git a/package/openjdk/patches/patch-openjdk-6_Makefile b/package/openjdk/patches/openjdk-6_Makefile.patch
index 2364d7ec0..4425eff7c 100644
--- a/package/openjdk/patches/patch-openjdk-6_Makefile
+++ b/package/openjdk/patches/openjdk-6_Makefile.patch
@@ -1,3 +1,6 @@
+
+ TOPDIR is already used by build system, so always set it.
+
--- w-openjdk-6-1.orig/openjdk-6/Makefile 2011-02-28 17:02:07.000000000 +0100
+++ w-openjdk-6-1/openjdk-6/Makefile 2011-03-28 20:06:13.751809044 +0200
@@ -25,9 +25,7 @@
diff --git a/package/openjdk/patches/qemu-sizer.patch b/package/openjdk/patches/qemu-sizer.patch
new file mode 100644
index 000000000..b0049e852
--- /dev/null
+++ b/package/openjdk/patches/qemu-sizer.patch
@@ -0,0 +1,22 @@
+--- w-openjdk-6.orig/openjdk-6/jdk/make/sun/xawt/Makefile 2011-02-28 17:06:12.000000000 +0100
++++ w-openjdk-6/openjdk-6/jdk/make/sun/xawt/Makefile 2011-08-20 18:45:28.499240773 +0200
+@@ -225,7 +225,7 @@
+
+ $(SIZERS): $(SIZERS_C)
+ $(prep-target)
+- $(CC) $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
++ $(CC) -static $(CFLAGS_$(subst .,,$(suffix $@))) $(CPPFLAGS) -o $@ $(SIZER)$(suffix $@).c
+
+ $(WRAPPER_GENERATOR_CLASS): $(WRAPPER_GENERATOR_JAVA)
+ $(prep-target)
+@@ -243,8 +243,8 @@
+ $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
+ $(CHMOD) +w $@;\
+ else \
+- $(ECHO) GENERATING $@; \
+- $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++ $(ECHO) GENERATING $@ via $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer..; \
++ $(QEMU) $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+ fi
+ @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+ $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
diff --git a/package/openjdk/patches/remove-Werror.patch b/package/openjdk/patches/remove-Werror.patch
new file mode 100644
index 000000000..445165781
--- /dev/null
+++ b/package/openjdk/patches/remove-Werror.patch
@@ -0,0 +1,15 @@
+
+ disable -Werror
+
+--- w-openjdk-6.orig/openjdk-6/hotspot/make/linux/makefiles/gcc.make 2011-02-28 17:03:13.000000000 +0100
++++ w-openjdk-6/openjdk-6/hotspot/make/linux/makefiles/gcc.make 2011-08-19 18:18:55.997423368 +0200
+@@ -108,9 +108,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/package/openjdk/patches/remove-libnsl.patch b/package/openjdk/patches/remove-libnsl.patch
index 9c086843e..965829fd6 100644
--- a/package/openjdk/patches/remove-libnsl.patch
+++ b/package/openjdk/patches/remove-libnsl.patch
@@ -1,3 +1,6 @@
+
+ remove libnsl from linking.
+
--- w-openjdk-6-1.orig/openjdk-6/jdk/make/java/hpi/hpi_common.gmk 2011-02-28 17:06:10.000000000 +0100
+++ w-openjdk-6-1/openjdk-6/jdk/make/java/hpi/hpi_common.gmk 2011-04-10 20:05:01.417672476 +0200
@@ -86,5 +86,5 @@
diff --git a/package/openjdk/patches/shark-adlc-cross-compile.patch b/package/openjdk/patches/shark-adlc-cross-compile.patch
new file mode 100644
index 000000000..fc3b804ea
--- /dev/null
+++ b/package/openjdk/patches/shark-adlc-cross-compile.patch
@@ -0,0 +1,23 @@
+
+ Execute adlc via Qemu.
+
+--- w-openjdk-6.orig/openjdk-6/hotspot/make/linux/makefiles/adlc.make 2011-02-28 17:03:13.000000000 +0100
++++ w-openjdk-6/openjdk-6/hotspot/make/linux/makefiles/adlc.make 2011-08-17 13:05:55.317470977 +0200
+@@ -103,7 +103,7 @@
+
+ $(EXEC) : $(OBJECTS)
+ @echo Making adlc
+- $(QUIETLY) $(LINK_NOPROF.CC) -o $(EXEC) $(OBJECTS)
++ $(QUIETLY) $(LINK_NOPROF.CC) -static -o $(EXEC) $(OBJECTS)
+
+ # Random dependencies:
+ $(OBJECTS): opcodes.hpp classes.hpp adlc.hpp adlcVMDeps.hpp adlparse.hpp archDesc.hpp arena.hpp dict2.hpp filebuff.hpp forms.hpp formsopt.hpp formssel.hpp
+@@ -170,7 +170,7 @@
+ #
+ refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
+ @rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
+- $(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
++ $(QEMU) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
+ -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \
+ || { rm -rf $(TEMPDIR); exit 1; }
+ $(QUIETLY) ./$(ADLC_UPDATER) ad_$(Platform_arch_model).cpp $(TEMPDIR) $(OUTDIR)
diff --git a/package/openjdk/patches/uClibc-compat.patch b/package/openjdk/patches/uClibc-compat.patch
index 1bdf56b5b..1cc16cbb1 100644
--- a/package/openjdk/patches/uClibc-compat.patch
+++ b/package/openjdk/patches/uClibc-compat.patch
@@ -1,3 +1,7 @@
+
+ some uClibc compatibility hacks.
+ Partly from https://evolvis.org/scm/viewvc.php/jalimo/trunk/oe-overlay/packages/openjdk/openjdk-6-6b18-1.8/
+
--- w-openjdk-6-1.orig/openjdk-6/hotspot/src/os/linux/vm/os_linux.cpp 2011-02-28 17:03:14.000000000 +0100
+++ w-openjdk-6-1/openjdk-6/hotspot/src/os/linux/vm/os_linux.cpp 2011-08-07 14:30:00.195403776 +0200
@@ -53,7 +53,6 @@