Backport of recent changes from master and update to jdk-15.0.2.0+7

Fixed typo in variable
Use -march=i686 for x86 builds if -fcf-protection is detected (needs CMOV)
Update to jdk-15.0.2.0+7
This commit is contained in:
Jiri Vanek 2021-01-04 12:07:04 +01:00 committed by Petra Mikova
parent e1545e59b6
commit 64b9b2511d
10 changed files with 291 additions and 1476 deletions

1
.gitignore vendored
View File

@ -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

154
NEWS Normal file
View File

@ -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

0
generate_source_tarball.sh Normal file → Executable file
View File

View File

@ -44,10 +44,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_on 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
@ -242,16 +243,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 ""
@ -264,19 +267,30 @@
%global origin openjdk
%global origin_nice OpenJDK
%global top_level_dir_name %{origin}
%global minorver 0
%global buildver 9
%global rpmrelease 9
# 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):
@ -313,7 +327,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
@ -610,6 +624,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}}
@ -1044,7 +1059,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
@ -1066,7 +1081,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).
@ -1076,6 +1091,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
@ -1112,8 +1130,8 @@ Patch3: rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk1
Patch4: pr3183-rh1340845-support_fedora_rhel_system_crypto_policy.patch
# Depend on pcs-lite-libs instead of pcs-lite-devel as this is only in optional repo
Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-devel.patch
# JDK-8259949: Use i686 instead of i586 on x86 when -fcf-protection is passed to the compiler, as CMOV is needed
Patch8: jdk8259949-allow_cf-protection_on_x86.patch
#############################################
#
@ -1169,251 +1187,251 @@ BuildRequires: systemtap-sdt-devel
%{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
@ -1461,6 +1479,7 @@ pushd %{top_level_dir_name}
%patch3 -p1
%patch4 -p1
%patch6 -p1
%patch8 -p1
popd # openjdk
%patch1000
@ -1505,7 +1524,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
@ -1821,10 +1840,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 \
@ -2090,6 +2115,17 @@ require "copy_jdk_configs.lua"
%endif
%changelog
* Fri Jan 22 2021 Andrew Hughes <gnu.andrew@redhat.com> - 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 <gnu.andrew@redhat.com> - 1:15.0.1.9-10.rolling
- Use -march=i686 for x86 builds if -fcf-protection is detected (needs CMOV)
* Tue Dec 22 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-9.rolling
- fixed missing condition for fastdebug packages being counted as debug ones
@ -2112,7 +2148,7 @@ require "copy_jdk_configs.lua"
- patch600 rh1750419-redhat_alt_java.patch amended to die, if it is used wrongly
- introduced ssbd_arches with currently only valid arch of x86_64 to separate real alt-java architectures
* Wed Dec 7 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-4.rolling
* Wed Dec 9 2020 Jiri Vanek <jvanek@redhat.com> - 1:15.0.1.9-4.rolling
- moved wrongly placed licenses to accompany other ones
- this bad placement was killng parallel-installability and thus having bad impact to leapp if used

View File

@ -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) {<fast return>}"); {
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<typename I, typename D>
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);

View File

@ -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;
+ }
+}

View File

@ -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);

View File

@ -1,737 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Tree - rpms/java-11-openjdk - src.fedoraproject.org</title>
<link rel="shortcut icon" type="image/vnd.microsoft.icon"
href="/theme/static/favicon.ico?version=5.8.1"/>
<link href="/theme/static/fedora-bootstrap-1.3.0/fedora-bootstrap.min.css?version=5.8.1"
type="text/css" rel="stylesheet" />
<link href="/theme/static/fonts/fonts.css?version=5.8.1"
rel="stylesheet" type="text/css" />
<link href="/theme/static/fonts/hack_fonts/css/hack-extended.min.css?version=5.8.1"
type="text/css" rel="stylesheet" />
<link href="/theme/static/theme.css?version=5.8.1"
type="text/css" rel="stylesheet" />
<link type="text/css" rel="stylesheet" nonce="nxj3waVrXu0uApedibTzBvT7F" href="/static/vendor/font-awesome/font-awesome.css?version=5.8.1"/>
<link type="text/css" rel="stylesheet" nonce="nxj3waVrXu0uApedibTzBvT7F" href="/static/pagure.css?version=5.8.1"/>
<link nonce="nxj3waVrXu0uApedibTzBvT7F" rel="stylesheet" href="/static/vendor/highlight.js/styles/github.css?version=5.8.1"/>
<link nonce="nxj3waVrXu0uApedibTzBvT7F" rel="stylesheet" href="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.css?version=5.8.1"/>
<style nonce="nxj3waVrXu0uApedibTzBvT7F">
.hljs {
background: #fff;
}
</style>
</head>
<body id="home">
<!-- start masthead -->
<nav class="navbar navbar-light masthead p-0 navbar-expand">
<div class="container">
<a href="/" class="navbar-brand">
<img height=40px src="/theme/static/pagure-logo.png?version=5.8.1"
alt="pagure Logo" id="pagureLogo"/>
</a>
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="btn btn-primary" href="/login/?next=https://src.fedoraproject.org/rpms/java-11-openjdk/blob/master/f/jdk8236039-status_request_extension.patch">Log In</a>
</li>
</ul>
</div>
</nav>
<!-- close masthead-->
<div class="bodycontent">
<div class="bg-light border border-bottom pt-3">
<div class="container">
<div class="row mb-3">
<div class="col-6">
<div class="row">
<div class="col-auto pr-0">
<h3>
<i class="fa fa-archive text-muted"></i></h3>
</div>
<div class="col-auto pl-2">
<h3 class="mb-0">
<a href="/projects/rpms/%2A">rpms</a>&nbsp;/&nbsp;<a href="/rpms/java-11-openjdk"><strong>java-11-openjdk</strong></a>
</h3>
</div>
</div>
</div>
<div class="col-6 text-right">
<div class="btn-group">
<div class="btn-group">
<a href="#"
class="btn btn-sm dropdown-toggle btn-outline-primary"
data-toggle="dropdown" id="watch-button">
<i class="fa fa-clone fa-fw"></i>
<span>Clone</span>
</a>
<div class="dropdown-menu dropdown-menu-right">
<div class="m-3" id="source-dropdown" class="pointer">
<div>
<h5><strong>Source Code</strong></h5>
<div class="form-group">
<div class="input-group input-group-sm">
<div class="input-group-prepend"><span class="input-group-text">GIT</span></div>
<input class="form-control bg-white select-on-focus" type="text" value="https://src.fedoraproject.org/rpms/java-11-openjdk.git" readonly>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<ul class="nav nav-tabs nav-small border-bottom-0">
<li class="nav-item mr-2 text-dark">
<a class="nav-link active" href="/rpms/java-11-openjdk">
<i class="fa fa-code fa-fw text-muted"></i>
<span class="d-none d-md-inline">Source</span>
</a>
</li>
<li class="nav-item mr-2 text-dark">
<a class="nav-link" href="https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&product=Fedora&component=java-11-openjdk">
<i class="fa fa-fw text-muted fa-exclamation-circle"></i>
<span class="d-none d-md-inline">Issues&nbsp;</span>
<span class="fa fa-external-link"></span>
</a>
</li>
<li class="nav-item mr-2 text-dark">
<a class="nav-link" href="/rpms/java-11-openjdk/pull-requests">
<i class="fa fa-fw text-muted fa-arrow-circle-down"></i>
<span class="d-none d-md-inline">Pull Requests&nbsp;</span>
<span class="badge badge-secondary py-0 d-none d-md-inline">
3
</span>
</a>
</li>
<li class="nav-item mr-2 text-dark">
<a class="nav-link" href="/rpms/java-11-openjdk/stats">
<i class="fa fa-line-chart fa-fw text-muted"></i>
<span class="d-none d-md-inline">Stats</span>
</a>
</li>
</ul>
</div>
</div>
<div class="container pt-5 repo-body-container">
<div class="row">
<div class="col-2">
<nav class="nav nav-tabs nav-sidetabs flex-column">
<a class=
"nav-link nowrap
"
href="/rpms/java-11-openjdk">
<i class="fa fa-home text-muted fa-fw"></i>&nbsp;<span class="d-none d-md-inline">Overview</span>
</a>
<a class=
"nav-link nowrap
active"
href="/rpms/java-11-openjdk/tree/master">
<i class="fa fa-file-code-o text-muted fa-fw"></i>&nbsp;Files
</a>
<a class=
"nav-link nowrap
"
href="/rpms/java-11-openjdk/commits/master">
<i class="fa fa-list-alt text-muted fa-fw" data-glyph="spreadsheet"></i>&nbsp;Commits
</a>
<a class=
"nav-link nowrap
"
href="/rpms/java-11-openjdk/branches?branchname=master">
<i class="fa fa-random text-muted fa-fw"></i>&nbsp;Branches
</a>
<a class=
"nav-link nowrap
"
href="/rpms/java-11-openjdk/forks">
<i class="fa fa-code-fork text-muted fa-fw"></i>&nbsp;Forks
</a>
<a class=
"nav-link nowrap
"
href="/rpms/java-11-openjdk/releases">
<i class="fa fa-tags text-muted fa-fw"></i>&nbsp;Releases
</a>
<div class="col-xs-2 line-height-1"></div>
<p>Monitoring status:</p>
<div class="btn-group">
<button title="Monitoring status" class="btn btn-sm btn-outline-primary disabled"
id="monitoring-button">
<i id="monitoring-icon" class="fa fa-fw fa-eye"></i>
<span id="monitoring-label" class="fa fa-circle-o-notch fa-spin fa-1x fa-fw"></span>
</button>
</div>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
window.addEventListener('load', function() {
set_up_monitoring = function(status){
var _label = "Disabled"
if (status === "monitoring") {
_label = "Monitoring";
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
} else if (status === "monitoring-with-scratch") {
_label = "Scratch builds"
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
} else {
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye-slash")
}
$("#monitoring-label").text(_label);
$("#monitoring-label").removeClass("fa fa-circle-o-notch fa-spin fa-1x fa-fw");
}
$.ajax({
url: "/_dg/anitya/rpms/java-11-openjdk",
type: 'GET',
dataType: 'json',
success: function(res) {
console.log(res);
set_up_monitoring(res.monitoring)
}
});
});
</script>
</nav> </div>
<div class="col-10">
<div class="row mb-1">
<div class="col-sm-6">
<h3>
Files
</h3>
</div>
<div class="col-sm-6">
<div class="float-right">
<div class="btn-group">
<a href="#" class="btn btn-outline-light border-secondary text-dark btn-sm dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="fa fa-random fa-fw"></span> Branch: <span class="font-weight-bold">master</span>
</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/cups-libs">
<span class="fa fa-random fa-fw"></span> <span class="">cups-libs</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f27">
<span class="fa fa-random fa-fw"></span> <span class="">f27</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f28">
<span class="fa fa-random fa-fw"></span> <span class="">f28</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f29">
<span class="fa fa-random fa-fw"></span> <span class="">f29</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f30">
<span class="fa fa-random fa-fw"></span> <span class="">f30</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f31">
<span class="fa fa-random fa-fw"></span> <span class="">f31</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f32">
<span class="fa fa-random fa-fw"></span> <span class="">f32</span>
</a>
<a class="dropdown-item pl-1 active" href="/rpms/java-11-openjdk/tree/master">
<span class="fa fa-random fa-fw"></span> <span class="font-weight-bold">master</span>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card mb-3">
<div class="card-header">
<ol class="breadcrumb p-0 bg-transparent mb-0">
<li class="breadcrumb-item">
<a href="/rpms/java-11-openjdk/tree/master">
<span class="fa fa-random">
</span>&nbsp; master
</a>
</li>
<li class="active breadcrumb-item">
<span class="fa fa-file" data-glyph="">
</span>&nbsp; jdk8236039-status_request_extension.patch
</li>
</ol>
</div>
<div class="card-body p-0">
<div class="bg-light border text-right pr-2">
<form class="btn btn-sm" method="POST" name="fork_project"
action="/fork_edit/rpms/java-11-openjdk/edit/master/f/jdk8236039-status_request_extension.patch">
<button class="btn btn-sm btn-secondary fork_project_btn">
Fork and Edit
</button>
</form>
<a class="btn btn-secondary btn-sm" href="/rpms/java-11-openjdk/blob/master/f/jdk8236039-status_request_extension.patch" title="View as blob">Blob</a>
<a class="btn btn-secondary btn-sm" href="/rpms/java-11-openjdk/blame/jdk8236039-status_request_extension.patch?identifier=master" title="View git blame">Blame</a>
<a class="btn btn-secondary btn-sm" href="/rpms/java-11-openjdk/raw/master/f/jdk8236039-status_request_extension.patch" title="View as raw">Raw</a>
</div>
<pre class="syntaxhighlightblock"><code class="lang-diff"># 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(&#34;,\n&#34;);
}
- extBuilder.append(
- &#34;{\n&#34; + Utilities.indent(ext.toString()) + &#34;}&#34;);
+ extBuilder.append(&#34;{\n&#34;).
+ append(Utilities.indent(ext.toString())).
+ append(&#34;}&#34;);
}
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 &amp;&amp; SSLLogger.isOn(&#34;ssl,handshake&#34;)) {
SSLLogger.fine(
&#34;Ignore unavailable extension: &#34; +
- 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 &amp;&amp; SSLLogger.isOn(&#34;ssl,handshake&#34;)) {
SSLLogger.fine(&#34;Ignore unavailable extension: &#34; +
- 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 &amp;&amp;
!shc.negotiatedProtocol.useTLS13PlusSpec()) {
shc.handshakeProducers.put(SSLHandshake.CERTIFICATE_STATUS.id,
@@ -654,13 +651,12 @@
// In response to &#34;status_request&#34; 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 &amp;&amp; SSLLogger.isOn(&#34;ssl,handshake&#34;)) {
- SSLLogger.finest(
- &#34;Ignore unavailable extension: &#34; +
- CH_STATUS_REQUEST.name);
+ SSLLogger.finest(&#34;Ignore unavailable extension: &#34; +
+ 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 &#34;status_request&#34; 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,
&#34;Unexpected status_request extension in ServerHello&#34;);
@@ -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&#39;ve received a legitimate status_request in the
// ServerHello, stapling is active if it&#39;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 &amp;&amp; SSLLogger.isOn(&#34;ssl,handshake&#34;)) {
SSLLogger.finest(
&#34;Ignore unavailable status_request_v2 extension&#34;);
@@ -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 &amp;&amp; SSLLogger.isOn(&#34;ssl,handshake&#34;)) {
SSLLogger.finest(
&#34;Ignore unavailable status_request_v2 extension&#34;);
@@ -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 &#34;status_request_v2&#34; 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 &amp;&amp; SSLLogger.isOn(&#34;ssl,handshake&#34;)) {
@@ -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 &#34;status_request&#34; 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,
&#34;Unexpected status_request_v2 extension in ServerHello&#34;);
@@ -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&#39;ve received a legitimate status_request in the
// ServerHello, stapling is active if it&#39;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, &#34;status_request&#34;),
CT_STATUS_REQUEST (0x0005, &#34;status_request&#34;,
SSLHandshake.CERTIFICATE,
@@ -124,6 +123,7 @@
null,
null,
CertStatusExtension.certStatusRespStringizer),
+
// extensions defined in RFC 4681
USER_MAPPING (0x0006, &#34;user_mapping&#34;),
@@ -515,6 +515,16 @@
return null;
}
+ static String nameOf(int extensionType) {
+ for (SSLExtension ext : SSLExtension.values()) {
+ if (ext.id == extensionType) {
+ return ext.name;
+ }
+ }
+
+ return &#34;unknown extension&#34;;
+ }
+
static boolean isConsumable(int extensionType) {
for (SSLExtension ext : SSLExtension.values()) {
if (ext.id == extensionType &amp;&amp;
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 @@
&#34;Received buggy supported_groups extension &#34; +
&#34;in the ServerHello handshake message&#34;);
}
- } else {
+ } else if (handshakeType == SSLHandshake.SERVER_HELLO) {
throw hm.handshakeContext.conContext.fatal(
- Alert.UNSUPPORTED_EXTENSION,
- &#34;extension (&#34; + extId +
- &#34;) should not be presented in &#34; + handshakeType.name);
+ Alert.UNSUPPORTED_EXTENSION, &#34;extension (&#34; +
+ extId + &#34;) should not be presented in &#34; +
+ 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(
- &#34;\&#34;unknown extension ({0})\&#34;: &#39;{&#39;\n&#34; +
- &#34;{1}\n&#34; +
+ &#34;\&#34;{0} ({1})\&#34;: &#39;{&#39;\n&#34; +
+ &#34;{2}\n&#34; +
&#34;&#39;}&#39;&#34;,
Locale.ENGLISH);
@@ -375,6 +379,7 @@
String encoded = hexEncoder.encodeBuffer(extData);
Object[] messageFields = {
+ extName,
extId,
Utilities.indent(encoded)
};
</code></pre>
</div>
</div> <!-- end .card-->
</div>
</div>
</div>
</div>
<div class="footer pt-4 text-white">
<div class="container">
<div class="d-flex align-items-center">
<div>
<div>Powered by <a href="https://pagure.io/pagure" class="notblue">Pagure</a> 5.8.1</div>
<div>
<a href="https://docs.pagure.org/pagure/usage/index.html" class="notblue">Documentation</a> &bull;
<a href="https://pagure.io/pagure/new_issue" class="notblue">File an Issue</a> &bull;
<a href="/about">About this Instance</a> &bull;
<a href="/ssh_info" class="notblue">SSH Hostkey/Fingerprint</a>
</div>
</div>
<div class="ml-auto text-right">
<div>&copy; 2014-2019 Red Hat, Inc. and others.</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/jquery/jquery.min.js?version=5.8.1"></script>
<script src="/static/vendor/bootstrap/bootstrap.bundle.min.js?version=5.8.1"></script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
$('[data-toggle="tooltip"]').tooltip({placement : 'bottom'});
$(".cancel_btn").click(function() {
history.back();
});
</script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/lazyload/lazyload.min.js?version=5.8.1"></script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
window.addEventListener("load", function(event) {
lazyload();
});
</script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
$("#giturl-toggle").on('click', function(event){
event.stopPropagation();
$("#giturl-more").toggle();
$("#giturl-toggle").hide();
})
$(".fork_project_btn").click(function() {
$('#fork_project').submit();
});
$(".select-on-focus").on("focus", function() {
$(this).select();
});
</script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/highlight.js/highlight.pack.js?version=5.8.1"></script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.js?version=5.8.1"></script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/highlight.js/spec.js?version=5.8.1"></script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
$(document).ready(function() {
$('.fork_project_btn').click($("[name=fork_project]").submit);
$('pre.syntaxhighlightblock code').each(function(i, block) {
hljs.highlightBlock(block);
hljs.lineNumbersBlock(block);
});
var cls = "highlighted-line";
var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
if (! isNaN(lines[0]))
{
for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
$('#_' + i).parent().parent().addClass(cls);
}
setTimeout(function(){
$("#_" + lines[0]).get(0).scrollIntoView({behavior: "instant", block: "start", inline: "nearest"});
}, 50);
}
});
</script>
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
function updateHighlight() {
var cls = "highlighted-line";
$('.' + cls).removeClass(cls)
if (location.hash !== '') {
var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
$('[data-line-number=' + i + ']').closest('tr').addClass(cls);
}
return lines;
}
return [];
}
$(window).on('hashchange', updateHighlight);
var selected = [];
$("[data-line-number]").click(function (ev) {
var line = $(this).attr('data-line-number');
if (ev.shiftKey) {
selected = selected.slice(-1).concat(line);
} else {
selected = [line];
}
var hash = '_' + selected[0];
if (selected.length === 2) {
hash = '_' + Math.min(selected[0], selected[1]) + '-' + Math.max(selected[0], selected[1]);
}
window.location.hash = hash;
return false;
});
</script>
</body>
</html>

View File

@ -0,0 +1,27 @@
diff --git openjdk.orig/make/autoconf/flags-cflags.m4 openjdk/make/autoconf/flags-cflags.m4
--- openjdk.orig/make/autoconf/flags-cflags.m4
+++ openjdk/make/autoconf/flags-cflags.m4
@@ -715,9 +715,21 @@
# CFLAGS PER CPU
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# COMMON to gcc and clang
+ AC_MSG_CHECKING([if $1 is x86])
if test "x$FLAGS_CPU" = xx86; then
- # Force compatibility with i586 on 32 bit intel platforms.
- $1_CFLAGS_CPU="-march=i586"
+ AC_MSG_RESULT([yes])
+ AC_MSG_CHECKING([if control flow protection is enabled by additional compiler flags])
+ if echo "${EXTRA_CFLAGS}${EXTRA_CXXFLAGS}${EXTRA_ASFLAGS}" | ${GREP} -q 'fcf-protection' ; then
+ # cf-protection requires CMOV and thus i686
+ $1_CFLAGS_CPU="-march=i686"
+ AC_MSG_RESULT([yes, forcing ${$1_CFLAGS_CPU}])
+ else
+ # Force compatibility with i586 on 32 bit intel platforms.
+ $1_CFLAGS_CPU="-march=i586"
+ AC_MSG_RESULT([no, forcing ${$1_CFLAGS_CPU}])
+ fi
+ else
+ AC_MSG_RESULT([no])
fi
fi

View File

@ -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