[java-1.8.0-openjdk/f21] added patch patch9999 enableArm64.patch to enable new hotspot

jiri vanek jvanek at fedoraproject.org
Fri Jul 18 14:23:58 UTC 2014


commit 8d522b5b0dd3f96223b9939e97d5d9cf8fa9170f
Author: Jiri Vanek <jvanek at jvanek.redhat>
Date:   Fri Jul 18 16:24:15 2014 +0200

    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(-)
---
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 <jvanek at redhat.com> - 1:1.8.0.11-6.b12
+- added patch patch9999 enableArm64.patch to enable new hotspot
+
 * Tue Jul 15 2014 Jiri Vanek <jvanek at redhat.com> - 1:1.8.0.11-5.b12
 - Attempt to update aarch64 *jdk* to u11b12, by resticting aarch64 sources to hotpot only
 


More information about the scm-commits mailing list