diff --git a/.gitignore b/.gitignore index fb8e571..9203ad8 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /jdk-jdk15-jdk-15+36.tar.xz /jdk-updates-jdk15u-jdk-15.0.1+9.tar.xz /tapsets-icedtea-3.15.0.tar.xz +/jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..c88d968 --- /dev/null +++ b/NEWS @@ -0,0 +1,154 @@ +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 15.0.2 (2021-01-19): +=========================================== +Live versions of these release notes can be found at: + * https://builds.shipilev.net/backports-monitor/release-notes-15.0.2.txt + +* Security fixes + - JDK-8247619: Improve Direct Buffering of Characters +* Other changes + - JDK-8197981: Missing return statement in __sync_val_compare_and_swap_8 + - JDK-8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test + - JDK-8247741: Test test/hotspot/jtreg/runtime/7162488/TestUnrecognizedVmOption.java fails when -XX:+IgnoreUnrecognizedVMOptions is set + - JDK-8248411: [aarch64] Insufficient error handling when CodeBuffer is exhausted + - JDK-8248596: [TESTBUG] compiler/loopopts/PartialPeelingUnswitch.java times out with Graal enabled + - JDK-8248667: Need support for building native libraries located in the test/lib directory + - JDK-8249176: Update GlobalSignR6CA test certificates + - JDK-8249192: MonitorInfo stores raw oops across safepoints + - JDK-8249217: Unexpected StackOverflowError in "process reaper" thread still happens + - JDK-8249781: AArch64: AOT compiled code crashes if C2 allocates r27 + - JDK-8250257: Bump release strings for JDK 15.0.2 + - JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray + - JDK-8251859: sun/security/validator/PKIXValAndRevCheckTests.java fails + - JDK-8253191: C2: Masked byte comparisons with large masks produce wrong result on x86 + - JDK-8253375: OSX build fails with Xcode 12.0 (12A7209) + - JDK-8253566: clazz.isAssignableFrom will return false for interface implementors + - JDK-8253756: C2 CompilerThread0 crash in Node::add_req(Node*) + - JDK-8253791: Issue with useAppleColor check in CSystemColors.m + - JDK-8253960: Memory leak in Java_java_lang_ClassLoader_defineClass0() + - JDK-8254081: java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate + - JDK-8254166: Zero: return-type warning in zeroInterpreter_zero.cpp + - JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b + - JDK-8254319: Shenandoah: Interpreter native-LRB needs to activate during HAS_FORWARDED + - JDK-8254320: Shenandoah: C2 native LRB should activate for non-cset objects + - JDK-8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics + - JDK-8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations + - JDK-8254982: (tz) Upgrade time-zone data to tzdata2020c + - JDK-8255065: Zero: accessor_entry misses the IRIW case + - JDK-8255067: Restore Copyright line in file modified by 8253191 + - JDK-8255226: (tz) Upgrade time-zone data to tzdata2020d + - JDK-8255599: Change jdk 15.0.2 milestone to fcs for build b04 + - JDK-8255603: Memory/Performance regression after JDK-8210985 + - JDK-8256051: nmethod_entry_barrier stub miscalculates xmm spill size on x86_32 + - JDK-8256427: Test com/sun/jndi/dns/ConfigTests/PortUnreachable.java does not work on AIX + - JDK-8256618: Zero: Linux x86_32 build still fails + - JDK-8257181: s390x builds are very noisy with gc-sections messages + - JDK-8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false + - JDK-8257701: Shenandoah: objArrayKlass metadata is not marked with chunked arrays + +Notes on individual issues: +=========================== + +core-libs/java.time: + +JDK-8254177: US/Pacific-New Zone name removed as part of tzdata2020b +==================================================================== +Following JDK's update to tzdata2020b, the long-obsolete files +pacificnew and systemv have been removed. As a result, the +"US/Pacific-New" zone name declared in the pacificnew data file is no +longer available for use. + +Information regarding the update can be viewed at +https://mm.icann.org/pipermail/tz-announce/2020-October/000059.html + +New in release OpenJDK 15.0.1 (2020-10-20): +=========================================== +Live versions of these release notes can be found at: + * https://builds.shipilev.net/backports-monitor/release-notes-15.0.1.txt + +* Security fixes + - JDK-8233624: Enhance JNI linkage + - JDK-8236196: Improve string pooling + - JDK-8236862, CVE-2020-14779: Enhance support of Proxy class + - JDK-8237990, CVE-2020-14781: Enhanced LDAP contexts + - JDK-8237995, CVE-2020-14782: Enhance certificate processing + - JDK-8240124: Better VM Interning + - JDK-8241114, CVE-2020-14792: Better range handling + - JDK-8242680, CVE-2020-14796: Improved URI Support + - JDK-8242685, CVE-2020-14797: Better Path Validation + - JDK-8242695, CVE-2020-14798: Enhanced buffer support + - JDK-8243302: Advanced class supports + - JDK-8244136, CVE-2020-14803: Improved Buffer supports + - JDK-8244479: Further constrain certificates + - JDK-8244955: Additional Fix for JDK-8240124 + - JDK-8245407: Enhance zoning of times + - JDK-8245412: Better class definitions + - JDK-8245417: Improve certificate chain handling + - JDK-8248574: Improve jpeg processing + - JDK-8249927: Specify limits of jdk.serialProxyInterfaceLimit + - JDK-8253019: Enhanced JPEG decoding +* Other changes + - JDK-8232114: JVM crashed at imjpapi.dll in native code + - JDK-8243470: [macos] bring back O2 opt level for unsafe.cpp + - JDK-8247251: Assert '(_pcs_length == 0 || last_pc()->pc_offset() < pc_offset) failed: must specify a new, larger pc offset' failure + - JDK-8248495: [macos] zerovm is broken due to libffi headers location + - JDK-8248745: Add jarsigner and keytool tests for restricted algorithms + - JDK-8249165: Remove unneeded nops introduced by 8234160 changes + - JDK-8249183: JVM crash in "AwtFrame::WmSize" method + - JDK-8249266: Bump release strings for JDK 15.0.1 + - JDK-8249266: Change jdk 15.0.1 milestone to fcs for build b02 + - JDK-8250612: jvmciCompilerToVM.cpp declares jio_printf with "void" return type, should be "int" + - JDK-8250665: Wrong translation for the month name of May in ar_JO,LB,SY + - JDK-8250861: Crash in MinINode::Ideal(PhaseGVN*, bool) + - JDK-8250876: Fix issues with cross-compile on macos + - JDK-8250928: JFR: Improve hash algorithm for stack traces + - JDK-8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier + - JDK-8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed" + - JDK-8251859: sun/security/validator/PKIXValAndRevCheckTests.java fails + - JDK-8251910: Shenandoah: Handshake threads between weak-roots and reset phases + - JDK-8252120: compiler/oracle/TestCompileCommand.java misspells "occured" + - JDK-8252292: 8240795 may cause anti-dependence to be missed + - JDK-8252359: HotSpot Not Identifying it is Running in a Container + - JDK-8252367: Undo JDK-8245000: Windows GDI functions don't support large pages + - JDK-8252368: Undo JDK-8245002: Windows GDI functions don't support NUMA interleaving + - JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows + - JDK-8252660: Shenandoah: support manageable SoftMaxHeapSize option + - JDK-8252754: Hash code calculation of JfrStackTrace is inconsistent + - JDK-8253222: Shenandoah: unused AlwaysTrueClosure after JDK-8246591 + - JDK-8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues() + - JDK-8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify + - JDK-8253284: Zero OrderAccess barrier mappings are incorrect + - JDK-8253714: [cgroups v2] Soft memory limit incorrectly using memory.high + - JDK-8253727: [cgroups v2] Memory and swap limits reported incorrectly + - JDK-8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads + - JDK-8254144: Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp + - JDK-8254560: Shenandoah: Concurrent Strong Roots logging is incorrect + +Notes on individual issues: +=========================== + +security-libs/java.security: + +JDK-8250756: Added Entrust Root Certification Authority - G4 certificate +======================================================================== +The Entrust root certificate has been added to the cacerts truststore: + +Alias Name: entrustrootcag4 +Distinguished Name: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US + +JDK-8250860: Added 3 SSL Corporation Root CA Certificates +========================================================= +The following root certificates have been added to the cacerts truststore for the SSL Corporation: + +Alias Name: sslrootrsaca +Distinguished Name: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US + +Alias Name: sslrootevrsaca +Distinguished Name: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US + +Alias Name: sslrooteccca +Distinguished Name: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh old mode 100644 new mode 100755 diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index e5398e1..acb6f94 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -48,10 +48,11 @@ %global normal_suffix "" %global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP. -%global debug_on with full debug on +%global debug_on with full debugging on +%global fastdebug_on with minimal debugging on %global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP. -%global for_fastdebug with minimal debug on -%global for_debug for packages with debug on +%global for_fastdebug_on for packages with minimal debugging on +%global for_debug for packages with debugging on %if %{with release} %global include_normal_build 1 @@ -246,16 +247,18 @@ %endif # New Version-String scheme-style defines -# If you bump majorver, you must bump also vendor_version_string -%global majorver 15 +%global featurever 15 +%global interimver 0 +%global updatever 2 +%global patchver 0 +# If you bump featurever, you must bump also vendor_version_string # Used via new version scheme. JDK 15 was # GA'ed in September 2020 => 20.9 %global vendor_version_string 20.9 -%global securityver 1 -# buildjdkver is usually same as %%{majorver}, -# but in time of bootstrap of next jdk, it is majorver-1, +# buildjdkver is usually same as %%{featurever}, +# but in time of bootstrap of next jdk, it is featurever-1, # and this it is better to change it here, on single place -%global buildjdkver 15 +%global buildjdkver %{featurever} # We don't add any LTS designator for STS packages (this package). # Neither for Fedora nor EPEL which would have %%{rhel} macro defined. %global lts_designator "" @@ -268,19 +271,30 @@ %global origin openjdk %global origin_nice OpenJDK %global top_level_dir_name %{origin} -%global minorver 0 -%global buildver 9 -%global rpmrelease 10 -# priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit +%global buildver 7 +%global rpmrelease 0 +# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit %if %is_system_jdk -%global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} ) +# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions +# It is very unlikely we will ever have a patch version > 4 or a build version > 20, so we combine as (patch * 20) + build. +# This means 11.0.9.0+11 would have had a priority of 11000911 as before +# A 11.0.9.1+1 would have had a priority of 11000921 (20 * 1 + 1), thus ensuring it is bigger than 11.0.9.0+11 +%global combiver $( expr 20 '*' %{patchver} + %{buildver} ) +%global priority %( printf '%02d%02d%02d%02d' %{featurever} %{interimver} %{updatever} %{combiver} ) %else # for techpreview, using 1, so slowdebugs can have 0 %global priority %( printf '%08d' 1 ) %endif -%global newjavaver %{majorver}.%{minorver}.%{securityver} +%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver} -%global javaver %{majorver} +# Omit trailing 0 in filenames when the patch version is 0 +%if 0%{?patchver} > 0 +%global filever %{newjavaver} +%else +%global filever %{featurever}.%{interimver}.%{updatever} +%endif + +%global javaver %{featurever} # Define milestone (EA for pre-releases, GA for releases) # Release will be (where N is usually a number starting at 1): @@ -317,7 +331,7 @@ %endif # parametrized macros are order-sensitive -%global compatiblename java-%{majorver}-%{origin} +%global compatiblename java-%{featurever}-%{origin} %global fullversion %{compatiblename}-%{version}-%{release} # images directories from upstream build %global jdkimage jdk @@ -614,6 +628,7 @@ exit 0 %define files_jre_headless() %{expand: %license %{_jvmdir}/%{sdkdir -- %{?1}}/legal +%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS %dir %{_sysconfdir}/.java/.systemPrefs %dir %{_sysconfdir}/.java %dir %{_jvmdir}/%{sdkdir -- %{?1}} @@ -1048,7 +1063,7 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}.rolling%{?dist} # provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0". Epoch: 1 -Summary: %{origin_nice} Runtime Environment %{majorver} +Summary: %{origin_nice} %{featurever} Runtime Environment # HotSpot code is licensed under GPLv2 # JDK library code is licensed under GPLv2 with the Classpath exception @@ -1070,7 +1085,7 @@ URL: http://openjdk.java.net/ # to regenerate source0 (jdk) run update_package.sh # update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives -Source0: jdk-updates-jdk%{majorver}u-jdk-%{majorver}.%{minorver}.%{securityver}+%{buildver}.tar.xz +Source0: jdk-updates-jdk%{featurever}u-jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}.tar.xz # Use 'icedtea_sync.sh' to update the following # They are based on code contained in the IcedTea project (3.x). @@ -1080,6 +1095,9 @@ Source8: tapsets-icedtea-%{icedteaver}.tar.xz # Desktop files. Adapted from IcedTea Source9: jconsole.desktop.in +# Release notes +Source10: NEWS + # nss configuration file Source11: nss.cfg.in @@ -1175,251 +1193,251 @@ BuildRequires: make %{java_rpo %{nil}} %description -The %{origin_nice} runtime environment %{majorver}. +The %{origin_nice} %{featurever} runtime environment. %if %{include_debug_build} %package slowdebug -Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on} +Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on} %{java_rpo -- %{debug_suffix_unquoted}} %description slowdebug -The %{origin_nice} runtime environment %{majorver}. +The %{origin_nice} %{featurever} runtime environment. %{debug_warning} %endif %if %{include_fastdebug_build} %package fastdebug -Summary: %{origin_nice} Runtime Environment %{majorver} %{fastdebug_on} +Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on} Group: Development/Languages %{java_rpo -- %{fastdebug_suffix_unquoted}} %description fastdebug -The %{origin_nice} runtime environment. +The %{origin_nice} %{featurever} runtime environment. %{fastdebug_warning} %endif %if %{include_normal_build} %package headless -Summary: %{origin_nice} Headless Runtime Environment %{majorver} +Summary: %{origin_nice} %{featurever} Headless Runtime Environment %{java_headless_rpo %{nil}} %description headless -The %{origin_nice} runtime environment %{majorver} without audio and video support. +The %{origin_nice} %{featurever} runtime environment without audio and video support. %endif %if %{include_debug_build} %package headless-slowdebug -Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on} +Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on} %{java_headless_rpo -- %{debug_suffix_unquoted}} %description headless-slowdebug -The %{origin_nice} runtime environment %{majorver} without audio and video support. +The %{origin_nice} %{featurever} runtime environment without audio and video support. %{debug_warning} %endif %if %{include_fastdebug_build} %package headless-fastdebug -Summary: %{origin_nice} Runtime Environment %{fastdebug_on} +Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on} Group: Development/Languages %{java_headless_rpo -- %{fastdebug_suffix_unquoted}} %description headless-fastdebug -The %{origin_nice} runtime environment %{majorver} without audio and video support. +The %{origin_nice} %{featurever} runtime environment without audio and video support. %{fastdebug_warning} %endif %if %{include_normal_build} %package devel -Summary: %{origin_nice} Development Environment %{majorver} +Summary: %{origin_nice} %{featurever} Development Environment %{java_devel_rpo %{nil}} %description devel -The %{origin_nice} development tools %{majorver}. +The %{origin_nice} %{featurever} development tools. %endif %if %{include_debug_build} %package devel-slowdebug -Summary: %{origin_nice} Development Environment %{majorver} %{debug_on} +Summary: %{origin_nice} %{featurever} Development Environment %{debug_on} %{java_devel_rpo -- %{debug_suffix_unquoted}} %description devel-slowdebug -The %{origin_nice} development tools %{majorver}. +The %{origin_nice} %{featurever} development tools. %{debug_warning} %endif %if %{include_fastdebug_build} %package devel-fastdebug -Summary: %{origin_nice} Development Environment %{majorver} %{fastdebug_on} +Summary: %{origin_nice} %{featurever} Development Environment %{fastdebug_on} Group: Development/Tools %{java_devel_rpo -- %{fastdebug_suffix_unquoted}} %description devel-fastdebug -The %{origin_nice} development tools %{majorver}. +The %{origin_nice} %{featurever} development tools . %{fastdebug_warning} %endif %if %{include_normal_build} %package static-libs -Summary: %{origin_nice} libraries for static linking %{majorver} +Summary: %{origin_nice} %{featurever} libraries for static linking %{java_static_libs_rpo %{nil}} %description static-libs -The %{origin_nice} libraries for static linking %{majorver}. +The %{origin_nice} %{featurever} libraries for static linking. %endif %if %{include_debug_build} %package static-libs-slowdebug -Summary: %{origin_nice} libraries for static linking %{majorver} %{debug_on} +Summary: %{origin_nice} %{featurever} libraries for static linking %{debug_on} %{java_static_libs_rpo -- %{debug_suffix_unquoted}} %description static-libs-slowdebug -The %{origin_nice} libraries for static linking %{majorver}. +The %{origin_nice} %{featurever} libraries for static linking. %{debug_warning} %endif %if %{include_fastdebug_build} %package static-libs-fastdebug -Summary: %{origin_nice} libraries for static linking %{majorver} %{fastdebug_on} +Summary: %{origin_nice} %{featurever} libraries for static linking %{fastdebug_on} %{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}} %description static-libs-fastdebug -The %{origin_nice} libraries for static linking %{majorver}. +The %{origin_nice} %{featurever} libraries for static linking. %{fastdebug_warning} %endif %if %{include_normal_build} %package jmods -Summary: JMods for %{origin_nice} %{majorver} +Summary: JMods for %{origin_nice} %{featurever} %{java_jmods_rpo %{nil}} %description jmods -The JMods for %{origin_nice}. +The JMods for %{origin_nice} %{featurever}. %endif %if %{include_debug_build} %package jmods-slowdebug -Summary: JMods for %{origin_nice} %{majorver} %{debug_on} +Summary: JMods for %{origin_nice} %{featurever} %{debug_on} %{java_jmods_rpo -- %{debug_suffix_unquoted}} %description jmods-slowdebug -The JMods for %{origin_nice} %{majorver}. +The JMods for %{origin_nice} %{featurever}. %{debug_warning} %endif %if %{include_fastdebug_build} %package jmods-fastdebug -Summary: JMods for %{origin_nice} %{majorver} %{fastdebug_on} +Summary: JMods for %{origin_nice} %{featurever} %{fastdebug_on} Group: Development/Tools %{java_jmods_rpo -- %{fastdebug_suffix_unquoted}} %description jmods-fastdebug -The JMods for %{origin_nice} %{majorver}. +The JMods for %{origin_nice} %{featurever}. %{fastdebug_warning} %endif %if %{include_normal_build} %package demo -Summary: %{origin_nice} Demos %{majorver} +Summary: %{origin_nice} %{featurever} Demos %{java_demo_rpo %{nil}} %description demo -The %{origin_nice} demos %{majorver}. +The %{origin_nice} %{featurever} demos. %endif %if %{include_debug_build} %package demo-slowdebug -Summary: %{origin_nice} Demos %{majorver} %{debug_on} +Summary: %{origin_nice} %{featurever} Demos %{debug_on} %{java_demo_rpo -- %{debug_suffix_unquoted}} %description demo-slowdebug -The %{origin_nice} demos %{majorver}. +The %{origin_nice} %{featurever} demos. %{debug_warning} %endif %if %{include_fastdebug_build} %package demo-fastdebug -Summary: %{origin_nice} Demos %{majorver} %{fastdebug_on} +Summary: %{origin_nice} %{featurever} Demos %{fastdebug_on} Group: Development/Languages %{java_demo_rpo -- %{fastdebug_suffix_unquoted}} %description demo-fastdebug -The %{origin_nice} demos %{majorver}. +The %{origin_nice} %{featurever} demos. %{fastdebug_warning} %endif %if %{include_normal_build} %package src -Summary: %{origin_nice} Source Bundle %{majorver} +Summary: %{origin_nice} %{featurever} Source Bundle %{java_src_rpo %{nil}} %description src -The java-%{origin}-src sub-package contains the complete %{origin_nice} %{majorver} +The %{compatiblename}-src sub-package contains the complete %{origin_nice} %{featurever} class library source code for use by IDE indexers and debuggers. %endif %if %{include_debug_build} %package src-slowdebug -Summary: %{origin_nice} Source Bundle %{majorver} %{for_debug} +Summary: %{origin_nice} %{featurever} Source Bundle %{for_debug} %{java_src_rpo -- %{debug_suffix_unquoted}} %description src-slowdebug -The java-%{origin}-src-slowdebug sub-package contains the complete %{origin_nice} %{majorver} - class library source code for use by IDE indexers and debuggers. Debugging %{for_debug}. +The %{compatiblename}-src-slowdebug sub-package contains the complete %{origin_nice} %{featurever} + class library source code for use by IDE indexers and debuggers, %{for_debug}. %endif %if %{include_fastdebug_build} %package src-fastdebug -Summary: %{origin_nice} Source Bundle %{majorver} %{for_fastdebug} +Summary: %{origin_nice} %{featurever} Source Bundle %{for_fastdebug} Group: Development/Languages %{java_src_rpo -- %{fastdebug_suffix_unquoted}} %description src-fastdebug -The java-%{origin}-src-fastdebug sub-package contains the complete %{origin_nice} %{majorver} - class library source code for use by IDE indexers and debuggers. Debugging %{for_fastdebug}. +The %{compatiblename}-src-fastdebug sub-package contains the complete %{origin_nice} %{featurever} + class library source code for use by IDE indexers and debuggers, %{for_fastdebug}. %endif %if %{include_normal_build} %package javadoc -Summary: %{origin_nice} %{majorver} API documentation +Summary: %{origin_nice} %{featurever} API documentation Requires: javapackages-filesystem Obsoletes: javadoc-slowdebug < 1:13.0.0.33-1.rolling %{java_javadoc_rpo %{nil}} %description javadoc -The %{origin_nice} %{majorver} API documentation. +The %{origin_nice} %{featurever} API documentation. %endif %if %{include_normal_build} %package javadoc-zip -Summary: %{origin_nice} %{majorver} API documentation compressed in a single archive +Summary: %{origin_nice} %{featurever} API documentation compressed in a single archive Requires: javapackages-filesystem Obsoletes: javadoc-zip-slowdebug < 1:13.0.0.33-1.rolling %{java_javadoc_rpo %{nil}} %description javadoc-zip -The %{origin_nice} %{majorver} API documentation compressed in a single archive. +The %{origin_nice} %{featurever} API documentation compressed in a single archive. %endif %prep @@ -1512,7 +1530,7 @@ for file in %{SOURCE9}; do sed -e "s:@JAVA_HOME@:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE sed -i -e "s:@JRE_HOME@:%{jrebindir -- $suffix}:g" $OUTPUT_FILE sed -i -e "s:@ARCH@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE - sed -i -e "s:@JAVA_MAJOR_VERSION@:%{majorver}:g" $OUTPUT_FILE + sed -i -e "s:@JAVA_MAJOR_VERSION@:%{featurever}:g" $OUTPUT_FILE sed -i -e "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE done done @@ -1828,10 +1846,16 @@ 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} - built_doc_archive=jdk-%{majorver}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip - cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{majorver}.%{minorver}.%{securityver}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l %{buildoutputdir -- $suffix}/bundles/ + built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip + cp -a %{buildoutputdir -- $suffix}/bundles/${built_doc_archive} \ + $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l %{buildoutputdir -- $suffix}/bundles/ fi +# Install release notes +commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix} +install -d -m 755 ${commondocdir} +cp -a %{SOURCE10} ${commondocdir} + # Install icons and menu entries for s in 16 24 32 48 ; do install -D -p -m 644 \ @@ -2097,6 +2121,14 @@ require "copy_jdk_configs.lua" %endif %changelog +* Fri Jan 22 2021 Andrew Hughes - 1:15.0.2.0.7-0.rolling +- Update to jdk-15.0.2.0+7 +- Add release notes for 15.0.1.0 & 15.0.2.0 +- Use JEP-322 Time-Based Versioning so we can handle a future 11.0.9.1-like release correctly. +- Still use 15.0.x rather than 15.0.x.0 for file naming, as the trailing zero is omitted from tags. +- Cleanup debug package descriptions and version number placement. +- Remove unused patch files. + * Tue Jan 19 2021 Andrew Hughes - 1:15.0.1.9-10.rolling - Use -march=i686 for x86 builds if -fcf-protection is detected (needs CMOV) diff --git a/jdk8224851-aarch64_compiler_fixes.patch b/jdk8224851-aarch64_compiler_fixes.patch deleted file mode 100644 index 30ffe7d..0000000 --- a/jdk8224851-aarch64_compiler_fixes.patch +++ /dev/null @@ -1,515 +0,0 @@ - -# HG changeset patch -# User ngasson -# Date 1560756709 -28800 -# Node ID e53ec3b362f42ca94b120141b6da6dcfeba346f2 -# Parent 5eeee2cc94f5937ca847f635d9e0510b355bb2af -8224851: AArch64: fix warnings and errors with Clang and GCC 8.3 -Reviewed-by: aph, kbarrett - -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/aarch64.ad ---- a/src/hotspot/cpu/aarch64/aarch64.ad Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/aarch64.ad Mon Jun 17 15:31:49 2019 +0800 -@@ -14255,7 +14255,7 @@ - format %{ "fcmps $src1, 0.0" %} - - ins_encode %{ -- __ fcmps(as_FloatRegister($src1$$reg), 0.0D); -+ __ fcmps(as_FloatRegister($src1$$reg), 0.0); - %} - - ins_pipe(pipe_class_compare); -@@ -14284,7 +14284,7 @@ - format %{ "fcmpd $src1, 0.0" %} - - ins_encode %{ -- __ fcmpd(as_FloatRegister($src1$$reg), 0.0D); -+ __ fcmpd(as_FloatRegister($src1$$reg), 0.0); - %} - - ins_pipe(pipe_class_compare); -@@ -14360,7 +14360,7 @@ - Label done; - FloatRegister s1 = as_FloatRegister($src1$$reg); - Register d = as_Register($dst$$reg); -- __ fcmps(s1, 0.0D); -+ __ fcmps(s1, 0.0); - // installs 0 if EQ else -1 - __ csinvw(d, zr, zr, Assembler::EQ); - // keeps -1 if less or unordered else installs 1 -@@ -14387,7 +14387,7 @@ - Label done; - FloatRegister s1 = as_FloatRegister($src1$$reg); - Register d = as_Register($dst$$reg); -- __ fcmpd(s1, 0.0D); -+ __ fcmpd(s1, 0.0); - // installs 0 if EQ else -1 - __ csinvw(d, zr, zr, Assembler::EQ); - // keeps -1 if less or unordered else installs 1 -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/assembler_aarch64.hpp ---- a/src/hotspot/cpu/aarch64/assembler_aarch64.hpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp Mon Jun 17 15:31:49 2019 +0800 -@@ -276,7 +276,7 @@ - unsigned get(int msb = 31, int lsb = 0) { - int nbits = msb - lsb + 1; - unsigned mask = ((1U << nbits) - 1) << lsb; -- assert_cond(bits & mask == mask); -+ assert_cond((bits & mask) == mask); - return (insn & mask) >> lsb; - } - -@@ -2644,7 +2644,7 @@ - // RBIT only allows T8B and T16B but encodes them oddly. Argh... - void rbit(FloatRegister Vd, SIMD_Arrangement T, FloatRegister Vn) { - assert((ASSERTION), MSG); -- _rbit(Vd, SIMD_Arrangement(T & 1 | 0b010), Vn); -+ _rbit(Vd, SIMD_Arrangement((T & 1) | 0b010), Vn); - } - #undef ASSERTION - -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ---- a/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp Mon Jun 17 15:31:49 2019 +0800 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2014, Red Hat Inc. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * -@@ -1078,8 +1078,8 @@ - // Assembler::EQ does not permit unordered branches, so we add - // another branch here. Likewise, Assembler::NE does not permit - // ordered branches. -- if (is_unordered && op->cond() == lir_cond_equal -- || !is_unordered && op->cond() == lir_cond_notEqual) -+ if ((is_unordered && op->cond() == lir_cond_equal) -+ || (!is_unordered && op->cond() == lir_cond_notEqual)) - __ br(Assembler::VS, *(op->ublock()->label())); - switch(op->cond()) { - case lir_cond_equal: acond = Assembler::EQ; break; -@@ -1789,18 +1789,22 @@ - switch (code) { - case lir_add: __ fadds (dest->as_float_reg(), left->as_float_reg(), right->as_float_reg()); break; - case lir_sub: __ fsubs (dest->as_float_reg(), left->as_float_reg(), right->as_float_reg()); break; -+ case lir_mul_strictfp: // fall through - case lir_mul: __ fmuls (dest->as_float_reg(), left->as_float_reg(), right->as_float_reg()); break; -+ case lir_div_strictfp: // fall through - case lir_div: __ fdivs (dest->as_float_reg(), left->as_float_reg(), right->as_float_reg()); break; - default: - ShouldNotReachHere(); - } - } else if (left->is_double_fpu()) { - if (right->is_double_fpu()) { -- // cpu register - cpu register -+ // fpu register - fpu register - switch (code) { - case lir_add: __ faddd (dest->as_double_reg(), left->as_double_reg(), right->as_double_reg()); break; - case lir_sub: __ fsubd (dest->as_double_reg(), left->as_double_reg(), right->as_double_reg()); break; -+ case lir_mul_strictfp: // fall through - case lir_mul: __ fmuld (dest->as_double_reg(), left->as_double_reg(), right->as_double_reg()); break; -+ case lir_div_strictfp: // fall through - case lir_div: __ fdivd (dest->as_double_reg(), left->as_double_reg(), right->as_double_reg()); break; - default: - ShouldNotReachHere(); -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ---- a/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp Mon Jun 17 15:31:49 2019 +0800 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2014, Red Hat Inc. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * -@@ -426,7 +426,7 @@ - tmp = new_register(T_DOUBLE); - } - -- arithmetic_op_fpu(x->op(), reg, left.result(), right.result(), NULL); -+ arithmetic_op_fpu(x->op(), reg, left.result(), right.result(), x->is_strictfp()); - - set_result(x, round_item(reg)); - } -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/frame_aarch64.cpp ---- a/src/hotspot/cpu/aarch64/frame_aarch64.cpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/frame_aarch64.cpp Mon Jun 17 15:31:49 2019 +0800 -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2014, Red Hat Inc. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * -@@ -768,11 +768,13 @@ - - extern "C" void pf(unsigned long sp, unsigned long fp, unsigned long pc, - unsigned long bcx, unsigned long thread) { -- RegisterMap map((JavaThread*)thread, false); - if (!reg_map) { -- reg_map = (RegisterMap*)os::malloc(sizeof map, mtNone); -+ reg_map = NEW_C_HEAP_OBJ(RegisterMap, mtNone); -+ ::new (reg_map) RegisterMap((JavaThread*)thread, false); -+ } else { -+ *reg_map = RegisterMap((JavaThread*)thread, false); - } -- memcpy(reg_map, &map, sizeof map); -+ - { - CodeBlob *cb = CodeCache::find_blob((address)pc); - if (cb && cb->frame_size()) -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ---- a/src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp Mon Jun 17 15:31:49 2019 +0800 -@@ -38,8 +38,6 @@ - protected: - - protected: -- using MacroAssembler::call_VM_leaf_base; -- - // Interpreter specific version of call_VM_base - using MacroAssembler::call_VM_leaf_base; - -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ---- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Mon Jun 17 15:31:49 2019 +0800 -@@ -2681,7 +2681,7 @@ - if ((offset & (size-1)) && offset >= (1<<8)) { - add(tmp, base, offset & ((1<<12)-1)); - base = tmp; -- offset &= -1<<12; -+ offset &= -1u<<12; - } - - if (offset >= (1<<12) * size) { -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/macroAssembler_aarch64_log.cpp ---- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64_log.cpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64_log.cpp Mon Jun 17 15:31:49 2019 +0800 -@@ -286,7 +286,7 @@ - frecpe(vtmp5, vtmp5, S); // vtmp5 ~= 1/vtmp5 - lsr(tmp2, rscratch1, 48); - movz(tmp4, 0x77f0, 48); -- fmovd(vtmp4, 1.0d); -+ fmovd(vtmp4, 1.0); - movz(tmp1, INF_OR_NAN_PREFIX, 48); - bfm(tmp4, rscratch1, 0, 51); // tmp4 = 0x77F0 << 48 | mantissa(X) - // vtmp1 = AS_DOUBLE_BITS(0x77F0 << 48 | mantissa(X)) == mx -@@ -358,7 +358,7 @@ - br(GE, DONE); - cmp(rscratch1, tmp2); - br(NE, CHECKED_CORNER_CASES); -- fmovd(v0, 0.0d); -+ fmovd(v0, 0.0); - } - bind(DONE); - ret(lr); -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp ---- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64_trig.cpp Mon Jun 17 15:31:49 2019 +0800 -@@ -381,11 +381,11 @@ - } - - block_comment("nx calculation with unrolled while(tx[nx-1]==zeroA) nx--;"); { -- fcmpd(v26, 0.0d); // if NE then jx == 2. else it's 1 or 0 -+ fcmpd(v26, 0.0); // if NE then jx == 2. else it's 1 or 0 - add(iqBase, sp, 480); // base of iq[] - fmuld(v3, v26, v10); - br(NE, NX_SET); -- fcmpd(v7, 0.0d); // v7 == 0 => jx = 0. Else jx = 1 -+ fcmpd(v7, 0.0); // v7 == 0 => jx = 0. Else jx = 1 - csetw(jx, NE); - } - bind(NX_SET); -@@ -696,7 +696,7 @@ - cmpw(jv, zr); - addw(tmp4, jx, 4); // tmp4 = m = jx + jk = jx + 4. jx is in {0,1,2} so m is in [4,5,6] - cselw(jv, jv, zr, GE); -- fmovd(v26, 0.0d); -+ fmovd(v26, 0.0); - addw(tmp5, jv, 1); // jv+1 - subsw(j, jv, jx); - add(qBase, sp, 320); // base of q[] -@@ -819,8 +819,8 @@ - movw(jz, 4); - fmovd(v17, i); // v17 = twon24 - fmovd(v30, tmp5); // 2^q0 -- fmovd(v21, 0.125d); -- fmovd(v20, 8.0d); -+ fmovd(v21, 0.125); -+ fmovd(v20, 8.0); - fmovd(v22, tmp4); // 2^-q0 - - block_comment("recompute loop"); { -@@ -877,7 +877,7 @@ - lsr(ih, tmp2, 23); // ih = iq[z-1] >> 23 - b(Q0_ZERO_CMP_DONE); - bind(Q0_ZERO_CMP_LT); -- fmovd(v4, 0.5d); -+ fmovd(v4, 0.5); - fcmpd(v18, v4); - cselw(ih, zr, ih, LT); // if (z<0.5) ih = 0 - } -@@ -924,7 +924,7 @@ - br(NE, IH_HANDLED); - - block_comment("if(ih==2) {"); { -- fmovd(v25, 1.0d); -+ fmovd(v25, 1.0); - fsubd(v18, v25, v18); // z = one - z; - cbzw(rscratch2, IH_HANDLED); - fsubd(v18, v18, v30); // z -= scalbnA(one,q0); -@@ -932,7 +932,7 @@ - } - bind(IH_HANDLED); - // check if recomputation is needed -- fcmpd(v18, 0.0d); -+ fcmpd(v18, 0.0); - br(NE, RECOMP_CHECK_DONE_NOT_ZERO); - - block_comment("if(z==zeroB) {"); { -@@ -994,7 +994,7 @@ - } - bind(RECOMP_CHECK_DONE); - // chop off zero terms -- fcmpd(v18, 0.0d); -+ fcmpd(v18, 0.0); - br(EQ, Z_IS_ZERO); - - block_comment("else block of if(z==0.0) {"); { -@@ -1053,7 +1053,7 @@ - movw(tmp2, zr); // tmp2 will keep jz - i == 0 at start - bind(COMP_FOR); - // for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k]; -- fmovd(v30, 0.0d); -+ fmovd(v30, 0.0); - add(tmp5, qBase, i, LSL, 3); // address of q[i+k] for k==0 - movw(tmp3, 4); - movw(tmp4, zr); // used as k -@@ -1081,7 +1081,7 @@ - // remember prec == 2 - - block_comment("for (i=jz;i>=0;i--) fw += fq[i];"); { -- fmovd(v4, 0.0d); -+ fmovd(v4, 0.0); - mov(i, jz); - bind(FW_FOR1); - ldrd(v1, Address(rscratch2, i, Address::lsl(3))); -@@ -1319,7 +1319,7 @@ - ld1(C1, C2, C3, C4, T1D, Address(rscratch2)); // load C1..C3\4 - block_comment("calculate r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6)))))"); { - fmaddd(r, z, C6, C5); -- fmovd(half, 0.5d); -+ fmovd(half, 0.5); - fmaddd(r, z, r, C4); - fmuld(y, x, y); - fmaddd(r, z, r, C3); -@@ -1329,7 +1329,7 @@ - fmaddd(r, z, r, C1); // r = C1+z(C2+z(C4+z(C5+z*C6))) - } - // need to multiply r by z to have "final" r value -- fmovd(one, 1.0d); -+ fmovd(one, 1.0); - cmp(ix, rscratch1); - br(GT, IX_IS_LARGE); - block_comment("if(ix < 0x3FD33333) return one - (0.5*z - (z*r - x*y))"); { -@@ -1352,7 +1352,7 @@ - b(QX_SET); - bind(SET_QX_CONST); - block_comment("if(ix > 0x3fe90000) qx = 0.28125;"); { -- fmovd(qx, 0.28125d); -+ fmovd(qx, 0.28125); - } - bind(QX_SET); - fnmsub(C6, x, r, y); // z*r - xy -@@ -1443,7 +1443,7 @@ - block_comment("kernel_sin/kernel_cos: if(ix<0x3e400000) {}"); { - bind(TINY_X); - if (isCos) { -- fmovd(v0, 1.0d); -+ fmovd(v0, 1.0); - } - ret(lr); - } -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ---- a/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Mon Jun 17 15:31:49 2019 +0800 -@@ -177,7 +177,7 @@ - if (FILE *f = fopen("/proc/cpuinfo", "r")) { - char buf[128], *p; - while (fgets(buf, sizeof (buf), f) != NULL) { -- if (p = strchr(buf, ':')) { -+ if ((p = strchr(buf, ':')) != NULL) { - long v = strtol(p+1, NULL, 0); - if (strncmp(buf, "CPU implementer", sizeof "CPU implementer" - 1) == 0) { - _cpu = v; -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp ---- a/src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/os_cpu/linux_aarch64/atomic_linux_aarch64.hpp Mon Jun 17 15:31:49 2019 +0800 -@@ -40,7 +40,9 @@ - { - template - D add_and_fetch(I add_value, D volatile* dest, atomic_memory_order order) const { -- return __sync_add_and_fetch(dest, add_value); -+ D res = __atomic_add_fetch(dest, add_value, __ATOMIC_RELEASE); -+ FULL_MEM_BARRIER; -+ return res; - } - }; - -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.s ---- a/src/hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.s Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/os_cpu/linux_aarch64/copy_linux_aarch64.s Mon Jun 17 15:31:49 2019 +0800 -@@ -159,7 +159,7 @@ - blo bwd_copy_drain - - bwd_copy_again: -- prfm pldl1keep, [s, #-256] -+ prfum pldl1keep, [s, #-256] - stp t0, t1, [d, #-16] - ldp t0, t1, [s, #-16] - stp t2, t3, [d, #-32] -diff -r 5eeee2cc94f5 -r e53ec3b362f4 src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp ---- a/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp Fri Jun 14 20:30:10 2019 -0700 -+++ b/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp Mon Jun 17 15:31:49 2019 +0800 -@@ -83,19 +83,13 @@ - #define REG_SP REG_RSP - #define REG_PC REG_RIP - #define REG_FP REG_RBP --#define SPELL_REG_SP "rsp" --#define SPELL_REG_FP "rbp" - #else - #define REG_FP 29 - #define REG_LR 30 -- --#define SPELL_REG_SP "sp" --#define SPELL_REG_FP "x29" - #endif - --address os::current_stack_pointer() { -- register void *esp __asm__ (SPELL_REG_SP); -- return (address) esp; -+NOINLINE address os::current_stack_pointer() { -+ return (address)__builtin_frame_address(0); - } - - char* os::non_memory_address_word() { -@@ -230,23 +224,8 @@ - #endif - } - --intptr_t* _get_previous_fp() { -- register intptr_t **fp __asm__ (SPELL_REG_FP); -- -- // fp is for this frame (_get_previous_fp). We want the fp for the -- // caller of os::current_frame*(), so go up two frames. However, for -- // optimized builds, _get_previous_fp() will be inlined, so only go -- // up 1 frame in that case. -- #ifdef _NMT_NOINLINE_ -- return **(intptr_t***)fp; -- #else -- return *fp; -- #endif --} -- -- --frame os::current_frame() { -- intptr_t* fp = _get_previous_fp(); -+NOINLINE frame os::current_frame() { -+ intptr_t *fp = *(intptr_t **)__builtin_frame_address(0); - frame myframe((intptr_t*)os::current_stack_pointer(), - (intptr_t*)fp, - CAST_FROM_FN_PTR(address, os::current_frame)); -@@ -259,12 +238,6 @@ - } - - // Utility functions -- --// From IA32 System Programming Guide --enum { -- trap_page_fault = 0xE --}; -- - #ifdef BUILTIN_SIM - extern "C" void Fetch32PFI () ; - extern "C" void Fetch32Resume () ; -@@ -667,42 +640,42 @@ - return 0; - } - -- void _Copy_conjoint_jshorts_atomic(jshort* from, jshort* to, size_t count) { -+ void _Copy_conjoint_jshorts_atomic(const jshort* from, jshort* to, size_t count) { - if (from > to) { -- jshort *end = from + count; -+ const jshort *end = from + count; - while (from < end) - *(to++) = *(from++); - } - else if (from < to) { -- jshort *end = from; -+ const jshort *end = from; - from += count - 1; - to += count - 1; - while (from >= end) - *(to--) = *(from--); - } - } -- void _Copy_conjoint_jints_atomic(jint* from, jint* to, size_t count) { -+ void _Copy_conjoint_jints_atomic(const jint* from, jint* to, size_t count) { - if (from > to) { -- jint *end = from + count; -+ const jint *end = from + count; - while (from < end) - *(to++) = *(from++); - } - else if (from < to) { -- jint *end = from; -+ const jint *end = from; - from += count - 1; - to += count - 1; - while (from >= end) - *(to--) = *(from--); - } - } -- void _Copy_conjoint_jlongs_atomic(jlong* from, jlong* to, size_t count) { -+ void _Copy_conjoint_jlongs_atomic(const jlong* from, jlong* to, size_t count) { - if (from > to) { -- jlong *end = from + count; -+ const jlong *end = from + count; - while (from < end) - os::atomic_copy64(from++, to++); - } - else if (from < to) { -- jlong *end = from; -+ const jlong *end = from; - from += count - 1; - to += count - 1; - while (from >= end) -@@ -710,22 +683,22 @@ - } - } - -- void _Copy_arrayof_conjoint_bytes(HeapWord* from, -+ void _Copy_arrayof_conjoint_bytes(const HeapWord* from, - HeapWord* to, - size_t count) { - memmove(to, from, count); - } -- void _Copy_arrayof_conjoint_jshorts(HeapWord* from, -+ void _Copy_arrayof_conjoint_jshorts(const HeapWord* from, - HeapWord* to, - size_t count) { - memmove(to, from, count * 2); - } -- void _Copy_arrayof_conjoint_jints(HeapWord* from, -+ void _Copy_arrayof_conjoint_jints(const HeapWord* from, - HeapWord* to, - size_t count) { - memmove(to, from, count * 4); - } -- void _Copy_arrayof_conjoint_jlongs(HeapWord* from, -+ void _Copy_arrayof_conjoint_jlongs(const HeapWord* from, - HeapWord* to, - size_t count) { - memmove(to, from, count * 8); - - diff --git a/jdk8231405-guarantee_d_nonequals_null_failed_null_dominator_info.patch b/jdk8231405-guarantee_d_nonequals_null_failed_null_dominator_info.patch deleted file mode 100644 index 564ff7c..0000000 --- a/jdk8231405-guarantee_d_nonequals_null_failed_null_dominator_info.patch +++ /dev/null @@ -1,104 +0,0 @@ - -# HG changeset patch -# User roland -# Date 1569512984 -7200 -# Node ID ee34d448e2172e536eaabf76cfc3d55f19ae4419 -# Parent 8786c0e9b585592992f330ba6ee011a5347b2405 -#8231405: [Shenandoah] guarantee(d != NULL) failed: Null dominator info -#Reviewed-by: shade, rkennke - -diff -r 8786c0e9b585 -r ee34d448e217 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ---- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Fri Aug 02 11:21:41 2019 +0200 -+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Thu Sep 26 17:49:44 2019 +0200 -@@ -1329,6 +1329,18 @@ - } - if ((ctrl->is_Proj() && ctrl->in(0)->is_CallJava()) || ctrl->is_CallJava()) { - CallNode* call = ctrl->is_Proj() ? ctrl->in(0)->as_CallJava() : ctrl->as_CallJava(); -+ if (call->entry_point() == OptoRuntime::rethrow_stub()) { -+ // The rethrow call may have too many projections to be -+ // properly handled here. Given there's no reason for a -+ // barrier to depend on the call, move it above the call -+ if (phase->get_ctrl(val) == ctrl) { -+ assert(val->Opcode() == Op_DecodeN, "unexpected node"); -+ assert(phase->is_dominator(phase->get_ctrl(val->in(1)), call->in(0)), "Load is too low"); -+ phase->set_ctrl(val, call->in(0)); -+ } -+ phase->set_ctrl(lrb, call->in(0)); -+ continue; -+ } - CallProjections projs; - call->extract_projections(&projs, false, false); - -diff -r 8786c0e9b585 -r ee34d448e217 test/hotspot/jtreg/gc/shenandoah/compiler/CallMultipleCatchProjs.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/test/hotspot/jtreg/gc/shenandoah/compiler/CallMultipleCatchProjs.java Thu Sep 26 17:49:44 2019 +0200 -@@ -0,0 +1,67 @@ -+/* -+ * Copyright (c) 2019, Red Hat, Inc. All rights reserved. -+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -+ * -+ * 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 -+ * published by the Free Software Foundation. -+ * -+ * This code is distributed in the hope that it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+ * version 2 for more details (a copy is included in the LICENSE file that -+ * accompanied this code). -+ * -+ * You should have received a copy of the GNU General Public License version -+ * 2 along with this work; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -+ * or visit www.oracle.com if you need additional information or have any -+ * questions. -+ */ -+ -+/** -+ * @test -+ * @bug 8231405 -+ * @summary barrier expansion breaks if barrier is right after call to rethrow stub -+ * @key gc -+ * @requires vm.gc.Shenandoah & !vm.graal.enabled -+ * -+ * @run main/othervm -XX:CompileOnly=CallMultipleCatchProjs::test -Xcomp -Xverify:none -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC CallMultipleCatchProjs -+ * -+ */ -+ -+public class CallMultipleCatchProjs { -+ private static A field = new A(); -+ -+ public static void main(String[] args) throws Exception { -+ Exception3 exception3 = new Exception3(); -+ test(new Exception2()); -+ } -+ -+ static int test(Exception exception) throws Exception { -+ try { -+ throw exception; -+ } catch (Exception1 e1) { -+ return 1; -+ } catch (Exception2 e2) { -+ return field.i + 2; -+ } catch (Exception3 e3) { -+ return field.i + 3; -+ } -+ } -+ -+ private static class Exception1 extends Exception { -+ } -+ -+ private static class Exception2 extends Exception { -+ } -+ -+ private static class Exception3 extends Exception { -+ } -+ -+ private static class A { -+ public int i; -+ } -+} - - diff --git a/jdk8231583-fix_register_clash_in_sbsa_resolve_forwarding_pointer_borrowing.patch b/jdk8231583-fix_register_clash_in_sbsa_resolve_forwarding_pointer_borrowing.patch deleted file mode 100644 index 23a8f53..0000000 --- a/jdk8231583-fix_register_clash_in_sbsa_resolve_forwarding_pointer_borrowing.patch +++ /dev/null @@ -1,47 +0,0 @@ - -# HG changeset patch -# User shade -# Date 1569859344 -7200 -# Node ID 6f85097da2487529811f31ea779d9004f63725c6 -# Parent 3873cd2a203484b5a6106c7262f9a21070915a6d -#8231583: Shenandoah: Fix register clash in SBSA::resolve_forwarding_pointer() borrowing -#Reviewed-by: rkennke - -diff -r 3873cd2a2034 -r 6f85097da248 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ---- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Thu Sep 19 20:26:51 2019 +0200 -+++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Mon Sep 30 18:02:24 2019 +0200 -@@ -236,9 +236,14 @@ - if (borrow_reg) { - // No free registers available. Make one useful. - tmp = rscratch1; -+ if (tmp == dst) { -+ tmp = rscratch2; -+ } - __ push(RegSet::of(tmp), sp); - } - -+ assert_different_registers(tmp, dst); -+ - Label done; - __ ldr(tmp, Address(dst, oopDesc::mark_offset_in_bytes())); - __ eon(tmp, tmp, zr); -diff -r 3873cd2a2034 -r 6f85097da248 src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ---- a/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Thu Sep 19 20:26:51 2019 +0200 -+++ b/src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp Mon Sep 30 18:02:24 2019 +0200 -@@ -344,9 +344,14 @@ - if (borrow_reg) { - // No free registers available. Make one useful. - tmp = LP64_ONLY(rscratch1) NOT_LP64(rdx); -+ if (tmp == dst) { -+ tmp = LP64_ONLY(rscratch2) NOT_LP64(rcx); -+ } - __ push(tmp); - } - -+ assert_different_registers(dst, tmp); -+ - Label done; - __ movptr(tmp, Address(dst, oopDesc::mark_offset_in_bytes())); - __ notptr(tmp); - - diff --git a/jdk8236039-status_request_extension.patch b/jdk8236039-status_request_extension.patch deleted file mode 100644 index 5f51db0..0000000 --- a/jdk8236039-status_request_extension.patch +++ /dev/null @@ -1,737 +0,0 @@ - - - - - - Tree - rpms/java-11-openjdk - src.fedoraproject.org - - - - - - - - - - - - - - - - - - -
- - -
-
-
-
-
-
-

-

-
-
-

-rpms / java-11-openjdk -

-
-
-
-
-
-
- - - Clone - - - -
-
-
-
- - -
-
- -
-
-
-
-
- -
-
- -
- -
-
-
- - -
- - Blob - - Blame - - Raw -
- -
# HG changeset patch
-# User jnimeh
-# Date 1578287079 28800
-#      Sun Jan 05 21:04:39 2020 -0800
-# Node ID b9d1ce20dd4b2ce34e74c8fa2d784335231abcd1
-# Parent  3782f295811625b65d57f1aef15daa10d82a58a7
-8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3
-Reviewed-by: xuelei
-
-diff --git a/src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java b/src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
---- a/src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
-+++ b/src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -39,11 +39,7 @@
- import javax.net.ssl.SSLProtocolException;
- import sun.security.provider.certpath.OCSPResponse;
- import sun.security.provider.certpath.ResponderId;
--import static sun.security.ssl.SSLExtension.CH_STATUS_REQUEST;
--import static sun.security.ssl.SSLExtension.CH_STATUS_REQUEST_V2;
- import sun.security.ssl.SSLExtension.ExtensionConsumer;
--import static sun.security.ssl.SSLExtension.SH_STATUS_REQUEST;
--import static sun.security.ssl.SSLExtension.SH_STATUS_REQUEST_V2;
- import sun.security.ssl.SSLExtension.SSLExtensionSpec;
- import sun.security.ssl.SSLHandshake.HandshakeMessage;
- import sun.security.util.DerInputStream;
-@@ -434,8 +430,9 @@
-                     } else {
-                         extBuilder.append(",\n");
-                     }
--                    extBuilder.append(
--                            "{\n" + Utilities.indent(ext.toString()) + "}");
-+                    extBuilder.append("{\n").
-+                            append(Utilities.indent(ext.toString())).
-+                            append("}");
-                 }
- 
-                 extsStr = extBuilder.toString();
-@@ -552,11 +549,11 @@
-                 return null;
-             }
- 
--            if (!chc.sslConfig.isAvailable(CH_STATUS_REQUEST)) {
-+            if (!chc.sslConfig.isAvailable(SSLExtension.CH_STATUS_REQUEST)) {
-                 if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
-                     SSLLogger.fine(
-                         "Ignore unavailable extension: " +
--                        CH_STATUS_REQUEST.name);
-+                        SSLExtension.CH_STATUS_REQUEST.name);
-                 }
-                 return null;
-             }
-@@ -568,8 +565,8 @@
-             byte[] extData = new byte[] {0x01, 0x00, 0x00, 0x00, 0x00};
- 
-             // Update the context.
--            chc.handshakeExtensions.put(
--                    CH_STATUS_REQUEST, CertStatusRequestSpec.DEFAULT);
-+            chc.handshakeExtensions.put(SSLExtension.CH_STATUS_REQUEST,
-+                    CertStatusRequestSpec.DEFAULT);
- 
-             return extData;
-         }
-@@ -593,10 +590,10 @@
-             // The consuming happens in server side only.
-             ServerHandshakeContext shc = (ServerHandshakeContext)context;
- 
--            if (!shc.sslConfig.isAvailable(CH_STATUS_REQUEST)) {
-+            if (!shc.sslConfig.isAvailable(SSLExtension.CH_STATUS_REQUEST)) {
-                 if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
-                     SSLLogger.fine("Ignore unavailable extension: " +
--                        CH_STATUS_REQUEST.name);
-+                        SSLExtension.CH_STATUS_REQUEST.name);
-                 }
-                 return;     // ignore the extension
-             }
-@@ -610,7 +607,7 @@
-             }
- 
-             // Update the context.
--            shc.handshakeExtensions.put(CH_STATUS_REQUEST, spec);
-+            shc.handshakeExtensions.put(SSLExtension.CH_STATUS_REQUEST, spec);
-             if (!shc.isResumption &&
-                     !shc.negotiatedProtocol.useTLS13PlusSpec()) {
-                 shc.handshakeProducers.put(SSLHandshake.CERTIFICATE_STATUS.id,
-@@ -654,13 +651,12 @@
- 
-             // In response to "status_request" extension request only.
-             CertStatusRequestSpec spec = (CertStatusRequestSpec)
--                    shc.handshakeExtensions.get(CH_STATUS_REQUEST);
-+                    shc.handshakeExtensions.get(SSLExtension.CH_STATUS_REQUEST);
-             if (spec == null) {
-                 // Ignore, no status_request extension requested.
-                 if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
--                    SSLLogger.finest(
--                        "Ignore unavailable extension: " +
--                        CH_STATUS_REQUEST.name);
-+                    SSLLogger.finest("Ignore unavailable extension: " +
-+                        SSLExtension.CH_STATUS_REQUEST.name);
-                 }
- 
-                 return null;        // ignore the extension
-@@ -681,8 +677,8 @@
-             byte[] extData = new byte[0];
- 
-             // Update the context.
--            shc.handshakeExtensions.put(
--                    SH_STATUS_REQUEST, CertStatusRequestSpec.DEFAULT);
-+            shc.handshakeExtensions.put(SSLExtension.SH_STATUS_REQUEST,
-+                    CertStatusRequestSpec.DEFAULT);
- 
-             return extData;
-         }
-@@ -708,7 +704,7 @@
- 
-             // In response to "status_request" extension request only.
-             CertStatusRequestSpec requestedCsr = (CertStatusRequestSpec)
--                    chc.handshakeExtensions.get(CH_STATUS_REQUEST);
-+                    chc.handshakeExtensions.get(SSLExtension.CH_STATUS_REQUEST);
-             if (requestedCsr == null) {
-                 throw chc.conContext.fatal(Alert.UNEXPECTED_MESSAGE,
-                     "Unexpected status_request extension in ServerHello");
-@@ -722,8 +718,8 @@
-             }
- 
-             // Update the context.
--            chc.handshakeExtensions.put(
--                    SH_STATUS_REQUEST, CertStatusRequestSpec.DEFAULT);
-+            chc.handshakeExtensions.put(SSLExtension.SH_STATUS_REQUEST,
-+                    CertStatusRequestSpec.DEFAULT);
- 
-             // Since we've received a legitimate status_request in the
-             // ServerHello, stapling is active if it's been enabled.
-@@ -909,7 +905,7 @@
-                 return null;
-             }
- 
--            if (!chc.sslConfig.isAvailable(CH_STATUS_REQUEST_V2)) {
-+            if (!chc.sslConfig.isAvailable(SSLExtension.CH_STATUS_REQUEST_V2)) {
-                 if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
-                     SSLLogger.finest(
-                         "Ignore unavailable status_request_v2 extension");
-@@ -926,8 +922,8 @@
-                 0x00, 0x07, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00};
- 
-             // Update the context.
--            chc.handshakeExtensions.put(
--                    CH_STATUS_REQUEST_V2, CertStatusRequestV2Spec.DEFAULT);
-+            chc.handshakeExtensions.put(SSLExtension.CH_STATUS_REQUEST_V2,
-+                    CertStatusRequestV2Spec.DEFAULT);
- 
-             return extData;
-         }
-@@ -951,7 +947,7 @@
-             // The consuming happens in server side only.
-             ServerHandshakeContext shc = (ServerHandshakeContext)context;
- 
--            if (!shc.sslConfig.isAvailable(CH_STATUS_REQUEST_V2)) {
-+            if (!shc.sslConfig.isAvailable(SSLExtension.CH_STATUS_REQUEST_V2)) {
-                 if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
-                     SSLLogger.finest(
-                         "Ignore unavailable status_request_v2 extension");
-@@ -969,7 +965,8 @@
-             }
- 
-             // Update the context.
--            shc.handshakeExtensions.put(CH_STATUS_REQUEST_V2, spec);
-+            shc.handshakeExtensions.put(SSLExtension.CH_STATUS_REQUEST_V2,
-+                    spec);
-             if (!shc.isResumption) {
-                 shc.handshakeProducers.putIfAbsent(
-                         SSLHandshake.CERTIFICATE_STATUS.id,
-@@ -1013,7 +1010,7 @@
- 
-             // In response to "status_request_v2" extension request only
-             CertStatusRequestV2Spec spec = (CertStatusRequestV2Spec)
--                    shc.handshakeExtensions.get(CH_STATUS_REQUEST_V2);
-+                shc.handshakeExtensions.get(SSLExtension.CH_STATUS_REQUEST_V2);
-             if (spec == null) {
-                 // Ignore, no status_request_v2 extension requested.
-                 if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
-@@ -1038,8 +1035,8 @@
-             byte[] extData = new byte[0];
- 
-             // Update the context.
--            shc.handshakeExtensions.put(
--                    SH_STATUS_REQUEST_V2, CertStatusRequestV2Spec.DEFAULT);
-+            shc.handshakeExtensions.put(SSLExtension.SH_STATUS_REQUEST_V2,
-+                    CertStatusRequestV2Spec.DEFAULT);
- 
-             return extData;
-         }
-@@ -1065,7 +1062,7 @@
- 
-             // In response to "status_request" extension request only
-             CertStatusRequestV2Spec requestedCsr = (CertStatusRequestV2Spec)
--                    chc.handshakeExtensions.get(CH_STATUS_REQUEST_V2);
-+                chc.handshakeExtensions.get(SSLExtension.CH_STATUS_REQUEST_V2);
-             if (requestedCsr == null) {
-                 throw chc.conContext.fatal(Alert.UNEXPECTED_MESSAGE,
-                     "Unexpected status_request_v2 extension in ServerHello");
-@@ -1079,8 +1076,8 @@
-             }
- 
-             // Update the context.
--            chc.handshakeExtensions.put(
--                    SH_STATUS_REQUEST_V2, CertStatusRequestV2Spec.DEFAULT);
-+            chc.handshakeExtensions.put(SSLExtension.SH_STATUS_REQUEST_V2,
-+                    CertStatusRequestV2Spec.DEFAULT);
- 
-             // Since we've received a legitimate status_request in the
-             // ServerHello, stapling is active if it's been enabled.  If it
-diff --git a/src/java.base/share/classes/sun/security/ssl/SSLExtension.java b/src/java.base/share/classes/sun/security/ssl/SSLExtension.java
---- a/src/java.base/share/classes/sun/security/ssl/SSLExtension.java
-+++ b/src/java.base/share/classes/sun/security/ssl/SSLExtension.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -113,7 +113,6 @@
-                                 null,
-                                 null,
-                                 CertStatusExtension.certStatusReqStringizer),
--
-     CR_STATUS_REQUEST       (0x0005, "status_request"),
-     CT_STATUS_REQUEST       (0x0005, "status_request",
-                                 SSLHandshake.CERTIFICATE,
-@@ -124,6 +123,7 @@
-                                 null,
-                                 null,
-                                 CertStatusExtension.certStatusRespStringizer),
-+
-     // extensions defined in RFC 4681
-     USER_MAPPING            (0x0006, "user_mapping"),
- 
-@@ -515,6 +515,16 @@
-         return null;
-     }
- 
-+    static String nameOf(int extensionType) {
-+        for (SSLExtension ext : SSLExtension.values()) {
-+            if (ext.id == extensionType) {
-+                return ext.name;
-+            }
-+        }
-+
-+        return "unknown extension";
-+    }
-+
-     static boolean isConsumable(int extensionType) {
-         for (SSLExtension ext : SSLExtension.values()) {
-             if (ext.id == extensionType &&
-diff --git a/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java b/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
---- a/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
-+++ b/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -86,11 +86,14 @@
-                                 "Received buggy supported_groups extension " +
-                                 "in the ServerHello handshake message");
-                     }
--                } else {
-+                } else if (handshakeType == SSLHandshake.SERVER_HELLO) {
-                     throw hm.handshakeContext.conContext.fatal(
--                        Alert.UNSUPPORTED_EXTENSION,
--                        "extension (" + extId +
--                        ") should not be presented in " + handshakeType.name);
-+                            Alert.UNSUPPORTED_EXTENSION, "extension (" +
-+                                    extId + ") should not be presented in " +
-+                                    handshakeType.name);
-+                } else {
-+                    isSupported = false;
-+                    // debug log to ignore unknown extension for handshakeType
-                 }
-             }
- 
-@@ -365,9 +368,10 @@
-     }
- 
-     private static String toString(int extId, byte[] extData) {
-+        String extName = SSLExtension.nameOf(extId);
-         MessageFormat messageFormat = new MessageFormat(
--            "\"unknown extension ({0})\": '{'\n" +
--            "{1}\n" +
-+            "\"{0} ({1})\": '{'\n" +
-+            "{2}\n" +
-             "'}'",
-             Locale.ENGLISH);
- 
-@@ -375,6 +379,7 @@
-         String encoded = hexEncoder.encodeBuffer(extData);
- 
-         Object[] messageFields = {
-+            extName,
-             extId,
-             Utilities.indent(encoded)
-         };
-
-
-
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sources b/sources index cd9fd17..f34e8af 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (tapsets-icedtea-3.15.0.tar.xz) = c752a197cb3d812d50c35e11e4722772be40096c81d2a57933e0d9b8a3c708b9c157b8108a4e33a06ca7bb81648170994408c75d6f69d5ff12785d0c31009671 -SHA512 (jdk-updates-jdk15u-jdk-15.0.1+9.tar.xz) = acc488cf608d8104342e4fd88ddf8bb06d8674a2640d049a482cd0aaf8bf4e3acdbf78388f71fa87bbc177ce66ba182483340f787b8e13e5ca0cca0d4b62f938 +SHA512 (jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz) = d82e932671464d5c3643bda95c66bccb8cff7f22fdfb242e8b17f41b8b07cdf843ce5e85388edff8ab81ccad09f17575451440039adada2cd49d479ea600bf18