From c96e9dcef68729532185a0c0b4ec090172406cef Mon Sep 17 00:00:00 2001 From: Andrew Hughes Date: Fri, 30 Oct 2020 05:55:37 +0000 Subject: [PATCH] Update to jdk-11.0.9.1+1 This adds a single patch for JDK-8250861. A regression introduced with 11.0.9+11. RPM version stays as-is. Release bump only. Update release notes for 11.0.9.1 release. Move all license files to NVR-specific JVM directory. This bad placement was killing parallel installability and thus having a bad impact on leapp, if used. --- NEWS | 9 +++++++ java-11-openjdk.spec | 34 ++++++++++++++++++------ jdk8250861-crash_in_MinINode_Ideal.patch | 32 ++++++++++++++++++++++ 3 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 jdk8250861-crash_in_MinINode_Ideal.patch diff --git a/NEWS b/NEWS index a50068e..aa11e2f 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,15 @@ Key: JDK-X - https://bugs.openjdk.java.net/browse/JDK-X CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release OpenJDK 11.0.9.1 (2020-10-20): +============================================= +Live versions of these release notes can be found at: + * https://bitly.com/openjdk11091 + * https://builds.shipilev.net/backports-monitor/release-notes-11.0.9.1.txt + +* Regression fixes + - JDK-8250861: Crash in MinINode::Ideal(PhaseGVN*, bool) + New in release OpenJDK 11.0.9 (2020-10-20): =========================================== Live versions of these release notes can be found at: diff --git a/java-11-openjdk.spec b/java-11-openjdk.spec index 52b3e58..6b97716 100644 --- a/java-11-openjdk.spec +++ b/java-11-openjdk.spec @@ -259,7 +259,7 @@ %global top_level_dir_name %{origin} %global minorver 0 %global buildver 11 -%global rpmrelease 0 +%global rpmrelease 1 #%%global tagsuffix "" # priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit %if %is_system_jdk @@ -855,7 +855,7 @@ exit 0 %define files_javadoc() %{expand: %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}} -%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/legal +%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal %if %is_system_jdk %if %{is_release_build -- %{?1}} %ghost %{_javadocdir}/java @@ -865,7 +865,7 @@ exit 0 %define files_javadoc_zip() %{expand: %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip -%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/legal +%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal %if %is_system_jdk %if %{is_release_build -- %{?1}} %ghost %{_javadocdir}/java-zip @@ -906,7 +906,7 @@ Requires: ca-certificates # Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros Requires: javapackages-filesystem # Require zone-info data provided by tzdata-java sub-package -# 2020a required as of JDK-8243541 in 11.0.8+4 +# 2020b required as of JDK-8254177 in October CPU Requires: tzdata-java >= 2020b # for support of kernel stream control # libsctp.so.1 is being `dlopen`ed on demand @@ -1134,6 +1134,8 @@ Patch7: pr3695-toggle_system_crypto_policy.patch Patch8: s390-8214206_fix.patch # JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b Patch9: jdk8254177-tzdata2020b.patch +# JDK-8250861: Crash in MinINode::Ideal(PhaseGVN*, bool) +Patch10: jdk8250861-crash_in_MinINode_Ideal.patch BuildRequires: autoconf BuildRequires: automake @@ -1172,8 +1174,7 @@ BuildRequires: java-%{buildjdkver}-openjdk-devel BuildRequires: libffi-devel %endif # 2020b required as of JDK-8254177 in October CPU -# Temporarily roll back tzdata build requirement while tzdata update is still in testing -BuildRequires: tzdata-java >= 2020a +BuildRequires: tzdata-java >= 2020b # Earlier versions have a bug in tree vectorization on PPC BuildRequires: gcc >= 4.8.3-8 @@ -1387,6 +1388,7 @@ pushd %{top_level_dir_name} %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 popd # openjdk %patch1000 @@ -1489,9 +1491,11 @@ bash ../configure \ %ifarch %{ppc64le} --with-jobs=1 \ %endif - --with-version-build=%{buildver} \ + --with-version-build=1 \ --with-version-pre="%{ea_designator}" \ --with-version-opt=%{lts_designator} \ + --with-version-patch=1 \ + --with-version-date="2020-11-04" \ --with-vendor-version-string="%{vendor_version_string}" \ --with-vendor-name="Red Hat, Inc." \ --with-vendor-url="https://www.redhat.com/" \ @@ -1730,7 +1734,8 @@ if ! echo $suffix | grep -q "debug" ; then # Install Javadoc documentation install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} cp -a %{buildoutputdir -- $suffix}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix} - cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{newjavaver}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip + #cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{newjavaver}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip + cp -a %{buildoutputdir -- $suffix}/bundles/jdk-11.0.9.1+1%{lts_designator_zip}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip fi # Install release notes @@ -1954,6 +1959,19 @@ require "copy_jdk_configs.lua" %changelog +* Fri Nov 06 2020 Andrew Hughes - 1:11.0.9.11-1 +- Update release notes for 11.0.9.1 release. +- Update tzdata build requirement now >= 2020b is available. + +* Wed Nov 04 2020 Severin Gehwolf - 1:11.0.9.11-1 +- Update to jdk-11.0.9.1+1 +- RPM version stays at 11.0.9.11-2 so as to not break upgrade path. +- Adds a single patch for JDK-8250861. + +* Thu Oct 29 2020 Jiri Vanek - 1:11.0.9.11-1 +- Move all license files to NVR-specific JVM directory. +- This bad placement was killing parallel installability and thus having a bad impact on leapp, if used. + * Wed Oct 21 03:03:35 UTC 2020 Andrew Hughes - 1:11.0.9.11-0 - Temporarily roll back tzdata build requirement while tzdata update is still in testing diff --git a/jdk8250861-crash_in_MinINode_Ideal.patch b/jdk8250861-crash_in_MinINode_Ideal.patch new file mode 100644 index 0000000..b00022f --- /dev/null +++ b/jdk8250861-crash_in_MinINode_Ideal.patch @@ -0,0 +1,32 @@ + +# HG changeset patch +# User thartmann +# Date 1604482955 -3600 +# Node ID 27723943c0dd65a191cbefe031cec001521e4b13 +# Parent e9d90c9daf895b469b461b727b6887e7780b4ac2 +8250861: Crash in MinINode::Ideal(PhaseGVN*, bool) +Summary: Added missing NULL checks. +Reviewed-by: kvn, chagedorn + +diff -r e9d90c9daf89 -r 27723943c0dd src/hotspot/share/opto/addnode.cpp +--- a/src/hotspot/share/opto/addnode.cpp Mon Nov 02 20:20:05 2020 +0100 ++++ b/src/hotspot/share/opto/addnode.cpp Wed Nov 04 10:42:35 2020 +0100 +@@ -917,7 +917,7 @@ + + // Transform MIN2(x + c0, MIN2(x + c1, z)) into MIN2(x + MIN2(c0, c1), z) + // if x == y and the additions can't overflow. +- if (phase->eqv(x,y) && ++ if (phase->eqv(x,y) && tx != NULL && + !can_overflow(tx, x_off) && + !can_overflow(tx, y_off)) { + return new MinINode(phase->transform(new AddINode(x, phase->intcon(MIN2(x_off, y_off)))), r->in(2)); +@@ -925,7 +925,7 @@ + } else { + // Transform MIN2(x + c0, y + c1) into x + MIN2(c0, c1) + // if x == y and the additions can't overflow. +- if (phase->eqv(x,y) && ++ if (phase->eqv(x,y) && tx != NULL && + !can_overflow(tx, x_off) && + !can_overflow(tx, y_off)) { + return new AddINode(x,phase->intcon(MIN2(x_off,y_off))); +