[java-1.7.0-openjdk/f19] Added aarch64 support

jiri vanek jvanek at fedoraproject.org
Wed Jul 2 14:43:42 UTC 2014


commit 058c911d6372090b1c6a7e50aa63418522cbddaf
Author: Jiri Vanek <jvanek at jvanek.redhat>
Date:   Wed Jul 2 16:43:43 2014 +0200

    Added aarch64 support

 .gitignore                                      |    3 ++
 PStack-808293-aarch64.patch                     |   30 ++++++++++++++++
 java-1.7.0-openjdk-removing_jvisualvm_man.patch |   10 -----
 java-1.7.0-openjdk.spec                         |   43 +++++++++++++++++------
 sources                                         |    1 +
 5 files changed, 66 insertions(+), 21 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 747d810..d52238f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,4 +46,7 @@
 /openjdk-icedtea-2.4.5.tar.xz
 /systemtap-tapset-2014-03-19.tar.xz
 /openjdk-icedtea-2.4.7.tar.xz
+/aarch64-port-jdk7u60-b04-aarch64-832.tar.xz
+/jdk7u60_b04_aarch64_832.tar.bz2
 /openjdk-icedtea-2.5.0.tar.xz
+/jdk7u60_b30_aarch64_360d11d249a6.tar.bz2
diff --git a/PStack-808293-aarch64.patch b/PStack-808293-aarch64.patch
new file mode 100644
index 0000000..dcf4331
--- /dev/null
+++ b/PStack-808293-aarch64.patch
@@ -0,0 +1,30 @@
+--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java	2012-04-06 02:26:33.322164601 +0200
++++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java	2012-04-06 02:26:57.958514071 +0200
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2012, Red Hat Inc.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -158,10 +160,19 @@
+                          }
+                       }
+                   }
++                  Address oldPC = f.pc();
++                  Address oldFP = f.localVariableBase();
+                   f = f.sender(th);
++                  if (f != null
++                      && oldPC.equals(f.pc())
++                      && oldFP.equals(f.localVariableBase())) {
++                      // We didn't make any progress
++                      f = null;
++                  }
+                }
+             } catch (Exception exp) {
+-               exp.printStackTrace();
++               // exp.printStackTrace();
++               out.println("bad stack: " + exp);
+                // continue, may be we can do a better job for other threads
+             }
+             if (concurrentLocks) {
diff --git a/java-1.7.0-openjdk.spec b/java-1.7.0-openjdk.spec
index 6efe804..18e92c7 100644
--- a/java-1.7.0-openjdk.spec
+++ b/java-1.7.0-openjdk.spec
@@ -4,6 +4,9 @@
 %global icedtea_version 2.5.0
 %global hg_tag icedtea-{icedtea_version}
 
+%global aarch64_rev 360d11d249a6
+%global aarch64_tag jdk7u60_b30_aarch64_%{aarch64_rev}
+
 %global aarch64			aarch64 arm64 armv8
 #sometimes we need to distinguish big and little endian PPC64
 %global ppc64le			ppc64le
@@ -11,6 +14,9 @@
 %global multilib_arches %{power64} sparc64 x86_64 
 %global jit_arches		%{ix86} x86_64 sparcv9 sparc64 %{ppc64be} %{ppc64le} %{aarch64}
 
+# With diabled nss is NSS deactivated, so in NSS_LIBDIR can be wrong path
+# the initialisation must be here. LAter the pkg-connfig have bugy behaviour
+#looks liekopenjdk RPM specific bug
 # Always set this so the nss.cfg file is not broken
 %global NSS_LIBDIR %(pkg-config --variable=libdir nss)
 
@@ -166,7 +172,7 @@
 
 Name:    java-%{javaver}-%{origin}
 Version: %{javaver}.%{updatever}
-Release: %{icedtea_version}.2%{?dist}
+Release: %{icedtea_version}.3%{?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
@@ -198,6 +204,8 @@ URL:      http://openjdk.java.net/
 # sh /git/java-1.7.0-openjdk/fX/fsg.sh
 # tar cJf openjdk-icedtea-%{icedtea_version}.tar.xz openjdk
 Source0:  openjdk-icedtea-%{icedtea_version}.tar.xz
+# wget http://hg.openjdk.java.net/aarch64-port/jdk7u/hotspot/archive/%{aarch64_tag}.tar.bz2
+Source1:  %{aarch64_tag}.tar.bz2
 
 # README file
 # This source is under maintainer's/java-team's control
@@ -281,6 +289,7 @@ Patch400: rh1022017.patch
 
 #Workaround RH902004
 Patch403: PStack-808293.patch
+Patch4030: PStack-808293-aarch64.patch
 # End of tmp patches
 Patch404: gtk3ToBeReverted.patch
 
@@ -464,10 +473,17 @@ Please note, the java-atk-wrapper is still in beta, and also OpenJDK itself is s
 Although working pretty fine, there are known issues with accessibility on, so do not rather install this package unless you really need.
 
 %prep
-%global source_num 0
-%setup -q -c -n %{uniquesuffix} -T -a %{source_num}
+%setup -q -c -n %{uniquesuffix} -T -a 0
 cp %{SOURCE2} .
 
+%ifarch %{aarch64}
+pushd openjdk
+rm -r hotspot
+tar xf %{SOURCE1}
+mv hotspot-%{aarch64_rev} hotspot
+popd
+%endif
+
 # OpenJDK patches
 %patch100
 
@@ -529,25 +545,24 @@ tar xzf %{SOURCE9}
 %endif
 
 %patch106
+%ifnarch %{aarch64}
+#friendly hserror is not applicable in head, needs to be revisited
 %patch200
+%endif
 
+%ifarch %{aarch64}
+%patch4030
+%else
 %patch403
+%endif
 
-%ifnarch %{aarch64}
-#2.5(+?) forest specific
 %patch404 -R
-%endif
 
 
 %build
 # How many cpu's do we have?
-%ifarch aarch64
-# temporary until real hardware lands
-export NUM_PROC=1
-%else
 export NUM_PROC=`/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :`
 export NUM_PROC=${NUM_PROC:-1}
-%endif
 
 # Build IcedTea and OpenJDK.
 %ifarch s390x sparc64 alpha %{power64} %{aarch64}
@@ -621,6 +636,9 @@ make \
   JDK_UPDATE_VERSION=`printf "%02d" %{updatever}` \
   JDK_BUILD_NUMBER=b`printf "%02d" %{buildver}` \
   JRE_RELEASE_VERSION=%{javaver}_`printf "%02d" %{updatever}`-b`printf "%02d" %{buildver}` \
+%ifarch %{aarch64}
+  HOTSPOT_BUILD_VERSION="aarch64_%{aarch64_rev}" \
+%endif
   MILESTONE="fcs" \
   ALT_PARALLEL_COMPILE_JOBS="$NUM_PROC" \
   HOTSPOT_BUILD_JOBS="$NUM_PROC" \
@@ -1355,6 +1373,9 @@ exit 0
 %{_jvmdir}/%{jredir}/lib/accessibility.properties
 
 %changelog
+* Wed Jul 02 2014Jiri Vanek  <jvanek at redhat.com> - 1.7.0.60-2.5.0.3
+- Added arrch64 support
+
 * Wed Jul 19 2014 Jiri Vanek  <jvanek at redhat.com> - 1.7.0.60-2.5.0.2.f19
 - Sync with 20
 - rpath, ppc64le and NSS EC support
diff --git a/sources b/sources
index 8bda95c..7946811 100644
--- a/sources
+++ b/sources
@@ -2,3 +2,4 @@ ea344cc5b53b73f375558ba41760ff64  class-rewriter.tar.gz
 0ec4aa81608dc91aedd40650f13c8f70  openjdk-icedtea-2.5.0.tar.xz
 1cb61996cf5dbe80827abbe7d009bf28  pulseaudio.tar.gz
 013ddff65e090aafe9ff89d4ce767e8d  systemtap-tapset-2014-03-19.tar.xz
+899f24693cfc1aff25158ce2a218bcd6  jdk7u60_b30_aarch64_360d11d249a6.tar.bz2


More information about the scm-commits mailing list