[java-1.7.0-openjdk/f17] fixed zero, fonts, dependencies, logging.properties, classes.jsa and nss.cfg file

jiri vanek jvanek at fedoraproject.org
Mon Mar 25 16:05:03 UTC 2013


commit 9d6dd62ae2123635b4d15e40e527a0b617756484
Author: Jiri Vanek <jvanek at jvanek.redhat>
Date:   Mon Mar 25 17:05:34 2013 +0100

    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)

 java-1.7.0-openjdk-fixZeroAllocFailure.patch |   95 ++++++++++++++++++++++++++
 java-1.7.0-openjdk.spec                      |   48 ++++++++++++-
 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 1552276..6676924 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
@@ -402,8 +402,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
@@ -426,6 +430,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
@@ -463,6 +469,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.
@@ -717,6 +725,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
 
@@ -929,6 +944,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*
@@ -1309,6 +1332,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*
@@ -1319,8 +1343,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
@@ -1395,7 +1420,24 @@ exit 0
 %doc %{buildoutputdir}/j2sdk-image/jre/LICENSE
 
 %changelog
-* Mon Mar 4 2013 Omair Majid <omajid at redhat.com> -1.7.0.9-2.3.8.fc17
+* Mon Mar 25 2013 Jiri Vanek <jvanek at redhat.com> - 1.7.0.9-2.3.8.1.fc17
+- 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 at redhat.com> -1.7.0.9-2.3.8.fc17
 - Update to icedtea7-forest-2.3.8 tarball
 - Remove SOURCE11. All upstreamed.
 


More information about the scm-commits mailing list