summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Vanek <jvanek@jvanek.redhat>2013-03-25 16:04:19 (GMT)
committerJiri Vanek <jvanek@jvanek.redhat>2013-03-25 16:04:19 (GMT)
commit89e2aea2f9880efd4ad773ef9dc566225c9ae9ef (patch)
tree2ce527ff85e54f3381d54bc3fc2b7b73628f1b5e
parente41f1fb447d8c4ddda616a2ea7dc7806ca72dd57 (diff)
downloadjava-1.7.0-openjdk-89e2aea2f9880efd4ad773ef9dc566225c9ae9ef.zip
java-1.7.0-openjdk-89e2aea2f9880efd4ad773ef9dc566225c9ae9ef.tar.gz
java-1.7.0-openjdk-89e2aea2f9880efd4ad773ef9dc566225c9ae9ef.tar.xz
fixed zero, fonts, dependencies, logging.properties, classes.jsa and nss.cfg file
- Added and applied patch500 java-1.7.0-openjdk-fixZeroAllocFailure.patch - to fix not-jit arches build - is already in upstreamed icedtea 2.1 - Added gcc-c++ build dependence. Sometimes caused troubles during rpm -bb - Added (Build)Requires for fontconfig and xorg-x11-fonts-Type1 - see https://bugzilla.redhat.com/show_bug.cgi?id=721033 for details - Removed all fonconfig files. Fonts are now handled differently in JDK and those files are redundant. This is going to be usptreamed. - see https://bugzilla.redhat.com/show_bug.cgi?id=902227 for details - logging.properties marked as config(noreplace) - see https://bugzilla.redhat.com/show_bug.cgi?id=679180 for details - classes.jsa marked as ghost - see https://bugzilla.redhat.com/show_bug.cgi?id=918172 for details - nss.cfg was marked as config(noreplace)
-rw-r--r--java-1.7.0-openjdk-fixZeroAllocFailure.patch95
-rw-r--r--java-1.7.0-openjdk.spec48
2 files changed, 140 insertions, 3 deletions
diff --git a/java-1.7.0-openjdk-fixZeroAllocFailure.patch b/java-1.7.0-openjdk-fixZeroAllocFailure.patch
new file mode 100644
index 0000000..8a917f9
--- /dev/null
+++ b/java-1.7.0-openjdk-fixZeroAllocFailure.patch
@@ -0,0 +1,95 @@
+# HG changeset patch
+# User chrisphi
+# Date 1363879033 14400
+# Node ID 4e4dd75d54e74827348e844bb7b08b25eb998a08
+# Parent f6f4d5e6c1ddf7dd06d2dd99bbcca3f1460d8ad1
+Bug : Fedora 19 / rawhide FTBFS SIGILL
+Summary: Changed thumb2 PUSH & POP to inline functions ,
+ added detection of reg alloc failure, fails compile of method.
+
+diff --git openjdk/hotspot/src/cpu/zero/vm/thumb2.cpp openjdk/hotspot/src/cpu/zero/vm/thumb2.cpp
+--- openjdk/hotspot/src/cpu/zero/vm/thumb2.cpp
++++ openjdk/hotspot/src/cpu/zero/vm/thumb2.cpp
+@@ -1,6 +1,6 @@
+ /*
+ * Copyright 2009, 2010 Edward Nevill
+- * Copyright 2012, Red Hat
++ * Copyright 2012, 2013 Red Hat
+ *
+ * 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
+@@ -426,6 +426,8 @@
+
+ static jmp_buf compiler_error_env;
+
++#define J_BogusImplementation() longjmp(compiler_error_env, COMPILER_RESULT_FAILED)
++
+ #ifdef PRODUCT
+
+ #define JASSERT(cond, msg) 0
+@@ -3245,8 +3247,6 @@
+ #define TOSM2(jstack) ((jstack)->stack[(jstack)->depth-3])
+ #define TOSM3(jstack) ((jstack)->stack[(jstack)->depth-4])
+
+-#define POP(jstack) ((jstack)->stack[--(jstack)->depth])
+-#define PUSH(jstack, r) ((jstack)->stack[(jstack)->depth++] = (r))
+ #define SWAP(jstack) do { \
+ Reg r = (jstack)->stack[(jstack)->depth-1]; \
+ (jstack)->stack[(jstack)->depth-1] = (jstack)->stack[(jstack)->depth-2]; \
+@@ -3256,6 +3256,17 @@
+ #define JSTACK_REG(jstack) jstack_reg(jstack)
+ #define JSTACK_PREFER(jstack, prefer) jstack_prefer(jstack, prefer)
+
++int PUSH(Thumb2_Stack *jstack, unsigned reg) {
++ jstack->stack[jstack->depth] = reg;
++ jstack->depth++;
++ return reg;
++}
++
++int POP(Thumb2_Stack *jstack) {
++ jstack->depth--;
++ return jstack->stack[jstack->depth];
++}
++
+ static const unsigned last_clear_bit[] = {
+ 3, // 0000
+ 3, // 0001
+@@ -3272,11 +3283,13 @@
+ 1, // 1100
+ 1, // 1101
+ 0, // 1110
+- 0, // 1111
++ 0, // 1111 // No registers available...
+ };
+
+ #define LAST_CLEAR_BIT(mask) last_clear_bit[mask]
+
++unsigned long thumb2_register_allocation_failures = 0;
++
+ unsigned jstack_reg(Thumb2_Stack *jstack)
+ {
+ unsigned *stack = jstack->stack;
+@@ -3287,7 +3300,10 @@
+
+ for (i = 0; i < depth; i++) mask |= 1 << stack[i];
+ mask &= (1 << STACK_REGS) - 1;
+- JASSERT(mask != (1 << STACK_REGS) - 1, "No free reg in push");
++ if (mask >= (1 << STACK_REGS) - 1) { // No free registers
++ thumb2_register_allocation_failures++;
++ J_BogusImplementation();
++ }
+ r = LAST_CLEAR_BIT(mask);
+ return r;
+ }
+@@ -3303,7 +3319,10 @@
+ for (i = 0; i < depth; i++) mask |= 1 << stack[i];
+ mask &= (1 << STACK_REGS) - 1;
+ if ((prefer & ~mask) & 0x0f) mask |= (~prefer & ((1 << STACK_REGS) - 1));
+- JASSERT(mask != (1 << STACK_REGS) - 1, "No free reg in push");
++ if (mask >= (1 << STACK_REGS) - 1) { // No free registers
++ thumb2_register_allocation_failures++;
++ J_BogusImplementation();
++ }
+ r = LAST_CLEAR_BIT(mask);
+ return r;
+ }
diff --git a/java-1.7.0-openjdk.spec b/java-1.7.0-openjdk.spec
index 5b025ff..5f5f585 100644
--- a/java-1.7.0-openjdk.spec
+++ b/java-1.7.0-openjdk.spec
@@ -149,7 +149,7 @@
Name: java-%{javaver}-%{origin}
Version: %{javaver}.%{buildver}
-Release: %{icedtea_version}.0%{?dist}
+Release: %{icedtea_version}.1%{?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
@@ -404,8 +404,12 @@ Patch302: systemtap.patch
# Rhino support
Patch400: rhino-icedtea-2.1.1.patch
+# partially upstreamed fix for zero's alloc
+Patch500: java-1.7.0-openjdk-fixZeroAllocFailure.patch
+
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: gcc-c++
BuildRequires: alsa-lib-devel
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
@@ -428,6 +432,8 @@ BuildRequires: libXinerama-devel
BuildRequires: rhino
BuildRequires: redhat-lsb
BuildRequires: zip
+BuildRequires: fontconfig
+BuildRequires: xorg-x11-fonts-Type1
%if %{gcjbootstrap}
BuildRequires: java-1.5.0-gcj-devel
%else
@@ -465,6 +471,8 @@ BuildRequires: systemtap-sdt-devel
Requires: rhino
Requires: lcms2
Requires: libjpeg = 6b
+Requires: fontconfig
+Requires: xorg-x11-fonts-Type1
# Require /etc/pki/java/cacerts.
Requires: ca-certificates
# Require jpackage-utils for ant.
@@ -721,6 +729,13 @@ patch -l -p0 < %{PATCH104}
patch -l -p0 < %{PATCH105}
%endif
+
+%ifnarch %{jit_arches}
+patch -l -p0 < %{PATCH500}
+%endif
+
+
+
# Add a "-icedtea" tag to the version
sed -i "s#BUILD_VARIANT_RELEASE)#BUILD_VARIANT_RELEASE)-icedtea#" openjdk/jdk/make/common/shared/Defs.gmk
@@ -933,6 +948,14 @@ popd
# Copy tz.properties
echo "sun.zoneinfo.dir=/usr/share/javazi" >> $JAVA_HOME/jre/lib/tz.properties
+#remove all fontconfig files. This change should be usptreamed soon
+rm %{buildoutputdir}/j2re-image/lib/fontconfig*.properties.src
+rm %{buildoutputdir}/j2re-image/lib/fontconfig*.bfc
+rm %{buildoutputdir}/j2sdk-image/jre/lib/fontconfig*.properties.src
+rm %{buildoutputdir}/j2sdk-image/jre/lib/fontconfig*.bfc
+rm %{buildoutputdir}/lib/fontconfig*.properties.src
+rm %{buildoutputdir}/lib/fontconfig*.bfc
+
%install
rm -rf $RPM_BUILD_ROOT
STRIP_KEEP_SYMTAB=libjvm*
@@ -1313,6 +1336,7 @@ exit 0
%{_jvmdir}/%{jredir}/lib/security/cacerts
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.policy
%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/java.security
+%config(noreplace) %{_jvmdir}/%{jredir}/lib/logging.properties
%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}.png
%{_mandir}/man1/java-%{name}.1*
%{_mandir}/man1/keytool-%{name}.1*
@@ -1323,8 +1347,9 @@ exit 0
%{_mandir}/man1/servertool-%{name}.1*
%{_mandir}/man1/tnameserv-%{name}.1*
%{_mandir}/man1/unpack200-%{name}.1*
-%{_jvmdir}/%{jredir}/lib/security/nss.cfg
+%config(noreplace) %{_jvmdir}/%{jredir}/lib/security/nss.cfg
%{_jvmdir}/%{jredir}/lib/audio/
+%attr(664, root, root) %ghost %{_jvmdir}/%{jrelnk}/lib/%{archinstall}/server/classes.jsa
%files devel
@@ -1399,7 +1424,24 @@ exit 0
%doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
%changelog
-* Mon Mar 4 2013 Omair Majid <omajid@redhat.com> - 1.7.0.9-2.3.8.fc19
+* Mon Mar 25 2013 Jiri Vanek <jvanek@redhat.com> - 1.7.0.9-2.3.8.1.fc20
+- Bumped release
+- Added and applied patch500 java-1.7.0-openjdk-fixZeroAllocFailure.patch
+ - to fix not-jit arches build
+ - is already in upstreamed icedtea 2.1
+- Added gcc-c++ build dependence. Sometimes caused troubles during rpm -bb
+- Added (Build)Requires for fontconfig and xorg-x11-fonts-Type1
+ - see https://bugzilla.redhat.com/show_bug.cgi?id=721033 for details
+- Removed all fonconfig files. Fonts are now handled differently in JDK
+ and those files are redundant. This is going to be usptreamed.
+ - see https://bugzilla.redhat.com/show_bug.cgi?id=902227 for details
+- logging.properties marked as config(noreplace)
+ - see https://bugzilla.redhat.com/show_bug.cgi?id=679180 for details
+- classes.jsa marked as ghost
+ - see https://bugzilla.redhat.com/show_bug.cgi?id=918172 for details
+- nss.cfg was marked as config(noreplace)
+
+* Mon Mar 04 2013 Omair Majid <omajid@redhat.com> - 1.7.0.9-2.3.8.fc19
- Updated to icedtea7 2.3.8 (forest)
- Removed upstreamed patches.