diff --git a/.gitignore b/.gitignore index 010e1ba..3a01a08 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/aarch64-port-jdk8u-aarch64-jdk8u102-b14.tar.xz +SOURCES/aarch64-port-jdk8u-aarch64-jdk8u111-b15.tar.xz SOURCES/systemtap-tapset-3.1.0.tar.xz diff --git a/.java-1.8.0-openjdk.metadata b/.java-1.8.0-openjdk.metadata index 3ceac4b..a9e203a 100644 --- a/.java-1.8.0-openjdk.metadata +++ b/.java-1.8.0-openjdk.metadata @@ -1,2 +1,2 @@ -4c11157a3c6ae41fb5345769a1f5cebd0de50d91 SOURCES/aarch64-port-jdk8u-aarch64-jdk8u102-b14.tar.xz +c32fc4a2f70f097b8726e396cceaad1bdad461b6 SOURCES/aarch64-port-jdk8u-aarch64-jdk8u111-b15.tar.xz 44b09844ec2e90db08d3d883993e0dbab0c1988a SOURCES/systemtap-tapset-3.1.0.tar.xz diff --git a/SOURCES/8157306-pr3121-rh1360863.patch b/SOURCES/8157306-pr3121-rh1360863.patch deleted file mode 100644 index 8cb69ae..0000000 --- a/SOURCES/8157306-pr3121-rh1360863.patch +++ /dev/null @@ -1,29 +0,0 @@ -# HG changeset patch -# User aph -# Date 1470065634 -3600 -# Mon Aug 01 16:33:54 2016 +0100 -# Node ID ee9bffb3bd390b2ad805c7b59d7d2ab8a68a4367 -# Parent ab3e0bde3c15bbba60de4decabcd70ffef657448 -8157306, PR3121: Random infrequent null pointer exceptions in javac -Reviewed-by: kvn - -diff -r ab3e0bde3c15 -r ee9bffb3bd39 src/share/vm/opto/lcm.cpp ---- openjdk/hotspot/src/share/vm/opto/lcm.cpp Tue Jul 26 04:42:03 2016 +0100 -+++ openjdk/hotspot/src/share/vm/opto/lcm.cpp Mon Aug 01 16:33:54 2016 +0100 -@@ -1090,11 +1090,14 @@ - Block *sb = block->_succs[i]; - // Clone the entire area; ignoring the edge fixup for now. - for( uint j = end; j > beg; j-- ) { -- // It is safe here to clone a node with anti_dependence -- // since clones dominate on each path. - Node *clone = block->get_node(j-1)->clone(); - sb->insert_node(clone, 1); - map_node_to_block(clone, sb); -+#ifdef AARCH64 -+ if (clone->needs_anti_dependence_check()) { -+ insert_anti_dependences(sb, clone); -+ } -+#endif - } - } - diff --git a/SOURCES/always_assumemp.patch b/SOURCES/always_assumemp.patch new file mode 100644 index 0000000..b0a874d --- /dev/null +++ b/SOURCES/always_assumemp.patch @@ -0,0 +1,12 @@ +diff --git a/src/share/vm/runtime/globals.hpp b/src/share/vm/runtime/globals.hpp +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp +@@ -530,7 +530,7 @@ + lp64_product(intx, ObjectAlignmentInBytes, 8, \ + "Default object alignment in bytes, 8 is minimum") \ + \ +- product(bool, AssumeMP, false, \ ++ product(bool, AssumeMP, true, \ + "Instruct the VM to assume multiple processors are available") \ + \ + /* UseMembar is theoretically a temp flag used for memory barrier \ diff --git a/SOURCES/corba_typo_fix.patch b/SOURCES/corba_typo_fix.patch deleted file mode 100644 index 9756a8a..0000000 --- a/SOURCES/corba_typo_fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -r 5c43ac1f2a59 src/share/classes/javax/rmi/CORBA/Util.java ---- openjdk.orig/corba/src/share/classes/javax/rmi/CORBA/Util.java Fri Jul 01 04:11:22 2016 +0100 -+++ openjdk/corba/src/share/classes/javax/rmi/CORBA/Util.java Mon Jul 04 16:04:39 2016 +0100 -@@ -413,8 +413,18 @@ - // check that a serialization permission has been - // set to allow the loading of the Util delegate - // which provides access to custom ValueHandler -- sm.checkPermission(new SerializablePermission( -- "enableCustomValueHanlder")); -+ try { -+ sm.checkPermission(new SerializablePermission( -+ "enableCustomValueHandler")); -+ } catch (SecurityException ex1) { -+ // Fallback: See if the permission is mis-spelt -+ try { -+ sm.checkPermission(new SerializablePermission( -+ "enableCustomValueHanlder")); -+ } catch (SecurityException ex2) { -+ throw ex1; // Throw original exception -+ } -+ } - } - } - } diff --git a/SOURCES/rh1367357.patch b/SOURCES/rh1367357.patch new file mode 100644 index 0000000..254be99 --- /dev/null +++ b/SOURCES/rh1367357.patch @@ -0,0 +1,11 @@ +diff --git a/src/share/native/sun/java2d/cmm/lcms/cmstypes.c b/src/share/native/sun/java2d/cmm/lcms/cmstypes.c +--- openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/cmstypes.c ++++ openjdk/jdk/src/share/native/sun/java2d/cmm/lcms/cmstypes.c +@@ -1484,6 +1484,7 @@ + + // Check for overflow + if (Offset < (SizeOfHeader + 8)) goto Error; ++ if ((Offset + Len) > SizeOfTag + 8) goto Error; + + // True begin of the string + BeginOfThisString = Offset - SizeOfHeader - 8; diff --git a/SPECS/java-1.8.0-openjdk.spec b/SPECS/java-1.8.0-openjdk.spec index 856d031..a017e9c 100644 --- a/SPECS/java-1.8.0-openjdk.spec +++ b/SPECS/java-1.8.0-openjdk.spec @@ -20,8 +20,16 @@ %global build_loop1 %{nil} %endif -# by default we build debug build during main build only on intel arches -%ifarch %{ix86} x86_64 +%global aarch64 aarch64 arm64 armv8 +# sometimes we need to distinguish big and little endian PPC64 +%global ppc64le ppc64le +%global ppc64be ppc64 ppc64p7 +%global multilib_arches %{power64} sparc64 x86_64 +%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} +%global debug_arches %{ix86} x86_64 + +# By default, we build a debug build during main build on JIT architectures +%ifarch %{debug_arches} %global include_debug_build 1 %else %global include_debug_build 0 @@ -51,13 +59,6 @@ %global targets all %endif -%global aarch64 aarch64 arm64 armv8 -# sometimes we need to distinguish big and little endian PPC64 -%global ppc64le ppc64le -%global ppc64be ppc64 ppc64p7 -%global multilib_arches %{power64} sparc64 x86_64 -%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} - %ifarch %{aarch64} # Disable hardened build on AArch64 as it didn't bootcycle %undefine _hardened_build @@ -147,7 +148,7 @@ # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there. %global project aarch64-port %global repo jdk8u -%global revision aarch64-jdk8u102-b14 +%global revision aarch64-jdk8u111-b15 # eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60 (dont forget spec escape % by %%) %global whole_update %(VERSION=%{revision}; echo ${VERSION%%-*}) # eg jdk8u60 -> 60 or aarch64-jdk8u60 -> 60 @@ -195,6 +196,13 @@ # not-duplicated scriplets for normal/debug packages %global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +%global check_sum_presented_in_spec() %{expand: +md5sum %1 +currentMd5sum=`md5sum %1 | sed "s;\\s.*;;"` +specfile=%{_specdir}/%{name}.spec +grep -e md5sum -A 20 $specfile | grep $currentMd5sum +} + %global post_script() %{expand: update-desktop-database %{_datadir}/applications &> /dev/null || : /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : @@ -220,7 +228,10 @@ if [ "$1" -gt 1 ]; then "${sum}" = 'd17958676bdb9f9d941c8a59655311fb' -o \\ "${sum}" = '5463aef7dbf0bbcfe79e0336a7f92701' -o \\ "${sum}" = '400cc64d4dd31f36dc0cc2c701d603db' -o \\ - "${sum}" = '321342219bb130d238ff144b9e5dbfc1' ]; then + "${sum}" = '321342219bb130d238ff144b9e5dbfc1' -o \\ + "${sum}" = '134a37a84983b620f4d8d51a550c0c38' -o \\ + "${sum}" = '5ea976e209d0d0b5b6ab148416123e02' -o \\ + "${sum}" = 'b727442b4ac0e3b8a26ec9741ad463e5' ]; then if [ -f "${javasecurity}.rpmnew" ]; then mv -f "${javasecurity}.rpmnew" "${javasecurity}" fi @@ -735,7 +746,7 @@ URL: http://openjdk.java.net/ # aarch64-port now contains integration forest of both aarch64 and normal jdk # Source from upstream OpenJDK8 project. To regenerate, use -# VERSION=aarch64-jdk8u102-b14 FILE_NAME_ROOT=aarch64-port-jdk8u-${VERSION} +# VERSION=aarch64-jdk8u111-b15 FILE_NAME_ROOT=aarch64-port-jdk8u-${VERSION} # REPO_ROOT= generate_source_tarball.sh # where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo} Source0: %{project}-%{repo}-%{revision}.tar.xz @@ -814,8 +825,6 @@ Patch203: system-lcms.patch Patch502: pr2462.patch # S6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate Patch526: 6260348-pr3066.patch -# S8157306, PR3121, RH1360863: Random infrequent null pointer exceptions in javac -Patch531: 8157306-pr3121-rh1360863.patch # Patches upstream and appearing in 8u111 # S8159244, PR3074: Partially initialized string object created by C2's string concat optimization may escape @@ -838,8 +847,10 @@ Patch201: system-libjpeg.patch # Local fixes # Turns off ECC support as we don't ship the SunEC provider currently Patch12: removeSunEcProvider-RH1154143.patch -# Temporary fix for typo in CORBA security patch -Patch529: corba_typo_fix.patch +# RH1367357: lcms2: Out-of-bounds read in Type_MLU_Read() +Patch533: rh1367357.patch +# Turn on AssumeMP by default on RHEL systems +Patch534: always_assumemp.patch # Non-OpenJDK fixes @@ -1121,8 +1132,12 @@ sh %{SOURCE12} %patch526 %patch527 %patch528 -%patch529 -%patch531 +%patch533 + +# RHEL-only patches +%if 0%{?rhel} +%patch534 +%endif # Extract systemtap tapsets %if %{with_systemtap} @@ -1163,6 +1178,10 @@ for file in %{SOURCE9} %{SOURCE10} ; do done done +# this is check which controls, that latest java.security is included in post(_headless) +%{check_sum_presented_in_spec openjdk/jdk/src/share/lib/security/java.security-linux} + + %build # How many cpu's do we have? export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :) @@ -1279,6 +1298,9 @@ for suffix in %{rev_build_loop} ; do export JAVA_HOME=$(pwd)/%{buildoutputdir $suffix}/images/%{j2sdkimage} +# check java.security in this build is also in this specfile +%{check_sum_presented_in_spec $JAVA_HOME/jre/lib/security/java.security} + # Check unlimited policy has been used $JAVA_HOME/bin/javac -d . %{SOURCE13} $JAVA_HOME/bin/java TestCryptoLevel @@ -1814,6 +1836,35 @@ end %endif %changelog +* Tue Oct 11 2016 Andrew Hughes - 1:1.8.0.111-1.b15 +- Keep debug architecture set the same on RHEL 7.2 +- Resolves: rhbz#1381990 + +* Mon Oct 10 2016 Andrew Hughes - 1:1.8.0.111-1.b15 +- Bump release for rebuild. +- Resolves: rhbz#1381990 + +* Mon Oct 10 2016 Andrew Hughes - 1:1.8.0.111-1.b15 +- Turn debug builds on for all JIT architectures. Always AssumeMP on RHEL. +- Resolves: rhbz#1381990 + +* Fri Oct 07 2016 Andrew Hughes - 1:1.8.0.111-0.b15 +- Update to aarch64-jdk8u111-b15, with AArch64 fix for S8160591. +- Swap java.security md5sum for 7.2.z version with ECC patch. +- Resolves: rhbz#1381990 + +* Fri Oct 07 2016 Andrew Hughes - 1:1.8.0.111-0.b14 +- Update to aarch64-jdk8u111-b14. +- Add latest md5sum for java.security file due to jar signing property addition. +- Drop S8157306 and the CORBA typo fix, both of which appear upstream in u111. +- Add LCMS 2 patch to fix Red Hat security issue RH1367357 in the local OpenJDK copy. +- Resolves: rhbz#1381990 + +* Wed Aug 31 2016 Jiri Vanek - 1:1.8.0.102-1.b14 +- declared check_sum_presented_in_spec and used in prep and check +- it is checking that latest packed java.security is mentioned in listing +- Resolves: rhbz#1368440 + * Tue Aug 30 2016 Jiri Vanek - 1:1.8.0.102-1.b14 - New variable, @prefix@, needs to be substituted in tapsets (rhbz1371005) - Resolves: rhbz#1368440