From ed95222b71cc58f6039bdf944b0e11ce00fb0bf5 Mon Sep 17 00:00:00 2001 From: Richard Leitner Date: Wed, 28 Oct 2015 13:07:19 +0100 Subject: openjdk-7: update to IcedTea 2.6.2 OpenJDK 7u91b01 IcedTea 2.6.2 provides OpenJDK 7u91, which adds the October 2015 security updates. For more details see: http://blog.fuseyism.com/index.php/2015/10/23/security-icedtea-2-6-2-for-openjdk-7-released/ Furthermore the patches directory for OpenJDK-7 was renamed to avoid the version number. This makes it easier for upgrades and to see diff's between patches. Signed-off-by: Richard Leitner Acked-by: Otavio Salvador Signed-off-by: Otavio Salvador --- .../openjdk/patches-openjdk-7/build-hacks.patch | 56 +++++ .../fix_hotspot_crosscompile.patch | 46 +++++ .../icedtea-crosscompile-fix.patch | 229 +++++++++++++++++++++ ...a-jdk-build-nio-gensor-genuc-gensc-static.patch | 29 +++ .../icedtea-jdk-nio-use-host-cc.patch | 11 + .../icedtea-jdk-rmi-crosscompile.patch | 13 ++ .../icedtea-xawt-crosscompile-fix.patch | 82 ++++++++ .../icedtea-zero-hotspotfix.patch | 36 ++++ recipes-core/openjdk/patches-openjdk-7/jvm.cfg | 43 ++++ 9 files changed, 545 insertions(+) create mode 100644 recipes-core/openjdk/patches-openjdk-7/build-hacks.patch create mode 100644 recipes-core/openjdk/patches-openjdk-7/fix_hotspot_crosscompile.patch create mode 100644 recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch create mode 100644 recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch create mode 100644 recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-nio-use-host-cc.patch create mode 100644 recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-rmi-crosscompile.patch create mode 100644 recipes-core/openjdk/patches-openjdk-7/icedtea-xawt-crosscompile-fix.patch create mode 100644 recipes-core/openjdk/patches-openjdk-7/icedtea-zero-hotspotfix.patch create mode 100644 recipes-core/openjdk/patches-openjdk-7/jvm.cfg (limited to 'recipes-core/openjdk/patches-openjdk-7') diff --git a/recipes-core/openjdk/patches-openjdk-7/build-hacks.patch b/recipes-core/openjdk/patches-openjdk-7/build-hacks.patch new file mode 100644 index 0000000..012c4cb --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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/patches-openjdk-7/fix_hotspot_crosscompile.patch b/recipes-core/openjdk/patches-openjdk-7/fix_hotspot_crosscompile.patch new file mode 100644 index 0000000..13c7de2 --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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/patches-openjdk-7/icedtea-crosscompile-fix.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-crosscompile-fix.patch new file mode 100644 index 0000000..e957d1e --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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/patches-openjdk-7/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-build-nio-gensor-genuc-gensc-static.patch new file mode 100644 index 0000000..3152b38 --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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/patches-openjdk-7/icedtea-jdk-nio-use-host-cc.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-nio-use-host-cc.patch new file mode 100644 index 0000000..80fc808 --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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/patches-openjdk-7/icedtea-jdk-rmi-crosscompile.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-jdk-rmi-crosscompile.patch new file mode 100644 index 0000000..55f1f9c --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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/patches-openjdk-7/icedtea-xawt-crosscompile-fix.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-xawt-crosscompile-fix.patch new file mode 100644 index 0000000..5eb5507 --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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/patches-openjdk-7/icedtea-zero-hotspotfix.patch b/recipes-core/openjdk/patches-openjdk-7/icedtea-zero-hotspotfix.patch new file mode 100644 index 0000000..e97e4fc --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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/patches-openjdk-7/jvm.cfg b/recipes-core/openjdk/patches-openjdk-7/jvm.cfg new file mode 100644 index 0000000..ea97cda --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-7/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=" 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 -- cgit v1.2.3-54-g00ecf