From 8d522b5b0dd3f96223b9939e97d5d9cf8fa9170f Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Fri, 18 Jul 2014 16:24:15 +0200 Subject: [PATCH] added patch patch9999 enableArm64.patch to enable new hotspot --- enableArm64.patch | 154 ++++++++++++++++++++++++++++++++++++++++ java-1.8.0-openjdk.spec | 12 +++- 2 files changed, 164 insertions(+), 2 deletions(-) create mode 100644 enableArm64.patch diff --git a/enableArm64.patch b/enableArm64.patch new file mode 100644 index 0000000..927d6b3 --- /dev/null +++ b/enableArm64.patch @@ -0,0 +1,154 @@ +--- /dev/null ++++ jdk8/jdk/src/solaris/bin/aarch64/jvm.cfg +@@ -0,0 +1,3 @@ ++-client IF_SERVER_CLASS -server ++-server KNOWN ++-minimal KNOWN +--- jdk8/common/autoconf/generated-configure.sh ++++ jdk8/common/autoconf/generated-configure.sh +@@ -6728,8 +6728,9 @@ + # The aliases save the names the user supplied, while $host etc. + # will get canonicalized. + test -n "$target_alias" && +- test "$program_prefix$program_suffix$program_transform_name" = \ +- NONENONEs,x,x, && ++ test "$target_alias" != "$host_alias" && ++ test "$program_prefix$program_suffix$program_transform_name" = \ ++ NONENONEs,x,x, && + program_prefix=${target_alias}- + + # Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target" +@@ -6808,6 +6809,12 @@ + VAR_CPU=arm + VAR_CPU_ARCH=arm + VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ ;; ++ aarch64) ++ VAR_CPU=aarch64 ++ VAR_CPU_ARCH=aarch64 ++ VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; + powerpc) +@@ -6930,6 +6937,12 @@ + VAR_CPU_BITS=32 + VAR_CPU_ENDIAN=little + ;; ++ aarch64) ++ VAR_CPU=aarch64 ++ VAR_CPU_ARCH=aarch64 ++ VAR_CPU_BITS=64 ++ VAR_CPU_ENDIAN=little ++ ;; + powerpc) + VAR_CPU=ppc + VAR_CPU_ARCH=ppc +@@ -7889,6 +7902,9 @@ + INCLUDE_SA=false + fi + if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then ++ INCLUDE_SA=false ++ fi ++ if test "x$OPENJDK_TARGET_CPU" = xaarch64; then + INCLUDE_SA=false + fi + +@@ -29737,6 +29753,9 @@ + case "${OPENJDK_TARGET_CPU}" in + s390) + ZERO_ARCHFLAG="-m31" ++ ;; ++ aarch64) ++ ZERO_ARCHFLAG="" + ;; + *) + ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}" +--- jdk8/common/autoconf/jdk-options.m4 ++++ jdk8/common/autoconf/jdk-options.m4 +@@ -88,11 +88,6 @@ + JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'` + JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'` + +- if test "x$JVM_VARIANT_CLIENT" = xtrue; then +- if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then +- AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.]) +- fi +- fi + if test "x$JVM_VARIANT_KERNEL" = xtrue; then + if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then + AC_MSG_ERROR([You cannot build a kernel JVM for a 64-bit machine.]) +@@ -126,6 +121,9 @@ + INCLUDE_SA=false + fi + if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then ++ INCLUDE_SA=false ++ fi ++ if test "x$OPENJDK_TARGET_CPU" = xaarch64; then + INCLUDE_SA=false + fi + AC_SUBST(INCLUDE_SA) +@@ -423,12 +421,6 @@ + AC_MSG_ERROR([Update version must have a value]) + elif test "x$with_update_version" != x; then + JDK_UPDATE_VERSION="$with_update_version" +- # On macosx 10.7, it's not possible to set --with-update-version=0X due +- # to a bug in expr (which reduces it to just X). To work around this, we +- # always add a 0 to one digit update versions. +- if test "${#JDK_UPDATE_VERSION}" = "1"; then +- JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}" +- fi + fi + + AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix], +--- jdk8/common/autoconf/platform.m4 ++++ jdk8/common/autoconf/platform.m4 +@@ -46,6 +46,12 @@ + VAR_CPU=arm + VAR_CPU_ARCH=arm + VAR_CPU_BITS=32 ++ VAR_CPU_ENDIAN=little ++ ;; ++ aarch64) ++ VAR_CPU=aarch64 ++ VAR_CPU_ARCH=aarch64 ++ VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; + powerpc) +--- jdk8/common/autoconf/toolchain.m4 ++++ jdk8/common/autoconf/toolchain.m4 +@@ -1078,6 +1078,9 @@ + s390) + ZERO_ARCHFLAG="-m31" + ;; ++ aarch64) ++ ZERO_ARCHFLAG="" ++ ;; + *) + ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}" + esac +--- jdk8/jdk/make/lib/SoundLibraries.gmk ++++ jdk8/jdk/make/lib/SoundLibraries.gmk +@@ -130,6 +130,10 @@ + + ifeq ($(OPENJDK_TARGET_CPU), ppc) + LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC ++ endif ++ ++ ifeq ($(OPENJDK_TARGET_CPU), aarch64) ++ LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH64 + endif + endif + +--- jdk8/jdk/make/CompileJavaClasses.gmk ++++ jdk8/jdk/make/CompileJavaClasses.gmk +@@ -390,7 +390,7 @@ + + ########################################################################################## + +-all: $(BUILD_JDK) $(BUILD_SECURITY) $(COPY_EXTRA) \ ++all: $(BUILD_JDK) $(BUILD_SECURITY) $(BUILD_JOBJC) $(BUILD_JOBJC_HEADERS) $(COPY_EXTRA) \ + $(JDK_OUTPUTDIR)/classes/META-INF/services/com.sun.tools.xjc.Plugin \ + $(BUILD_ACCESSBRIDGE_32) $(BUILD_ACCESSBRIDGE_64) \ + $(BUILD_ACCESSBRIDGE_LEGACY) diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index eda7d86..33ca5ff 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -135,7 +135,7 @@ Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever} -Release: 5.%{buildver}%{?dist} +Release: 6.%{buildver}%{?dist} # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, # and this change was brought into RHEL-4. java-1.5.0-ibm packages # also included the epoch in their virtual provides. This created a @@ -231,7 +231,8 @@ Patch201: system-libjpeg.patch Patch202: system-libpng.patch Patch203: system-lcms.patch -Patch999: 0001-PPC64LE-arch-support-in-openjdk-1.8.patch +Patch999: 0001-PPC64LE-arch-support-in-openjdk-1.8.patch +Patch9999: enableArm64.patch BuildRequires: autoconf BuildRequires: automake @@ -453,6 +454,10 @@ cp %{SOURCE101} jdk8/common/autoconf/build-aux/ # Remove libraries that are linked sh %{SOURCE12} +%ifarch %{aarch64} +%patch9999 +%endif + %patch201 %patch202 %patch203 @@ -1156,6 +1161,9 @@ exit 0 %{_jvmdir}/%{jredir}/lib/accessibility.properties %changelog +* Tue Jul 15 2014 Jiri Vanek - 1:1.8.0.11-6.b12 +- added patch patch9999 enableArm64.patch to enable new hotspot + * Tue Jul 15 2014 Jiri Vanek - 1:1.8.0.11-5.b12 - Attempt to update aarch64 *jdk* to u11b12, by resticting aarch64 sources to hotpot only