[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