changeset 2942:484938987004

Bump to 2.6.12. Upstream changes: - Bump to icedtea-2.6.12 - PR3497: AArch64: Adapt to 8002074: Support for AES on SPARC - S6475361: Attempting to remove help menu from java.awt.MenuBar throws NullPointerException - S6637288: Add OCSP support to PKIX CertPathBuilder implementation - S6854712: Revocation checking enhancements (JEP-124) - S6904367: (coll) IdentityHashMap is resized before exceeding the expected maximum size - S7015157: String "Tabular Navigation" should be rephrased for avoiding mistranslation - S7115744: Do not call File::deleteOnExit in security tests - S7126011: ReverseBuilder.getMatchingCACerts may throws NPE - S7147336: clarification on warning of keytool -printcrl - S7162687: enhance KDC server availability detection - S7176627: CertPath/jep124/PreferCRL_SoftFail test fails (Could not determine revocation status) - S7195409: CertPath/CertPathValidatorTest/KeyParamsInheritanceTest fails with NullPointerException - S7196382: PKCS11 provider should support 2048-bit DH - S7197672: There are issues with shared data on windows - S7199939: DSA 576 and 640 bit keys fail when initializing for No precomputed parameters - S8002074: Support for AES on SPARC - S8005408: KeyStore API enhancements - S8006863: javadoc cleanup for 8005408 - S8006946: PKCS12 test failure due to incorrect alias name - S8006951: Avoid storing duplicate PKCS12 attributes - S8006994: Cleanup PKCS12 tests to ensure streams get closed - S8007483: attributes are ignored when loading keys from a PKCS12 keystore - S8007967: Infinite loop can happen in sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchForward() - S8010112: NullPointerException in sun.security.provider.certpath.CertId() - S8012900: CICO ignores AAD in GCM mode (with refactoring from 6996769) - S8015571: OCSP validation fails if ocsp.responderCertSubjectName is set - S8016252: More defensive HashSet.readObject - S8025215: jdk8 l10n resource file translation update 4 - S8026943: SQE test jce/Global/Cipher/SameBuffer failed - S8027575: b113 causing a lot of memory allocation and regression for wls_webapp_atomics - S8029659: Keytool, print key algorithm of certificate or key entry - S8029788: Certificate validation - java.lang.ClassCastException - S8031825: OCSP client can't find responder cert if it uses a different subject key id algorithm than responderID - S8033117: PPC64: Adapt to 8002074: Support for AES on SPARC - S8035623: [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Font.cpp - S8035640: JNU_CHECK_EXCEPTION should support c++ JNI syntax - S8049312: AES/CICO test failed with on several modes - S8050374: More Signature tests - S8057810: New defaults for DSA keys in jarsigner and keytool - S8062552: Support keystore type detection for JKS and PKCS12 keystores - S8068427: Hashtable deserialization reconstitutes table with wrong capacity - S8068881: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions.<init> - S8075484: SocketInputStream.socketRead0 can hang even with soTimeout set - S8077670: sun/security/krb5/auto/MaxRetries.java may fail with BindException - S8078331: Upgrade JDK to use LittleCMS 2.7 - S8079129: NullPointerException in PKCS#12 Keystore in PKCS12KeyStore.java - S8087144: sun/security/krb5/auto/MaxRetries.java fails with Retry count is -1 less - S8136534: Loading JKS keystore using non-null InputStream results in closed stream - S8149411: PKCS12KeyStore cannot extract AES Secret Keys - S8153146: sun/security/krb5/auto/MaxRetries.java failed with timeout - S8157561: Ship the unlimited policy files in JDK Updates - S8158517: Minor optimizations to ISO10126PADDING - S8164846: CertificateException missing cause of underlying exception - S8165543: Better window framing - S8165751: NPE hit with java.security.debug=provider - S8169026: Handle smartcard clean up better - S8169966: Larger AWT menus - S8170218: Improved Font Metrics - S8171252: Improve exception checking - S8171261: Stability fixes for lcms - S8171319: keytool should print out warnings when reading or generating cert/cert req using weak algorithms - S8173853: IllegalArgumentException in java.awt.image.ReplicateScaleFilter - S8174109: Better queuing priorities - S8174966: Unreferenced references - S8175940: More certificate subject checking - S8176536: Improved algorithm constraints checking - S8176751: Better URL connections - S8177569: keytool should not warn if signature algorithm used in cacerts is weak - S8178714: PKIX validator nameConstraints check failing after change 8175940 - S8178794: Correct Kerberos ticket grants - S8179084: HotSpot VM fails to start when AggressiveHeap is set - S8179101: Improve algorithm constraints implementation - S8179423: 2 security tests started failing for JDK 1.6.0 u161 b05 - S8179564: Missing @bug for tests added with JDK-8165367 - S8179998: Clear certificate chain connections - S8180024: Improve construction of objects during deserialization - S8180711: Better invokespecial checks - S8181048: Refactor existing providers to refer to the same constants for default values for key length - S8181100: Better Base Exceptions - S8181323: Better timezone processing - S8181327: Better X processing - S8181370: Better keystore handling - S8181432: Better processing of unresolved permissions - S8181597: Process Proxy presentation - S8181612: More stable connection processing - S8181692: Update storage implementations - S8182879: Add warnings to keytool when using JKS and JCEKS - S8183028: Improve CMS header processing - S8184673: Fix compatibility issue in AlgorithmChecker for 3rd party JCE providers - S8184682: Upgrade compression library - S8184937: LCMS error 13: Couldn't link the profiles - S8185039: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle - S8185040: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle - S8185778: 8u151 L10n resource file update - S8185845: Add SecurityTools.java test library - S8186503: sun/security/tools/jarsigner/DefaultSigalg.java failed after backport to JDK 6/7/8 - S8186533: 8u151 L10n resource file update md20 - S8191137: keytool fails to format resource strings for keys for some languages after JDK-8171319 - S8191840: Update localizations with positional arguments following JDK-8191137 - S8191845: [TEST_BUG] Too many new-lines in backport of WeakAlg test ChangeLog: 2017-12-05 Andrew John Hughes <gnu_andrew@member.fsf.org> Bump to 2.6.12. * Makefile.am, (JDK_UPDATE_VERSION): Bump to 161. (CORBA_CHANGESET): Update to icedtea-2.6.12. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (install-data-local): Install policy JAR files into new policy directories. * NEWS: Updated. * configure.ac: Bump to 2.6.12. * hotspot.map.in: Update to icedtea-2.6.12. * patches/boot/ecj-diamond.patch: Regenerated. Add new instances in com.sun.corba.se.impl.io.ObjectStreamClass, com.sun.xml.internal.ws.util.exception.JAXWSExceptionBase, java.io.ObjectStreamClass, java.security.cert.CertificateRevokedException, java.security.KeyStore, java.security.UnresolvedPermission, sun.security.pkcs.SignerInfo, sun.security.pkcs12.PKCS12KeyStore, sun.security.provider.certpath.AdjacencyList, sun.security.provider.certpath.Builder, sun.security.provider.certpath.CollectionCertStore, sun.security.provider.certpath.DistributionPointFetcher, sun.security.provider.certpath.ForwardBuilder, sun.security.provider.certpath.IndexedCollectionCertStore, sun.security.provider.certpath.OCSPResponse, sun.security.provider.certpath.PKIXCertPathValidator, sun.security.provider.certpath.PKIX, sun.security.provider.certpath.PKIXRevocationChecker, sun.security.provider.certpath.PolicyChecker, sun.security.provider.certpath.PolicyNodeImpl, sun.security.provider.certpath.ReverseBuilder, sun.security.provider.certpath.ReverseState, sun.security.provider.certpath.RevocationChecker, sun.security.provider.certpath.SunCertPathBuilder, sun.security.provider.certpath.X509CertPath, sun.security.tools.keytool.Main, sun.security.util.DisabledAlgorithmConstraints and sun.security.util.SignatureFileVerifier * patches/boot/ecj-multicatch.patch: Regenerated. Add new cases in com.sun.corba.se.impl.io.ObjectStreamClass, java.io.ObjectStreamClass, sun.security.provider.certpath.CertStoreHelper, sun.security.provider.certpath.DistributionPointFetcher, sun.security.provider.certpath.OCSP, sun.security.provider.certpath.OCSPResponse, sun.security.provider.certpath.PKIXCertPathValidator, sun.security.provider.certpath.RevocationChecker, sun.security.provider.certpath.SunCertPathBuilder, sun.security.provider.certpath.URICertStore and sun.security.provider.KeyStoreDelegator. * patches/boot/ecj-stringswitch.patch: Add new cases in sun.security.util.DisabledAlgorithmConstraints, sun.security.provider.certpath.CertStoreHelper and sun.security.provider.certpath.RevocationChecker. * patches/boot/ecj-trywithresources.patch: Add new cases in sun.security.krb5.KdcComm and sun.security.tools.keytool.Main. * patches/boot/ecj-underscored_literals.patch: Add new case in sun.net.ftp.impl.FtpClient. * remove-intree-libraries.sh.in: Remove ZLIB_VERSION and its use in the ZIP_SRC path, as the source tree path is now unversioned.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Tue, 05 Dec 2017 19:25:17 +0000
parents 3e43308fe36f
children 3072b7a2e47d
files ChangeLog Makefile.am NEWS configure.ac hotspot.map.in patches/boot/ecj-diamond.patch patches/boot/ecj-multicatch.patch patches/boot/ecj-stringswitch.patch patches/boot/ecj-trywithresources.patch patches/boot/ecj-underscored_literals.patch remove-intree-libraries.sh.in
diffstat 11 files changed, 2881 insertions(+), 1473 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Nov 23 19:56:36 2017 +0000
+++ b/ChangeLog	Tue Dec 05 19:25:17 2017 +0000
@@ -1,3 +1,80 @@
+2017-12-05  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	Bump to 2.6.12.
+	* Makefile.am,
+	(JDK_UPDATE_VERSION): Bump to 161.
+	(CORBA_CHANGESET): Update to icedtea-2.6.12.
+	(JAXP_CHANGESET): Likewise.
+	(JAXWS_CHANGESET): Likewise.
+	(JDK_CHANGESET): Likewise.
+	(LANGTOOLS_CHANGESET): Likewise.
+	(OPENJDK_CHANGESET): Likewise.
+	(CORBA_SHA256SUM): Likewise.
+	(JAXP_SHA256SUM): Likewise.
+	(JAXWS_SHA256SUM): Likewise.
+	(JDK_SHA256SUM): Likewise.
+	(LANGTOOLS_SHA256SUM): Likewise.
+	(OPENJDK_SHA256SUM): Likewise.
+	(install-data-local): Install policy JAR files into new
+	policy directories.
+	* NEWS: Updated.
+	* configure.ac: Bump to 2.6.12.
+	* hotspot.map.in: Update to icedtea-2.6.12.
+	* patches/boot/ecj-diamond.patch:
+	Regenerated. Add new instances in
+	com.sun.corba.se.impl.io.ObjectStreamClass,
+	com.sun.xml.internal.ws.util.exception.JAXWSExceptionBase,
+	java.io.ObjectStreamClass,
+	java.security.cert.CertificateRevokedException,
+	java.security.KeyStore, java.security.UnresolvedPermission,
+	sun.security.pkcs.SignerInfo, sun.security.pkcs12.PKCS12KeyStore,
+	sun.security.provider.certpath.AdjacencyList,
+	sun.security.provider.certpath.Builder,
+	sun.security.provider.certpath.CollectionCertStore,
+	sun.security.provider.certpath.DistributionPointFetcher,
+	sun.security.provider.certpath.ForwardBuilder,
+	sun.security.provider.certpath.IndexedCollectionCertStore,
+	sun.security.provider.certpath.OCSPResponse,
+	sun.security.provider.certpath.PKIXCertPathValidator,
+	sun.security.provider.certpath.PKIX,
+	sun.security.provider.certpath.PKIXRevocationChecker,
+	sun.security.provider.certpath.PolicyChecker,
+	sun.security.provider.certpath.PolicyNodeImpl,
+	sun.security.provider.certpath.ReverseBuilder,
+	sun.security.provider.certpath.ReverseState,
+	sun.security.provider.certpath.RevocationChecker,
+	sun.security.provider.certpath.SunCertPathBuilder,
+	sun.security.provider.certpath.X509CertPath,
+	sun.security.tools.keytool.Main,
+	sun.security.util.DisabledAlgorithmConstraints and
+	sun.security.util.SignatureFileVerifier
+	* patches/boot/ecj-multicatch.patch:
+	Regenerated. Add new cases in
+	com.sun.corba.se.impl.io.ObjectStreamClass,
+	java.io.ObjectStreamClass,
+	sun.security.provider.certpath.CertStoreHelper,
+	sun.security.provider.certpath.DistributionPointFetcher,
+	sun.security.provider.certpath.OCSP,
+	sun.security.provider.certpath.OCSPResponse,
+	sun.security.provider.certpath.PKIXCertPathValidator,
+	sun.security.provider.certpath.RevocationChecker,
+	sun.security.provider.certpath.SunCertPathBuilder,
+	sun.security.provider.certpath.URICertStore and
+	sun.security.provider.KeyStoreDelegator.
+	* patches/boot/ecj-stringswitch.patch:
+	Add new cases in
+	sun.security.util.DisabledAlgorithmConstraints,
+	sun.security.provider.certpath.CertStoreHelper and
+	sun.security.provider.certpath.RevocationChecker.
+	* patches/boot/ecj-trywithresources.patch:
+	Add new cases in sun.security.krb5.KdcComm and
+	sun.security.tools.keytool.Main.
+	* patches/boot/ecj-underscored_literals.patch:
+	Add new case in sun.net.ftp.impl.FtpClient.
+	* remove-intree-libraries.sh.in:
+	Remove ZLIB_VERSION and its use in the ZIP_SRC path,
+	as the source tree path is now unversioned.
+
 2017-10-16  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR3470: Hotspot object_alloc tapset uses HeapWordSize incorrectly
--- a/Makefile.am	Thu Nov 23 19:56:36 2017 +0000
+++ b/Makefile.am	Tue Dec 05 19:25:17 2017 +0000
@@ -1,22 +1,22 @@
 # Dependencies
 
-JDK_UPDATE_VERSION = 151
+JDK_UPDATE_VERSION = 161
 BUILD_VERSION = b01
 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION)
 
-CORBA_CHANGESET = a7f8705b50f5
-JAXP_CHANGESET = 968b46df5f0e
-JAXWS_CHANGESET = 3e70a6a17fa9
-JDK_CHANGESET = 8563ea7f9be7
-LANGTOOLS_CHANGESET = e24f25323b84
-OPENJDK_CHANGESET = f53c56dda663
-
-CORBA_SHA256SUM = 5a21448c8bb7c13acacd92423fce72ea88cbb20f1828ded35a2a113b5be3280c
-JAXP_SHA256SUM = 73a0e3fa08d5ea944d7a59f153648a78a1f7f5da19d0c0a5f7cf4012658e2041
-JAXWS_SHA256SUM = e5a17d7d1a991a23d64b80f5fabb4000cf8eed9bb744eeba6ae4c0f6d767c4a6
-JDK_SHA256SUM = 79a61166781e0f27477879d3ea90350b45f47a4360a8325ba814b976864ef88d
-LANGTOOLS_SHA256SUM = e37c671c765de82c19b94fd43b738dbd4d4a7ba23e18903037ba670cc1f85792
-OPENJDK_SHA256SUM = 05d0ea6a60a442eec7bff798840248fd113ab1ad6b89c91bc52e1695ab2d156d
+CORBA_CHANGESET = e759d9a6a7b2
+JAXP_CHANGESET = 1981a623381f
+JAXWS_CHANGESET = 40c37fd3e5cb
+JDK_CHANGESET = a499de02da5a
+LANGTOOLS_CHANGESET = b87dbe0db6aa
+OPENJDK_CHANGESET = 7d977b31457d
+
+CORBA_SHA256SUM = 1e433c3ff7c640c2dd1a0288af7b39531052ed09ee24ab8515bc16ea1db21bde
+JAXP_SHA256SUM = 859719afde1e29fcd1349d78050873c3da159e6bd8f9041d6742395ba9d19548
+JAXWS_SHA256SUM = 2fb7fb74c19a0c870a17edcebeeca4bb82113209b36d98864ec29e398e6c4d27
+JDK_SHA256SUM = e77af4a7f719887df7664d1470041d7b7c7bc40cb808e1f5ac5c7b8efe370961
+LANGTOOLS_SHA256SUM = 0cdb357aa069b37a4a5a4ab5afb24474f1d3e441702aa26352a446c69c67315a
+OPENJDK_SHA256SUM = 82e25192b2062f2974af06c434b995dcc185ae93cd78fb057cd1be169d1d0e97
 
 DROP_URL = http://icedtea.classpath.org/download/drops
 
@@ -3324,8 +3324,11 @@
 	  $(DESTDIR)${prefix}/jre/lib/security
 	$(INSTALL_DATA) $(BUILD_SDK_DIR)/jre/lib/security/blacklisted.certs \
 	  $(DESTDIR)${prefix}/jre/lib/security
-	for files in $(BUILD_SDK_DIR)/jre/lib/security/*.jar; do \
-	  $(call install_file,$${files},$(DESTDIR)${prefix}/jre/lib/security,$(INSTALL_DATA)) ; \
+	for policies in limited unlimited; do \
+	  ${mkinstalldirs} $(DESTDIR)${prefix}/jre/lib/security/policy/$${policies} ; \
+	  for files in $(BUILD_SDK_DIR)/jre/lib/security/policy/$${policies}/*.jar; do \
+	    $(call install_file,$${files},$(DESTDIR)${prefix}/jre/lib/security/policy/$${policies},$(INSTALL_DATA)); \
+	  done ; \
 	done
 	for items in $(BUILD_SDK_DIR)/jre/lib/zi/*; do \
 	  cp -RP $${items} $(DESTDIR)${prefix}/jre/lib/zi ; \
--- a/NEWS	Thu Nov 23 19:56:36 2017 +0000
+++ b/NEWS	Tue Dec 05 19:25:17 2017 +0000
@@ -14,8 +14,107 @@
 
 New in release 2.6.12 (2017-10-XX):
 
+* Security fixes
+  - S8165543: Better window framing
+  - S8169026, CVE-2017-10274: Handle smartcard clean up better
+  - S8169966: Larger AWT menus
+  - S8170218: Improved Font Metrics
+  - S8171252: Improve exception checking
+  - S8171261: Stability fixes for lcms
+  - S8174109, CVE-2017-10281: Better queuing priorities
+  - S8174966, CVE-2017-10285: Unreferenced references
+  - S8175940: More certificate subject checking
+  - S8176751, CVE-2017-10295: Better URL connections
+  - S8178794, CVE-2017-10388: Correct Kerberos ticket grants
+  - S8179101, CVE-2017-10193: Improve algorithm constraints implementation
+  - S8179998, CVE-2017-10198: Clear certificate chain connections
+  - S8180024: Improve construction of objects during deserialization
+  - S8180711, CVE-2017-10346: Better invokespecial checks
+  - S8181100, CVE-2017-10350: Better Base Exceptions
+  - S8181323, CVE-2017-10347: Better timezone processing
+  - S8181327, CVE-2017-10349: Better X processing
+  - S8181370, CVE-2017-10345: Better keystore handling
+  - S8181432, CVE-2017-10348: Better processing of unresolved permissions
+  - S8181597, CVE-2017-10357: Process Proxy presentation
+  - S8181612, CVE-2017-10355: More stable connection processing
+  - S8181692, CVE-2017-10356: Update storage implementations
+  - S8183028, CVE-2016-10165: Improve CMS header processing
+  - S8184682, CVE-2016-9840, CVE-2016-9841, CVE-2016-9842, CVE-2016-9843: Upgrade compression library
+* Import of OpenJDK 7 u161 build 0
+  - S6475361: Attempting to remove help menu from java.awt.MenuBar throws NullPointerException
+  - S6637288: Add OCSP support to PKIX CertPathBuilder implementation
+  - S6854712: Revocation checking enhancements (JEP-124)
+  - S6904367: (coll) IdentityHashMap is resized before exceeding the expected maximum size
+  - S7015157: String "Tabular Navigation" should be rephrased for avoiding mistranslation
+  - S7115744: Do not call File::deleteOnExit in security tests
+  - S7126011: ReverseBuilder.getMatchingCACerts may throws NPE
+  - S7147336: clarification on warning of keytool -printcrl
+  - S7162687: enhance KDC server availability detection
+  - S7176627: CertPath/jep124/PreferCRL_SoftFail test fails (Could not determine revocation status)
+  - S7195409: CertPath/CertPathValidatorTest/KeyParamsInheritanceTest fails with NullPointerException
+  - S7196382: PKCS11 provider should support 2048-bit DH
+  - S7197672: There are issues with shared data on windows
+  - S7199939: DSA 576 and 640 bit keys fail when initializing for No precomputed parameters
+  - S8002074: Support for AES on SPARC
+  - S8005408: KeyStore API enhancements
+  - S8006863: javadoc cleanup for 8005408
+  - S8006946: PKCS12 test failure due to incorrect alias name
+  - S8006951: Avoid storing duplicate PKCS12 attributes
+  - S8006994: Cleanup PKCS12 tests to ensure streams get closed
+  - S8007483: attributes are ignored when loading keys from a PKCS12 keystore
+  - S8007967: Infinite loop can happen in sun.security.provider.certpath.SunCertPathBuilder.depthFirstSearchForward()
+  - S8010112: NullPointerException in sun.security.provider.certpath.CertId()
+  - S8012900: CICO ignores AAD in GCM mode (with refactoring from 6996769)
+  - S8015571: OCSP validation fails if ocsp.responderCertSubjectName is set
+  - S8016252: More defensive HashSet.readObject
+  - S8025215: jdk8 l10n resource file translation update 4
+  - S8026943: SQE test jce/Global/Cipher/SameBuffer failed
+  - S8027575: b113 causing a lot of memory allocation and regression for wls_webapp_atomics
+  - S8029659: Keytool, print key algorithm of certificate or key entry
+  - S8029788: Certificate validation - java.lang.ClassCastException
+  - S8031825: OCSP client can't find responder cert if it uses a different subject key id algorithm than responderID
+  - S8033117: PPC64: Adapt to 8002074: Support for AES on SPARC
+  - S8035623: [parfait] JNI exception pending in jdk/src/windows/native/sun/windows/awt_Font.cpp
+  - S8049312: AES/CICO test failed with on several modes
+  - S8050374: More Signature tests
+  - S8057810: New defaults for DSA keys in jarsigner and keytool
+  - S8062552: Support keystore type detection for JKS and PKCS12 keystores
+  - S8068427: Hashtable deserialization reconstitutes table with wrong capacity
+  - S8068881: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions.<init>
+  - S8075484, PR3474, RH1490713: SocketInputStream.socketRead0 can hang even with soTimeout set
+  - S8077670: sun/security/krb5/auto/MaxRetries.java may fail with BindException
+  - S8079129: NullPointerException in PKCS#12 Keystore in PKCS12KeyStore.java
+  - S8087144: sun/security/krb5/auto/MaxRetries.java fails with Retry count is -1 less
+  - S8136534: Loading JKS keystore using non-null InputStream results in closed stream
+  - S8149411: PKCS12KeyStore cannot extract AES Secret Keys
+  - S8153146: sun/security/krb5/auto/MaxRetries.java failed with timeout
+  - S8157561: Ship the unlimited policy files in JDK Updates
+  - S8158517: Minor optimizations to ISO10126PADDING
+  - S8164846: CertificateException missing cause of underlying exception
+  - S8165751: NPE hit with java.security.debug=provider
+  - S8171319: keytool should print out warnings when reading or generating cert/cert req using weak algorithms
+  - S8173853: IllegalArgumentException in java.awt.image.ReplicateScaleFilter
+  - S8176536: Improved algorithm constraints checking
+  - S8177569: keytool should not warn if signature algorithm used in cacerts is weak
+  - S8178714: PKIX validator nameConstraints check failing after change 8175940
+  - S8179423: 2 security tests started failing for JDK 1.6.0 u161 b05
+  - S8179564: Missing @bug for tests added with JDK-8165367
+  - S8181048: Refactor existing providers to refer to the same constants for default values for key length
+  - S8182879: Add warnings to keytool when using JKS and JCEKS
+  - S8184673: Fix compatibility issue in AlgorithmChecker for 3rd party JCE providers
+  - S8184937: LCMS error 13: Couldn't link the profiles
+  - S8185039: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
+  - S8185040: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle
+  - S8185778: 8u151 L10n resource file update
+  - S8185845: Add SecurityTools.java test library
+  - S8186503: sun/security/tools/jarsigner/DefaultSigalg.java failed after backport to JDK 6/7/8
+  - S8186533: 8u151 L10n resource file update md20
+  - S8191137: keytool fails to format resource strings for keys for some languages after JDK-8171319
+  - S8191840: Update localizations with positional arguments following JDK-8191137
+  - S8191845: [TEST_BUG] Too many new-lines in backport of WeakAlg test
+* Import of OpenJDK 7 u151 build 1
+  - S8035640: JNU_CHECK_EXCEPTION should support c++ JNI syntax
 * Backports
-  - S8075484, PR3474, RH1490713: SocketInputStream.socketRead0 can hang even with soTimeout set
   - S8138745, PR3465, RH1484399: Implement ExitOnOutOfMemory and CrashOnOutOfMemory in HotSpot
   - S8185164, PR3433: GetOwnedMonitorInfo() returns incorrect owned monitor
   - S8188030, PR3460, RH1484079: AWT java apps fail to start when some minimal fonts are present
@@ -24,6 +123,7 @@
   - PR3480, RH1486025: ECC and NSS JVM crash
 * AArch64 port
   - S8145438, PR3443, RH1482244: Guarantee failures since 8144028: Use AArch64 bit-test instructions in C2
+  - PR3497: AArch64: Adapt to 8002074: Support for AES on SPARC
 
 New in release 2.6.11 (2017-08-08):
 
--- a/configure.ac	Thu Nov 23 19:56:36 2017 +0000
+++ b/configure.ac	Tue Dec 05 19:25:17 2017 +0000
@@ -1,4 +1,4 @@
-AC_INIT([icedtea], [2.6.12pre01], [distro-pkg-dev@openjdk.java.net])
+AC_INIT([icedtea], [2.6.12], [distro-pkg-dev@openjdk.java.net])
 AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
 AM_MAINTAINER_MODE([enable])
 AC_CONFIG_FILES([Makefile])
--- a/hotspot.map.in	Thu Nov 23 19:56:36 2017 +0000
+++ b/hotspot.map.in	Tue Dec 05 19:25:17 2017 +0000
@@ -1,2 +1,2 @@
 # version type(drop/hg) url changeset sha256sum
-default drop http://icedtea.classpath.org/download/drops/icedtea7/@ICEDTEA_RELEASE@ 9777e52ab513 f5d5fbba6a8109aaa7d76a000293e3537c2228a2a9a4a5a1e8d0ebe145e39a84
+default drop http://icedtea.classpath.org/download/drops/icedtea7/@ICEDTEA_RELEASE@ 7fe1098f101e dd3d1441d0b20ae2c45211cb9d296537e24a47a9048c34e6568e8fba201684cb
--- a/patches/boot/ecj-diamond.patch	Thu Nov 23 19:56:36 2017 +0000
+++ b/patches/boot/ecj-diamond.patch	Tue Dec 05 19:25:17 2017 +0000
@@ -1,6 +1,6 @@
 diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java
---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java	2017-12-02 04:30:06.060323180 +0000
 @@ -58,7 +58,7 @@
      private CorbaConnection conn;
  
@@ -10,9 +10,30 @@
  
      public static synchronized void cleanCache( ORB orb ) {
          synchronized (iorMapLock) {
+diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java	2017-12-02 04:48:58.225985027 +0000
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java	2017-12-02 04:49:49.017161985 +0000
+@@ -481,7 +481,7 @@
+             while (cls != fnscl) {
+                 ProtectionDomain pd = cls.getProtectionDomain();
+                 if (pd != null) {
+-                    if (pds == null) pds = new HashSet<>();
++                    if (pds == null) pds = new HashSet<ProtectionDomain>();
+                     pds.add(pd);
+                 }
+                 cls = cls.getSuperclass();
+@@ -489,7 +489,7 @@
+                     // that's not supposed to happen
+                     // make a ProtectionDomain with no permission.
+                     // should we throw instead?
+-                    if (pds == null) pds = new HashSet<>();
++                    if (pds == null) pds = new HashSet<ProtectionDomain>();
+                     else pds.clear();
+                     pds.add(noPermissionsDomain());
+                     break;
 diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java
---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	2017-12-02 04:30:06.064323116 +0000
 @@ -50,7 +50,7 @@
       */
      private class HookPutFields extends ObjectOutputStream.PutField
@@ -23,8 +44,8 @@
          /**
           * Put the value of the named boolean field into the persistent field.
 diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java
---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java	2017-12-02 04:30:06.064323116 +0000
 @@ -1315,7 +1315,7 @@
      protected void shutdownServants(boolean wait_for_completion) {
          Set<ObjectAdapterFactory> oaset;
@@ -35,8 +56,8 @@
  
          for (ObjectAdapterFactory oaf : oaset)
 diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java
---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java	2017-12-02 04:30:06.064323116 +0000
 @@ -108,7 +108,7 @@
      private ThreadGroup threadGroup;
  
@@ -56,8 +77,8 @@
  
          for (WorkerThread wt : copy) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/lib/ExsltSets.java	2017-12-02 04:30:06.064323116 +0000
 @@ -192,7 +192,7 @@
      NodeSet dist = new NodeSet();
      dist.setShouldCacheNodes(true);
@@ -68,8 +89,8 @@
      for (int i = 0; i < nl.getLength(); i++)
      {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java	2017-12-02 04:30:06.064323116 +0000
 @@ -220,7 +220,7 @@
    public Map<String, Object> getEnvironmentHash()
    {
@@ -188,8 +209,8 @@
      jarVersions.put(new Long(440237), "xalan.jar from xalan-j_1_2");
      jarVersions.put(new Long(436094), "xalan.jar from xalan-j_1_2_1");
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/CastExpr.java	2017-12-02 04:30:06.064323116 +0000
 @@ -51,7 +51,7 @@
      /**
       * Legal conversions between internal types.
@@ -200,8 +221,8 @@
      static {
          // Possible type conversions between internal types
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java	2017-12-02 04:30:06.064323116 +0000
 @@ -139,7 +139,7 @@
      private boolean       _isStatic = false;
  
@@ -225,8 +246,8 @@
          // Possible conversions between Java and internal types
          java2Internal.put(Boolean.TYPE, Type.Boolean);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java	2017-08-03 23:28:06.555896022 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/LiteralElement.java	2017-12-02 04:30:06.064323116 +0000
 @@ -107,7 +107,7 @@
  
          // Check if we have any declared namespaces
@@ -273,8 +294,8 @@
                               SyntaxTreeNode n = _attributeElements.get(k);
                               if (n instanceof LiteralAttribute) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Mode.java	2017-12-02 04:30:06.064323116 +0000
 @@ -129,22 +129,22 @@
      /**
       * A mapping between templates and test sequences.
@@ -327,8 +348,8 @@
          _rootPattern = null;
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java	2017-12-02 04:30:06.064323116 +0000
 @@ -107,11 +107,11 @@
      }
  
@@ -365,8 +386,8 @@
          _prefixMapping.put(prefix, uri);
      }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java	2017-12-02 04:30:06.064323116 +0000
 @@ -122,7 +122,7 @@
      /**
       * Mapping between mode names and Mode instances.
@@ -395,8 +416,8 @@
      /**
       * A reference to the SourceLoader set by the user (a URIResolver
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SymbolTable.java	2017-12-02 04:30:06.064323116 +0000
 @@ -38,8 +38,8 @@
  final class SymbolTable {
  
@@ -479,8 +500,8 @@
          // Register the namespace URI
          Integer refcnt = _excludedURI.get(uri);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/SyntaxTreeNode.java	2017-12-02 04:30:06.064323116 +0000
 @@ -70,7 +70,7 @@
      protected SyntaxTreeNode _parent;          // Parent node
      private Stylesheet       _stylesheet;      // Stylesheet ancestor node
@@ -509,8 +530,8 @@
                  locals.add(varOrParamName);
              }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MethodGenerator.java	2017-12-02 04:30:06.064323116 +0000
 @@ -127,7 +127,7 @@
                   * times. Note that patterns whose kernels are "*", "node()"
                   * and "@*" can between shared by test sequences.
@@ -521,8 +542,8 @@
  
      public MethodGenerator(int access_flags, Type return_type,
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/MultiHashtable.java	2017-12-02 04:30:06.064323116 +0000
 @@ -37,7 +37,7 @@
  public final class MultiHashtable<K,V> {
      static final long serialVersionUID = -6151608290510033572L;
@@ -542,8 +563,8 @@
              }
              set.add(value);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java	2017-12-02 04:30:06.064323116 +0000
 @@ -170,7 +170,7 @@
          _parser = new Parser(this, useServicesMechanism);
          _featureManager = featureManager;
@@ -572,8 +593,8 @@
          _parser.init();
          //_variableSerial     = 1;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DocumentCache.java	2017-12-02 04:30:06.064323116 +0000
 @@ -169,7 +169,7 @@
          _count = 0;
          _current = 0;
@@ -584,8 +605,8 @@
  
          try {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/DOMWSFilter.java	2017-12-02 04:30:06.064323116 +0000
 @@ -60,7 +60,7 @@
       */
      public DOMWSFilter(AbstractTranslet translet) {
@@ -596,8 +617,8 @@
          if (translet instanceof StripFilter) {
              m_filter = (StripFilter) translet;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/KeyIndex.java	2017-12-02 04:30:06.064323116 +0000
 @@ -59,7 +59,7 @@
      /**
       * A mapping from a document node to the mapping between values and nodesets
@@ -626,8 +647,8 @@
                  } else {
                      nodes = index.get(id);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/MultiDOM.java	2017-12-02 04:30:06.068323052 +0000
 @@ -56,7 +56,7 @@
      private int _free;
      private int _size;
@@ -638,8 +659,8 @@
      private final class AxisIterator extends DTMAxisIteratorBase {
          // constitutive data
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -114,7 +114,7 @@
      private int _namesSize = -1;
  
@@ -659,8 +680,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java	2017-12-02 04:30:06.068323052 +0000
 @@ -279,7 +279,7 @@
       */
      public void addDecimalFormat(String name, DecimalFormatSymbols symbols) {
@@ -689,8 +710,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java	2017-12-02 04:30:06.068323052 +0000
 @@ -58,7 +58,7 @@
      private ContentHandler _sax = null;
      private LexicalHandler _lex = null;
@@ -701,8 +722,8 @@
      public DOM2SAX(Node root) {
          _dom = root;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -407,7 +407,7 @@
              _class = new Class[classCount];
  
@@ -713,8 +734,8 @@
  
              for (int i = 0; i < classCount; i++) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java	2017-08-03 23:28:06.559895959 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -1189,7 +1189,7 @@
  
          if (_isIdentity) {
@@ -725,8 +746,8 @@
              _parameters.put(name, value);
          }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -393,7 +393,7 @@
  
              if (identifiers != null) {
@@ -828,8 +849,8 @@
      }
  } // class CoreDocumentImpl
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DeferredDocumentImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -2059,7 +2059,7 @@
  
          // create Map
@@ -840,8 +861,8 @@
  
          // save ID and its associated element
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -249,7 +249,7 @@
                                                       filter,
                                                       entityReferenceExpansion);
@@ -933,8 +954,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/DocumentTypeImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -478,7 +478,7 @@
      public Object setUserData(String key,
      Object data, UserDataHandler handler) {
@@ -962,8 +983,8 @@
      }
  } // class DocumentTypeImpl
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/dom/LCount.java	2017-12-02 04:30:06.068323052 +0000
 @@ -37,7 +37,7 @@
  
  class LCount
@@ -974,8 +995,8 @@
  
      static LCount lookup(String evtName)
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammarBucket.java	2017-12-02 04:30:06.068323052 +0000
 @@ -62,7 +62,7 @@
  
      /** Default constructor. */
@@ -986,8 +1007,8 @@
  
      //
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dtd/DTDGrammar.java	2017-12-02 04:30:06.068323052 +0000
 @@ -210,13 +210,13 @@
      // other information
  
@@ -1015,8 +1036,8 @@
      /** Children content model operation stack. */
      private short[] fOpStack = null;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/DTDDVFactoryImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -38,7 +38,7 @@
  
      static final Map<String, DatatypeValidator> fBuiltInTypes;
@@ -1036,8 +1057,8 @@
  
  }// DTDDVFactoryImpl
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/dv/dtd/XML11DTDDVFactoryImpl.java	2017-12-02 04:30:06.068323052 +0000
 @@ -37,7 +37,7 @@
  
      static Map<String, DatatypeValidator> XML11BUILTINTYPES;
@@ -1057,8 +1078,8 @@
          return toReturn;
      }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java	2017-12-02 04:30:06.068323052 +0000
 @@ -364,7 +364,7 @@
      // entities
  
@@ -1069,8 +1090,8 @@
      /** Entity stack. */
      protected Stack fEntityStack = new Stack();
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLErrorReporter.java	2017-12-02 04:30:06.068323052 +0000
 @@ -192,7 +192,7 @@
          //       caller to specify the location of the error being
          //       reported. -Ac
@@ -1081,8 +1102,8 @@
      } // <init>()
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/ParserForXMLSchema.java	2017-12-02 04:30:06.068323052 +0000
 @@ -374,8 +374,8 @@
      static private Map<String, Token> ranges2 = null;
      static synchronized protected RangeToken getRange(String name, boolean positive) {
@@ -1095,8 +1116,8 @@
              Token tok = Token.createRange();
              setupRange(tok, SPACES);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java	2017-08-03 23:28:06.563895895 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/regex/Token.java	2017-12-02 04:30:06.072322987 +0000
 @@ -593,8 +593,8 @@
      }
  
@@ -1136,8 +1157,8 @@
      }
  }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java	2017-08-03 23:28:06.567895832 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xpath/XPath.java	2017-12-02 04:30:06.072322987 +0000
 @@ -859,10 +859,10 @@
          private SymbolTable fSymbolTable;
  
@@ -1152,8 +1173,8 @@
          /**
           * Current position in the token list.
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java	2017-08-03 23:28:06.567895832 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/SubstitutionGroupHandler.java	2017-12-02 04:30:06.072322987 +0000
 @@ -176,10 +176,10 @@
      // - a Vector, which contains all elements that has this element as their
      //   substitution group affilication
@@ -1168,8 +1189,8 @@
      /**
       * clear the internal registry of substitutionGroup information
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java	2017-08-03 23:28:06.567895832 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java	2017-12-02 04:30:06.072322987 +0000
 @@ -467,7 +467,7 @@
  
      // Constructors
@@ -1180,8 +1201,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java	2017-08-03 23:28:06.567895832 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java	2017-12-02 04:30:06.072322987 +0000
 @@ -489,7 +489,7 @@
  
      /** Schema Grammar Description passed,  to give a chance to application to supply the Grammar */
@@ -1213,8 +1234,8 @@
          //
          // Constructors
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java	2017-08-03 23:28:06.567895832 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java	2017-12-02 04:30:06.072322987 +0000
 @@ -102,7 +102,7 @@
  
          // Create the Map if none existed before
@@ -1234,8 +1255,8 @@
          // If this is the secure processing feature, save it then return.
          if (name.equals(XMLConstants.FEATURE_SECURE_PROCESSING)) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java	2017-12-02 04:30:06.072322987 +0000
 @@ -186,7 +186,7 @@
  
      private void putInFeatures(String name, boolean value){
@@ -1246,8 +1267,8 @@
          features.put(name, value ? Boolean.TRUE : Boolean.FALSE);
      }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/parsers/XMLGrammarPreparser.java	2017-12-02 04:30:06.072322987 +0000
 @@ -85,7 +85,7 @@
      private static final Map<String, String> KNOWN_LOADERS;
  
@@ -1267,8 +1288,8 @@
          setLocale(Locale.getDefault());
          fEntityResolver = new XMLEntityManager();
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/AugmentationsImpl.java	2017-12-02 04:30:06.072322987 +0000
 @@ -241,7 +241,7 @@
      }
  
@@ -1279,8 +1300,8 @@
          public Object getItem(Object key) {
              return fAugmentations.get(key);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/DOMErrorHandlerWrapper.java	2017-12-02 04:30:06.072322987 +0000
 @@ -294,7 +294,7 @@
  
              // REVISIT: do well-formedness issues involving XML declaration <?xml ... ?> need to be added to hash table (no XML declaration node in DOM, but Document includes xmlEncoding, xmlStandalone, xmlVersion, etc.
@@ -1291,8 +1312,8 @@
              aDOMErrorTypeTable.put(new XMLErrorCode(XMLMessageFormatter.XML_DOMAIN, "InvalidCharInContent"), "wf-invalid-character");
              aDOMErrorTypeTable.put(new XMLErrorCode(XMLMessageFormatter.XML_DOMAIN, "TwoColonsInQName"), "wf-invalid-character-in-node-name");
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java	2017-12-02 04:30:06.072322987 +0000
 @@ -489,8 +489,8 @@
      //
  
@@ -1305,8 +1326,8 @@
          // add IANA to Java encoding mappings.
          aIANA2JavaMap.put("BIG5",            "Big5");
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java	2017-12-02 04:30:06.072322987 +0000
 @@ -144,7 +144,7 @@
  
          Map<String, Integer> cache;
@@ -1317,8 +1338,8 @@
          } else {
              cache = caches[index];
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/CustomStringPool.java	2017-12-02 04:30:06.072322987 +0000
 @@ -47,7 +47,7 @@
   */
  public class CustomStringPool extends DTMStringPool {
@@ -1329,8 +1350,8 @@
  
      public CustomStringPool() {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java	2017-12-02 04:30:06.072322987 +0000
 @@ -162,7 +162,7 @@
     * This table holds the ID string to node associations, for
     * XML IDs.
@@ -1341,8 +1362,8 @@
    /**
     * fixed dom-style names.
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/CatalogEntry.java	2017-12-02 04:30:06.072322987 +0000
 @@ -59,7 +59,7 @@
     * (e.g., 'BASE' or 'SYSTEM') to their type (1, 2, etc.).
     * Names are case sensitive.
@@ -1353,8 +1374,8 @@
    /** The entryTypes vector maps catalog entry types to the
        number of arguments they're required to have. */
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/Catalog.java	2017-12-02 04:30:06.072322987 +0000
 @@ -341,7 +341,7 @@
     * vector. This allows the Catalog to quickly locate the reader
     * for a particular MIME type.</p>
@@ -1365,8 +1386,8 @@
    /**
     * A vector of CatalogReaders.
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/helpers/BootstrapResolver.java	2017-12-02 04:30:06.072322987 +0000
 @@ -63,13 +63,13 @@
    public static final String xmlCatalogSysId = "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd";
  
@@ -1385,8 +1406,8 @@
    /** Constructor. */
    public BootstrapResolver() {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java	2017-12-02 04:30:06.076322922 +0000
 @@ -78,7 +78,7 @@
     * or "{namespaceuri}elementname". The former is used if the
     * namespace URI is null.</p>
@@ -1397,8 +1418,8 @@
    /**
     * Add a new parser to the reader.
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java	2017-12-02 04:30:06.076322922 +0000
 @@ -89,7 +89,7 @@
       * or "{namespaceuri}elementname". The former is used if the
       * namespace URI is null.</p>
@@ -1409,8 +1430,8 @@
    /** The parser in use for the current catalog. */
    private SAXCatalogParser saxParser = null;
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/BaseMarkupSerializer.java	2017-12-02 04:30:06.076322922 +0000
 @@ -820,7 +820,7 @@
          throws SAXException
      {
@@ -1421,8 +1442,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serialize/HTMLdtd.java	2017-12-02 04:30:06.076322922 +0000
 @@ -371,8 +371,8 @@
          if ( _byName != null )
              return;
@@ -1453,8 +1474,8 @@
          defineBoolean( "BUTTON", "disabled" );
          defineBoolean( "DIR", "compact" );
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/AttributesImplSerializer.java	2017-12-02 04:30:06.076322922 +0000
 @@ -48,7 +48,7 @@
       * The keys to the hashtable to find the index are either
       * "prefix:localName"  or "{uri}localName".
@@ -1465,8 +1486,8 @@
      private final StringBuffer m_buff = new StringBuffer();
  
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-08-03 23:03:25.023280982 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-08-03 23:28:06.571895769 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-12-02 04:14:44.535223251 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-12-02 04:30:06.076322922 +0000
 @@ -297,8 +297,8 @@
      //
      private final static class EncodingInfos {
@@ -1488,8 +1509,8 @@
                      final String javaName = (String) keys.nextElement();
                      final String[] mimes = parseMimeTypes(props.getProperty(javaName));
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/DOMHelper.java	2017-12-02 04:30:06.076322922 +0000
 @@ -563,7 +563,7 @@
    /**
     * An experiment for the moment.
@@ -1500,8 +1521,8 @@
    /** Object to put into the m_NSInfos table that tells that a node has not been
     *  processed, but has xmlns namespace decls.  */
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/utils/ElemDesc.java	2017-12-02 04:30:06.076322922 +0000
 @@ -159,7 +159,7 @@
    {
  
@@ -1512,8 +1533,8 @@
      m_attrs.put(name, flags);
    }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java openjdk-boot/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xpath/internal/compiler/Keywords.java	2017-12-02 04:30:06.076322922 +0000
 @@ -333,10 +333,10 @@
      public static final String FUNC_DOCLOCATION_STRING = "document-location";
  
@@ -1530,8 +1551,8 @@
          axisnames.put(FROM_ANCESTORS_STRING, OpCodes.FROM_ANCESTORS);
          axisnames.put(FROM_ANCESTORS_OR_SELF_STRING, OpCodes.FROM_ANCESTORS_OR_SELF);
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java openjdk-boot/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java
---- openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/xml/internal/stream/dtd/nonvalidating/DTDGrammar.java	2017-12-02 04:30:06.076322922 +0000
 @@ -140,7 +140,7 @@
      private int fAttributeDeclNextAttributeDeclIndex[][] = new int[INITIAL_CHUNK_COUNT][];
  
@@ -1551,8 +1572,8 @@
      /** Default constructor. */
      public DTDGrammar(SymbolTable symbolTable) {
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java openjdk-boot/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java
---- openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	2017-12-02 04:30:06.076322922 +0000
 @@ -63,7 +63,7 @@
      protected boolean fWarnDuplicateEntityDef;
  
@@ -1563,8 +1584,8 @@
      protected Entity.ScannedEntity fCurrentEntity ;
  
 diff -Nru openjdk-boot.orig/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java openjdk-boot/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java
---- openjdk-boot.orig/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java	2017-08-03 17:03:27.000000000 +0100
-+++ openjdk-boot/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/org/xml/sax/helpers/NamespaceSupport.java	2017-12-02 04:30:06.076322922 +0000
 @@ -465,7 +465,7 @@
       */
      public Enumeration getPrefixes (String uri)
@@ -1607,9 +1628,21 @@
              declSeen = true;
          }
  
+diff -Nru openjdk-boot.orig/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java openjdk-boot/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java
+--- openjdk-boot.orig/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java	2017-12-04 00:09:56.680183305 +0000
++++ openjdk-boot/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/exception/JAXWSExceptionBase.java	2017-12-04 00:10:15.891874527 +0000
+@@ -131,7 +131,7 @@
+                 args[i] = in.readObject();
+             }
+         } else {
+-            List<Object> argList = new ArrayList<>(Math.min(len, 1024));
++            List<Object> argList = new ArrayList<Object>(Math.min(len, 1024));
+             for (int i = 0; i < len; i++) {
+                 argList.add(in.readObject());
+             }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java	2017-12-02 04:30:06.076322922 +0000
 @@ -63,9 +63,10 @@
   */
  public final class DocumentHandler extends DefaultHandler {
@@ -1625,8 +1658,8 @@
      private Reference<ClassLoader> loader;
      private ExceptionListener listener;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java	2017-12-02 04:30:06.076322922 +0000
 @@ -46,7 +46,7 @@
   */
  public final class TypeResolver {
@@ -1646,8 +1679,8 @@
                      CACHE.put(actual, map);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/util/Cache.java openjdk-boot/jdk/src/share/classes/com/sun/beans/util/Cache.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/util/Cache.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/util/Cache.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/util/Cache.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/util/Cache.java	2017-12-02 04:30:06.076322922 +0000
 @@ -45,7 +45,7 @@
      private final Kind keyKind; // a reference kind for the cache keys
      private final Kind valueKind; // a reference kind for the cache values
@@ -1694,8 +1727,8 @@
          };
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2017-12-02 04:30:06.076322922 +0000
 @@ -103,9 +103,9 @@
          return this.def.compareTo(that.def);
      }
@@ -1767,8 +1800,8 @@
          for (int i = 0; i < layout.length(); i++) {
              if (layout.charAt(i++) != '[')
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2017-08-03 23:03:25.079280106 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2017-12-02 04:14:45.823202475 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2017-12-02 04:30:06.076322922 +0000
 @@ -257,7 +257,7 @@
          assert(basicCodings[_meta_default] == null);
          assert(basicCodings[_meta_canon_min] != null);
@@ -1837,8 +1870,8 @@
          return true;
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-08-03 23:03:24.919282610 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-12-02 04:14:42.131262029 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-12-02 04:30:06.076322922 +0000
 @@ -466,7 +466,7 @@
  
      void readInnerClasses(Class cls) throws IOException {
@@ -1849,8 +1882,8 @@
              InnerClass ic =
                  new InnerClass(readClassRef(),
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2017-12-02 04:30:06.076322922 +0000
 @@ -743,9 +743,9 @@
          // Steps 1/2/3 are interdependent, and may be iterated.
          // Steps 4 and 5 may be decided independently afterward.
@@ -1887,8 +1920,8 @@
                  if (popset.add(values[i]))  popvals.add(values[i]);
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2017-12-02 04:30:06.076322922 +0000
 @@ -402,7 +402,7 @@
      private static Map<Coding, Coding> codeMap;
  
@@ -1899,8 +1932,8 @@
          Coding x1 = codeMap.get(x0);
          if (x1 == null)  codeMap.put(x0, x1 = x0);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2017-12-02 04:30:06.076322922 +0000
 @@ -917,7 +917,7 @@
      public static
      Index[] partition(Index ix, int[] keys) {
@@ -1929,8 +1962,8 @@
              Entry e = work.previous();
              work.remove();          // pop stack
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-08-03 23:03:25.083280043 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-08-03 23:28:06.575895706 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-12-02 04:14:45.823202475 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-12-02 04:30:06.080322857 +0000
 @@ -61,7 +61,7 @@
                  ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource");
  
@@ -1968,8 +2001,8 @@
          for (String optline : options.split("\n")) {
              String[] words = optline.split("\\p{Space}+");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2017-12-02 04:30:06.080322857 +0000
 @@ -45,7 +45,7 @@
      private final ArrayList<E> flist;
  
@@ -1980,8 +2013,8 @@
          for (int i = 0 ; i < capacity ; i++) {
              flist.add(null);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java	2017-12-02 04:30:06.080322857 +0000
 @@ -126,11 +126,11 @@
      public void setBytes(byte[] newBytes) {
          if (bytes == newBytes)  return;
@@ -2006,8 +2039,8 @@
  
      static final int LOC_SHIFT = 1;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-08-03 23:03:24.919282610 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-12-02 04:14:42.131262029 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-12-02 04:30:06.080322857 +0000
 @@ -112,7 +112,7 @@
      public static final Attribute.Layout attrSourceFileSpecial;
      public static final Map<Attribute.Layout, Attribute> attrDefs;
@@ -2172,8 +2205,8 @@
              // Add to the end of ths list:
              if (!fileSet.contains(cls.file))
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2017-08-03 23:03:25.083280043 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2017-12-02 04:14:45.823202475 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2017-12-02 04:30:06.080322857 +0000
 @@ -686,7 +686,7 @@
          cp_Signature_classes.expectLength(getIntTotal(numSigClasses));
          cp_Signature_classes.readFrom(in);
@@ -2287,8 +2320,8 @@
              ClassEntry thisClass  = curClass.thisClass;
              ClassEntry superClass = curClass.superClass;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2017-08-03 23:03:25.083280043 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2017-12-02 04:14:45.823202475 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2017-12-02 04:30:06.080322857 +0000
 @@ -116,7 +116,7 @@
      int[][]     attrCounts;       // count attr. occurrences
  
@@ -2344,8 +2377,8 @@
          for (Class cls : pkg.classes) {
              if (!cls.hasInnerClasses())  continue;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2017-12-02 04:30:06.080322857 +0000
 @@ -181,8 +181,8 @@
          final Map<Attribute.Layout, Attribute> attrDefs;
          final Map<Attribute.Layout, String> attrCommands;
@@ -2376,8 +2409,8 @@
                  for (JarEntry je : Collections.list(jf.entries())) {
                      InFile inFile = new InFile(jf, je);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2017-12-02 04:30:06.080322857 +0000
 @@ -309,7 +309,7 @@
          // As each new value is added, we assert that the value
          // was not already in the set.
@@ -2388,8 +2421,8 @@
          maxForDebug += fillp;
          int min = Integer.MIN_VALUE;  // farthest from the center
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2017-08-03 23:03:25.083280043 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2017-12-02 04:14:45.823202475 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2017-12-02 04:30:06.080322857 +0000
 @@ -47,8 +47,8 @@
   */
  
@@ -2411,8 +2444,8 @@
          while (res.remove(null));
          return res;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2017-08-03 23:28:06.579895642 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2017-12-02 04:30:06.080322857 +0000
 @@ -58,12 +58,12 @@
      private final Map<String, MemberEntry> memberEntries;
  
@@ -2433,8 +2466,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2017-08-03 23:03:25.083280043 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2017-12-02 04:14:45.823202475 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2017-12-02 04:30:06.080322857 +0000
 @@ -232,7 +232,7 @@
              props.setProperty(java.util.jar.Pack200.Unpacker.PROGRESS,"50");
              pkg.ensureAllClassFiles();
@@ -2445,8 +2478,8 @@
                  String name = file.nameString;
                  JarEntry je = new JarEntry(Utils.getJarEntryName(name));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2017-08-03 23:03:25.083280043 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2017-12-02 04:14:45.823202475 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2017-12-02 04:30:06.080322857 +0000
 @@ -132,7 +132,7 @@
      // Keep a TLS point to the global data and environment.
      // This makes it simpler to supply environmental options
@@ -2457,8 +2490,8 @@
      // convenience methods to access the TL globals
      static TLGlobals getTLGlobals() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/security/SubjectDelegator.java	2017-12-02 04:30:06.080322857 +0000
 @@ -56,7 +56,7 @@
          // principal in the delegated subject
          //
@@ -2469,8 +2502,8 @@
              final String pname = p.getClass().getName() + "." + p.getName();
              permissions.add(new SubjectDelegationPermission(pname));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java	2017-12-02 04:30:06.080322857 +0000
 @@ -1093,7 +1093,7 @@
      @SuppressWarnings("unchecked")
      public  Hashtable<String, java.lang.Object> getEnvironment() throws NamingException {
@@ -2490,8 +2523,8 @@
                  // copy-on-write
                  _env = (Hashtable<String, java.lang.Object>)_env.clone();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/CNNameParser.java	2017-12-02 04:30:06.080322857 +0000
 @@ -132,7 +132,7 @@
          throws InvalidNameException {
  
@@ -2502,8 +2535,8 @@
          char[] kind = new char[len];
          int idCount, kindCount;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/cosnaming/IiopUrl.java	2017-12-02 04:30:06.080322857 +0000
 @@ -185,7 +185,7 @@
          } else {
              stringName = UrlUtil.decode(url.substring(addrEnd+1));
@@ -2514,8 +2547,8 @@
              // Only one host:port part, not multiple
              addresses.addElement(
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2017-12-02 04:30:06.080322857 +0000
 @@ -59,7 +59,7 @@
  
      public Context getInitialContext(Hashtable<?,?> env) throws NamingException {
@@ -2535,8 +2568,8 @@
                  int colon = platformServer.indexOf(':',
                          platformServer.indexOf(']') + 1);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsName.java	2017-12-02 04:30:06.080322857 +0000
 @@ -110,7 +110,7 @@
      // The labels of this domain name, as a list of strings.  Index 0
      // corresponds to the leftmost (least significant) label:  note that
@@ -2547,8 +2580,8 @@
      // The number of octets needed to carry this domain name in a DNS
      // packet.  Equal to the sum of the lengths of each label, plus the
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/NameNode.java	2017-12-02 04:30:06.080322857 +0000
 @@ -140,7 +140,7 @@
  
              NameNode child = null;
@@ -2559,8 +2592,8 @@
                  child = node.children.get(key);
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecords.java	2017-12-02 04:30:06.080322857 +0000
 @@ -45,10 +45,10 @@
      // Four sections:  question, answer, authority, additional.
      // The question section is treated as being made up of (shortened)
@@ -2577,8 +2610,8 @@
      /*
       * True if these resource records are from a zone transfer.  In
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/EventSupport.java	2017-12-02 04:30:06.080322857 +0000
 @@ -119,7 +119,7 @@
       * NamingEventNotifiers; hashed by search arguments;
       */
@@ -2607,8 +2640,8 @@
              unsolicited.addElement((UnsolicitedNotificationListener)l);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapClient.java	2017-12-02 04:30:06.080322857 +0000
 @@ -82,7 +82,7 @@
  
      // Default list of binary attributes
@@ -2682,8 +2715,8 @@
                  unsolicited.setSize(0);  // no more listeners after exception
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java	2017-12-02 04:30:06.080322857 +0000
 @@ -221,7 +221,7 @@
       * Used by Obj and obj/RemoteToAttrs too so must be public
       */
@@ -2694,8 +2727,8 @@
          if (types.length > 0) {
              BasicAttribute tAttr =
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-08-03 23:03:25.043280670 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-08-04 00:24:11.711341396 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-12-02 04:14:44.559222864 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-12-02 04:30:06.084322793 +0000
 @@ -313,7 +313,7 @@
              this.useDefaultPortNumber = true;
          }
@@ -2765,8 +2798,8 @@
                      if (s.startsWith("ldap:")) {
                          refs.add(s);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java	2017-12-02 04:30:06.084322793 +0000
 @@ -111,7 +111,7 @@
       */
      private LdapName(String name, Vector<Rdn> rdns, int beg, int end) {
@@ -2795,8 +2828,8 @@
          void add(TypeAndValue tv) {
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java	2017-08-03 23:28:06.583895579 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapResult.java	2017-12-02 04:30:06.084322793 +0000
 @@ -59,7 +59,7 @@
          switch (status) {
              case LdapClient.LDAP_COMPARE_TRUE:
@@ -2816,8 +2849,8 @@
                  break;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapSchemaParser.java	2017-12-02 04:30:06.084322793 +0000
 @@ -519,7 +519,7 @@
          throws NamingException {
  
@@ -2837,8 +2870,8 @@
          if (debug) {
              System.err.println("ReadOIDList: pos="+pos[0]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/NamingEventNotifier.java	2017-12-02 04:30:06.084322793 +0000
 @@ -83,7 +83,7 @@
          context = (LdapCtx)ctx.newInstance(new Control[]{psearch});
          eventSrc = ctx;
@@ -2849,8 +2882,8 @@
  
          worker = Obj.helper.createThread(this);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java	2017-08-03 23:03:25.095279856 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java	2017-12-02 04:14:45.839202216 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Obj.java	2017-12-02 04:30:06.084322793 +0000
 @@ -207,7 +207,7 @@
          } else {
              StringTokenizer parser =
@@ -2870,8 +2903,8 @@
  
              for (NamingEnumeration<?> vals = attr.getAll(); vals.hasMore(); ) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-08-03 23:28:06.647894569 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Connections.java	2017-12-02 04:30:06.084322793 +0000
 @@ -98,11 +98,11 @@
          } else {
              this.prefSize = prefSize;
@@ -2899,8 +2932,8 @@
          for (ConnectionDesc entry : clonedConns) {
              d("expire(): ", entry);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-08-03 23:28:06.647894569 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/pool/Pool.java	2017-12-02 04:30:06.084322793 +0000
 @@ -83,7 +83,7 @@
       * Used for connections cleanup
       */
@@ -2933,8 +2966,8 @@
          for (ConnectionsRef ref : copy) {
              conns = ref.getConnections();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/sasl/LdapSasl.java	2017-12-02 04:30:06.084322793 +0000
 @@ -186,7 +186,7 @@
        */
      private static String[] getSaslMechanismNames(String str) {
@@ -2945,8 +2978,8 @@
              mechs.addElement(parser.nextToken());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java	2017-12-02 04:30:06.084322793 +0000
 @@ -155,7 +155,8 @@
          if ((e instanceof CannotProceedException)) {
              CannotProceedException cpe = (CannotProceedException)e;
@@ -2958,8 +2991,8 @@
              cpe.setAltNameCtx(resolvedContext);
              cpe.setAltName(relativeResolvedName);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/HierMemDirCtx.java	2017-12-02 04:30:06.084322793 +0000
 @@ -84,7 +84,7 @@
  
      private void init() {
@@ -2979,8 +3012,8 @@
              return (Hashtable<String, Object>)myEnv.clone();
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java	2017-12-02 04:30:06.084322793 +0000
 @@ -208,7 +208,7 @@
          private boolean polarity;
  
@@ -2991,8 +3024,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java	2017-12-02 04:30:06.084322793 +0000
 @@ -510,7 +510,7 @@
      @SuppressWarnings("unchecked") // clone()
      public Hashtable<String, Object> getEnvironment() throws NamingException {
@@ -3003,8 +3036,8 @@
              return (Hashtable<String, Object>)myEnv.clone();
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java	2017-12-02 04:30:06.084322793 +0000
 @@ -54,7 +54,7 @@
       * Contains event dispatcher per thread group.
       */
@@ -3015,8 +3048,8 @@
      /**
       * Constructs a new AbstractLine.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java openjdk-boot/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/JDK13Services.java	2017-12-02 04:30:06.084322793 +0000
 @@ -102,7 +102,7 @@
                  && !SoundbankReader.class.equals(serviceClass)
                  && !MidiFileWriter.class.equals(serviceClass)
@@ -3027,8 +3060,8 @@
              providers = JSSecurityManager.getProviders(serviceClass);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java	2017-12-02 04:30:06.084322793 +0000
 @@ -59,7 +59,7 @@
       * dispatcher instance with a factory in EventDispatcher
       */
@@ -3039,8 +3072,8 @@
      /**
       * All RealTimeSequencers share this info object.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java	2017-12-02 04:30:06.084322793 +0000
 @@ -87,7 +87,7 @@
                  }
                  // Instantiate Class to get factory
@@ -3051,8 +3084,8 @@
                  return answer;
              } catch (ClassNotFoundException e) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-08-03 23:03:25.039280732 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-12-02 04:14:44.555222928 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-12-02 04:30:06.084322793 +0000
 @@ -97,7 +97,7 @@
       */
      // WeakHashMap<Class | ClassLoader, Hashtable>
@@ -3147,8 +3180,8 @@
              propertiesCache.put(cl, result);
              return result;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/VersionHelper.java	2017-12-02 04:30:06.084322793 +0000
 @@ -137,7 +137,7 @@
          throws MalformedURLException {
          // Parse codebase into separate URLs
@@ -3159,8 +3192,8 @@
              vec.addElement(parser.nextToken());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java	2017-12-02 04:30:06.084322793 +0000
 @@ -231,7 +231,7 @@
           * Create an empty ExecOptionPermissionCollection.
           */
@@ -3171,8 +3204,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2017-08-03 23:28:06.587895517 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java	2017-12-02 04:30:06.084322793 +0000
 @@ -235,7 +235,7 @@
           * Create an empty ExecPermissionCollection.
           */
@@ -3183,8 +3216,8 @@
  
          /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java	2017-12-02 04:30:06.088322728 +0000
 @@ -1285,7 +1285,7 @@
       */
      public Collection<?> toCollection() throws SQLException {
@@ -3204,8 +3237,8 @@
          // create a copy
          CachedRowSetImpl crsTemp;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java	2017-12-02 04:30:06.088322728 +0000
 @@ -222,7 +222,7 @@
             // either of the setter methods have been set.
             if(boolColId){
@@ -3216,8 +3249,8 @@
                    if( (strMatchKey = (cRowset.getMatchColumnNames())[i]) != null) {
                        iMatchKey = cRowset.findColumn(strMatchKey);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2017-12-02 04:30:06.088322728 +0000
 @@ -99,10 +99,10 @@
          throws UnsupportedCallbackException
      {
@@ -3232,8 +3265,8 @@
          ConfirmationInfo confirmation = new ConfirmationInfo();
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2017-12-02 04:30:06.088322728 +0000
 @@ -152,7 +152,7 @@
  
          // new configuration
@@ -3262,8 +3295,8 @@
              String value;
              while (peek(";") == false) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2017-12-02 04:30:06.088322728 +0000
 @@ -181,7 +181,7 @@
      private UnixNumericUserPrincipal UIDPrincipal;
      private UnixNumericGroupPrincipal GIDPrincipal;
@@ -3274,8 +3307,8 @@
      // initial state
      private Subject subject;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2017-12-02 04:30:06.088322728 +0000
 @@ -654,7 +654,7 @@
                  throw new FailedLoginException(
                      "Unable to find X.509 certificate chain in keystore");
@@ -3286,8 +3319,8 @@
                      certList.add(fromKeyStore[i]);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2017-12-02 04:30:06.088322728 +0000
 @@ -76,7 +76,7 @@
      private SolarisNumericUserPrincipal UIDPrincipal;
      private SolarisNumericGroupPrincipal GIDPrincipal;
@@ -3298,8 +3331,8 @@
      /**
       * Initialize this <code>LoginModule</code>.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2017-12-02 04:30:06.088322728 +0000
 @@ -70,7 +70,7 @@
      private UnixNumericUserPrincipal UIDPrincipal;
      private UnixNumericGroupPrincipal GIDPrincipal;
@@ -3310,8 +3343,8 @@
      /**
       * Initialize this <code>LoginModule</code>.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2017-12-02 04:30:06.088322728 +0000
 @@ -1179,7 +1179,7 @@
              // Done
              return certs;
@@ -3322,8 +3355,8 @@
          while (i < certs.length) {
              userCertList.add(certs[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/tools/example/trace/EventThread.java	2017-12-02 04:30:06.088322728 +0000
 @@ -59,7 +59,7 @@
  
      // Maps ThreadReference to ThreadTrace instances
@@ -3334,8 +3367,8 @@
      EventThread(VirtualMachine vm, String[] excludes, PrintWriter writer) {
          super("event-handler");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/Cursor.java openjdk-boot/jdk/src/share/classes/java/awt/Cursor.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/Cursor.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/Cursor.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/Cursor.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/awt/Cursor.java	2017-12-02 04:30:06.088322728 +0000
 @@ -163,7 +163,7 @@
       * hashtable, filesystem dir prefix, filename, and properties for custom cursors support
       */
@@ -3346,8 +3379,8 @@
  
      private static String initCursorDir() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java openjdk-boot/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java	2017-08-03 23:28:06.647894569 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/awt/datatransfer/Clipboard.java	2017-12-02 04:30:06.088322728 +0000
 @@ -341,7 +341,7 @@
       * @since 1.5
       */
@@ -3358,8 +3391,8 @@
          if (contents != null) {
              DataFlavor[] flavors = contents.getTransferDataFlavors();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/EventQueue.java openjdk-boot/jdk/src/share/classes/java/awt/EventQueue.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/EventQueue.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/EventQueue.java	2017-08-03 23:28:06.647894569 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/EventQueue.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/awt/EventQueue.java	2017-12-02 04:30:06.088322728 +0000
 @@ -1183,7 +1183,7 @@
                  return;
              }
@@ -3370,8 +3403,8 @@
              // This series of 'instanceof' checks should be replaced with a
              // polymorphic type (for example, an interface which declares a
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/MenuBar.java openjdk-boot/jdk/src/share/classes/java/awt/MenuBar.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/MenuBar.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/MenuBar.java	2017-08-03 23:28:06.647894569 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/MenuBar.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/awt/MenuBar.java	2017-12-02 04:30:06.088322728 +0000
 @@ -94,7 +94,7 @@
       * @serial
       * @see #countMenus()
@@ -3381,7 +3414,7 @@
  
      /**
       * This menu is a special menu dedicated to
-@@ -323,7 +323,7 @@
+@@ -327,7 +327,7 @@
       * @since       JDK1.1
       */
      public synchronized Enumeration<MenuShortcut> shortcuts() {
@@ -3391,8 +3424,8 @@
          for (int i = 0 ; i < nmenus ; i++) {
              Enumeration<MenuShortcut> e = getMenu(i).shortcuts();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/Menu.java openjdk-boot/jdk/src/share/classes/java/awt/Menu.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/Menu.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/Menu.java	2017-08-03 23:28:06.647894569 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/Menu.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/awt/Menu.java	2017-12-02 04:30:06.088322728 +0000
 @@ -78,7 +78,7 @@
       * @serial
       * @see #countItems()
@@ -3430,8 +3463,8 @@
          for (int i = 0 ; i < nitems ; i++) {
              MenuItem mi = getItem(i);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/awt/RenderingHints.java openjdk-boot/jdk/src/share/classes/java/awt/RenderingHints.java
---- openjdk-boot.orig/jdk/src/share/classes/java/awt/RenderingHints.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/awt/RenderingHints.java	2017-08-03 23:28:06.647894569 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/awt/RenderingHints.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/awt/RenderingHints.java	2017-12-02 04:30:06.092322663 +0000
 @@ -92,7 +92,7 @@
       * {@code equals()} method.
       */
@@ -3451,8 +3484,8 @@
      /**
       * Antialiasing hint key.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java
---- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/beans/Introspector.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/beans/Introspector.java	2017-12-02 04:30:06.092322663 +0000
 @@ -106,7 +106,7 @@
      public final static int IGNORE_ALL_BEANINFO        = 3;
  
@@ -3481,8 +3514,8 @@
          }
          return targetBeanInfo;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/MethodRef.java openjdk-boot/jdk/src/share/classes/java/beans/MethodRef.java
---- openjdk-boot.orig/jdk/src/share/classes/java/beans/MethodRef.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/beans/MethodRef.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/beans/MethodRef.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/beans/MethodRef.java	2017-12-02 04:30:06.092322663 +0000
 @@ -44,7 +44,7 @@
          }
          else {
@@ -3502,8 +3535,8 @@
          }
          return isPackageAccessible(method.getDeclaringClass()) ? method : null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java
---- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/beans/ThreadGroupContext.java	2017-12-02 04:30:06.092322663 +0000
 @@ -96,7 +96,7 @@
  
      BeanInfo putBeanInfo(Class<?> type, BeanInfo info) {
@@ -3514,8 +3547,8 @@
          return this.beanInfoCache.put(type, info);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2017-12-02 04:30:06.092322663 +0000
 @@ -34,7 +34,7 @@
   */
  
@@ -3535,8 +3568,8 @@
          // reverse the list to maintain previous jdk deletion order.
          // Last in first deleted.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java	2017-12-02 04:30:06.092322663 +0000
 @@ -61,7 +61,7 @@
      private volatile boolean closed = false;
  
@@ -3547,8 +3580,8 @@
      private static boolean isRunningFinalize() {
          Boolean val;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/File.java openjdk-boot/jdk/src/share/classes/java/io/File.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/File.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/File.java	2017-12-02 04:30:06.092322663 +0000
 @@ -1150,7 +1150,7 @@
          if ((names == null) || (filter == null)) {
              return names;
@@ -3577,8 +3610,8 @@
              File f = new File(s, this);
              if ((filter == null) || filter.accept(f))
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java	2017-08-03 23:28:06.591895453 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java	2017-12-02 04:30:06.092322663 +0000
 @@ -76,7 +76,7 @@
      private final Object closeLock = new Object();
      private volatile boolean closed = false;
@@ -3589,8 +3622,8 @@
      private static boolean isRunningFinalize() {
          Boolean val;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java	2017-12-02 04:30:06.092322663 +0000
 @@ -725,7 +725,7 @@
       */
  
@@ -3619,8 +3652,8 @@
      }
  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java	2017-12-02 04:30:06.092322663 +0000
 @@ -220,7 +220,7 @@
  
      /** table mapping primitive type names to corresponding class objects */
@@ -3645,8 +3678,8 @@
  
      static {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java	2017-12-02 04:30:06.092322663 +0000
 @@ -166,11 +166,11 @@
      private static class Caches {
          /** cache of subclass security audit results */
@@ -3671,9 +3704,9 @@
  
          /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-08-03 23:28:06.595895390 +0100
-@@ -87,18 +87,18 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-12-02 04:42:09.680605268 +0000
+@@ -94,18 +94,18 @@
      private static class Caches {
          /** cache mapping local classes -> descriptors */
          static final ConcurrentMap<WeakClassKey,Reference<?>> localDescs =
@@ -3696,7 +3729,7 @@
      }
  
      /** class associated with this descriptor (if any) */
-@@ -332,7 +332,7 @@
+@@ -342,7 +342,7 @@
          EntryFuture future = null;
          if (entry == null) {
              EntryFuture newEntry = new EntryFuture();
@@ -3705,7 +3738,25 @@
              do {
                  if (ref != null) {
                      Caches.localDescs.remove(key, ref);
-@@ -1200,7 +1200,7 @@
+@@ -596,7 +596,7 @@
+             while (cls != fnscl) {
+                 ProtectionDomain pd = cls.getProtectionDomain();
+                 if (pd != null) {
+-                    if (pds == null) pds = new HashSet<>();
++                    if (pds == null) pds = new HashSet<ProtectionDomain>();
+                     pds.add(pd);
+                 }
+                 cls = cls.getSuperclass();
+@@ -604,7 +604,7 @@
+                     // that's not supposed to happen
+                     // make a ProtectionDomain with no permission.
+                     // should we throw instead?
+-                    if (pds == null) pds = new HashSet<>();
++                    if (pds == null) pds = new HashSet<ProtectionDomain>();
+                     else pds.clear();
+                     pds.add(noPermissionsDomain());
+                     break;
+@@ -1303,7 +1303,7 @@
      private ClassDataSlot[] getClassDataLayout0()
          throws InvalidClassException
      {
@@ -3714,7 +3765,7 @@
          Class<?> start = cl, end = cl;
  
          // locate closest non-serializable superclass
-@@ -1208,7 +1208,7 @@
+@@ -1311,7 +1311,7 @@
              end = end.getSuperclass();
          }
  
@@ -3723,7 +3774,7 @@
  
          for (ObjectStreamClass d = this; d != null; d = d.superDesc) {
              if (oscNames.contains(d.name)) {
-@@ -1643,7 +1643,7 @@
+@@ -1746,7 +1746,7 @@
  
          ObjectStreamField[] boundFields =
              new ObjectStreamField[serialPersistentFields.length];
@@ -3732,7 +3783,7 @@
  
          for (int i = 0; i < serialPersistentFields.length; i++) {
              ObjectStreamField spf = serialPersistentFields[i];
-@@ -1681,7 +1681,7 @@
+@@ -1784,7 +1784,7 @@
       */
      private static ObjectStreamField[] getDefaultSerialFields(Class<?> cl) {
          Field[] clFields = cl.getDeclaredFields();
@@ -3741,7 +3792,7 @@
          int mask = Modifier.STATIC | Modifier.TRANSIENT;
  
          for (int i = 0; i < clFields.length; i++) {
-@@ -1932,8 +1932,8 @@
+@@ -2035,8 +2035,8 @@
              writeKeys = new long[nfields];
              offsets = new int[nfields];
              typeCodes = new char[nfields];
@@ -3752,7 +3803,7 @@
  
  
              for (int i = 0; i < nfields; i++) {
-@@ -2169,7 +2169,7 @@
+@@ -2272,7 +2272,7 @@
          EntryFuture future = null;
          if (entry == null) {
              EntryFuture newEntry = new EntryFuture();
@@ -3762,8 +3813,8 @@
                  if (ref != null) {
                      Caches.reflectors.remove(key, ref);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2017-12-02 04:30:06.092322663 +0000
 @@ -47,7 +47,7 @@
                      }
                  }
@@ -3774,8 +3825,8 @@
              // application shutdown hooks cannot be added if
              // shutdown is in progress.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Character.java openjdk-boot/jdk/src/share/classes/java/lang/Character.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Character.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Character.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Character.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/Character.java	2017-12-02 04:30:06.092322663 +0000
 @@ -646,7 +646,8 @@
       */
      public static final class UnicodeBlock extends Subset {
@@ -3796,8 +3847,8 @@
              aliases.put("ARMI", IMPERIAL_ARAMAIC);
              aliases.put("ARMN", ARMENIAN);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/CharacterName.java openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/CharacterName.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/CharacterName.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java	2017-12-02 04:30:06.092322663 +0000
 @@ -81,7 +81,7 @@
              } while (cpOff < cpEnd);
              strPool = new byte[total - cpEnd];
@@ -3808,8 +3859,8 @@
              throw new InternalError(x.getMessage());
          } finally {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Class.java openjdk-boot/jdk/src/share/classes/java/lang/Class.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Class.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Class.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Class.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/Class.java	2017-12-02 04:30:06.096322598 +0000
 @@ -1359,7 +1359,7 @@
          return java.security.AccessController.doPrivileged(
              new java.security.PrivilegedAction<Class<?>[]>() {
@@ -3862,8 +3913,8 @@
              for (Map.Entry<Class<? extends Annotation>, Annotation> e : superClass.annotations.entrySet()) {
                  Class<? extends Annotation> annotationClass = e.getKey();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassLoader.java openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassLoader.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassLoader.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java	2017-12-02 04:30:06.096322598 +0000
 @@ -248,7 +248,7 @@
  
      // The classes loaded by this class loader. The only purpose of this table
@@ -3970,8 +4021,8 @@
  
          for(int i = 0; i < directives.classes.length; i++)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassValue.java openjdk-boot/jdk/src/share/classes/java/lang/ClassValue.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassValue.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ClassValue.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassValue.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/ClassValue.java	2017-12-02 04:30:06.096322598 +0000
 @@ -297,12 +297,12 @@
       * Some machines may also require a barrier instruction to execute
       * before this.version.
@@ -4013,8 +4064,8 @@
          // As soon as the Entry is put into the cache, the value will be
          // reachable via a data race (as defined by the Java Memory Model).
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-08-03 23:03:25.119279480 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-12-02 04:14:46.503191506 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-12-02 04:30:06.096322598 +0000
 @@ -393,7 +393,7 @@
          }
          private boolean isPlaceholder() { return clazz == null; }
@@ -4025,8 +4076,8 @@
  
          SpeciesData extendWithType(char type) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2017-08-03 23:28:06.595895390 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java	2017-12-02 04:30:06.096322598 +0000
 @@ -290,7 +290,7 @@
              if (UNSAFE.shouldBeInitialized(type))
                  // If the previous call didn't block, this can happen.
@@ -4037,8 +4088,8 @@
          }
          static final EnsureInitialized INSTANCE = new EnsureInitialized();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2017-08-03 23:03:25.119279480 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2017-12-02 04:14:46.503191506 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java	2017-12-02 04:30:06.096322598 +0000
 @@ -129,7 +129,7 @@
  
      static {
@@ -4058,8 +4109,8 @@
      int cph = 0;  // for counting constant placeholders
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-08-03 23:03:25.119279480 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-12-02 04:14:46.503191506 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-12-02 04:30:06.096322598 +0000
 @@ -468,12 +468,12 @@
          int   capacity   = 512;    // expect many distinct signatures over time
          float loadFactor = 0.75f;  // normal default
@@ -4076,8 +4127,8 @@
              if (!m.isStatic() || !m.isPackage())  continue;
              MethodType mt = m.getMethodType();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-08-03 23:03:25.027280919 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-12-02 04:14:44.539223186 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-12-02 04:30:06.096322598 +0000
 @@ -808,14 +808,14 @@
                  // JVM returned to us with an intentional overflow!
                  totalCount += buf.length;
@@ -4096,8 +4147,8 @@
                  for (MemberName[] buf0 : bufs) {
                      Collections.addAll(result, buf0);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2017-08-03 23:03:25.119279480 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2017-12-02 04:14:46.503191506 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2017-12-02 04:30:06.096322598 +0000
 @@ -73,8 +73,8 @@
  
      static final class ArrayAccessor {
@@ -4119,8 +4170,8 @@
              for (;;) {
                  int nargs = invokes.size();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandle.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	2017-12-02 04:30:06.096322598 +0000
 @@ -834,7 +834,7 @@
                  }
              }
@@ -4131,8 +4182,8 @@
                      ptypes.set(i, arrayElement);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandles.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	2017-12-02 04:30:06.096322598 +0000
 @@ -1953,7 +1953,7 @@
          int inargs  = outargs + dropped;
          if (pos < 0 || pos >= inargs)
@@ -4143,8 +4194,8 @@
          if (ptypes.size() != inargs)  throw newIllegalArgumentException("valueTypes");
          MethodType newType = MethodType.methodType(oldType.returnType(), ptypes);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodType.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodType.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodType.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodType.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodType.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodType.java	2017-12-02 04:30:06.096322598 +0000
 @@ -1048,7 +1048,7 @@
          private final float loadFactor;
  
@@ -4155,8 +4206,8 @@
          private Entry[] newTable(int n) {
              return new Entry[n];
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-08-03 23:03:25.027280919 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-12-02 04:14:44.539223186 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-12-02 04:30:06.096322598 +0000
 @@ -789,7 +789,7 @@
             getPlatformManagementInterfaces()
      {
@@ -4167,8 +4218,8 @@
              result.add(component.getMXBeanInterface());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/management/PlatformComponent.java openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2017-12-02 04:30:06.096322598 +0000
 @@ -287,7 +287,7 @@
              List<T> getGcMXBeanList(Class<T> gcMXBeanIntf) {
          List<GarbageCollectorMXBean> list =
@@ -4206,8 +4257,8 @@
                  // Use String as the key rather than Class<?> to avoid
                  // causing unnecessary class loading of management interface
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java openjdk-boot/jdk/src/share/classes/java/lang/Package.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java	2017-08-03 23:03:25.083280043 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java	2017-12-02 04:14:45.823202475 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2017-12-02 04:30:06.096322598 +0000
 @@ -599,13 +599,16 @@
      }
  
@@ -4229,8 +4280,8 @@
      private static native String getSystemPackage0(String name);
      private static native String[] getSystemPackages0();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-08-03 23:03:25.027280919 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-12-02 04:14:44.539223186 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-12-02 04:30:06.100322534 +0000
 @@ -214,7 +214,7 @@
       * @param command a string array containing the program and its arguments
       */
@@ -4250,8 +4301,8 @@
              this.command.add(arg);
          return this;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java	2017-12-02 04:30:06.100322534 +0000
 @@ -137,7 +137,7 @@
          // which implicitly requires that new java.lang.reflect
          // objects be fabricated for each reflective call on Class
@@ -4262,8 +4313,8 @@
                                                  exceptionTypes, modifiers, slot,
                                                  signature,
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-08-03 23:03:25.027280919 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-12-02 04:14:44.539223186 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-12-02 04:30:06.100322534 +0000
 @@ -234,7 +234,7 @@
       * a cache of proxy classes
       */
@@ -4283,8 +4334,8 @@
                  /*
                   * Verify that the class loader resolves the name of this
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2017-12-02 04:30:06.100322534 +0000
 @@ -84,7 +84,7 @@
                                               byte[] annotations,
                                               byte[] parameterAnnotations)
@@ -4295,8 +4346,8 @@
                                    checkedExceptions,
                                    modifiers,
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/WeakCache.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/WeakCache.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/WeakCache.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/WeakCache.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/WeakCache.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/WeakCache.java	2017-12-02 04:30:06.100322534 +0000
 @@ -71,12 +71,12 @@
      }
  
@@ -4350,8 +4401,8 @@
  
          private final int hash;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/StringCoding.java openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/StringCoding.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/StringCoding.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java	2017-12-02 04:30:06.100322534 +0000
 @@ -53,9 +53,9 @@
  
      /** The cached coders for each thread */
@@ -4365,8 +4416,8 @@
      private static boolean warnUnsupportedCharset = true;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/String.java openjdk-boot/jdk/src/share/classes/java/lang/String.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/String.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/String.java	2017-08-03 23:28:06.599895327 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/String.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/String.java	2017-12-02 04:30:06.100322534 +0000
 @@ -2282,7 +2282,7 @@
              int off = 0;
              int next = 0;
@@ -4377,8 +4428,8 @@
                  if (!limited || list.size() < limit - 1) {
                      list.add(substring(off, next));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Thread.java openjdk-boot/jdk/src/share/classes/java/lang/Thread.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Thread.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Thread.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Thread.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/Thread.java	2017-12-02 04:30:06.100322534 +0000
 @@ -1641,7 +1641,8 @@
          // Get a snapshot of the list of all threads
          Thread[] threads = getThreads();
@@ -4404,8 +4455,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Throwable.java openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Throwable.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Throwable.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java	2017-12-02 04:30:06.100322534 +0000
 @@ -918,7 +918,7 @@
                  // Use the sentinel for a zero-length list
                  suppressed = SUPPRESSED_SENTINEL;
@@ -4425,8 +4476,8 @@
          suppressedExceptions.add(exception);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/InetAddress.java openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/InetAddress.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/InetAddress.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java	2017-12-02 04:30:06.100322534 +0000
 @@ -733,7 +733,7 @@
  
      static InetAddressImpl  impl;
@@ -4446,8 +4497,8 @@
                  for (String key : cache.keySet()) {
                      CacheEntry entry = cache.get(key);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/SocketPermission.java openjdk-boot/jdk/src/share/classes/java/net/SocketPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/SocketPermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/SocketPermission.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/SocketPermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/net/SocketPermission.java	2017-12-02 04:30:06.100322534 +0000
 @@ -1453,7 +1453,7 @@
          // Don't call out.defaultWriteObject()
  
@@ -4458,8 +4509,8 @@
          synchronized (this) {
              permissions.addAll(perms);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/URLClassLoader.java openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/URLClassLoader.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/URLClassLoader.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java	2017-12-02 04:30:06.100322534 +0000
 @@ -198,7 +198,7 @@
       */
  
@@ -4470,8 +4521,8 @@
      /**
       * Returns an input stream for reading the specified resource.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/URLConnection.java openjdk-boot/jdk/src/share/classes/java/net/URLConnection.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/URLConnection.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/URLConnection.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/URLConnection.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/net/URLConnection.java	2017-12-02 04:30:06.100322534 +0000
 @@ -1237,7 +1237,7 @@
          factory = fac;
      }
@@ -4482,8 +4533,8 @@
      /**
       * Gets the Content Handler appropriate for this connection.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/net/URL.java openjdk-boot/jdk/src/share/classes/java/net/URL.java
---- openjdk-boot.orig/jdk/src/share/classes/java/net/URL.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/URL.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/URL.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/net/URL.java	2017-12-02 04:30:06.100322534 +0000
 @@ -1126,7 +1126,7 @@
      /**
       * A table of protocol handlers.
@@ -4494,8 +4545,8 @@
  
      // special case the gopher protocol, disabled by default
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java
---- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java	2017-08-03 23:03:25.087279981 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java	2017-12-02 04:14:45.827202410 +0000
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2017-12-02 04:30:06.100322534 +0000
 @@ -1504,7 +1504,7 @@
              return AccessController
                  .doPrivileged(new PrivilegedAction<List<FileTypeDetector>>() {
@@ -4515,8 +4566,8 @@
                  String line = reader.readLine();
                  if (line == null)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/AccessControlContext.java openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/AccessControlContext.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/AccessControlContext.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java	2017-12-02 04:30:06.100322534 +0000
 @@ -134,7 +134,7 @@
                  this.context = null;
              }
@@ -4527,8 +4578,8 @@
                  if ((context[i] != null) &&  (!v.contains(context[i])))
                      v.add(context[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/BasicPermission.java openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/BasicPermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/BasicPermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java	2017-12-02 04:30:06.100322534 +0000
 @@ -514,7 +514,7 @@
  
          // Copy perms into a Hashtable
@@ -4538,10 +4589,22 @@
  
          synchronized (this) {
              permissions.putAll(perms);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/cert/CertificateRevokedException.java openjdk-boot/jdk/src/share/classes/java/security/cert/CertificateRevokedException.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/cert/CertificateRevokedException.java	2017-12-02 04:48:58.241984767 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/cert/CertificateRevokedException.java	2017-12-02 04:52:19.918716713 +0000
+@@ -232,7 +232,7 @@
+         } else if (size < 0) {
+             throw new IOException("size cannot be negative");
+         } else {
+-            extensions = new HashMap<>(size > 20 ? 20 : size);
++            extensions = new HashMap<String, Extension>(size > 20 ? 20 : size);
+         }
+ 
+         // Read in the extensions and put the mappings in the extensions map
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/CodeSource.java openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/CodeSource.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java	2017-08-04 00:29:01.650770698 +0100
-@@ -188,7 +188,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/CodeSource.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java	2017-12-02 04:36:28.398135552 +0000
+@@ -189,7 +189,7 @@
          } else if (signers != null) {
              // Convert the code signers to certs
              ArrayList<java.security.cert.Certificate> certChains =
@@ -4550,16 +4613,16 @@
              for (int i = 0; i < signers.length; i++) {
                  certChains.addAll(
                      signers[i].getSignerCertPath().getCertificates());
-@@ -539,7 +539,7 @@
+@@ -540,7 +540,7 @@
              // we know of 3 different cert types: X.509, PGP, SDSI, which
              // could all be present in the stream at the same time
              cfs = new Hashtable<String, CertificateFactory>(3);
 -            certList = new ArrayList<>(size > 20 ? 20 : size);
 +            certList = new ArrayList<java.security.cert.Certificate>(size > 20 ? 20 : size);
-         }
- 
-         for (int i = 0; i < size; i++) {
-@@ -611,10 +611,10 @@
+         } else if (size < 0) {
+             throw new IOException("size cannot be negative");
+         }
+@@ -608,10 +608,10 @@
  
              // Iterate through all the certificates
              int i = 0;
@@ -4572,9 +4635,39 @@
                  certChain.add(certs[i++]); // first cert is an end-entity cert
                  int j = i;
  
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/KeyStore.java openjdk-boot/jdk/src/share/classes/java/security/KeyStore.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/KeyStore.java	2017-12-02 04:48:58.249984637 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/KeyStore.java	2017-12-02 04:51:50.223197912 +0000
+@@ -493,7 +493,7 @@
+             }
+ 
+             this.attributes =
+-                Collections.unmodifiableSet(new HashSet<>(attributes));
++                Collections.unmodifiableSet(new HashSet<PKCS12Attribute>(attributes));
+         }
+ 
+         /**
+@@ -612,7 +612,7 @@
+             }
+             this.sKey = secretKey;
+             this.attributes =
+-                Collections.unmodifiableSet(new HashSet<>(attributes));
++                Collections.unmodifiableSet(new HashSet<PKCS12Attribute>(attributes));
+         }
+ 
+         /**
+@@ -695,7 +695,7 @@
+             }
+             this.cert = trustedCert;
+             this.attributes =
+-                Collections.unmodifiableSet(new HashSet<>(attributes));
++                Collections.unmodifiableSet(new HashSet<PKCS12Attribute>(attributes));
+         }
+ 
+         /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/Permissions.java openjdk-boot/jdk/src/share/classes/java/security/Permissions.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/Permissions.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Permissions.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Permissions.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/Permissions.java	2017-12-02 04:30:06.104322469 +0000
 @@ -361,7 +361,7 @@
  
          // Copy perms into a Hashtable
@@ -4594,8 +4687,8 @@
              perms.putAll(permsMap);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/Policy.java openjdk-boot/jdk/src/share/classes/java/security/Policy.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/Policy.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Policy.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Policy.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/Policy.java	2017-12-02 04:30:06.104322469 +0000
 @@ -109,7 +109,7 @@
  
      // PolicyInfo is stored in an AtomicReference
@@ -4615,8 +4708,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/ProtectionDomain.java openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/ProtectionDomain.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/ProtectionDomain.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java	2017-12-02 04:30:06.104322469 +0000
 @@ -400,8 +400,8 @@
          int swag = 32;
          int vcap = 8;
@@ -4629,8 +4722,8 @@
          //
          // Build a vector of domain permissions for subsequent merge
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/Provider.java openjdk-boot/jdk/src/share/classes/java/security/Provider.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/Provider.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Provider.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Provider.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/Provider.java	2017-12-02 04:30:06.104322469 +0000
 @@ -434,7 +434,7 @@
  
      private void readObject(ObjectInputStream in)
@@ -4659,8 +4752,8 @@
                              Class<?> clazz = getKeyClass(className);
                              if (clazz != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/SecureClassLoader.java openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/SecureClassLoader.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/SecureClassLoader.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java	2017-12-02 04:30:06.104322469 +0000
 @@ -50,7 +50,7 @@
      // HashMap that maps CodeSource to ProtectionDomain
      // @GuardedBy("pdcache")
@@ -4671,8 +4764,8 @@
      private static final Debug debug = Debug.getInstance("scl");
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/Security.java openjdk-boot/jdk/src/share/classes/java/security/Security.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/Security.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Security.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Security.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/Security.java	2017-12-02 04:30:06.104322469 +0000
 @@ -544,7 +544,7 @@
              value = filter.substring(index + 1);
          }
@@ -4719,8 +4812,8 @@
  
          for (int i = 0; i < providers.length; i++) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2017-08-03 23:28:06.603895264 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2017-12-02 04:30:06.104322469 +0000
 @@ -119,7 +119,7 @@
  
      public Enumeration<Permission> elements() {
@@ -4758,9 +4851,9 @@
  
              // Add to Hashtable being serialized
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermission.java openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java	2017-08-03 23:28:06.603895264 +0100
-@@ -196,7 +196,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java	2017-12-02 04:41:45.480997408 +0000
+@@ -200,7 +200,7 @@
                  if (this.certs == null) {
                      // extract the signer certs
                      ArrayList<java.security.cert.Certificate> signerCerts =
@@ -4769,9 +4862,20 @@
                      i = 0;
                      while (i < certs.length) {
                          signerCerts.add(certs[i]);
+@@ -565,8 +565,8 @@
+         if (size > 0) {
+             // we know of 3 different cert types: X.509, PGP, SDSI, which
+             // could all be present in the stream at the same time
+-            cfs = new Hashtable<>(3);
+-            certList = new ArrayList<>(size > 20 ? 20 : size);
++            cfs = new Hashtable<String, CertificateFactory>(3);
++            certList = new ArrayList<Certificate>(size > 20 ? 20 : size);
+         } else if (size < 0) {
+             throw new IOException("size cannot be negative");
+         }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/AbstractList.java openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/AbstractList.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/AbstractList.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java	2017-12-02 04:30:06.104322469 +0000
 @@ -482,8 +482,8 @@
       */
      public List<E> subList(int fromIndex, int toIndex) {
@@ -4801,8 +4905,8 @@
      }
  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Arrays.java openjdk-boot/jdk/src/share/classes/java/util/Arrays.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Arrays.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Arrays.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Arrays.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Arrays.java	2017-12-02 04:30:06.104322469 +0000
 @@ -2825,7 +2825,7 @@
       */
      @SafeVarargs
@@ -4813,8 +4917,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Collections.java openjdk-boot/jdk/src/share/classes/java/util/Collections.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Collections.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Collections.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Collections.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Collections.java	2017-12-02 04:30:06.104322469 +0000
 @@ -1035,7 +1035,7 @@
       * @return an unmodifiable view of the specified collection.
       */
@@ -5440,8 +5544,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java openjdk-boot/jdk/src/share/classes/java/util/Currency.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java	2017-08-03 23:03:25.087279981 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java	2017-12-02 04:14:45.827202410 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	2017-12-02 04:30:06.104322469 +0000
 @@ -101,7 +101,7 @@
  
      // class data: instance map
@@ -5452,8 +5556,8 @@
  
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/EnumMap.java openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumMap.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumMap.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java	2017-12-02 04:30:06.104322469 +0000
 @@ -508,7 +508,7 @@
              int j = 0;
              for (int i = 0; i < vals.length; i++)
@@ -5464,8 +5568,8 @@
              return a;
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/EnumSet.java openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumSet.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumSet.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java	2017-12-02 04:30:06.104322469 +0000
 @@ -110,9 +110,9 @@
              throw new ClassCastException(elementType + " not an enum");
  
@@ -5488,8 +5592,8 @@
  
      // readObject method for the serialization proxy pattern
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java openjdk-boot/jdk/src/share/classes/java/util/Formatter.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java	2017-08-03 23:03:25.031280857 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java	2017-12-02 04:14:44.543223121 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2017-12-02 04:30:06.108322404 +0000
 @@ -2531,7 +2531,7 @@
       * Finds format specifiers in the format string.
       */
@@ -5500,9 +5604,9 @@
          for (int i = 0, len = s.length(); i < len; ) {
              if (m.find(i)) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/HashMap.java openjdk-boot/jdk/src/share/classes/java/util/HashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/HashMap.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/HashMap.java	2017-08-03 23:28:06.607895200 +0100
-@@ -894,7 +894,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/HashMap.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/HashMap.java	2017-12-02 04:30:06.108322404 +0000
+@@ -895,7 +895,7 @@
       */
      void createEntry(int hash, K key, V value, int bucketIndex) {
          Entry<K,V> e = table[bucketIndex];
@@ -5512,9 +5616,9 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/HashSet.java openjdk-boot/jdk/src/share/classes/java/util/HashSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/HashSet.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/HashSet.java	2017-08-03 23:28:06.607895200 +0100
-@@ -100,7 +100,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/HashSet.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/HashSet.java	2017-12-02 04:30:06.108322404 +0000
+@@ -104,7 +104,7 @@
       * default initial capacity (16) and load factor (0.75).
       */
      public HashSet() {
@@ -5523,7 +5627,7 @@
      }
  
      /**
-@@ -113,7 +113,7 @@
+@@ -117,7 +117,7 @@
       * @throws NullPointerException if the specified collection is null
       */
      public HashSet(Collection<? extends E> c) {
@@ -5532,7 +5636,7 @@
          addAll(c);
      }
  
-@@ -127,7 +127,7 @@
+@@ -131,7 +131,7 @@
       *             than zero, or if the load factor is nonpositive
       */
      public HashSet(int initialCapacity, float loadFactor) {
@@ -5541,7 +5645,7 @@
      }
  
      /**
-@@ -139,7 +139,7 @@
+@@ -143,7 +143,7 @@
       *             than zero
       */
      public HashSet(int initialCapacity) {
@@ -5550,7 +5654,7 @@
      }
  
      /**
-@@ -156,7 +156,7 @@
+@@ -160,7 +160,7 @@
       *             than zero, or if the load factor is nonpositive
       */
      HashSet(int initialCapacity, float loadFactor, boolean dummy) {
@@ -5560,9 +5664,9 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Hashtable.java openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Hashtable.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java	2017-08-03 23:28:06.607895200 +0100
-@@ -538,7 +538,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Hashtable.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java	2017-12-02 04:30:06.108322404 +0000
+@@ -539,7 +539,7 @@
  
          // Creates the new entry.
          Entry<K,V> e = tab[index];
@@ -5571,7 +5675,7 @@
          count++;
          return null;
      }
-@@ -662,7 +662,7 @@
+@@ -663,7 +663,7 @@
          if (count == 0) {
              return Collections.emptyEnumeration();
          } else {
@@ -5580,7 +5684,7 @@
          }
      }
  
-@@ -670,7 +670,7 @@
+@@ -671,7 +671,7 @@
          if (count == 0) {
              return Collections.emptyIterator();
          } else {
@@ -5589,7 +5693,7 @@
          }
      }
  
-@@ -948,7 +948,7 @@
+@@ -949,7 +949,7 @@
  
                  while (entry != null) {
                      entryStack =
@@ -5598,7 +5702,7 @@
                      entry = entry.next;
                  }
              }
-@@ -1028,7 +1028,7 @@
+@@ -1044,7 +1044,7 @@
          }
          // Creates the new entry.
          Entry<K,V> e = tab[index];
@@ -5607,7 +5711,7 @@
          count++;
      }
  
-@@ -1049,7 +1049,7 @@
+@@ -1065,7 +1065,7 @@
          }
  
          protected Object clone() {
@@ -5617,9 +5721,9 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/IdentityHashMap.java openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/IdentityHashMap.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java	2017-08-03 23:28:06.607895200 +0100
-@@ -1145,7 +1145,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/IdentityHashMap.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java	2017-12-02 04:30:06.108322404 +0000
+@@ -1142,7 +1142,7 @@
              Object[] result = new Object[size];
              Iterator<Map.Entry<K,V>> it = iterator();
              for (int i = 0; i < size; i++)
@@ -5628,7 +5732,7 @@
              return result;
          }
  
-@@ -1157,7 +1157,7 @@
+@@ -1154,7 +1154,7 @@
                      .newInstance(a.getClass().getComponentType(), size);
              Iterator<Map.Entry<K,V>> it = iterator();
              for (int i = 0; i < size; i++)
@@ -5638,8 +5742,8 @@
                  a[size] = null;
              return a;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/jar/Attributes.java openjdk-boot/jdk/src/share/classes/java/util/jar/Attributes.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/Attributes.java	2017-08-04 00:13:16.673620595 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/jar/Attributes.java	2017-08-04 00:28:48.850972436 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/Attributes.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/jar/Attributes.java	2017-12-02 04:30:06.108322404 +0000
 @@ -71,7 +71,7 @@
       * @param size the initial number of attributes
       */
@@ -5659,8 +5763,8 @@
  
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarVerifier.java openjdk-boot/jdk/src/share/classes/java/util/jar/JarVerifier.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarVerifier.java	2017-08-04 00:13:16.685620408 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarVerifier.java	2017-08-04 00:19:27.339826333 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarVerifier.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarVerifier.java	2017-12-02 04:30:06.108322404 +0000
 @@ -95,10 +95,10 @@
  
      public JarVerifier(byte rawBytes[]) {
@@ -5775,8 +5879,8 @@
          }
          return jarCodeSigners;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/JumboEnumSet.java openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/JumboEnumSet.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/JumboEnumSet.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java	2017-12-02 04:30:06.108322404 +0000
 @@ -91,7 +91,7 @@
       * @return an iterator over the elements contained in this set
       */
@@ -5787,8 +5891,8 @@
  
      private class EnumSetIterator<E extends Enum<E>> implements Iterator<E> {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedHashMap.java openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedHashMap.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java	2017-08-03 23:28:06.607895200 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedHashMap.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java	2017-12-02 04:30:06.108322404 +0000
 @@ -238,7 +238,7 @@
       */
      @Override
@@ -5808,8 +5912,8 @@
          e.addBefore(header);
          size++;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedList.java openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedList.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedList.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java	2017-12-02 04:30:06.108322404 +0000
 @@ -122,7 +122,7 @@
       */
      private void linkFirst(E e) {
@@ -5847,8 +5951,8 @@
                  first = newNode;
              else
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/ListResourceBundle.java openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/ListResourceBundle.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ListResourceBundle.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java	2017-12-02 04:30:06.108322404 +0000
 @@ -187,7 +187,7 @@
              return;
  
@@ -5859,8 +5963,8 @@
              // key must be non-null String, value must be non-null
              String key = (String) contents[i][0];
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Locale.java openjdk-boot/jdk/src/share/classes/java/util/Locale.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Locale.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Locale.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Locale.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Locale.java	2017-12-02 04:30:06.108322404 +0000
 @@ -1807,7 +1807,7 @@
                  return formatList(variantNames, listPattern, listCompositionPattern);
              }
@@ -5871,8 +5975,8 @@
              names.add(languageName);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/FileHandler.java openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/FileHandler.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/FileHandler.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java	2017-12-02 04:30:06.108322404 +0000
 @@ -127,7 +127,7 @@
      private FileOutputStream lockStream;
      private File files[];
@@ -5883,8 +5987,8 @@
      // A metered stream is a subclass of OutputStream that
      //   (a) forwards all its output to a target stream
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Level.java openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Level.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Level.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java	2017-12-02 04:30:06.108322404 +0000
 @@ -518,8 +518,8 @@
      // were final, the following KnownLevel implementation can be removed.
      // Future API change should take this into consideration.
@@ -5914,8 +6018,8 @@
              }
              list.add(o);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logger.java openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logger.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logger.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java	2017-12-02 04:30:06.108322404 +0000
 @@ -177,7 +177,7 @@
      private volatile LogManager manager;
      private String name;
@@ -5935,8 +6039,8 @@
              if (ref == null) {
                  // we didn't have a previous parent
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logging.java openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logging.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logging.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java	2017-12-02 04:30:06.108322404 +0000
 @@ -56,7 +56,7 @@
  
      public List<String> getLoggerNames() {
@@ -5947,8 +6051,8 @@
          for (; loggers.hasMoreElements();) {
              array.add((String) loggers.nextElement());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogManager.java openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogManager.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogManager.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java	2017-12-02 04:30:06.108322404 +0000
 @@ -389,7 +389,7 @@
                      // find the AppContext of the applet code
                      // will be null if we are in the main app context.
@@ -6004,8 +6108,8 @@
              int end = ix;
              while (end < hands.length()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogRecord.java openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogRecord.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogRecord.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java	2017-12-02 04:30:06.112322339 +0000
 @@ -85,7 +85,8 @@
      private static final AtomicInteger nextThreadId
          = new AtomicInteger(MIN_SEQUENTIAL_THREAD_ID);
@@ -6026,8 +6130,8 @@
                  params.add(in.readObject());
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2017-12-02 04:30:06.112322339 +0000
 @@ -155,7 +155,8 @@
       * All known unremoved children of this node.  (This "cache" is consulted
       * prior to calling childSpi() or getChild().
@@ -6058,9 +6162,9 @@
      /**
       * These two classes are used to distinguish NodeChangeEvents on
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/PriorityQueue.java openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/PriorityQueue.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java	2017-08-03 23:28:06.611895137 +0100
-@@ -538,7 +538,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/PriorityQueue.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java	2017-12-02 04:30:06.112322339 +0000
+@@ -540,7 +540,7 @@
                      cursor--;
                  else {
                      if (forgetMeNot == null)
@@ -6070,8 +6174,8 @@
                  }
              } else if (lastRetElt != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Properties.java openjdk-boot/jdk/src/share/classes/java/util/Properties.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Properties.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Properties.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Properties.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Properties.java	2017-12-02 04:30:06.112322339 +0000
 @@ -1010,7 +1010,7 @@
       * @since   1.6
       */
@@ -6082,8 +6186,8 @@
          return h.keySet();
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/regex/Pattern.java openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/Pattern.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/Pattern.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java	2017-12-02 04:30:06.112322339 +0000
 @@ -321,7 +321,7 @@
   *     <td headers="matches">Nothing, but quotes all characters until <tt>\E</tt></td></tr>
   * <tr><td valign="top" headers="construct quot"><tt>\E</tt></td>
@@ -6121,8 +6225,8 @@
          static {
              // Unicode character property aliases, defined in
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/regex/UnicodeProp.java openjdk-boot/jdk/src/share/classes/java/util/regex/UnicodeProp.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/regex/UnicodeProp.java	2017-12-02 04:30:06.112322339 +0000
 @@ -193,8 +193,8 @@
          }
      };
@@ -6135,8 +6239,8 @@
          posix.put("ALPHA", "ALPHABETIC");
          posix.put("LOWER", "LOWERCASE");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/RegularEnumSet.java openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/RegularEnumSet.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/RegularEnumSet.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java	2017-12-02 04:30:06.112322339 +0000
 @@ -72,7 +72,7 @@
       * @return an iterator over the elements contained in this set
       */
@@ -6147,8 +6251,8 @@
  
      private class EnumSetIterator<E extends Enum<E>> implements Iterator<E> {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/ResourceBundle.java openjdk-boot/jdk/src/share/classes/java/util/ResourceBundle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/ResourceBundle.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/ResourceBundle.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ResourceBundle.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/ResourceBundle.java	2017-12-02 04:30:06.112322339 +0000
 @@ -291,7 +291,7 @@
       * name for compatibility with some workarounds for bug 4212439.
       */
@@ -6213,8 +6317,8 @@
                  if (variants != null) {
                      for (String v : variants) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/ServiceLoader.java openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/ServiceLoader.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java	2017-08-03 23:28:06.611895137 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ServiceLoader.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java	2017-12-02 04:30:06.112322339 +0000
 @@ -191,7 +191,7 @@
      private ClassLoader loader;
  
@@ -6243,8 +6347,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/TimSort.java openjdk-boot/jdk/src/share/classes/java/util/TimSort.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/TimSort.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TimSort.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TimSort.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/TimSort.java	2017-12-02 04:30:06.112322339 +0000
 @@ -196,7 +196,7 @@
           * extending short natural runs to minRun elements, and merging runs
           * to maintain stack invariant.
@@ -6255,8 +6359,8 @@
          do {
              // Identify next run
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/TreeMap.java openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeMap.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeMap.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java	2017-12-02 04:30:06.112322339 +0000
 @@ -530,7 +530,7 @@
          if (t == null) {
              compare(key, key); // type (and possibly null) check
@@ -6312,8 +6416,8 @@
          // color nodes in non-full bottommost level red
          if (level == redLevel)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/TreeSet.java openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeSet.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeSet.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java	2017-12-02 04:30:06.112322339 +0000
 @@ -138,7 +138,7 @@
       *        ordering} of the elements will be used.
       */
@@ -6381,8 +6485,8 @@
  
          // Read in size
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/WeakHashMap.java openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/WeakHashMap.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/WeakHashMap.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java	2017-12-02 04:30:06.112322339 +0000
 @@ -172,7 +172,7 @@
      /**
       * Reference queue for cleared WeakEntries
@@ -6415,8 +6519,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipFile.java openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipFile.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipFile.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java	2017-12-02 04:30:06.112322339 +0000
 @@ -336,7 +336,7 @@
  
      // the outstanding inputstreams that need to be closed,
@@ -6445,8 +6549,8 @@
                      for (Map.Entry<InputStream, Inflater> e : copy.entrySet()) {
                          e.getKey().close();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipOutputStream.java openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2017-12-02 04:30:06.112322339 +0000
 @@ -53,8 +53,8 @@
      }
  
@@ -6459,8 +6563,8 @@
      private long written = 0;
      private long locoff = 0;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/Cipher.java openjdk-boot/jdk/src/share/classes/javax/crypto/Cipher.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/Cipher.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/Cipher.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/Cipher.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/Cipher.java	2017-12-02 04:30:06.116322274 +0000
 @@ -417,7 +417,7 @@
              return Collections.singletonList(tr);
          } else { // if ((mode != null) && (pad != null)) {
@@ -6480,8 +6584,8 @@
              cipherServices.add(new ServiceId("Cipher", transform.transform));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoAllPermission.java	2017-12-02 04:30:06.116322274 +0000
 @@ -172,7 +172,7 @@
       * @return an enumeration of all the CryptoAllPermission objects.
       */
@@ -6492,8 +6596,8 @@
          return v.elements();
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPermissions.java openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPermissions.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPermissions.java	2017-12-02 04:30:06.116322274 +0000
 @@ -84,7 +84,7 @@
       * no CryptoPermissionCollections.
       */
@@ -6541,8 +6645,8 @@
          fields.put("perms", permTable);
          s.writeFields();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CryptoPolicyParser.java	2017-12-02 04:30:06.116322274 +0000
 @@ -252,7 +252,7 @@
              // AlgorithmParameterSpec class name.
              String algParamSpecClassName = match("quoted string");
@@ -6571,9 +6675,9 @@
              processedPermissions.put(alg, exemptionMechanisms);
              return true;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurity.java openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurity.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurity.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurity.java	2017-08-03 23:28:06.615895074 +0100
-@@ -58,11 +58,11 @@
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurity.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurity.java	2017-12-02 04:30:06.116322274 +0000
+@@ -60,11 +60,11 @@
      // value == PROVIDER_VERIFIED is successfully verified
      // value is failure cause Exception in error case
      private final static Map<Provider, Object> verificationResults =
@@ -6587,7 +6691,7 @@
  
      // Set the default value. May be changed in the static initializer.
      private static boolean isRestricted = true;
-@@ -213,7 +213,7 @@
+@@ -218,7 +218,7 @@
  
      // reference to a Map we use as a cache for codebases
      private static final Map<Class<?>, URL> codeBaseCacheRef =
@@ -6597,8 +6701,8 @@
      /*
       * Returns the CodeBase for the given class.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurityManager.java openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurityManager.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/JceSecurityManager.java	2017-12-02 04:30:06.116322274 +0000
 @@ -52,9 +52,9 @@
      private static final CryptoPermissions exemptPolicy;
      private static final CryptoAllPermission allPerm;
@@ -6612,8 +6716,8 @@
              new CryptoPermissions();
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java openjdk-boot/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java	2017-08-04 00:13:16.693620284 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java	2017-08-04 00:28:28.531292704 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java	2017-12-02 04:30:06.116322274 +0000
 @@ -698,7 +698,8 @@
  
      // Class -> Provider Object of that class
@@ -6625,8 +6729,8 @@
      public SubRegistry(ServiceRegistry registry, Class category) {
          this.registry = registry;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java openjdk-boot/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	2017-12-02 04:30:06.116322274 +0000
 @@ -103,7 +103,7 @@
                  = (String[]) this.env.get(EnvHelp.CREDENTIAL_TYPES);
          List<String> types = null;
@@ -6637,8 +6741,8 @@
                  if (type == null) {
                      throw new IllegalArgumentException("A credential type is null.");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java	2017-08-03 23:29:00.999036438 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttribute.java	2017-12-02 04:30:06.116322274 +0000
 @@ -255,7 +255,7 @@
        */
      public BasicAttribute(String id, boolean ordered) {
@@ -6658,8 +6762,8 @@
              values.addElement(s.readObject());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/directory/BasicAttributes.java	2017-12-02 04:30:06.116322274 +0000
 @@ -79,7 +79,7 @@
      // If ignoreCase is true, key is aways lowercase.
      // If ignoreCase is false, key is stored as supplied by put().
@@ -6670,8 +6774,8 @@
      /**
        * Constructs a new instance of Attributes.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java openjdk-boot/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java	2017-12-02 04:30:06.116322274 +0000
 @@ -137,7 +137,7 @@
  
          // Clone environment since caller owns it.
@@ -6682,8 +6786,8 @@
  
          // Put connect controls into environment.  Copy them first since
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/LdapName.java openjdk-boot/jdk/src/share/classes/javax/naming/ldap/LdapName.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/LdapName.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/LdapName.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/LdapName.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/LdapName.java	2017-12-02 04:30:06.116322274 +0000
 @@ -142,7 +142,7 @@
          //              "Invalid entries, list entries must be of type Rdn");
          //  }
@@ -6703,8 +6807,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rdn.java openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rdn.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rdn.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rdn.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rdn.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rdn.java	2017-12-02 04:30:06.116322274 +0000
 @@ -130,7 +130,7 @@
          if (attrSet.size() == 0) {
              throw new InvalidNameException("Attributes cannot be empty");
@@ -6760,8 +6864,8 @@
          try {
              (new Rfc2253Parser(unparsed)).parseRdn(this);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java	2017-08-03 23:28:06.615895074 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/ldap/Rfc2253Parser.java	2017-12-02 04:30:06.116322274 +0000
 @@ -61,7 +61,7 @@
              //  new ArrayList<Rdn>(len / 3 + 10);  // leave room for growth
  
@@ -6772,8 +6876,8 @@
              if (len == 0) {
                  return rdns;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/NameImpl.java openjdk-boot/jdk/src/share/classes/javax/naming/NameImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/NameImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/NameImpl.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/NameImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/NameImpl.java	2017-12-02 04:30:06.116322274 +0000
 @@ -272,7 +272,7 @@
          if (syntax != null) {
              recordNamingConvention(syntax);
@@ -6784,8 +6888,8 @@
  
      NameImpl(Properties syntax, String n) throws InvalidNameException {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/Reference.java openjdk-boot/jdk/src/share/classes/javax/naming/Reference.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/Reference.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/Reference.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/Reference.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/Reference.java	2017-12-02 04:30:06.116322274 +0000
 @@ -120,7 +120,7 @@
        */
      public Reference(String className) {
@@ -6814,8 +6918,8 @@
          while (a.hasMoreElements())
              r.addrs.addElement(a.nextElement());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java openjdk-boot/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/spi/DirectoryManager.java	2017-12-02 04:30:06.116322274 +0000
 @@ -90,7 +90,7 @@
  
          Hashtable<Object,Object> env = (Hashtable<Object,Object>)cpe.getEnvironment();
@@ -6826,8 +6930,8 @@
              // Make a (shallow) copy of the environment.
              env = (Hashtable<Object,Object>) env.clone();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/NamingManager.java openjdk-boot/jdk/src/share/classes/javax/naming/spi/NamingManager.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/NamingManager.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/naming/spi/NamingManager.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/naming/spi/NamingManager.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/naming/spi/NamingManager.java	2017-12-02 04:30:06.116322274 +0000
 @@ -777,7 +777,7 @@
  
          Hashtable<Object,Object> env = (Hashtable<Object,Object>)cpe.getEnvironment();
@@ -6838,8 +6942,8 @@
              // Make a (shallow) copy of the environment.
              env = (Hashtable<Object,Object>)env.clone();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/script/ScriptEngineManager.java openjdk-boot/jdk/src/share/classes/javax/script/ScriptEngineManager.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/script/ScriptEngineManager.java	2017-12-02 04:30:06.116322274 +0000
 @@ -116,7 +116,7 @@
              return null;
          }
@@ -6850,8 +6954,8 @@
              while (itr.hasNext()) {
                  try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2017-12-02 04:30:06.116322274 +0000
 @@ -361,7 +361,7 @@
          // Don't call out.defaultWriteObject()
  
@@ -6862,8 +6966,8 @@
          synchronized (this) {
              permissions.addAll(perms);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2017-12-02 04:30:06.116322274 +0000
 @@ -590,7 +590,7 @@
          // Don't call out.defaultWriteObject()
  
@@ -6874,8 +6978,8 @@
          synchronized (this) {
              permissions.addAll(perms);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2017-12-02 04:30:06.116322274 +0000
 @@ -329,7 +329,7 @@
              throw new IllegalArgumentException("invalid empty name");
          }
@@ -6886,8 +6990,8 @@
          String principalClass = null;
          String principalName = null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2017-12-02 04:30:06.116322274 +0000
 @@ -50,7 +50,7 @@
  
      private Subject subject;
@@ -6898,8 +7002,8 @@
      private Principal[] principals;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/swing/JDesktopPane.java openjdk-boot/jdk/src/share/classes/javax/swing/JDesktopPane.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/swing/JDesktopPane.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/swing/JDesktopPane.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/swing/JDesktopPane.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/swing/JDesktopPane.java	2017-12-02 04:30:06.116322274 +0000
 @@ -267,7 +267,7 @@
  
      private static Collection<JInternalFrame> getAllFrames(Container parent) {
@@ -6910,8 +7014,8 @@
          for (i = 0; i < count; i++) {
              Component next = parent.getComponent(i);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/jdk/net/Sockets.java openjdk-boot/jdk/src/share/classes/jdk/net/Sockets.java
---- openjdk-boot.orig/jdk/src/share/classes/jdk/net/Sockets.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/jdk/net/Sockets.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/jdk/net/Sockets.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/jdk/net/Sockets.java	2017-12-02 04:30:06.120322210 +0000
 @@ -58,7 +58,7 @@
  public class Sockets {
  
@@ -6958,8 +7062,8 @@
          set.add(StandardSocketOptions.SO_RCVBUF);
          set.add(StandardSocketOptions.SO_REUSEADDR);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java
---- openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-08-03 23:03:24.923282547 +0100
-+++ openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-12-02 04:14:42.135261964 +0000
++++ openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-12-02 04:30:06.120322210 +0000
 @@ -46,11 +46,11 @@
  public final class Policy {
  
@@ -6976,8 +7080,8 @@
      private static boolean noRMLoops = false;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java openjdk-boot/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java	2017-12-02 04:30:06.120322210 +0000
 @@ -96,7 +96,7 @@
      // IM preference stuff
      private static final String preferredIMNode = "/sun/awt/im/preferredInputMethod";
@@ -6988,8 +7092,8 @@
  
      ExecutableInputMethodManager() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/InputContext.java openjdk-boot/jdk/src/share/classes/sun/awt/im/InputContext.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/InputContext.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/awt/im/InputContext.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/awt/im/InputContext.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/awt/im/InputContext.java	2017-12-02 04:30:06.120322210 +0000
 @@ -552,10 +552,10 @@
  
              // keep the input method instance around for future use
@@ -7013,8 +7117,8 @@
              perInputMethodState.put(requester, Boolean.valueOf(enable));
              return;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/font/CreatedFontTracker.java openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/font/CreatedFontTracker.java	2017-12-02 04:30:06.120322210 +0000
 @@ -109,7 +109,7 @@
       * Note that this only applies to createFont() from an InputStream object.
       */
@@ -7025,8 +7129,8 @@
          private static Thread t = null;
          static void init() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-08-03 23:03:25.119279480 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-12-02 04:14:46.503191506 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-12-02 04:30:06.120322210 +0000
 @@ -60,7 +60,7 @@
          EnumMap<Wrapper, MethodHandle>[] caches
                  = (EnumMap<Wrapper, MethodHandle>[]) new EnumMap<?,?>[n];
@@ -7064,8 +7168,8 @@
              MethodHandle mh = findCollector("list", mhs.size(), List.class);
              if (mh == null)  break;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/io/CharacterEncoding.java openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/io/CharacterEncoding.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/io/CharacterEncoding.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java	2017-12-02 04:30:06.120322210 +0000
 @@ -54,7 +54,7 @@
      private static volatile boolean installedAll;
  
@@ -7076,8 +7180,8 @@
          aliasTable.put("us-ascii",              "ASCII");
          aliasTable.put("ascii",                 "ASCII");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/io/Converters.java openjdk-boot/jdk/src/share/classes/sun/io/Converters.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/io/Converters.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/io/Converters.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/io/Converters.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/io/Converters.java	2017-12-02 04:30:06.120322210 +0000
 @@ -120,7 +120,7 @@
  
      private static Class<?> cache(int type, Object encoding, Class<?> c) {
@@ -7088,8 +7192,8 @@
          return c;
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java openjdk-boot/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSProfile.java	2017-12-02 04:30:06.120322210 +0000
 @@ -61,7 +61,7 @@
  
          TagCache(LCMSProfile p) {
@@ -7100,8 +7204,8 @@
  
          TagData getTag(int sig) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-08-03 23:03:25.087279981 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-12-02 04:14:45.827202410 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-12-02 04:30:06.120322210 +0000
 @@ -171,7 +171,7 @@
      private static void printProperties(PrintStream ostream) {
          Properties p = System.getProperties();
@@ -7139,8 +7243,8 @@
              System.err.println("Incoming arguments:");
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/ConnectorAddressLink.java openjdk-boot/jdk/src/share/classes/sun/management/ConnectorAddressLink.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/ConnectorAddressLink.java	2017-08-04 00:13:16.713619973 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/ConnectorAddressLink.java	2017-08-04 00:27:43.987994804 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/ConnectorAddressLink.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/ConnectorAddressLink.java	2017-12-02 04:30:06.120322210 +0000
 @@ -168,7 +168,7 @@
              throw new IOException(iae.getMessage());
          }
@@ -7151,8 +7255,8 @@
              String name =  c.getName();
              if (name.startsWith(REMOTE_CONNECTOR_COUNTER_PREFIX) &&
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java openjdk-boot/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java	2017-08-04 00:13:16.721619849 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java	2017-08-04 00:27:33.232164346 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/counter/perf/PerfInstrumentation.java	2017-12-02 04:30:06.120322210 +0000
 @@ -73,7 +73,7 @@
          buffer.position(prologue.getEntryOffset());
          nextEntry = buffer.position();
@@ -7181,8 +7285,8 @@
  
          for (Map.Entry<String,Counter> me: map.entrySet()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/Flag.java openjdk-boot/jdk/src/share/classes/sun/management/Flag.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/Flag.java	2017-08-04 00:13:16.729619725 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/Flag.java	2017-08-04 00:27:26.192275316 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/Flag.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/Flag.java	2017-12-02 04:30:06.120322210 +0000
 @@ -91,7 +91,7 @@
          Flag[] flags = new Flag[numFlags];
          int count = getFlags(names, flags, numFlags);
@@ -7193,9 +7297,9 @@
              if (f != null) {
                  result.add(f);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-08-04 00:13:16.741619538 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-08-04 00:27:17.000420209 +0100
-@@ -137,7 +137,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-12-02 04:14:44.559222864 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-12-02 04:30:06.120322210 +0000
+@@ -141,7 +141,7 @@
          GC_INFO
      };
      private static HashMap<GcInfoBuilder,CompositeType> compositeTypeByBuilder =
@@ -7205,8 +7309,8 @@
      public static String getGcName(CompositeData cd) {
          String gcname = getString(cd, GC_NAME);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotCompilation.java openjdk-boot/jdk/src/share/classes/sun/management/HotspotCompilation.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotCompilation.java	2017-08-04 00:13:16.757619289 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/HotspotCompilation.java	2017-08-04 00:23:41.847812289 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotCompilation.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/HotspotCompilation.java	2017-12-02 04:30:06.120322210 +0000
 @@ -136,7 +136,7 @@
  
      private void initCompilerCounters() {
@@ -7226,8 +7330,8 @@
          if (threads[0] == null) {
              // no adaptor thread
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java openjdk-boot/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java	2017-08-04 00:13:16.765619165 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java	2017-08-04 00:19:48.595491029 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java	2017-12-02 04:30:06.120322210 +0000
 @@ -69,7 +69,7 @@
  
      public List<VMOption> getDiagnosticOptions() {
@@ -7238,8 +7342,8 @@
              if (flag.isWriteable() && flag.isExternal()) {
                  result.add(flag.getVMOption());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotThread.java openjdk-boot/jdk/src/share/classes/sun/management/HotspotThread.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotThread.java	2017-08-04 00:13:16.777618978 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/HotspotThread.java	2017-08-04 00:26:58.312714794 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/HotspotThread.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/HotspotThread.java	2017-12-02 04:30:06.120322210 +0000
 @@ -58,7 +58,7 @@
          String[] names = new String[count];
          long[] times = new long[count];
@@ -7250,8 +7354,8 @@
              result.put(names[i], new Long(times[i]));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java openjdk-boot/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/jdp/JdpPacketReader.java	2017-12-02 04:30:06.120322210 +0000
 @@ -120,7 +120,7 @@
  
          String key = null, value = null;
@@ -7262,8 +7366,8 @@
              while (true) {
                  key = getEntry();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java openjdk-boot/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java	2017-08-04 00:13:16.785618854 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java	2017-08-04 00:14:14.540721576 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java	2017-12-02 04:14:45.843202153 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/jmxremote/ConnectorBootstrap.java	2017-12-02 04:30:06.120322210 +0000
 @@ -244,7 +244,7 @@
                  }
              }
@@ -7273,7 +7377,7 @@
              for (Principal p2: principals) {
                  principalsStr.add(p2.getName());
              }
-@@ -483,7 +483,7 @@
+@@ -489,7 +489,7 @@
          try {
              // Export remote connector address and associated configuration
              // properties to the instrumentation buffer.
@@ -7282,7 +7386,7 @@
              properties.put("remoteAddress", url.toString());
              properties.put("authenticate", useAuthenticationStr);
              properties.put("ssl", useSslStr);
-@@ -509,7 +509,7 @@
+@@ -515,7 +515,7 @@
          System.setProperty("java.rmi.server.randomIDs", "true");
  
          // This RMI server should not keep the VM alive
@@ -7291,7 +7395,7 @@
          env.put(RMIExporter.EXPORTER_ATTRIBUTE, new PermanentExporter());
          env.put(EnvHelp.CREDENTIAL_TYPES, new String[]{
              String[].class.getName(), String.class.getName()
-@@ -739,7 +739,7 @@
+@@ -763,7 +763,7 @@
  
          JMXServiceURL url = new JMXServiceURL("rmi", bindAddress, rmiPort);
  
@@ -7301,8 +7405,8 @@
          PermanentExporter exporter = new PermanentExporter();
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java openjdk-boot/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2017-08-04 00:28:04.531670985 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java	2017-12-02 04:30:06.120322210 +0000
 @@ -110,7 +110,7 @@
  
      public static List<MemoryPoolMXBean> getMemoryPoolMXBeans() {
@@ -7340,8 +7444,8 @@
                  .getDirectBufferPool()));
              bufferPools.add(createBufferPoolMXBean(sun.nio.ch.FileChannelImpl
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/MappedMXBeanType.java openjdk-boot/jdk/src/share/classes/sun/management/MappedMXBeanType.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/MappedMXBeanType.java	2017-08-04 00:13:16.805618544 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/MappedMXBeanType.java	2017-08-04 00:47:00.889751705 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/MappedMXBeanType.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/MappedMXBeanType.java	2017-12-02 04:30:06.120322210 +0000
 @@ -62,7 +62,7 @@
  @SuppressWarnings("unchecked")
  public abstract class MappedMXBeanType {
@@ -7408,8 +7512,8 @@
                  /* Select public methods that look like "T getX()" or "boolean
                     isX()", where T is not void and X is not the empty
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java openjdk-boot/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java	2017-08-04 00:13:16.817618358 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java	2017-08-04 00:26:42.928957304 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/NotificationEmitterSupport.java	2017-12-02 04:30:06.120322210 +0000
 @@ -71,7 +71,7 @@
             efficient solution would be to clone the listener list
             every time a notification is sent.  */
@@ -7438,8 +7542,8 @@
              for (int i = 0; i < size; i++) {
                  ListenerInfo li =  newList.get(i);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/RuntimeImpl.java openjdk-boot/jdk/src/share/classes/sun/management/RuntimeImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/RuntimeImpl.java	2017-08-04 00:13:16.829618170 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/RuntimeImpl.java	2017-08-04 00:26:28.169189981 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/RuntimeImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/RuntimeImpl.java	2017-12-02 04:30:06.120322210 +0000
 @@ -128,7 +128,7 @@
  
      public Map<String,String> getSystemProperties() {
@@ -7450,8 +7554,8 @@
          // Properties.entrySet() does not include the entries in
          // the default properties.  So use Properties.stringPropertyNames()
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/misc/ObjectInputFilter.java openjdk-boot/jdk/src/share/classes/sun/misc/ObjectInputFilter.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/misc/ObjectInputFilter.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/misc/ObjectInputFilter.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/misc/ObjectInputFilter.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/misc/ObjectInputFilter.java	2017-12-02 04:30:06.120322210 +0000
 @@ -444,7 +444,7 @@
                  maxStreamBytes = Long.MAX_VALUE;
  
@@ -7462,8 +7566,8 @@
                      String p = patterns[i];
                      int nameLen = p.length();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/RegisteredDomain.java openjdk-boot/jdk/src/share/classes/sun/net/RegisteredDomain.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/RegisteredDomain.java	2017-08-04 00:13:16.837618046 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/RegisteredDomain.java	2017-08-04 00:25:58.261661470 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/RegisteredDomain.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/RegisteredDomain.java	2017-12-02 04:30:06.120322210 +0000
 @@ -118,8 +118,8 @@
  private static Set<String>  usSubStateSet = new HashSet<String>(Arrays.asList("state",
                  "lib", "k12", "cc", "tec", "gen", "cog", "mus", "dst"));
@@ -7476,8 +7580,8 @@
  static {
      /*
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2017-12-02 04:30:06.120322210 +0000
 @@ -52,7 +52,7 @@
  
      // Per-thread soft cache of the last temporary context
@@ -7506,8 +7610,8 @@
  
          // do the query
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/TransferProtocolClient.java openjdk-boot/jdk/src/share/classes/sun/net/TransferProtocolClient.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/TransferProtocolClient.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/TransferProtocolClient.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/TransferProtocolClient.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/TransferProtocolClient.java	2017-12-02 04:30:06.124322146 +0000
 @@ -42,7 +42,7 @@
  
      /** Array of strings (usually 1 entry) for the last reply
@@ -7518,8 +7622,8 @@
      /** code for last reply */
      protected int       lastReplyCode;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java	2017-12-02 04:30:06.124322146 +0000
 @@ -139,7 +139,7 @@
          this.dontUseNegotiate = dontUseNegotiate;
          this.rsp = response;
@@ -7530,8 +7634,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2017-08-03 23:28:06.619895011 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2017-12-02 04:30:06.124322146 +0000
 @@ -120,7 +120,7 @@
       * at the same time, then all but the first will block until
       * the first completes its authentication.
@@ -7542,8 +7646,8 @@
      /* check if a request for this destination is in progress
       * return false immediately if not. Otherwise block until
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-08-03 23:03:25.035280794 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-12-02 04:14:44.543223121 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-12-02 04:30:06.124322146 +0000
 @@ -224,7 +224,7 @@
          if (list == null || list.isEmpty())
              return Collections.emptySet();
@@ -7553,7 +7657,7 @@
          String[] parts = list.split("\\s*,\\s*");
          for (String part : parts)
              s.add(part.toLowerCase(Locale.ROOT));
-@@ -2721,7 +2721,7 @@
+@@ -2739,7 +2739,7 @@
          if (filteredHeaders != null)
              return filteredHeaders;
  
@@ -7562,7 +7666,7 @@
  
          if (cachedHeaders != null)
              headers = cachedHeaders.getHeaders();
-@@ -2730,7 +2730,7 @@
+@@ -2748,7 +2748,7 @@
  
          for (Map.Entry<String, List<String>> e: headers.entrySet()) {
              String key = e.getKey();
@@ -7571,7 +7675,7 @@
              for (String value : values) {
                  String fVal = filterHeaderField(key, value);
                  if (fVal != null)
-@@ -2912,7 +2912,7 @@
+@@ -2930,7 +2930,7 @@
           */
          Map<String, List<String>> userCookiesMap = null;
          if (userCookies != null || userCookies2 != null) {
@@ -7581,8 +7685,8 @@
                  userCookiesMap.put("Cookie", Arrays.asList(userCookies));
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java	2017-08-03 23:28:06.647894569 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java	2017-12-02 04:30:06.124322146 +0000
 @@ -128,7 +128,7 @@
       */
      private static synchronized boolean isSupportedImpl(HttpCallerInfo hci) {
@@ -7602,8 +7706,8 @@
                  };
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/URLConnection.java openjdk-boot/jdk/src/share/classes/sun/net/www/URLConnection.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/URLConnection.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/URLConnection.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/URLConnection.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/URLConnection.java	2017-12-02 04:30:06.124322146 +0000
 @@ -234,7 +234,7 @@
          url = null;
      }
@@ -7614,8 +7718,8 @@
      public synchronized static void setProxiedHost(String host) {
          proxiedHosts.put(host.toLowerCase(), null);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2017-12-02 04:30:06.124322146 +0000
 @@ -49,22 +49,22 @@
      /* Maps canonical names to class names
       */
@@ -7653,8 +7757,8 @@
  
          return new Iterator<Charset>() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2017-12-02 04:30:06.124322146 +0000
 @@ -84,7 +84,7 @@
              throw new IllegalArgumentException("'" + name() + ":" +
                  attribute + "' not recognized");
@@ -7665,8 +7769,8 @@
              result.put(ACL_NAME, getAcl());
          if (owner)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2017-12-02 04:30:06.124322146 +0000
 @@ -89,8 +89,8 @@
       * Used to build a map of attribute name/values.
       */
@@ -7679,8 +7783,8 @@
  
          private AttributesBuilder(Set<String> allowed, String[] requested) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2017-12-02 04:30:06.124322146 +0000
 @@ -102,7 +102,7 @@
              throw new NullPointerException();
          if (events.length == 0)
@@ -7691,8 +7795,8 @@
              // standard events
              if (event == StandardWatchEventKinds.ENTRY_CREATE ||
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2017-12-02 04:30:06.124322146 +0000
 @@ -77,7 +77,7 @@
          throws IOException
      {
@@ -7712,8 +7816,8 @@
              int size = size(name);
              byte[] buf = new byte[size];
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2017-12-02 04:30:06.124322146 +0000
 @@ -71,7 +71,7 @@
  
      @Override
@@ -7724,8 +7828,8 @@
              if (attribute.equals("*") || attribute.equals(OWNER_NAME)) {
                  result.put(OWNER_NAME, getOwner());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/Util.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/Util.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/Util.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java	2017-12-02 04:30:06.124322146 +0000
 @@ -63,7 +63,7 @@
       * Returns a Set containing the given elements.
       */
@@ -7745,8 +7849,8 @@
              set.add(e);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-08-03 23:03:24.923282547 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-12-02 04:14:42.135261964 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-12-02 04:30:06.124322146 +0000
 @@ -442,7 +442,7 @@
  
          Map<String, Class<?>> memberTypes = annotationType.memberTypes();
@@ -7757,8 +7861,8 @@
          // If there are annotation members without values, that
          // situation is handled by the invoke method.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java openjdk-boot/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	2017-12-02 04:30:06.124322146 +0000
 @@ -229,7 +229,7 @@
       *     "<" FormalTypeParameter+ ">"
       */
@@ -7823,8 +7927,8 @@
              ets.add(parseThrowsSignature());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl.java	2017-12-02 04:30:06.124322146 +0000
 @@ -84,9 +84,9 @@
      /* indicate compatibility with JDK 1.1.x version of class */
      private static final long serialVersionUID = 4666870661827494597L;
@@ -7838,8 +7942,8 @@
      private static ObjID id = new ObjID(ObjID.REGISTRY_ID);
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/BatchEnvironment.java	2017-12-02 04:30:06.124322146 +0000
 @@ -160,7 +160,7 @@
      }
  
@@ -7850,8 +7954,8 @@
      /**
       * Remember a generated source file generated so that it
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/Main.java openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/Main.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/Main.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/Main.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/Main.java	2017-12-02 04:30:06.124322146 +0000
 @@ -184,7 +184,7 @@
          destDir = null;
          flags = F_WARNINGS;
@@ -7871,8 +7975,8 @@
          // Pre-process command line for @file arguments
          try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java	2017-12-02 04:30:06.124322146 +0000
 @@ -61,7 +61,7 @@
   */
  public class RMIGenerator implements RMIConstants, Generator {
@@ -7892,8 +7996,8 @@
          uniqueList.addElement(defRuntimeException);
          uniqueList.addElement(defRemoteException);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-08-03 23:03:25.035280794 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-12-02 04:14:44.547223058 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-12-02 04:30:06.124322146 +0000
 @@ -66,10 +66,10 @@
  
      /** maps persistent IDs to activated remote objects */
@@ -7908,8 +8012,8 @@
      /**
       * Creates a default activation group implementation.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java	2017-08-03 23:03:25.091279918 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java	2017-12-02 04:14:45.827202410 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2017-12-02 04:30:06.124322146 +0000
 @@ -149,10 +149,10 @@
  
      /** maps activation id to its respective group id */
@@ -7966,8 +8070,8 @@
              /*
               * Parse arguments
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-08-03 23:03:25.035280794 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-12-02 04:14:44.547223058 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-12-02 04:30:06.124322146 +0000
 @@ -114,11 +114,11 @@
       * garbage collected.
       */
@@ -7992,8 +8096,8 @@
      /**
       * Convert an array of URL objects into a corresponding string
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java	2017-12-02 04:30:06.128322081 +0000
 @@ -76,14 +76,14 @@
  
      /** table to hold sun classes to which access is explicitly permitted */
@@ -8012,9 +8116,9 @@
      /**
       * if true, load classes (if not available locally) only from the
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-08-03 23:28:06.623894948 +0100
-@@ -575,7 +575,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-12-02 04:14:44.559222864 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-12-02 04:30:06.128322081 +0000
+@@ -580,7 +580,7 @@
          HashToMethod_Maps() {}
  
          protected Map<Long,Method> computeValue(Class<?> remoteClass) {
@@ -8024,8 +8128,8 @@
                   cl != null;
                   cl = cl.getSuperclass())
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Util.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/Util.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Util.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Util.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Util.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Util.java	2017-12-02 04:30:06.128322081 +0000
 @@ -208,7 +208,7 @@
       * @throws  NullPointerException if remoteClass is null
       */
@@ -8036,8 +8140,8 @@
          return list.toArray(new Class<?>[list.size()]);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/WeakClassHashMap.java	2017-12-02 04:30:06.128322081 +0000
 @@ -46,7 +46,7 @@
   **/
  public abstract class WeakClassHashMap<V> {
@@ -8048,8 +8152,8 @@
      protected WeakClassHashMap() { }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2017-08-03 23:28:06.623894948 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ConnectionInputStream.java	2017-12-02 04:30:06.128322081 +0000
 @@ -43,7 +43,7 @@
      private boolean dgcAckNeeded = false;
  
@@ -8060,8 +8164,8 @@
      /** identifier for gc ack*/
      private UID ackID;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCAckHandler.java	2017-12-02 04:30:06.128322081 +0000
 @@ -78,7 +78,7 @@
          Collections.synchronizedMap(new HashMap<UID,DGCAckHandler>());
  
@@ -8072,8 +8176,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCClient.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCClient.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCClient.java	2017-12-02 04:30:06.128322081 +0000
 @@ -197,9 +197,9 @@
          private DGC dgc;
  
@@ -8145,8 +8249,8 @@
              private boolean dirtyFailed = false;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl.java	2017-12-02 04:30:06.128322081 +0000
 @@ -94,7 +94,7 @@
      /** remote implementation of DGC interface for this VM */
      private static DGCImpl dgc;
@@ -8175,8 +8279,8 @@
          LeaseInfo(VMID vmid, long lease) {
              this.vmid = vmid;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java	2017-12-02 04:30:06.128322081 +0000
 @@ -62,9 +62,9 @@
  
      /** tables mapping to Target, keyed from ObjectEndpoint and impl object */
@@ -8199,8 +8303,8 @@
      /** handle for GC latency request (for future cancellation) */
      private static GC.LatencyRequest gcLatencyRequest = null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java	2017-12-02 04:30:06.128322081 +0000
 @@ -116,7 +116,7 @@
      /* construct table mapping command strings to handlers */
      private static Hashtable<String, CGICommandHandler> commandLookup;
@@ -8211,8 +8315,8 @@
              commandLookup.put(commands[i].getName(), commands[i]);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-08-03 23:03:25.091279918 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-12-02 04:14:45.827202410 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-12-02 04:30:06.128322081 +0000
 @@ -76,13 +76,13 @@
  
      /** table of hosts successfully connected to and the factory used */
@@ -8239,9 +8343,9 @@
  
          try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Target.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Target.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Target.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Target.java	2017-08-03 23:28:06.627894885 +0100
-@@ -53,10 +53,10 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Target.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Target.java	2017-12-02 04:30:06.128322081 +0000
+@@ -54,10 +54,10 @@
      /** stub for remote object */
      private final Remote stub;
      /** set of clients that hold references to this target */
@@ -8255,8 +8359,8 @@
      private final AccessControlContext acc;
      /** context class loader in which target was created */
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java	2017-12-02 04:30:06.128322081 +0000
 @@ -86,7 +86,7 @@
      private DataOutputStream dataOut;
  
@@ -8267,8 +8371,8 @@
      /** number of currently open connections */
      private int numConnections = 0;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java	2017-12-02 04:30:06.128322081 +0000
 @@ -64,7 +64,7 @@
      private final TCPTransport tr;
      /** list of cached connections */
@@ -8288,8 +8392,8 @@
      /** thread ID counter */
      private static int threadNum = 0;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-08-03 23:03:25.035280794 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-12-02 04:14:44.547223058 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-12-02 04:30:06.128322081 +0000
 @@ -148,7 +148,7 @@
      // TBD: should this be a weak hash table?
      private static final
@@ -8300,8 +8404,8 @@
      /**
       * Create an endpoint for a specified host and port.
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPTransport.java	2017-12-02 04:30:06.128322081 +0000
 @@ -124,7 +124,7 @@
  
      /** client host for the current thread's connection */
@@ -8321,8 +8425,8 @@
      static final RMISocketFactory defaultSocketFactory =
          RMISocketFactory.getDefaultSocketFactory();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Transport.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Transport.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Transport.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Transport.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/Transport.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/Transport.java	2017-12-02 04:30:06.128322081 +0000
 @@ -67,7 +67,7 @@
          Log.getLog("sun.rmi.transport.misc", "transport", Transport.logLevel);
  
@@ -8333,8 +8437,8 @@
      /** ObjID for DGCImpl */
      private static final ObjID dgcID = new ObjID(ObjID.DGC_ID);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2017-12-02 04:30:06.128322081 +0000
 @@ -36,7 +36,7 @@
   */
  public class AclEntryImpl implements AclEntry {
@@ -8345,8 +8449,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclImpl.java openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java	2017-12-02 04:30:06.128322081 +0000
 @@ -41,15 +41,15 @@
      // or principal.
      //
@@ -8387,8 +8491,8 @@
          while (e1.hasMoreElements())
              v.addElement(e1.nextElement());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/GroupImpl.java openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2017-12-02 04:30:06.128322081 +0000
 @@ -34,7 +34,7 @@
   * @author      Satish Dharmaraj
   */
@@ -8408,8 +8512,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/ProviderList.java openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/ProviderList.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/ProviderList.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java	2017-12-02 04:30:06.128322081 +0000
 @@ -97,7 +97,7 @@
          if (providerList.getProvider(p.getName()) != null) {
              return providerList;
@@ -8447,8 +8551,8 @@
              ids.add(new ServiceId(type, alg));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/Providers.java openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/Providers.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/Providers.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java	2017-12-02 04:30:06.128322081 +0000
 @@ -37,7 +37,7 @@
  public class Providers {
  
@@ -8459,8 +8563,8 @@
      // number of threads currently using thread-local provider lists
      // tracked to allow an optimization if == 0
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java openjdk-boot/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java	2017-12-02 04:30:06.128322081 +0000
 @@ -251,7 +251,7 @@
          }
  
@@ -8471,8 +8575,8 @@
                  keys.add(k);
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2017-08-03 23:03:24.927282484 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2017-12-02 04:14:42.135261964 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2017-12-02 04:30:06.128322081 +0000
 @@ -610,7 +610,7 @@
                  }
                  })));
@@ -8550,8 +8654,8 @@
              for (int i = 0; i < len; i++) {
                  type = getType(st.nextToken());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2017-12-02 04:30:06.128322081 +0000
 @@ -173,7 +173,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -8562,8 +8666,8 @@
          temp.putInteger(BigInteger.valueOf(authenticator_vno));
          v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x00), temp.toByteArray()));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2017-12-02 04:30:06.128322081 +0000
 @@ -99,7 +99,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -8574,8 +8678,8 @@
              throw new Asn1Exception(Krb5.ASN1_BAD_ID);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2017-08-03 23:03:25.091279918 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2017-12-02 04:14:45.831202346 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2017-12-02 04:30:06.128322081 +0000
 @@ -569,7 +569,7 @@
  
      private static String exec(String c) {
@@ -8586,8 +8690,8 @@
              v.addElement(st.nextToken());
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2017-12-02 04:30:06.132322016 +0000
 @@ -257,7 +257,7 @@
                  + configName);
          }
@@ -8598,8 +8702,8 @@
              if (EncryptionKey.findKey(answer[i], keys) != null) {
                  list.add(answer[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2017-08-03 23:28:06.627894885 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2017-12-02 04:30:06.132322016 +0000
 @@ -133,7 +133,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -8610,8 +8714,8 @@
          v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
                  true, (byte) 0x00), ctime.asn1Encode()));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2017-12-02 04:30:06.132322016 +0000
 @@ -179,7 +179,7 @@
      */
      public HostAddresses(DerValue encoding)
@@ -8631,8 +8735,8 @@
          for (int i = 0; i < addresses.length; i++) {
              try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2017-12-02 04:30:06.132322016 +0000
 @@ -165,7 +165,7 @@
              throw new Asn1Exception(Krb5.ASN1_BAD_ID);
          }
@@ -8661,8 +8765,8 @@
          if (msgType == Krb5.KRB_AS_REQ) {
              if (cname != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2017-12-02 04:30:06.132322016 +0000
 @@ -150,7 +150,7 @@
              if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -8673,8 +8777,8 @@
                  v.addElement(new PAData(subsubDer.getData().getDerValue()));
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2017-12-02 04:30:06.132322016 +0000
 @@ -150,7 +150,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -8685,8 +8789,8 @@
          if (pname != null) {
              v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), pname.getRealm().asn1Encode()));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2017-12-02 04:30:06.132322016 +0000
 @@ -134,7 +134,7 @@
              if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -8697,8 +8801,8 @@
                  v.addElement(new Ticket(subsubDer.getData().getDerValue()));
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2017-12-02 04:30:06.132322016 +0000
 @@ -249,7 +249,7 @@
      private void parsePAData(byte[] data)
              throws IOException, Asn1Exception {
@@ -8709,8 +8813,8 @@
              // read the PA-DATA
              DerValue tmp = derPA.data.getDerValue();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2017-08-03 23:03:25.091279918 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2017-12-02 04:14:45.831202346 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2017-12-02 04:30:06.132322016 +0000
 @@ -67,7 +67,7 @@
  
      // Attention: Currently there is no way to remove a keytab from this map,
@@ -8748,8 +8852,8 @@
          for (int i = entries.size()-1; i >= 0; i--) {
              KeyTabEntry e = entries.get(i);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2017-12-02 04:30:06.132322016 +0000
 @@ -77,7 +77,7 @@
       */
  
@@ -8760,9 +8864,9 @@
              throw new Asn1Exception(Krb5.ASN1_BAD_ID);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-08-03 23:28:06.631894822 +0100
-@@ -466,7 +466,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-12-02 04:30:06.132322016 +0000
+@@ -465,7 +465,7 @@
       */
      static class KdcAccessibility {
          // Known bad KDCs
@@ -8771,7 +8875,7 @@
  
          private static synchronized void addBad(String kdc) {
              if (DEBUG) {
-@@ -496,9 +496,9 @@
+@@ -495,9 +495,9 @@
          // Returns a preferred KDC list by putting the bad ones at the end
          private static synchronized String[] list(String kdcList) {
              StringTokenizer st = new StringTokenizer(kdcList);
@@ -8784,8 +8888,8 @@
                      String t = st.nextToken();
                      if (bads.contains(t)) badkdcs.add(t);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KrbServiceLocator.java	2017-12-02 04:30:06.132322016 +0000
 @@ -85,7 +85,7 @@
              // the initial context constructor. This avoids having the initial
              // context constructor call itself (when processing the URL
@@ -8805,8 +8909,8 @@
                  return null; // cannot create a DNS context
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-08-03 23:03:25.035280794 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-12-02 04:14:44.547223058 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-12-02 04:30:06.132322016 +0000
 @@ -265,7 +265,7 @@
              if (subDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -8826,8 +8930,8 @@
          int i = 0;
          int componentStart = 0;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Realm.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Realm.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Realm.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java	2017-12-02 04:30:06.132322016 +0000
 @@ -375,7 +375,7 @@
              return null;
          }
@@ -8846,10 +8950,49 @@
  
          // Un-common ones for client side
          for (int i=0; i<=cPos; i++) {
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs/SignerInfo.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs/SignerInfo.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs/SignerInfo.java	2017-12-02 04:48:58.269984313 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs/SignerInfo.java	2017-12-02 04:50:03.500927284 +0000
+@@ -268,7 +268,7 @@
+         if (userCert == null)
+             return null;
+ 
+-        ArrayList<X509Certificate> certList = new ArrayList<>();
++        ArrayList<X509Certificate> certList = new ArrayList<X509Certificate>();
+         certList.add(userCert);
+ 
+         X509Certificate[] pkcsCerts = block.getCertificates();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	2017-08-03 23:28:06.631894822 +0100
-@@ -894,7 +894,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	2017-12-02 04:41:12.393533571 +0000
+@@ -254,7 +254,7 @@
+             this.keyId = keyId;
+             this.alias = alias;
+             this.trustedKeyUsage = trustedKeyUsage;
+-            this.attributes = new HashSet<>();
++            this.attributes = new HashSet<PKCS12Attribute>();
+             if (attributes != null) {
+                 this.attributes.addAll(attributes);
+             }
+@@ -636,7 +636,7 @@
+                 throw new KeyStoreException("Unsupported Key type");
+             }
+ 
+-            entry.attributes = new HashSet<>();
++            entry.attributes = new HashSet<PKCS12Attribute>();
+             if (attributes != null) {
+                 entry.attributes.addAll(attributes);
+             }
+@@ -1323,7 +1323,7 @@
+     private Set<PKCS12Attribute> getAttributes(Entry entry) {
+ 
+         if (entry.attributes == null) {
+-            entry.attributes = new HashSet<>();
++            entry.attributes = new HashSet<PKCS12Attribute>();
+         }
+ 
+         // friendlyName
+@@ -1430,7 +1430,7 @@
          // Check for loops in the chain. If there are repeated certs,
          // the Set of certs in the chain will contain fewer certs than
          // the chain
@@ -8858,10 +9001,52 @@
          return set.size() == certChain.length;
      }
  
+@@ -2188,7 +2188,7 @@
+             String alias = null;
+             byte[] keyId = null;
+             ObjectIdentifier[] trustedKeyUsage = null;
+-            Set<PKCS12Attribute> attributes = new HashSet<>();
++            Set<PKCS12Attribute> attributes = new HashSet<PKCS12Attribute>();
+ 
+             if (attrSet != null) {
+                 for (int j = 0; j < attrSet.length; j++) {
+@@ -2268,7 +2268,7 @@
+                     keyList.add((PrivateKeyEntry) entry);
+                 }
+                 if (entry.attributes == null) {
+-                    entry.attributes = new HashSet<>();
++                    entry.attributes = new HashSet<PKCS12Attribute>();
+                 }
+                 entry.attributes.addAll(attributes);
+                 if (alias == null) {
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/AdjacencyList.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/AdjacencyList.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/AdjacencyList.java	2017-12-04 18:51:45.097822072 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/AdjacencyList.java	2017-12-04 18:58:16.091540634 +0000
+@@ -167,7 +167,7 @@
+                 // successful step? If there's only one entry without
+                 // a throwable, then that's the successful step. Otherwise,
+                 // we'll have to make some guesses...
+-                List<Vertex> possibles = new ArrayList<>();
++                List<Vertex> possibles = new ArrayList<Vertex>();
+                 for (Vertex v : l) {
+                     if (v.getThrowable() == null)
+                         possibles.add(v);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/Builder.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/Builder.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/Builder.java	2017-12-04 18:51:45.109821879 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/Builder.java	2017-12-04 18:58:06.067701614 +0000
+@@ -399,7 +399,7 @@
+                 (!initialPolicies.contains(PolicyChecker.ANY_POLICY)) &&
+                 (buildParams.policyMappingInhibited()))
+             {
+-                matchingPolicies = new HashSet<>(initialPolicies);
++                matchingPolicies = new HashSet<String>(initialPolicies);
+                 matchingPolicies.add(PolicyChecker.ANY_POLICY);
+             } else {
+                 // we just return an empty set to make sure that there is
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-08-03 23:28:06.631894822 +0100
-@@ -50,7 +50,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-12-02 04:30:06.132322016 +0000
+@@ -51,7 +51,7 @@
  public abstract class CertStoreHelper {
  
      private static final int NUM_TYPES = 2;
@@ -8870,21 +9055,456 @@
      static {
          classMap.put(
              "LDAP",
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CollectionCertStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CollectionCertStore.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CollectionCertStore.java	2017-12-04 18:51:45.129821559 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CollectionCertStore.java	2017-12-04 18:53:44.159908736 +0000
+@@ -122,7 +122,7 @@
+         // Tolerate a few ConcurrentModificationExceptions
+         for (int c = 0; c < 10; c++) {
+             try {
+-                HashSet<Certificate> result = new HashSet<>();
++                HashSet<Certificate> result = new HashSet<Certificate>();
+                 if (selector != null) {
+                     for (Object o : coll) {
+                         if ((o instanceof Certificate) &&
+@@ -164,7 +164,7 @@
+         // Tolerate a few ConcurrentModificationExceptions
+         for (int c = 0; c < 10; c++) {
+             try {
+-                HashSet<CRL> result = new HashSet<>();
++                HashSet<CRL> result = new HashSet<CRL>();
+                 if (selector != null) {
+                     for (Object o : coll) {
+                         if ((o instanceof CRL) && selector.match((CRL) o))
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-08-03 23:28:06.631894822 +0100
-@@ -586,7 +586,7 @@
-             // Except the performance improvement, another benefit is to break
-             // the dead loop while looking for the issuer back and forth
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-12-02 04:35:56.710649029 +0000
+@@ -146,7 +146,7 @@
+             }
+             List<DistributionPoint> points =
+                     ext.get(CRLDistributionPointsExtension.POINTS);
+-            Set<X509CRL> results = new HashSet<>();
++            Set<X509CRL> results = new HashSet<X509CRL>();
+             for (Iterator<DistributionPoint> t = points.iterator();
+                  t.hasNext() && !Arrays.equals(reasonsMask, ALL_REASONS); ) {
+                 DistributionPoint point = t.next();
+@@ -206,7 +206,7 @@
+                 return Collections.emptySet();
+             }
+         }
+-        Collection<X509CRL> possibleCRLs = new ArrayList<>();
++        Collection<X509CRL> possibleCRLs = new ArrayList<X509CRL>();
+         CertStoreException savedCSE = null;
+         for (Iterator<GeneralName> t = fullName.iterator(); t.hasNext(); ) {
+             try {
+@@ -232,7 +232,7 @@
+             throw savedCSE;
+         }
+ 
+-        Collection<X509CRL> crls = new ArrayList<>(2);
++        Collection<X509CRL> crls = new ArrayList<X509CRL>(2);
+         for (X509CRL crl : possibleCRLs) {
+             try {
+                 // make sure issuer is not set
+@@ -301,7 +301,7 @@
+         X509CRLSelector xcs = new X509CRLSelector();
+         xcs.addIssuer(name.asX500Principal());
+         xcs.addIssuer(certIssuer);
+-        Collection<X509CRL> crls = new ArrayList<>();
++        Collection<X509CRL> crls = new ArrayList<X509CRL>();
+         CertStoreException savedCSE = null;
+         for (CertStore store : certStores) {
+             try {
+@@ -660,7 +660,7 @@
+             // In addition to the performance improvement, another benefit is to
+             // break the dead loop while looking for the issuer back and forth
              // between the delegated self-issued certificate and its issuer.
 -            Set<TrustAnchor> newTrustAnchors = new HashSet<>(trustAnchors);
 +            Set<TrustAnchor> newTrustAnchors = new HashSet<TrustAnchor>(trustAnchors);
  
              if (prevKey != null) {
                  // Add the previous certificate as a trust anchor.
+@@ -750,7 +750,7 @@
+     private static GeneralNames getFullNames(X500Name issuer, RDN rdn)
+         throws IOException
+     {
+-        List<RDN> rdns = new ArrayList<>(issuer.rdns());
++        List<RDN> rdns = new ArrayList<RDN>(issuer.rdns());
+         rdns.add(rdn);
+         X500Name fullName = new X500Name(rdns.toArray(new RDN[0]));
+         GeneralNames fullNames = new GeneralNames();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java	2017-12-04 18:51:45.149821237 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java	2017-12-04 18:57:48.851978092 +0000
+@@ -122,7 +122,7 @@
+          * As each cert is added, it is sorted based on the PKIXCertComparator
+          * algorithm.
+          */
+-        Set<X509Certificate> certs = new TreeSet<>(comparator);
++        Set<X509Certificate> certs = new TreeSet<X509Certificate>(comparator);
+ 
+         /*
+          * Only look for EE certs if search has just started.
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/IndexedCollectionCertStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/IndexedCollectionCertStore.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/IndexedCollectionCertStore.java	2017-12-04 18:51:45.161821044 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/IndexedCollectionCertStore.java	2017-12-04 18:53:16.344355734 +0000
+@@ -180,7 +180,7 @@
+                 if (cert.equals(oldEntry)) {
+                     return;
+                 }
+-                List<X509Certificate> list = new ArrayList<>(2);
++                List<X509Certificate> list = new ArrayList<X509Certificate>(2);
+                 list.add(cert);
+                 list.add((X509Certificate)oldEntry);
+                 certSubjects.put(subject, list);
+@@ -206,7 +206,7 @@
+                 if (crl.equals(oldEntry)) {
+                     return;
+                 }
+-                List<X509CRL> list = new ArrayList<>(2);
++                List<X509CRL> list = new ArrayList<X509CRL>(2);
+                 list.add(crl);
+                 list.add((X509CRL)oldEntry);
+                 crlIssuers.put(issuer, list);
+@@ -240,14 +240,14 @@
+ 
+         // no selector means match all
+         if (selector == null) {
+-            Set<Certificate> matches = new HashSet<>();
++            Set<Certificate> matches = new HashSet<Certificate>();
+             matchX509Certs(new X509CertSelector(), matches);
+             matches.addAll(otherCertificates);
+             return matches;
+         }
+ 
+         if (selector instanceof X509CertSelector == false) {
+-            Set<Certificate> matches = new HashSet<>();
++            Set<Certificate> matches = new HashSet<Certificate>();
+             matchX509Certs(selector, matches);
+             for (Certificate cert : otherCertificates) {
+                 if (selector.match(cert)) {
+@@ -286,7 +286,7 @@
+                 // See certSubjects javadoc.
+                 @SuppressWarnings("unchecked")
+                 List<X509Certificate> list = (List<X509Certificate>)entry;
+-                Set<X509Certificate> matches = new HashSet<>(16);
++                Set<X509Certificate> matches = new HashSet<X509Certificate>(16);
+                 for (X509Certificate cert : list) {
+                     if (x509Selector.match(cert)) {
+                         matches.add(cert);
+@@ -296,7 +296,7 @@
+             }
+         }
+         // cannot use index, iterate all
+-        Set<Certificate> matches = new HashSet<>(16);
++        Set<Certificate> matches = new HashSet<Certificate>(16);
+         matchX509Certs(x509Selector, matches);
+         return matches;
+     }
+@@ -344,14 +344,14 @@
+             throws CertStoreException {
+ 
+         if (selector == null) {
+-            Set<CRL> matches = new HashSet<>();
++            Set<CRL> matches = new HashSet<CRL>();
+             matchX509CRLs(new X509CRLSelector(), matches);
+             matches.addAll(otherCRLs);
+             return matches;
+         }
+ 
+         if (selector instanceof X509CRLSelector == false) {
+-            Set<CRL> matches = new HashSet<>();
++            Set<CRL> matches = new HashSet<CRL>();
+             matchX509CRLs(selector, matches);
+             for (CRL crl : otherCRLs) {
+                 if (selector.match(crl)) {
+@@ -368,7 +368,7 @@
+         // see if the issuer is specified
+         Collection<X500Principal> issuers = x509Selector.getIssuers();
+         if (issuers != null) {
+-            HashSet<CRL> matches = new HashSet<>(16);
++            HashSet<CRL> matches = new HashSet<CRL>(16);
+             for (X500Principal issuer : issuers) {
+                 Object entry = crlIssuers.get(issuer);
+                 if (entry == null) {
+@@ -392,7 +392,7 @@
+             return matches;
+         }
+         // cannot use index, iterate all
+-        Set<CRL> matches = new HashSet<>(16);
++        Set<CRL> matches = new HashSet<CRL>(16);
+         matchX509CRLs(x509Selector, matches);
+         return matches;
+     }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java	2017-12-04 18:51:45.193820529 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java	2017-12-04 18:54:46.606905210 +0000
+@@ -309,7 +309,7 @@
+ 
+         // responses
+         DerValue[] singleResponseDer = seqDerIn.getSequence(1);
+-        singleResponseMap = new HashMap<>(singleResponseDer.length);
++        singleResponseMap = new HashMap<CertId,SingleResponse>(singleResponseDer.length);
+         if (debug != null) {
+             debug.println("OCSP number of SingleResponses: "
+                           + singleResponseDer.length);
+@@ -320,7 +320,8 @@
+         }
+ 
+         // responseExtensions
+-        Map<String, java.security.cert.Extension> tmpExtMap = new HashMap<>();
++        Map<String, java.security.cert.Extension> tmpExtMap =
++	    new HashMap<String,java.security.cert.Extension>();
+         if (seqDerIn.available() > 0) {
+             seq = seqDerIn.getDerValue();
+             if (seq.isContextSpecific((byte)1)) {
+@@ -735,7 +736,7 @@
+         parseExtensions(DerValue derVal) throws IOException {
+         DerValue[] extDer = derVal.data.getSequence(3);
+         Map<String, java.security.cert.Extension> extMap =
+-                new HashMap<>(extDer.length);
++	        new HashMap<String, java.security.cert.Extension>(extDer.length);
+ 
+         for (DerValue extDerVal : extDer) {
+             Extension ext = new Extension(extDerVal);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java	2017-12-04 18:51:45.209820273 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java	2017-12-04 18:57:39.340130850 +0000
+@@ -169,7 +169,7 @@
+         int certPathLen = params.certificates().size();
+ 
+         // create PKIXCertPathCheckers
+-        List<PKIXCertPathChecker> certPathCheckers = new ArrayList<>();
++        List<PKIXCertPathChecker> certPathCheckers = new ArrayList<PKIXCertPathChecker>();
+         // add standard checkers that we will be using
+         certPathCheckers.add(untrustedChecker);
+         certPathCheckers.add(new AlgorithmChecker(anchor, null, params.date(),
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PKIX.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PKIX.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PKIX.java	2017-12-02 04:48:58.281984119 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PKIX.java	2017-12-02 04:51:17.751724093 +0000
+@@ -136,7 +136,7 @@
+                     // Reverse the ordering for validation so that the target
+                     // cert is the last certificate
+                     @SuppressWarnings("unchecked")
+-                    List<X509Certificate> xc = new ArrayList<>
++                    List<X509Certificate> xc = new ArrayList<X509Certificate>
+                         ((List<X509Certificate>)certPath.getCertificates());
+                     Collections.reverse(xc);
+                     certs = xc;
+@@ -240,7 +240,7 @@
+         @Override List<CertStore> certStores() {
+             if (stores == null) {
+                 // reorder CertStores so that local CertStores are tried first
+-                stores = new ArrayList<>(params.getCertStores());
++                stores = new ArrayList<CertStore>(params.getCertStores());
+                 Collections.sort(stores, new CertStoreComparator());
+             }
+             return stores;
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PKIXRevocationChecker.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PKIXRevocationChecker.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PKIXRevocationChecker.java	2017-12-04 18:51:45.221820079 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PKIXRevocationChecker.java	2017-12-04 18:57:27.716317524 +0000
+@@ -188,7 +188,7 @@
+         if (responses == null) {
+             this.ocspStapled = Collections.<X509Certificate, byte[]>emptyMap();
+         } else {
+-            Map<X509Certificate, byte[]> copy = new HashMap<>(responses.size());
++            Map<X509Certificate, byte[]> copy = new HashMap<X509Certificate,byte[]>(responses.size());
+             for (Map.Entry<X509Certificate, byte[]> e : responses.entrySet()) {
+                 copy.put(e.getKey(), e.getValue().clone());
+             }
+@@ -207,7 +207,7 @@
+      *        Returns an empty map if no responses have been specified.
+      */
+     public Map<X509Certificate, byte[]> getOCSPStapledResponses() {
+-        Map<X509Certificate, byte[]> copy = new HashMap<>(ocspStapled.size());
++        Map<X509Certificate, byte[]> copy = new HashMap<X509Certificate,byte[]>(ocspStapled.size());
+         for (Map.Entry<X509Certificate, byte[]> e : ocspStapled.entrySet()) {
+             copy.put(e.getKey(), e.getValue().clone());
+         }
+@@ -239,8 +239,8 @@
+     @Override
+     public Object clone() {
+         PKIXRevocationChecker copy = (PKIXRevocationChecker)super.clone();
+-        copy.ocspExtensions = new ArrayList<>(ocspExtensions);
+-        copy.ocspStapled = new HashMap<>(ocspStapled);
++        copy.ocspExtensions = new ArrayList<Extension>(ocspExtensions);
++        copy.ocspStapled = new HashMap<X509Certificate,byte[]>(ocspStapled);
+         // deep-copy the encoded stapled responses, since they are mutable
+         for (Map.Entry<X509Certificate, byte[]> entry :
+                  copy.ocspStapled.entrySet())
+@@ -248,7 +248,7 @@
+             byte[] encoded = entry.getValue();
+             entry.setValue(encoded.clone());
+         }
+-        copy.options = new HashSet<>(options);
++        copy.options = new HashSet<Option>(options);
+         return copy;
+     }
+ 
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PolicyChecker.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PolicyChecker.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PolicyChecker.java	2017-12-04 18:51:45.233819886 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PolicyChecker.java	2017-12-04 18:56:43.889021375 +0000
+@@ -431,7 +431,7 @@
+         boolean policiesCritical = false;
+         List<PolicyInformation> policyInfo;
+         PolicyNodeImpl rootNode = null;
+-        Set<PolicyQualifierInfo> anyQuals = new HashSet<>();
++        Set<PolicyQualifierInfo> anyQuals = new HashSet<PolicyQualifierInfo>();
+ 
+         if (origRootNode == null)
+             rootNode = null;
+@@ -602,7 +602,7 @@
+         PolicyNodeImpl parentNode = (PolicyNodeImpl)anyNode.getParent();
+         parentNode.deleteChild(anyNode);
+         // see if there are any initialPolicies not represented by leaf nodes
+-        Set<String> initial = new HashSet<>(initPolicies);
++        Set<String> initial = new HashSet<String>(initPolicies);
+         for (PolicyNodeImpl node : rootNode.getPolicyNodes(certIndex)) {
+             initial.remove(node.getValidPolicy());
+         }
+@@ -699,7 +699,7 @@
+                         }
+                     }
+ 
+-                    Set<String> expPols = new HashSet<>();
++                    Set<String> expPols = new HashSet<String>();
+                     expPols.add(curParExpPol);
+ 
+                     curNode = new PolicyNodeImpl
+@@ -817,7 +817,7 @@
+                         PolicyNodeImpl curAnyNodeParent =
+                             (PolicyNodeImpl) curAnyNode.getParent();
+ 
+-                        Set<String> expPols = new HashSet<>();
++                        Set<String> expPols = new HashSet<String>();
+                         expPols.add(subjectDomain);
+ 
+                         PolicyNodeImpl curNode = new PolicyNodeImpl
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PolicyNodeImpl.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PolicyNodeImpl.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PolicyNodeImpl.java	2017-12-04 18:51:45.249819629 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PolicyNodeImpl.java	2017-12-04 18:55:06.134591398 +0000
+@@ -300,7 +300,7 @@
+      * @return a <code>Set</code> of all nodes at the specified depth
+      */
+     Set<PolicyNodeImpl> getPolicyNodes(int depth) {
+-        Set<PolicyNodeImpl> set = new HashSet<>();
++        Set<PolicyNodeImpl> set = new HashSet<PolicyNodeImpl>();
+         getPolicyNodes(depth, set);
+         return set;
+     }
+@@ -344,7 +344,7 @@
+     private Set<PolicyNodeImpl> getPolicyNodesExpectedHelper(int depth,
+         String expectedOID, boolean matchAny) {
+ 
+-        HashSet<PolicyNodeImpl> set = new HashSet<>();
++        HashSet<PolicyNodeImpl> set = new HashSet<PolicyNodeImpl>();
+ 
+         if (mDepth < depth) {
+             for (PolicyNodeImpl node : mChildren) {
+@@ -374,7 +374,7 @@
+      * @return a Set of matched <code>PolicyNode</code>s
+      */
+     Set<PolicyNodeImpl> getPolicyNodesValid(int depth, String validOID) {
+-        HashSet<PolicyNodeImpl> set = new HashSet<>();
++        HashSet<PolicyNodeImpl> set = new HashSet<PolicyNodeImpl>();
+ 
+         if (mDepth < depth) {
+             for (PolicyNodeImpl node : mChildren) {
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java	2017-12-04 18:51:45.265819373 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java	2017-12-04 18:55:27.158253645 +0000
+@@ -178,7 +178,7 @@
+         sel.setBasicConstraints(-2);
+ 
+         /* Retrieve matching certs from CertStores */
+-        HashSet<X509Certificate> eeCerts = new HashSet<>();
++        HashSet<X509Certificate> eeCerts = new HashSet<X509Certificate>();
+         addMatchingCerts(sel, certStores, eeCerts, true);
+ 
+         if (debug != null) {
+@@ -251,7 +251,7 @@
+         sel.setBasicConstraints(0);
+ 
+         /* Retrieve matching certs from CertStores */
+-        ArrayList<X509Certificate> reverseCerts = new ArrayList<>();
++        ArrayList<X509Certificate> reverseCerts = new ArrayList<X509Certificate>();
+         addMatchingCerts(sel, certStores, reverseCerts, true);
+ 
+         /* Sort remaining certs using name constraints */
+@@ -371,7 +371,7 @@
+          * of the same certificate, we reverse the certpathlist first
+          */
+         if ((certPathList != null) && (!certPathList.isEmpty())) {
+-            List<X509Certificate> reverseCertList = new ArrayList<>();
++            List<X509Certificate> reverseCertList = new ArrayList<X509Certificate>();
+             for (X509Certificate c : certPathList) {
+                 reverseCertList.add(0, c);
+             }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ReverseState.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ReverseState.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ReverseState.java	2017-12-04 18:51:45.281819115 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ReverseState.java	2017-12-04 18:56:23.629346739 +0000
+@@ -189,7 +189,7 @@
+         certIndex = 1;
+ 
+         /* Initialize policy tree */
+-        Set<String> initExpPolSet = new HashSet<>(1);
++        Set<String> initExpPolSet = new HashSet<String>(1);
+         initExpPolSet.add(PolicyChecker.ANY_POLICY);
+ 
+         rootNode = new PolicyNodeImpl(null, PolicyChecker.ANY_POLICY, null,
+@@ -199,7 +199,7 @@
+          * Initialize each user-defined checker
+          * Shallow copy the checkers
+          */
+-        userCheckers = new ArrayList<>(buildParams.certPathCheckers());
++        userCheckers = new ArrayList<PKIXCertPathChecker>(buildParams.certPathCheckers());
+         /* initialize each checker (just in case) */
+         for (PKIXCertPathChecker checker : userCheckers) {
+             checker.init(false);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java	2017-12-04 18:51:45.293818922 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java	2017-12-04 18:55:58.589748865 +0000
+@@ -144,7 +144,7 @@
+ 
+         this.anchor = anchor;
+         this.params = params;
+-        this.certStores = new ArrayList<>(params.certStores());
++        this.certStores = new ArrayList<CertStore>(params.certStores());
+         try {
+             this.certStores.add(CertStore.getInstance("Collection",
+                 new CollectionCertStoreParameters(params.certificates())));
+@@ -478,8 +478,8 @@
+                  BasicReason.UNDETERMINED_REVOCATION_STATUS);
+         }
+ 
+-        Set<X509CRL> possibleCRLs = new HashSet<>();
+-        Set<X509CRL> approvedCRLs = new HashSet<>();
++        Set<X509CRL> possibleCRLs = new HashSet<X509CRL>();
++        Set<X509CRL> approvedCRLs = new HashSet<X509CRL>();
+         X509CRLSelector sel = new X509CRLSelector();
+         sel.setCertificateChecking(cert);
+         CertPathHelper.setDateAndTime(sel, params.date(), MAX_CLOCK_SKEW);
+@@ -820,7 +820,7 @@
+             } else {
+                 points = ext.get(CRLDistributionPointsExtension.POINTS);
+             }
+-            Set<X509CRL> results = new HashSet<>();
++            Set<X509CRL> results = new HashSet<X509CRL>();
+             for (DistributionPoint point : points) {
+                 for (X509CRL crl : crls) {
+                     if (DistributionPointFetcher.verifyCRL(
+@@ -930,7 +930,7 @@
+             debug.println("RevocationChecker.buildToNewKey()" +
+                           " starting work");
+         }
+-        Set<PublicKey> badKeys = new HashSet<>();
++        Set<PublicKey> badKeys = new HashSet<PublicKey>();
+         if (prevKey != null) {
+             badKeys.add(prevKey);
+         }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/ssl/SSLServerCertStore.java	2017-12-02 04:30:06.132322016 +0000
 @@ -138,7 +138,7 @@
          if (selector == null) {
              return certs;
@@ -8894,10 +9514,49 @@
          for (X509Certificate cert : certs) {
              if (selector.match(cert)) {
                  matchedCerts.add(cert);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java	2017-12-04 18:51:45.305818729 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java	2017-12-04 18:52:34.197033045 +0000
+@@ -131,7 +131,7 @@
+     }
+ 
+     private PKIXCertPathBuilderResult build() throws CertPathBuilderException {
+-        List<List<Vertex>> adjList = new ArrayList<>();
++        List<List<Vertex>> adjList = new ArrayList<List<Vertex>>();
+         PKIXCertPathBuilderResult result = buildCertPath(false, adjList);
+         if (result == null) {
+             if (debug != null) {
+@@ -158,7 +158,7 @@
+         trustAnchor = null;
+         finalPublicKey = null;
+         policyTreeResult = null;
+-        LinkedList<X509Certificate> certPathList = new LinkedList<>();
++        LinkedList<X509Certificate> certPathList = new LinkedList<X509Certificate>();
+         try {
+             if (buildParams.buildForward()) {
+                 buildForward(adjList, certPathList, searchAllCertStores);
+@@ -397,7 +397,7 @@
+                     debug.println("SunCertPathBuilder.depthFirstSearchForward()"
+                                   + ": commencing final verification");
+ 
+-                List<X509Certificate> appendedCerts = new ArrayList<>(cpList);
++                List<X509Certificate> appendedCerts = new ArrayList<X509Certificate>(cpList);
+ 
+                 /*
+                  * if the trust anchor selected is specified as a trusted
+@@ -415,7 +415,7 @@
+                 PolicyNodeImpl rootNode = new PolicyNodeImpl(null,
+                     PolicyChecker.ANY_POLICY, null, false, initExpPolSet, false);
+ 
+-                List<PKIXCertPathChecker> checkers = new ArrayList<>();
++                List<PKIXCertPathChecker> checkers = new ArrayList<PKIXCertPathChecker>();
+                 PolicyChecker policyChecker
+                     = new PolicyChecker(buildParams.initialPolicies(),
+                                         appendedCerts.size(),
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-08-03 23:03:25.091279918 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-08-03 23:28:06.631894822 +0100
-@@ -339,7 +339,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-12-02 04:14:45.831202346 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-12-02 04:30:06.132322016 +0000
+@@ -340,7 +340,7 @@
          if (selector == null) {
              return certs;
          }
@@ -8906,10 +9565,22 @@
          for (X509Certificate cert : certs) {
              if (selector.match(cert)) {
                  matchedCerts.add(cert);
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-12-02 04:48:58.289983989 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-12-02 04:50:56.048075788 +0000
+@@ -82,7 +82,7 @@
+     private static final Collection<String> encodingList;
+ 
+     static {
+-        List<String> list = new ArrayList<>(2);
++        List<String> list = new ArrayList<String>(2);
+         list.add(PKIPATH_ENCODING);
+         list.add(PKCS7_ENCODING);
+         encodingList = Collections.unmodifiableCollection(list);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2017-08-03 23:28:06.631894822 +0100
-@@ -683,7 +683,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2017-12-02 04:30:06.132322016 +0000
+@@ -691,7 +691,7 @@
                      // Read the certificate chain
                      int numOfCerts = dis.readInt();
                      if (numOfCerts > 0) {
@@ -8919,8 +9590,8 @@
                          for (int j = 0; j < numOfCerts; j++) {
                              if (xVersion == 2) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2017-12-02 04:30:06.132322016 +0000
 @@ -292,7 +292,7 @@
      private static final int DEFAULT_CACHE_SIZE = 1;
  
@@ -8976,8 +9647,8 @@
                          while (i < certs.length) {
                              signerCerts.add(certs[i]);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/Sun.java openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/Sun.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/Sun.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java	2017-12-02 04:30:06.132322016 +0000
 @@ -55,7 +55,7 @@
              SunEntries.putEntries(this);
          } else {
@@ -8988,8 +9659,8 @@
              AccessController.doPrivileged(new PutAllAction(this, map));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/VerificationProvider.java openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2017-12-02 04:30:06.132322016 +0000
 @@ -76,7 +76,7 @@
              SunRsaSignEntries.putEntries(this);
          } else {
@@ -9000,8 +9671,8 @@
              SunRsaSignEntries.putEntries(map);
              AccessController.doPrivileged(new PutAllAction(this, map));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/X509Factory.java openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/X509Factory.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/X509Factory.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java	2017-12-02 04:30:06.136321951 +0000
 @@ -431,7 +431,7 @@
          int peekByte;
          byte[] data;
@@ -9057,8 +9728,8 @@
          } catch (ParsingException e) {
              while (data != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/RSACore.java openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/RSACore.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/RSACore.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java	2017-12-02 04:30:06.136321951 +0000
 @@ -57,7 +57,7 @@
      // use a weak hashmap so that cached values are automatically cleared
      // when the modulus is GC'ed
@@ -9069,8 +9740,8 @@
      private RSACore() {
          // empty
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2017-08-03 23:28:06.631894822 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2017-12-02 04:30:06.136321951 +0000
 @@ -52,7 +52,7 @@
              SunRsaSignEntries.putEntries(this);
          } else {
@@ -9081,8 +9752,8 @@
              AccessController.doPrivileged(new PutAllAction(this, map));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuite.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2017-12-02 04:30:06.136321951 +0000
 @@ -399,7 +399,7 @@
  
          // Map BulkCipher -> Boolean(available)
@@ -9093,8 +9764,8 @@
          // descriptive name including key size, e.g. AES/128
          final String description;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2017-12-02 04:30:06.136321951 +0000
 @@ -755,7 +755,7 @@
          if (certRequest != null) {
              X509ExtendedKeyManager km = sslContext.getX509KeyManager();
@@ -9132,8 +9803,8 @@
                      subAltDnsNames.add(subAltDnsName);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DHCrypt.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/DHCrypt.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DHCrypt.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/DHCrypt.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DHCrypt.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/DHCrypt.java	2017-12-02 04:30:06.136321951 +0000
 @@ -367,7 +367,7 @@
                  }
              }
@@ -9144,8 +9815,8 @@
                  Matcher syntaxMatcher = syntaxPattern.matcher(property);
                  if (syntaxMatcher.matches()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ExtensionType.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ExtensionType.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ExtensionType.java	2017-12-02 04:30:06.136321951 +0000
 @@ -42,7 +42,7 @@
          return name;
      }
@@ -9156,8 +9827,8 @@
      static ExtensionType get(int id) {
          for (ExtensionType ext : knownExtensions) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-08-03 23:03:24.927282484 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-12-02 04:14:42.139261899 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-12-02 04:30:06.136321951 +0000
 @@ -255,7 +255,7 @@
      // add server_name extension
      void addServerNameIndicationExtension(String hostname) {
@@ -9195,8 +9866,8 @@
      private static void digestKey(MessageDigest md, SecretKey key) {
          try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-08-03 23:03:25.039280732 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-12-02 04:14:44.547223058 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-12-02 04:30:06.136321951 +0000
 @@ -592,7 +592,7 @@
                  activeProtocols = getActiveProtocols();
              }
@@ -9216,8 +9887,8 @@
                  EnumSet.<CryptoPrimitive>of(CryptoPrimitive.KEY_AGREEMENT);
              for (ProtocolVersion protocol : enabledProtocols.collection()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolList.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2017-12-02 04:30:06.136321951 +0000
 @@ -79,7 +79,7 @@
              throw new IllegalArgumentException("Protocols may not be null");
          }
@@ -9228,8 +9899,8 @@
              ProtocolVersion version = ProtocolVersion.valueOf(names[i]);
              if (versions.contains(version) == false) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolVersion.java	2017-12-02 04:30:06.136321951 +0000
 @@ -106,7 +106,7 @@
  
      // Initialize the available protocols.
@@ -9240,8 +9911,8 @@
          ProtocolVersion[] pvs = new ProtocolVersion[] {
                  SSL20Hello, SSL30, TLS10, TLS11, TLS12};
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2017-12-02 04:30:06.136321951 +0000
 @@ -156,7 +156,7 @@
      static Collection<SignatureAndHashAlgorithm>
              getSupportedAlgorithms(AlgorithmConstraints constraints) {
@@ -9279,8 +9950,8 @@
              for (SignatureAndHashAlgorithm sigAlg : algorithms) {
                  if (sigAlg.hash.value > 0) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmDecomposer.java	2017-12-02 04:30:06.136321951 +0000
 @@ -48,7 +48,7 @@
      }
  
@@ -9318,9 +9989,9 @@
          if (keyExchange != null) {
              components.addAll(decomposes(keyExchange));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2017-08-03 23:28:06.635894758 +0100
-@@ -328,7 +328,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java	2017-12-02 04:30:06.136321951 +0000
+@@ -329,7 +329,7 @@
          Collection<CipherSuite> allowedCipherSuites =
                                      CipherSuite.allowedCipherSuites();
  
@@ -9329,7 +10000,7 @@
          if (!(protocols.collection().isEmpty()) &&
                  protocols.min.v != ProtocolVersion.NONE.v) {
              for (CipherSuite suite : allowedCipherSuites) {
-@@ -386,7 +386,7 @@
+@@ -387,7 +387,7 @@
  
          List<String> availableProtocols = Collections.<String>emptyList();
          if (protocolCandidates != null && protocolCandidates.length != 0) {
@@ -9338,7 +10009,7 @@
              for (ProtocolVersion p : protocolCandidates) {
                  if (ProtocolVersion.availableProtocols.contains(p)) {
                      availableProtocols.add(p.name);
-@@ -769,7 +769,7 @@
+@@ -770,7 +770,7 @@
                  return defaultKeyManagers;
              }
  
@@ -9347,7 +10018,7 @@
              AccessController.doPrivileged(
                          new PrivilegedExceptionAction<Object>() {
                  public Object run() throws Exception {
-@@ -1015,7 +1015,7 @@
+@@ -1016,7 +1016,7 @@
              // Does the certificate chain end with a trusted certificate?
              int checkedLength = chain.length - 1;
  
@@ -9357,8 +10028,8 @@
              if ((certs != null) && (certs.length > 0)){
                  Collections.addAll(trustedCerts, certs);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2017-12-02 04:30:06.136321951 +0000
 @@ -642,7 +642,7 @@
       * key and the calling security context. This is important since
       * sessions can be shared across different protection domains.
@@ -9378,8 +10049,8 @@
          Object securityCtx = SecureKey.getCurrentSecurityContext();
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java	2017-12-02 04:30:06.136321951 +0000
 @@ -2561,7 +2561,7 @@
              entrySet, HandshakeCompletedEvent e) {
  
@@ -9390,8 +10061,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2017-12-02 04:30:06.136321951 +0000
 @@ -337,7 +337,7 @@
  
          X500Principal[] x500Issuers = (X500Principal[])issuers;
@@ -9411,8 +10082,8 @@
              Principal p = principals[i];
              if (p instanceof X500Principal) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2017-08-03 23:03:23.291308083 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2017-12-02 04:14:40.163293773 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	2017-12-02 04:30:06.136321951 +0000
 @@ -50,12 +50,12 @@
      private static final int ARBITRARY_CHAR2 = 0xff02;
  
@@ -9457,8 +10128,8 @@
              if (constraints.permits(
                      EnumSet.of(CryptoPrimitive.KEY_AGREEMENT),
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SupportedEllipticPointFormatsExtension.java	2017-12-02 04:30:06.136321951 +0000
 @@ -92,7 +92,7 @@
      }
  
@@ -9469,8 +10140,8 @@
              list.add(toString(format));
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2017-12-02 04:30:06.136321951 +0000
 @@ -134,7 +134,7 @@
          FileInputStream fis = null;
          String defaultTrustStoreType;
@@ -9481,9 +10152,9 @@
          KeyStore ks = null;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-08-03 23:03:24.927282484 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-08-03 23:28:06.635894758 +0100
-@@ -309,7 +309,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-12-02 04:14:42.139261899 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-12-02 04:30:06.136321951 +0000
+@@ -310,7 +310,7 @@
                  (keyTypes.length == 0) || (keyTypes[0] == null)) {
              return null;
          }
@@ -9492,7 +10163,7 @@
          for (String keyType : keyTypes) {
              list.add(new KeyType(keyType));
          }
-@@ -431,7 +431,7 @@
+@@ -432,7 +432,7 @@
      // make a Set out of the array
      private Set<Principal> getIssuerSet(Principal[] issuers) {
          if ((issuers != null) && (issuers.length != 0)) {
@@ -9502,8 +10173,8 @@
              return null;
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java openjdk-boot/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java	2017-08-03 23:03:25.095279856 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java	2017-08-03 23:28:06.635894758 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java	2017-12-02 04:14:45.839202216 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java	2017-12-02 04:30:06.140321887 +0000
 @@ -134,14 +134,14 @@
      boolean token = false; // token-based keystore
      String jarfile;  // jar files to sign or verify
@@ -9596,9 +10267,9 @@
                  KeyStore caks = KeyStoreUtil.getCacertsKeyStore();
                  if (caks != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-08-03 23:03:25.091279918 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-08-03 23:28:06.639894695 +0100
-@@ -151,11 +151,11 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-12-02 04:14:45.831202346 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-12-02 04:33:55.096617509 +0000
+@@ -159,11 +159,11 @@
      private KeyStore caks = null; // "cacerts" keystore
      private char[] srcstorePass = null;
      private String srcstoretype = null;
@@ -9611,9 +10282,18 @@
 +    private List<String> ids = new ArrayList<String>();   // used in GENCRL
 +    private List<String> v3ext = new ArrayList<String>();
  
-     enum Command {
-         CERTREQ("Generates.a.certificate.request",
-@@ -2100,7 +2100,7 @@
+     // In-place importkeystore is special.
+     // A backup is needed, and no need to prompt for deststorepass.
+@@ -171,7 +171,7 @@
+     private String inplaceBackupName = null;
+ 
+     // Warnings on weak algorithms etc
+-    private List<String> weakWarnings = new ArrayList<>();
++    private List<String> weakWarnings = new ArrayList<String>();
+ 
+     private static final DisabledAlgorithmConstraints DISABLED_CHECK =
+             new DisabledAlgorithmConstraints(
+@@ -2261,7 +2261,7 @@
       */
      public static List<CRL> readCRLsFromCert(X509Certificate cert)
              throws Exception {
@@ -9622,7 +10302,7 @@
          CRLDistributionPointsExtension ext =
                  X509CertImpl.toImpl(cert).getCRLDistributionPointsExtension();
          if (ext == null) return crls;
-@@ -2268,7 +2268,7 @@
+@@ -2464,7 +2464,7 @@
          if (jarfile != null) {
              JarFile jf = new JarFile(jarfile, true);
              Enumeration<JarEntry> entries = jf.entries();
@@ -9631,16 +10311,70 @@
              byte[] buffer = new byte[8192];
              int pos = 0;
              while (entries.hasMoreElements()) {
-@@ -3316,7 +3316,7 @@
+@@ -3130,7 +3130,7 @@
+     private static Pair<String,Certificate>
+             getSigner(Certificate cert, KeyStore ks) throws Exception {
+         if (ks.getCertificateAlias(cert) != null) {
+-            return new Pair<>("", cert);
++            return new Pair<String, Certificate>("", cert);
+         }
+         for (Enumeration<String> aliases = ks.aliases();
+                 aliases.hasMoreElements(); ) {
+@@ -3139,7 +3139,7 @@
+             if (trustedCert != null) {
+                 try {
+                     cert.verify(trustedCert.getPublicKey());
+-                    return new Pair<>(name, trustedCert);
++                    return new Pair<String, Certificate>(name, trustedCert);
+                 } catch (Exception e) {
+                     // Not verified, skip to the next one
+                 }
+@@ -3557,22 +3557,22 @@
+         // name are stored in the same hash table entry as a vector.
+         Hashtable<Principal, Vector<Pair<String,X509Certificate>>> certs = null;
+         if (keyStore.size() > 0) {
+-            certs = new Hashtable<>(11);
++            certs = new Hashtable<Principal, Vector<Pair<String,X509Certificate>>>(11);
+             keystorecerts2Hashtable(keyStore, certs);
+         }
+         if (trustcacerts) {
+             if (caks!=null && caks.size()>0) {
+                 if (certs == null) {
+-                    certs = new Hashtable<>(11);
++                    certs = new Hashtable<Principal, Vector<Pair<String,X509Certificate>>>(11);
+                 }
+                 keystorecerts2Hashtable(caks, certs);
+             }
          }
  
          // start building chain
--        Vector<Certificate> chain = new Vector<>(2);
-+        Vector<Certificate> chain = new Vector<Certificate>(2);
-         if (buildChain((X509Certificate)certToVerify, chain, certs)) {
-             Certificate[] newChain = new Certificate[chain.size()];
-             // buildChain() returns chain with self-signed root-cert first and
-@@ -3815,7 +3815,7 @@
+-        Vector<Pair<String,X509Certificate>> chain = new Vector<>(2);
++	    Vector<Pair<String,X509Certificate>> chain = new Vector<Pair<String,X509Certificate>>(2);
+         if (buildChain(
+-                new Pair<>(rb.getString("the.input"),
++	        new Pair<String,X509Certificate>(rb.getString("the.input"),
+                            (X509Certificate) certToVerify),
+                 chain, certs)) {
+             for (Pair<String,X509Certificate> p : chain) {
+@@ -3702,7 +3702,7 @@
+             Certificate cert = ks.getCertificate(alias);
+             if (cert != null) {
+                 Principal subjectDN = ((X509Certificate)cert).getSubjectDN();
+-                Pair<String,X509Certificate> pair = new Pair<>(
++                Pair<String,X509Certificate> pair = new Pair<String, X509Certificate>(
+                         String.format(
+                                 rb.getString(ks == caks ?
+                                         "alias.in.cacerts" :
+@@ -3711,7 +3711,7 @@
+                         (X509Certificate)cert);
+                 Vector<Pair<String,X509Certificate>> vec = hash.get(subjectDN);
+                 if (vec == null) {
+-                    vec = new Vector<>();
++                    vec = new Vector<Pair<String,X509Certificate>>();
+                     vec.addElement(pair);
+                 } else {
+                     if (!vec.contains(pair)) {
+@@ -4094,7 +4094,7 @@
                          break;
                      case 2:     // EKU
                          if(value != null) {
@@ -9649,7 +10383,7 @@
                              for (String s: value.split(",")) {
                                  int p = oneOf(s,
                                          "anyExtendedKeyUsage",
-@@ -3885,7 +3885,7 @@
+@@ -4164,7 +4164,7 @@
                          }
                          if(value != null) {
                              List<AccessDescription> accessDescriptions =
@@ -9658,7 +10392,7 @@
                              String[] ps = value.split(",");
                              for(String item: ps) {
                                  colonpos = item.indexOf(':');
-@@ -4121,7 +4121,7 @@
+@@ -4475,7 +4475,7 @@
      }
  
      public static <A,B> Pair<A,B> of(A a, B b) {
@@ -9668,8 +10402,8 @@
  }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2017-12-02 04:30:06.140321887 +0000
 @@ -645,7 +645,7 @@
          Class<?> pc = Class.forName(type, true,
                  Thread.currentThread().getContextClassLoader());
@@ -9707,8 +10441,8 @@
          super(i, b);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java openjdk-boot/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/AlgorithmDecomposer.java	2017-12-02 04:30:06.140321887 +0000
 @@ -43,7 +43,7 @@
          // algorithm/mode/padding
          String[] transTockens = transPattern.split(algorithm);
@@ -9737,9 +10471,9 @@
  
          Set<String> elements = decomposeImpl(algorithm);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AnchorCertificates.java openjdk-boot/jdk/src/share/classes/sun/security/util/AnchorCertificates.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AnchorCertificates.java	2017-08-03 23:03:25.095279856 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/AnchorCertificates.java	2017-08-03 23:28:06.639894695 +0100
-@@ -59,7 +59,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/AnchorCertificates.java	2017-12-02 04:14:45.839202216 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/AnchorCertificates.java	2017-12-02 04:30:06.140321887 +0000
+@@ -61,7 +61,7 @@
                      try {
  			fis = new FileInputStream(f);
                          cacerts.load(fis, null);
@@ -9749,21 +10483,78 @@
                          String alias;
                          while (list.hasMoreElements()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-08-03 23:03:24.927282484 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-08-03 23:28:06.639894695 +0100
-@@ -235,7 +235,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-12-02 04:14:42.139261899 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-12-02 04:30:49.955612980 +0000
+@@ -220,7 +220,7 @@
       */
  
      private static class Constraints {
--        private Map<String, Set<Constraint>> constraintsMap = new HashMap<>();
-+        private Map<String, Set<Constraint>> constraintsMap = new HashMap<String, Set<Constraint>>();
-         private static final Pattern keySizePattern = Pattern.compile(
-                 "keySize\\s*(<=|<|==|!=|>|>=)\\s*(\\d+)");
- 
+-        private Map<String, List<Constraint>> constraintsMap = new HashMap<>();
++        private Map<String, List<Constraint>> constraintsMap = new HashMap<String, List<Constraint>>();
+ 
+         private static class Holder {
+             private static final Pattern DENY_AFTER_PATTERN = Pattern.compile(
+@@ -247,7 +247,7 @@
+                                 toUpperCase(Locale.ENGLISH)));
+                 List<Constraint> constraintList = constraintsMap.get(algorithm);
+                 if (constraintList == null) {
+-                    constraintList = new ArrayList<>(1);
++                    constraintList = new ArrayList<Constraint>(1);
+                     constraintsMap.put(algorithm, constraintList);
+                 }
+                 if (space <= 0) {
+@@ -369,7 +369,7 @@
+             }
+ 
+             // Get all signature algorithms to check for constraints
+-            Set<String> algorithms = new HashSet<>();
++            Set<String> algorithms = new HashSet<String>();
+             if (algorithm != null) {
+                 algorithms.addAll(AlgorithmDecomposer.decomposeOneHash(algorithm));
+             }
+@@ -1399,7 +1399,7 @@
+     private static class AvailableCalendarTypes {
+         private static final Set<String> SET;
+         static {
+-            Set<String> set = new HashSet<>(3);
++            Set<String> set = new HashSet<String>(3);
+             set.add("gregory");
+             set.add("buddhist");
+             set.add("japanese");
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java openjdk-boot/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java	2017-12-02 04:48:58.309983666 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java	2017-12-02 04:50:44.600261293 +0000
+@@ -96,7 +96,7 @@
+     private CertificateFactory certificateFactory = null;
+ 
+     /** Algorithms that have been checked if they are weak. */
+-    private Map<String, Boolean> permittedAlgs= new HashMap<>();
++    private Map<String, Boolean> permittedAlgs= new HashMap<String, Boolean>();
+ 
+     /** TSA timestamp of signed jar.  The newest timestamp is used.  If there
+      *  was no TSA timestamp used when signed, current time is used ("null").
+@@ -231,7 +231,7 @@
+     private MessageDigest getDigest(String algorithm)
+             throws SignatureException {
+         if (createdDigests == null)
+-            createdDigests = new HashMap<>();
++            createdDigests = new HashMap<String, MessageDigest>();
+ 
+         MessageDigest digest = createdDigests.get(algorithm);
+ 
+@@ -723,7 +723,7 @@
+             ArrayList<X509Certificate> chain = info.getCertificateChain(block);
+             CertPath certChain = certificateFactory.generateCertPath(chain);
+             if (signers == null) {
+-                signers = new ArrayList<>();
++                signers = new ArrayList<CodeSigner>();
+             }
+             // Append the new code signer
+             signers.add(new CodeSigner(certChain, info.getTimestamp()));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-08-03 23:03:25.043280670 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-08-03 23:28:06.639894695 +0100
-@@ -1252,7 +1252,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-12-02 04:14:44.555222928 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-12-02 04:30:06.140321887 +0000
+@@ -1278,7 +1278,7 @@
              if (exts == null) {
                  return null;
              }
@@ -9772,7 +10563,7 @@
              for (Extension ex : exts.getAllExtensions()) {
                  if (ex.isCritical()) {
                      extSet.add(ex.getExtensionId().toString());
-@@ -1282,7 +1282,7 @@
+@@ -1308,7 +1308,7 @@
              if (exts == null) {
                  return null;
              }
@@ -9781,7 +10572,7 @@
              for (Extension ex : exts.getAllExtensions()) {
                  if (!ex.isCritical()) {
                      extSet.add(ex.getExtensionId().toString());
-@@ -1519,10 +1519,10 @@
+@@ -1545,10 +1545,10 @@
          if (names.isEmpty()) {
              return Collections.<List<?>>emptySet();
          }
@@ -9794,7 +10585,7 @@
              nameEntry.add(Integer.valueOf(name.getType()));
              switch (name.getType()) {
              case GeneralNameInterface.NAME_RFC822:
-@@ -1580,12 +1580,12 @@
+@@ -1606,12 +1606,12 @@
              }
          }
          if (mustClone) {
@@ -9809,7 +10600,7 @@
                      nameEntryCopy.set(1, ((byte[])nameObject).clone());
                      namesCopy.add(Collections.unmodifiableList(nameEntryCopy));
                  } else {
-@@ -1904,7 +1904,7 @@
+@@ -1930,7 +1930,7 @@
      }
  
      private ConcurrentHashMap<String,String> fingerprints =
@@ -9819,8 +10610,8 @@
      public String getFingerprint(String algorithm) {
          String fingerprint = null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLEntryImpl.java	2017-12-02 04:30:06.140321887 +0000
 @@ -350,7 +350,7 @@
          if (extensions == null) {
              return null;
@@ -9849,8 +10640,8 @@
              map.put(ext.getId(), ext);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CRLImpl.java	2017-12-02 04:30:06.140321887 +0000
 @@ -103,8 +103,8 @@
      private X500Principal    issuerPrincipal = null;
      private Date             thisUpdate = null;
@@ -9862,7 +10653,7 @@
      private CRLExtensions    extensions = null;
      private final static boolean isExplicit = true;
      private static final long YR_2050 = 2524636800000L;
-@@ -903,7 +903,7 @@
+@@ -908,7 +908,7 @@
          if (extensions == null) {
              return null;
          }
@@ -9871,7 +10662,7 @@
          for (Extension ex : extensions.getAllExtensions()) {
              if (ex.isCritical()) {
                  extSet.add(ex.getExtensionId().toString());
-@@ -924,7 +924,7 @@
+@@ -929,7 +929,7 @@
          if (extensions == null) {
              return null;
          }
@@ -9881,8 +10672,8 @@
              if (!ex.isCritical()) {
                  extSet.add(ex.getExtensionId().toString());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/CommandLine.java openjdk-boot/jdk/src/share/classes/sun/tools/jar/CommandLine.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/CommandLine.java	2017-08-04 03:20:08.617930341 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/CommandLine.java	2017-08-04 03:21:21.468756260 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/CommandLine.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/CommandLine.java	2017-12-02 04:30:06.140321887 +0000
 @@ -55,7 +55,7 @@
      public static String[] parse(String[] args)
          throws IOException
@@ -9893,8 +10684,8 @@
              String arg = args[i];
              if (arg.length() > 1 && arg.charAt(0) == '@') {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/Manifest.java openjdk-boot/jdk/src/share/classes/sun/tools/jar/Manifest.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/Manifest.java	2017-08-04 03:20:08.629930148 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/Manifest.java	2017-08-04 03:21:00.349096595 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/Manifest.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/Manifest.java	2017-12-02 04:30:06.140321887 +0000
 @@ -47,10 +47,10 @@
      /* list of headers that all pertain to a particular
       * file in the archive
@@ -9909,8 +10700,8 @@
      static final String[] hashes = {"SHA"};
      static final byte[] EOL = {(byte)'\r', (byte)'\n'};
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/SignatureFile.java openjdk-boot/jdk/src/share/classes/sun/tools/jar/SignatureFile.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/SignatureFile.java	2017-08-04 03:20:08.637930019 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/SignatureFile.java	2017-08-04 03:20:44.077358827 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jar/SignatureFile.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jar/SignatureFile.java	2017-12-02 04:30:06.144321822 +0000
 @@ -66,7 +66,7 @@
  
      /* list of headers that all pertain to a particular file in the
@@ -9939,8 +10730,8 @@
      private MessageDigest getDigest(String algorithm)
      throws NoSuchAlgorithmException {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/native2ascii/Main.java openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2017-12-02 04:30:06.144321822 +0000
 @@ -94,7 +94,7 @@
       * Run the converter
       */
@@ -9951,8 +10742,8 @@
          boolean createOutputFile = false;
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java openjdk-boot/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/InternalLocaleBuilder.java	2017-12-02 04:30:06.144321822 +0000
 @@ -113,7 +113,7 @@
          }
          // Use case insensitive string to prevent duplication
@@ -10067,8 +10858,8 @@
                      ukeywords.put(key, type);
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LanguageTag.java openjdk-boot/jdk/src/share/classes/sun/util/locale/LanguageTag.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LanguageTag.java	2017-12-02 04:30:06.144321822 +0000
 @@ -62,7 +62,7 @@
      // Map contains grandfathered tags and its preferred mappings from
      // http://www.ietf.org/rfc/rfc5646.txt
@@ -10124,8 +10915,8 @@
                      extensions.add(locextKey.toString() + SEP + ext.getValue());
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleExtensions.java	2017-12-02 04:30:06.144321822 +0000
 @@ -81,7 +81,7 @@
          }
  
@@ -10153,8 +10944,8 @@
                      String key = LocaleUtils.toLowerString(kwd.getKey().value());
                      String type = LocaleUtils.toLowerString(kwd.getValue());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java	2017-12-02 04:30:06.144321822 +0000
 @@ -38,14 +38,14 @@
  
  public abstract class LocaleObjectCache<K, V> {
@@ -10191,8 +10982,8 @@
          return (oldEntry == null) ? null : oldEntry.get();
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java openjdk-boot/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/util/LocaleServiceProviderPool.java	2017-12-02 04:30:06.144321822 +0000
 @@ -59,7 +59,7 @@
       * set of provider implementations of a particular locale sensitive service.
       */
@@ -10212,8 +11003,8 @@
                          tmpList.add(getLookupLocale(locale));
                      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/logging/PlatformLogger.java openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2017-12-02 04:30:06.144321822 +0000
 @@ -187,7 +187,7 @@
  
      // Table of known loggers.  Maps names to PlatformLoggers.
@@ -10233,8 +11024,8 @@
          return log;
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/Demo.java openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/Demo.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/Demo.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java	2017-12-02 04:30:06.144321822 +0000
 @@ -160,7 +160,7 @@
          }
  
@@ -10269,8 +11060,8 @@
          openwrite.add(WRITE);
  
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2017-12-02 04:30:06.144321822 +0000
 @@ -142,8 +142,8 @@
          return new ZipCoder(Charset.defaultCharset());
      }
@@ -10283,8 +11074,8 @@
      private CharsetDecoder decoder() {
          CharsetDecoder dec = decTL.get();
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2017-08-03 23:28:06.639894695 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2017-12-02 04:30:06.144321822 +0000
 @@ -134,7 +134,7 @@
          throws IOException
      {
@@ -10295,8 +11086,8 @@
              for (AttrID id : AttrID.values()) {
                  try {
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2017-12-02 04:30:06.144321822 +0000
 @@ -157,7 +157,7 @@
  
      @Override
@@ -10397,8 +11188,8 @@
              inodes.put(root, root);
              dirs.add(root);
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java
---- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2017-12-02 04:30:06.144321822 +0000
 @@ -62,7 +62,7 @@
  public class ZipFileSystemProvider extends FileSystemProvider {
  
@@ -10409,8 +11200,8 @@
      public ZipFileSystemProvider() {}
  
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java
---- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2017-12-02 04:30:06.144321822 +0000
 @@ -68,7 +68,7 @@
          // We cache the C environment.  This means that subsequent calls
          // to putenv/setenv from C will not be visible from Java code.
@@ -10421,8 +11212,8 @@
          // so that earlier variables override later ones.
          for (int i = environ.length-1; i > 0; i-=2)
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java
---- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2017-08-03 23:03:25.095279856 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2017-12-02 04:14:45.839202216 +0000
++++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2017-12-02 04:30:06.144321822 +0000
 @@ -354,7 +354,7 @@
       * log against that map.  The resulting map is then written back
       * to the disk.
@@ -10487,8 +11278,8 @@
          }
          if (!changeLog.isEmpty()) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-12-02 04:30:06.144321822 +0000
 @@ -60,7 +60,7 @@
                                            int maxperkeyword,
                                            int maxkeywords)
@@ -10508,8 +11299,8 @@
          if (domain != null && domain.length() > 0) {
              sl.add(domain);
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java openjdk-boot/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java	2017-12-02 04:30:06.144321822 +0000
 @@ -43,10 +43,10 @@
  class JarFileFactory implements URLJarFile.URLJarFileCloseController {
  
@@ -10524,8 +11315,8 @@
      private static final JarFileFactory instance = new JarFileFactory();
  
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java	2017-12-02 04:30:06.144321822 +0000
 @@ -133,7 +133,7 @@
          pollArrayAddress = pollArray.address();
          wfd = init();
@@ -10536,8 +11327,8 @@
  
      void initInterrupt(int fd0, int fd1) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java	2017-12-02 04:30:06.144321822 +0000
 @@ -136,7 +136,7 @@
  
          // eventHigh needed when using file descriptors > 64k
@@ -10548,8 +11339,8 @@
  
      void initInterrupt(int fd0, int fd1) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java	2017-12-02 04:30:06.144321822 +0000
 @@ -67,7 +67,7 @@
          fd1 = (int) pipeFds;
          pollWrapper = new EPollArrayWrapper();
@@ -10560,8 +11351,8 @@
  
      protected int doSelect(long timeout) throws IOException {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java	2017-12-02 04:30:06.144321822 +0000
 @@ -113,7 +113,7 @@
              SocketAddress[] saa)
      {
@@ -10572,8 +11363,8 @@
               set.add(getRevealedLocalAddress(sa, sm));
           }
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2017-12-02 04:30:06.144321822 +0000
 @@ -153,12 +153,12 @@
  
      static {
@@ -10592,8 +11383,8 @@
          if (!(isEncodingSupported("US-ASCII") &&
                isEncodingSupported("ISO-8859-1")))
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2017-12-02 04:30:06.144321822 +0000
 @@ -53,7 +53,7 @@
          static final Set<String> supportedFileAttributeViews =
              supportedFileAttributeViews();
@@ -10613,8 +11404,8 @@
              long fp = setmntent(fstab.getBytes(), "r".getBytes());
              try {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2017-12-02 04:30:06.144321822 +0000
 @@ -63,7 +63,7 @@
  
      // Parses buffer as array of NULL-terminated C strings.
@@ -10625,8 +11416,8 @@
          int pos = 0;
          while (pos < size) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2017-12-02 04:30:06.148321757 +0000
 @@ -198,7 +198,7 @@
       * Decode the buffer, returning an ACL
       */
@@ -10637,8 +11428,8 @@
              long offset = address + i*SIZEOF_ACE_T;
  
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2017-12-02 04:30:06.148321757 +0000
 @@ -76,7 +76,7 @@
          static final Set<String> supportedFileAttributeViews =
              supportedFileAttributeViews();
@@ -10658,8 +11449,8 @@
              UnixPath mnttab = new UnixPath(this, "/etc/mnttab");
              long fp = fopen(mnttab, "r");
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2017-12-02 04:30:06.148321757 +0000
 @@ -83,7 +83,7 @@
                  }
  
@@ -10670,8 +11461,8 @@
                      byte[] name;
                      while ((name = readdir(dp)) != null) {
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2017-12-02 04:30:06.148321757 +0000
 @@ -194,7 +194,7 @@
      @Override
      public Set<PosixFilePermission> permissions() {
@@ -10682,8 +11473,8 @@
          if ((bits & UnixConstants.S_IRUSR) > 0)
              perms.add(PosixFilePermission.OWNER_READ);
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessEnvironment.java openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java
---- openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2017-12-02 04:30:06.148321757 +0000
 @@ -250,7 +250,8 @@
                                     envblock.substring(eql+1,end));
          }
@@ -10705,8 +11496,8 @@
  
          StringBuilder sb = new StringBuilder(size()*30);
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2017-12-02 04:30:06.148321757 +0000
 @@ -63,7 +63,7 @@
      // Parse string that consists of token delimited by space or commas
      // and return LinkedHashMap
@@ -10717,8 +11508,8 @@
          // comma and space are valid delimites
          StringTokenizer st = new StringTokenizer(str, ", ");
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2017-12-02 04:30:06.148321757 +0000
 @@ -128,7 +128,7 @@
          }
  
@@ -10729,8 +11520,8 @@
          for (int i = 0; i <= 25; i++) {  // 0->A, 1->B, 2->C...
              if ((drives & (1 << i)) != 0) {
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2017-12-02 04:30:06.148321757 +0000
 @@ -575,7 +575,7 @@
      // generate offset array
      private void initOffsets() {
@@ -10741,8 +11532,8 @@
                  // empty path considered to have one name element
                  list.add(0);
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2017-12-02 04:30:06.148321757 +0000
 @@ -378,7 +378,7 @@
              AclInformation aclInfo = GetAclInformation(aclAddress);
              aceCount = aclInfo.aceCount();
@@ -10753,8 +11544,8 @@
          // decode each of the ACEs to AclEntry objects
          for (int i=0; i<aceCount; i++) {
 diff -Nru openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java
---- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2017-12-02 04:30:06.148321757 +0000
 @@ -65,7 +65,7 @@
  
      // enumerates the file streams using FindFirstStream/FindNextStream APIs.
@@ -10801,8 +11592,8 @@
                  opts.add(WindowsChannelFactory.OPEN_REPARSE_POINT);
              opts.add(CREATE);
 diff -Nru openjdk-boot.orig/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java
---- openjdk-boot.orig/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2017-12-02 04:30:06.148321757 +0000
 @@ -56,7 +56,7 @@
      public static void main(String[] args) {
          System.err.println("\n Regression test for bug 6541870\n");
@@ -10813,8 +11604,8 @@
              ByteArrayOutputStream baos = new ByteArrayOutputStream();
              ObjectOutputStream oos = new ObjectOutputStream(baos);
 diff -Nru openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java
---- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2017-12-02 04:30:06.148321757 +0000
 @@ -50,7 +50,7 @@
      private final Injector[] after  = new Injector[256];
      private final String className;
@@ -10825,8 +11616,8 @@
      private int pos;
      private int newPos;
 diff -Nru openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/Inject.java openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java
---- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/Inject.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/Inject.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java	2017-12-02 04:30:06.148321757 +0000
 @@ -107,7 +107,7 @@
      class IndexedInjector implements TrackerInjector {
          int counter = 0;
@@ -10837,8 +11628,8 @@
          public int stackSize(int currentSize) {
              return currentSize + 1;
 diff -Nru openjdk-boot.orig/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java
---- openjdk-boot.orig/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2017-12-02 04:30:06.148321757 +0000
 @@ -103,7 +103,7 @@
          }
      }
@@ -10849,8 +11640,8 @@
      private static void check(Type t, String what) {
          if (t == null || !checking.add(t))
 diff -Nru openjdk-boot.orig/jdk/test/java/util/logging/ClassLoaderLeakTest.java openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java
---- openjdk-boot.orig/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2017-12-02 04:30:06.148321757 +0000
 @@ -89,7 +89,7 @@
  
           MyClassLoader appClassLoader = new MyClassLoader(urls, "test0");
@@ -10861,8 +11652,8 @@
  
           Thread appThread = new Thread(appsThreadGroup, launcher, "AppThread-0");
 diff -Nru openjdk-boot.orig/jdk/test/java/util/Random/DistinctSeeds.java openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java
---- openjdk-boot.orig/jdk/test/java/util/Random/DistinctSeeds.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java	2017-08-03 23:28:06.643894632 +0100
+--- openjdk-boot.orig/jdk/test/java/util/Random/DistinctSeeds.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java	2017-12-02 04:30:06.148321757 +0000
 @@ -59,7 +59,7 @@
              }
          }
--- a/patches/boot/ecj-multicatch.patch	Thu Nov 23 19:56:36 2017 +0000
+++ b/patches/boot/ecj-multicatch.patch	Tue Dec 05 19:25:17 2017 +0000
@@ -1,6 +1,24 @@
+diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java
+--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java	2017-12-05 04:59:13.113178160 +0000
+@@ -1001,9 +1001,11 @@
+                         public Object run() {
+                             try {
+                                 return cons.newInstance();
+-                            } catch (InstantiationException
+-                                     | InvocationTargetException
+-                                     | IllegalAccessException x) {
++                            } catch (InstantiationException x) {
++                                throw new UndeclaredThrowableException(x);
++                            } catch (InvocationTargetException x) {
++                                throw new UndeclaredThrowableException(x);
++                            } catch (IllegalAccessException x) {
+                                 throw new UndeclaredThrowableException(x);
+                             }
+                         }
 diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java
---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-02-07 04:06:22.000000000 +0000
-+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-02-07 21:48:40.285557536 +0000
+--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java	2017-12-05 04:59:13.093178482 +0000
 @@ -145,7 +145,9 @@
                  final String name = c.name();
                  ei = new EncodingInfo(name, name);
@@ -12,10 +30,46 @@
                  ei = new EncodingInfo(null,null);
              }
          }
+diff -Nru openjdk-boot.orig/jaxp/src/javax/xml/transform/TransformerException.java openjdk-boot/jaxp/src/javax/xml/transform/TransformerException.java
+--- openjdk-boot.orig/jaxp/src/javax/xml/transform/TransformerException.java	2017-11-30 03:00:25.000000000 +0000
++++ openjdk-boot/jaxp/src/javax/xml/transform/TransformerException.java	2017-12-05 04:59:13.113178160 +0000
+@@ -360,10 +360,13 @@
+                 } else {
+                     exception = null;
+                 }
+-                } catch (InvocationTargetException | IllegalAccessException
+-                        | NoSuchMethodException e) {
++	    } catch (InvocationTargetException e) {
+                 exception = null;
+-            }
++	    } catch (IllegalAccessException e) {
++                exception = null;
++	    } catch (NoSuchMethodException e) {
++                exception = null;
++	    }
+         }
+         // insure output is written
+         s.flush();
+diff -Nru openjdk-boot.orig/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java openjdk-boot/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java
+--- openjdk-boot.orig/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	2017-11-30 03:00:26.000000000 +0000
++++ openjdk-boot/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	2017-12-05 04:59:13.113178160 +0000
+@@ -440,7 +440,11 @@
+                 featureToSet = LOAD_EXTERNAL_DTD;
+                 factory.setFeature(featureToSet, false);
+             }
+-        } catch (ParserConfigurationException | SAXNotRecognizedException | SAXNotSupportedException e) {
++        } catch (ParserConfigurationException e) {
++            LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
++        } catch (SAXNotRecognizedException e) {
++            LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
++        } catch (SAXNotSupportedException e) {
+             LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
+         }
+         return factory;
 diff -Nru openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java
---- openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java	2017-02-07 21:48:40.285557536 +0000
-@@ -200,7 +200,8 @@
+--- openjdk-boot.orig/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/macosx/classes/com/apple/laf/AquaUtils.java	2017-12-05 04:59:13.093178482 +0000
+@@ -212,7 +212,8 @@
              try {
                  ReflectUtil.checkPackageAccess(clazz);
                  return clazz.newInstance();
@@ -25,9 +79,22 @@
              }
              return null;
          }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java openjdk-boot/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java	2017-12-05 04:59:13.109178224 +0000
+@@ -392,7 +392,8 @@
+         try {
+             gotoImage(imageIndex);
+             skipImage();
+-        } catch (IOException | IndexOutOfBoundsException e) {
++        } catch (IOException e) {
++        } catch (IndexOutOfBoundsException e) {
+         } finally {
+             cbLock.unlock();
+         }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java	2017-02-07 21:48:40.285557536 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jmx/remote/internal/ArrayNotificationBuffer.java	2017-12-05 04:59:13.093178482 +0000
 @@ -402,7 +402,13 @@
                          try {
                              ServerNotifForwarder.checkMBeanPermission(this.mBeanServer,
@@ -43,9 +110,90 @@
                              if (logger.debugOn()) {
                                  logger.debug("fetchNotifications", "candidate: " + candidate + " skipped. exception " + e);
                              }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java	2017-12-05 04:59:13.109178224 +0000
+@@ -147,7 +147,9 @@
+                 // convert referrals into a chain of LdapReferralException
+                 homeCtx.processReturnCode(res, listArg);
+ 
+-            } catch (LimitExceededException | PartialResultException e) {
++            } catch (LimitExceededException e) {
++                setNamingException(e);
++            } catch (PartialResultException e) {
+                 setNamingException(e);
+ 
+             }
+@@ -226,9 +228,13 @@
+                 // try to process another referral
+                 return hasMoreReferrals();
+ 
+-            } catch (LdapReferralException |
+-                     LimitExceededException |
+-                     PartialResultException e) {
++            } catch (LdapReferralException e) {
++                cleanup();
++                throw e;
++            } catch (LimitExceededException e) {
++                cleanup();
++                throw e;
++            } catch (PartialResultException e) {
+                 cleanup();
+                 throw e;
+ 
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java	2017-12-05 04:59:13.109178224 +0000
+@@ -251,10 +251,13 @@
+             return inetSocketAddressCons.newInstance(new Object[]{
+                 host, new Integer(port)});
+ 
+-        } catch (ClassNotFoundException |
+-                 InstantiationException |
+-                 InvocationTargetException |
+-                 IllegalAccessException e) {
++        } catch (ClassNotFoundException e) {
++            throw new NoSuchMethodException();
++        } catch (InstantiationException e) {
++            throw new NoSuchMethodException();
++        } catch (InvocationTargetException e) {
++            throw new NoSuchMethodException();
++        } catch (IllegalAccessException e) {
+             throw new NoSuchMethodException();
+ 
+         }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-12-05 04:56:57.639356696 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-12-05 04:59:13.109178224 +0000
+@@ -560,7 +560,9 @@
+                 if (answer.resControls != null) {
+                     respCtls = appendVector(respCtls, answer.resControls);
+                 }
+-            } catch (NamingException | IOException ae) {
++            } catch (NamingException ae) {
++                addEx = ae;
++            } catch (IOException ae) {
+                 addEx = ae;
+             }
+ 
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-12-05 04:59:13.109178224 +0000
+@@ -165,8 +165,9 @@
+                 throw new ClassCastException(applet.getClass().getName());
+             try {
+                 return getMethod.invoke(applet, name);
+-            } catch (InvocationTargetException |
+-                     IllegalAccessException e) {
++            } catch (InvocationTargetException e) {
++                throw new AssertionError(e);
++            } catch (IllegalAccessException e) {
+                 throw new AssertionError(e);
+             }
+         }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java openjdk-boot/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java	2017-02-07 21:48:40.297557341 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java	2017-12-05 04:59:13.097178418 +0000
 @@ -85,10 +85,13 @@
                                      ClassLoader.getSystemClassLoader());
              provider = (HttpServerProvider)c.newInstance();
@@ -64,9 +212,27 @@
              throw new ServiceConfigurationError(x);
          }
      }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2017-12-05 04:59:13.113178160 +0000
+@@ -1084,9 +1084,11 @@
+                         public Object run() {
+                             try {
+                                 return cons.newInstance();
+-                            } catch (InstantiationException
+-                                     | InvocationTargetException
+-                                     | IllegalAccessException x) {
++                            } catch (InstantiationException x) {
++                                throw new UndeclaredThrowableException(x);
++                            } catch (InvocationTargetException x) {
++                                throw new UndeclaredThrowableException(x);
++                            } catch (IllegalAccessException x) {
+                                 throw new UndeclaredThrowableException(x);
+                             }
+                         }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/PrintStream.java openjdk-boot/jdk/src/share/classes/java/io/PrintStream.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/PrintStream.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/PrintStream.java	2017-02-07 21:48:40.285557536 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/PrintStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/PrintStream.java	2017-12-05 04:59:13.097178418 +0000
 @@ -91,7 +91,10 @@
          requireNonNull(csn, "charsetName");
          try {
@@ -80,8 +246,8 @@
              throw new UnsupportedEncodingException(csn);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/io/PrintWriter.java openjdk-boot/jdk/src/share/classes/java/io/PrintWriter.java
---- openjdk-boot.orig/jdk/src/share/classes/java/io/PrintWriter.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/io/PrintWriter.java	2017-02-07 21:48:40.285557536 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/PrintWriter.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/io/PrintWriter.java	2017-12-05 04:59:13.097178418 +0000
 @@ -85,7 +85,10 @@
          Objects.requireNonNull(csn, "charsetName");
          try {
@@ -95,8 +261,8 @@
              throw new UnsupportedEncodingException(csn);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-02-07 21:48:40.285557536 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java	2017-12-05 04:59:13.097178418 +0000
 @@ -748,7 +748,9 @@
              Class<?> fieldType = Wrapper.forBasicType(types.charAt(index)).primitiveType();
              try {
@@ -124,8 +290,8 @@
              }
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/LambdaForm.java	2017-12-05 04:59:13.097178418 +0000
 @@ -456,9 +456,11 @@
                  traceInterpreter("compileToBytecode", this);
              isCompiled = true;
@@ -155,8 +321,8 @@
              Name n = new Name(zcon).newIndex(0);
              assert(n.type == ALL_TYPES.charAt(tn));
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MemberName.java	2017-12-05 04:59:13.097178418 +0000
 @@ -862,7 +862,12 @@
                  m = MethodHandleNatives.resolve(m, lookupClass);
                  m.checkForTypeAlias(m.getDeclaringClass());
@@ -172,8 +338,8 @@
                  assert(!m.isResolved());
                  m.resolution = ex;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-02-07 05:10:34.196888566 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-12-05 04:56:57.643356633 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-12-05 04:59:13.097178418 +0000
 @@ -264,7 +264,12 @@
                      continue;
                  }
@@ -189,8 +355,8 @@
                  // ignore exotic ops the JVM cares about; we just wont issue them
                  //System.err.println("warning: "+err);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2017-12-05 04:59:13.097178418 +0000
 @@ -606,7 +606,9 @@
              // create an MXBean proxy
              return JMX.newMXBeanProxy(connection, objName, mxbeanInterface,
@@ -203,8 +369,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2017-12-05 04:59:13.097178418 +0000
 @@ -1030,10 +1030,10 @@
                                       dir,
                                       redirects,
@@ -236,8 +402,8 @@
                  + (dir == null ? "" : " (in directory \"" + dir + "\")")
                  + exceptionInfo,
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2017-12-05 04:59:13.097178418 +0000
 @@ -762,7 +762,9 @@
      private static Object newInstance(Constructor<?> cons, InvocationHandler h) {
          try {
@@ -250,8 +416,8 @@
          } catch (InvocationTargetException e) {
              Throwable t = e.getCause();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/charset/Charset.java openjdk-boot/jdk/src/share/classes/java/nio/charset/Charset.java
---- openjdk-boot.orig/jdk/src/share/classes/java/nio/charset/Charset.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/nio/charset/Charset.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/charset/Charset.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/nio/charset/Charset.java	2017-12-05 04:59:13.097178418 +0000
 @@ -440,8 +440,9 @@
                                  } catch (ClassNotFoundException x) {
                                      // Extended charsets not available
@@ -265,8 +431,8 @@
                                  }
                                  return null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java openjdk-boot/jdk/src/share/classes/java/util/Formatter.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2017-12-05 04:59:13.097178418 +0000
 @@ -1857,7 +1857,10 @@
          Objects.requireNonNull(csn, "charsetName");
          try {
@@ -280,8 +446,8 @@
              throw new UnsupportedEncodingException(csn);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/Scanner.java openjdk-boot/jdk/src/share/classes/java/util/Scanner.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/Scanner.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/java/util/Scanner.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Scanner.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/util/Scanner.java	2017-12-05 04:59:13.097178418 +0000
 @@ -638,7 +638,10 @@
          Objects.requireNonNull(csn, "charsetName");
          try {
@@ -306,8 +472,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CipherInputStream.java openjdk-boot/jdk/src/share/classes/javax/crypto/CipherInputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CipherInputStream.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CipherInputStream.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CipherInputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CipherInputStream.java	2017-12-05 04:59:13.097178418 +0000
 @@ -116,7 +116,10 @@
              done = true;
              try {
@@ -333,8 +499,8 @@
              }
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CipherOutputStream.java openjdk-boot/jdk/src/share/classes/javax/crypto/CipherOutputStream.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CipherOutputStream.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/CipherOutputStream.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/CipherOutputStream.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/CipherOutputStream.java	2017-12-05 04:59:13.097178418 +0000
 @@ -208,7 +208,9 @@
          closed = true;
          try {
@@ -347,8 +513,8 @@
          }
          try {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java openjdk-boot/jdk/src/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/EncryptedPrivateKeyInfo.java	2017-12-05 04:59:13.101178353 +0000
 @@ -249,9 +249,13 @@
          try {
              encoded = cipher.doFinal(encryptedData);
@@ -379,8 +545,8 @@
                      "Cannot retrieve the PKCS8EncodedKeySpec", ex);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/crypto/SealedObject.java openjdk-boot/jdk/src/share/classes/javax/crypto/SealedObject.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/SealedObject.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/crypto/SealedObject.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/crypto/SealedObject.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/crypto/SealedObject.java	2017-12-05 04:59:13.101178353 +0000
 @@ -353,7 +353,9 @@
  
          try {
@@ -393,8 +559,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java openjdk-boot/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java	2017-12-05 04:59:13.101178353 +0000
 @@ -113,7 +113,10 @@
                          Method m = c.getDeclaredMethod("legacyMergeSort", new Class[]{Object[].class, Comparator.class});
                          m.setAccessible(true);
@@ -419,8 +585,8 @@
          }
          ListIterator<Component> i = l.listIterator();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/ValueConversions.java	2017-12-05 04:59:13.101178353 +0000
 @@ -482,7 +482,9 @@
              FILL_NEW_TYPED_ARRAY = IMPL_LOOKUP
                      .findStatic(THIS_CLASS, "fillNewTypedArray",
@@ -433,8 +599,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java openjdk-boot/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java	2017-12-05 04:59:13.101178353 +0000
 @@ -222,7 +222,9 @@
                      public Class<?> run() {
                          try {
@@ -446,9 +612,108 @@
                              return null; // Assume the class is not found
                          }
                      }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/Agent.java openjdk-boot/jdk/src/share/classes/sun/management/Agent.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/Agent.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/Agent.java	2017-12-05 04:59:13.109178224 +0000
+@@ -383,7 +383,13 @@
+                     adaptorClass.getMethod("initialize",
+                         String.class, Properties.class);
+             initializeMethod.invoke(null,snmpPort,props);
+-        } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException x) {
++        } catch (ClassNotFoundException x) {
++            // snmp runtime doesn't exist - initialization fails
++            throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
++        } catch (NoSuchMethodException x) {
++            // snmp runtime doesn't exist - initialization fails
++            throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
++        } catch (IllegalAccessException x) {
+             // snmp runtime doesn't exist - initialization fails
+             throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
+         } catch (InvocationTargetException x) {
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-12-05 04:59:13.109178224 +0000
+@@ -69,7 +69,11 @@
+                         Field f = cl.getDeclaredField("builder");
+                         f.setAccessible(true);
+                         return (GcInfoBuilder)f.get(gcNotifInfo.getGcInfo());
+-                    } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
++                    } catch(ClassNotFoundException e) {
++                        return null;
++                    } catch(NoSuchFieldException e) {
++                        return null;
++                    } catch(IllegalAccessException e) {
+                         return null;
+                     }
+                 }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/GcInfoCompositeData.java openjdk-boot/jdk/src/share/classes/sun/management/GcInfoCompositeData.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/management/GcInfoCompositeData.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/management/GcInfoCompositeData.java	2017-12-05 04:59:13.109178224 +0000
+@@ -76,7 +76,11 @@
+                                 Field f = cl.getDeclaredField("builder");
+                                 f.setAccessible(true);
+                                 return (GcInfoBuilder)f.get(info);
+-                            } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
++                            } catch(ClassNotFoundException e) {
++                                return null;
++                            } catch(NoSuchFieldException e) {
++                                return null;
++                            } catch(IllegalAccessException e) {
+                                 return null;
+                             }
+                         }
+@@ -88,7 +92,11 @@
+                                 Field f = cl.getDeclaredField("extAttributes");
+                                 f.setAccessible(true);
+                                 return (Object[])f.get(info);
+-                            } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
++                            } catch(ClassNotFoundException e) {
++                                return null;
++                            } catch(NoSuchFieldException e) {
++                                return null;
++                            } catch(IllegalAccessException e) {
+                                 return null;
+                             }
+                         }
+@@ -172,7 +180,10 @@
+             Method m = GcInfo.class.getMethod("getMemoryUsageBeforeGc");
+             memoryUsageMapType =
+                 MappedMXBeanType.getMappedType(m.getGenericReturnType());
+-        } catch (NoSuchMethodException | OpenDataException e) {
++        } catch (NoSuchMethodException e) {
++            // Should never reach here
++            throw new AssertionError(e);
++        } catch (OpenDataException e) {
+             // Should never reach here
+             throw new AssertionError(e);
+         }
+@@ -214,7 +225,10 @@
+         try {
+             TabularData td = (TabularData) cd.get(MEMORY_USAGE_BEFORE_GC);
+             return cast(memoryUsageMapType.toJavaTypeData(td));
+-        } catch (InvalidObjectException | OpenDataException e) {
++        } catch (InvalidObjectException e) {
++            // Should never reach here
++            throw new AssertionError(e);
++        } catch (OpenDataException e) {
+             // Should never reach here
+             throw new AssertionError(e);
+         }
+@@ -230,7 +244,10 @@
+             TabularData td = (TabularData) cd.get(MEMORY_USAGE_AFTER_GC);
+             //return (Map<String,MemoryUsage>)
+             return cast(memoryUsageMapType.toJavaTypeData(td));
+-        } catch (InvalidObjectException | OpenDataException e) {
++        } catch (InvalidObjectException e) {
++            // Should never reach here
++            throw new AssertionError(e);
++        } catch (OpenDataException e) {
+             // Should never reach here
+             throw new AssertionError(e);
+         }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java openjdk-boot/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java	2017-02-07 21:48:40.297557341 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/ftp/FtpClientProvider.java	2017-12-05 04:59:13.101178353 +0000
 @@ -70,10 +70,13 @@
              Class<?> c = Class.forName(cm, true, null);
              provider = (FtpClientProvider) c.newInstance();
@@ -468,9 +733,9 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-02-07 21:48:40.297557341 +0000
-@@ -883,7 +883,8 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	2017-12-05 04:59:13.101178353 +0000
+@@ -901,7 +901,8 @@
                      InetAddress a1 = InetAddress.getByName(h1);
                      InetAddress a2 = InetAddress.getByName(h2);
                      result[0] = a1.equals(a2);
@@ -480,7 +745,7 @@
                  }
                  return null;
              }
-@@ -1650,8 +1651,9 @@
+@@ -1668,8 +1669,9 @@
                                  // HttpsURLConnection instance saved in
                                  // DelegateHttpsURLConnection
                                  uconn = (URLConnection)this.getClass().getField("httpsURLConnection").get(this);
@@ -492,9 +757,90 @@
                                      // ignored; use 'this'
                                  }
                              }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/reflect/ReflectionFactory.java openjdk-boot/jdk/src/share/classes/sun/reflect/ReflectionFactory.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/ReflectionFactory.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/reflect/ReflectionFactory.java	2017-12-05 04:59:13.109178224 +0000
+@@ -598,7 +598,10 @@
+         }
+         try {
+             return (Boolean) m.invoke(null, cl);
+-        } catch (InvocationTargetException | IllegalAccessException ex) {
++        } catch (InvocationTargetException ex) {
++            throw (InternalError)
++                new InternalError("Exception invoking hasStaticInitializer").initCause(ex);
++        } catch (IllegalAccessException ex) {
+             throw (InternalError)
+                 new InternalError("Exception invoking hasStaticInitializer").initCause(ex);
+         }
+@@ -616,8 +619,16 @@
+                     OptionalDataException.class.getDeclaredConstructor(Boolean.TYPE);
+             boolCtor.setAccessible(true);
+             return boolCtor.newInstance(bool);
+-        } catch (NoSuchMethodException | InstantiationException|
+-                IllegalAccessException|InvocationTargetException ex) {
++        } catch (NoSuchMethodException ex) {
++            throw (InternalError)
++                new InternalError("unable to create OptionalDataException").initCause(ex);
++        } catch (InstantiationException ex) {
++            throw (InternalError)
++                new InternalError("unable to create OptionalDataException").initCause(ex);
++        } catch (IllegalAccessException ex) {
++            throw (InternalError)
++                new InternalError("unable to create OptionalDataException").initCause(ex);
++        } catch (InvocationTargetException ex) {
+             throw (InternalError)
+                 new InternalError("unable to create OptionalDataException").initCause(ex);
+         }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java	2017-12-05 04:59:13.113178160 +0000
+@@ -74,7 +74,9 @@
+                     java.io.ObjectInput in = call.getInputStream();
+                     $param_String_1 = (java.lang.String) in.readObject();
+                     $param_Remote_2 = (java.rmi.Remote) in.readObject();
+-                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++                } catch (java.io.IOException e) {
++                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
++                } catch (java.lang.ClassNotFoundException e) {
+                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
+                 } finally {
+                     call.releaseInputStream();
+@@ -107,7 +109,9 @@
+                 try {
+                     java.io.ObjectInput in = call.getInputStream();
+                     $param_String_1 = (java.lang.String) in.readObject();
+-                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++                } catch (java.io.IOException e) {
++                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
++                } catch (java.lang.ClassNotFoundException e) {
+                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
+                 } finally {
+                     call.releaseInputStream();
+@@ -133,7 +137,9 @@
+                     java.io.ObjectInput in = call.getInputStream();
+                     $param_String_1 = (java.lang.String) in.readObject();
+                     $param_Remote_2 = (java.rmi.Remote) in.readObject();
+-                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++                } catch (java.io.IOException e) {
++                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
++                } catch (java.lang.ClassNotFoundException e) {
+                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
+                 } finally {
+                     call.releaseInputStream();
+@@ -156,7 +162,9 @@
+                 try {
+                     java.io.ObjectInput in = call.getInputStream();
+                     $param_String_1 = (java.lang.String) in.readObject();
+-                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++                } catch (java.io.IOException e) {
++                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
++                } catch (java.lang.ClassNotFoundException e) {
+                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
+                 } finally {
+                     call.releaseInputStream();
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/ActivationGroupImpl.java	2017-12-05 04:59:13.101178353 +0000
 @@ -296,7 +296,16 @@
              active.put(id, entry);
              return entry.mobj;
@@ -514,9 +860,9 @@
               * or code recompiled and user forgot to provide
               *  activatable constructor?
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-02-07 21:48:40.289557471 +0000
-@@ -262,11 +262,14 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java	2017-12-05 04:59:13.101178353 +0000
+@@ -263,11 +263,14 @@
  
                      annotation = urlsToPath(urls);
                  }
@@ -532,10 +878,63 @@
                   * IOException: This shouldn't happen, although it is declared
                   * to be thrown by openConnection() and getPermission().  If it
                   * does happen, forget about this class loader's URLs and
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastRef.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastRef.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastRef.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastRef.java	2017-12-05 04:59:13.113178160 +0000
+@@ -186,7 +186,13 @@
+ 
+                 return returnValue;
+ 
+-            } catch (IOException | ClassNotFoundException e) {
++            } catch (IOException e) {
++                // disable saving any refs in the inputStream for GC
++                ((StreamRemoteCall)call).discardPendingRefs();
++                clientRefLog.log(Log.BRIEF,
++                                 e.getClass().getName() + " unmarshalling return: ", e);
++                throw new UnmarshalException("error unmarshalling return", e);
++            } catch (ClassNotFoundException e) {
+                 // disable saving any refs in the inputStream for GC
+                 ((StreamRemoteCall)call).discardPendingRefs();
+                 clientRefLog.log(Log.BRIEF,
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-12-05 04:59:13.113178160 +0000
+@@ -342,7 +342,12 @@
+                 // disable saving any refs in the inputStream for GC
+                 ((StreamRemoteCall) call).discardPendingRefs();
+                 throw aex;
+-            } catch (java.io.IOException | ClassNotFoundException e) {
++            } catch (java.io.IOException e) {
++                // disable saving any refs in the inputStream for GC
++                ((StreamRemoteCall) call).discardPendingRefs();
++                throw new UnmarshalException(
++                    "error unmarshalling arguments", e);
++            } catch (ClassNotFoundException e) {
+                 // disable saving any refs in the inputStream for GC
+                 ((StreamRemoteCall) call).discardPendingRefs();
+                 throw new UnmarshalException(
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java	2017-12-05 04:59:13.113178160 +0000
+@@ -132,7 +132,13 @@
+                     });
+                 }
+                 $result = (java.rmi.dgc.Lease) in.readObject();
+-            } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
++            } catch (java.io.IOException e) {
++                if (connection instanceof TCPConnection) {
++                    // Modified to prevent re-use of the connection after an exception
++                    ((TCPConnection) connection).getChannel().free(connection, false);
++                }
++                throw new java.rmi.UnmarshalException("error unmarshalling return", e);
++            } catch (java.lang.ClassNotFoundException e) {
+                 if (connection instanceof TCPConnection) {
+                     // Modified to prevent re-use of the connection after an exception
+                     ((TCPConnection) connection).getChannel().free(connection, false);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-02-07 21:48:40.289557471 +0000
-@@ -208,7 +208,9 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2017-12-05 04:59:13.101178353 +0000
+@@ -209,7 +209,9 @@
  
              return initialSocket;
  
@@ -546,7 +945,7 @@
              initialFailure = e;
          } catch (SocketException e) {
              if (eagerHttpFallback) {
-@@ -273,7 +275,9 @@
+@@ -274,7 +276,9 @@
                  }
                  // if connector ever does get socket, it won't be used
                  connector.notUsed();
@@ -558,8 +957,8 @@
              } catch (SocketException e) {
                  if (eagerHttpFallback) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java	2017-12-05 04:59:13.101178353 +0000
 @@ -623,7 +623,10 @@
              try {
                  TCPEndpoint.shedConnectionCaches();
@@ -573,8 +972,8 @@
                  // or shed fails non-catastrophically
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/PAData.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/PAData.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/PAData.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/PAData.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/PAData.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/PAData.java	2017-12-05 04:59:13.101178353 +0000
 @@ -280,7 +280,9 @@
                                      .append(info.getSalt())
                                      .append('\n');
@@ -598,8 +997,8 @@
                      }
                  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2017-12-05 04:59:13.101178353 +0000
 @@ -421,7 +421,9 @@
                                  hostName.toLowerCase(Locale.ENGLISH)+".")) {
                          hostName = canonicalized;
@@ -612,8 +1011,8 @@
                  }
                  nameParts[1] = hostName.toLowerCase(Locale.ENGLISH);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java	2017-12-05 04:59:13.101178353 +0000
 @@ -325,7 +325,9 @@
  
              // did not find anything
@@ -707,8 +1106,8 @@
              }
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java	2017-12-05 04:59:13.101178353 +0000
 @@ -130,7 +130,10 @@
                  rs.getModulus(),
                  rs.getPublicExponent()
@@ -733,10 +1132,193 @@
              throw new InvalidKeySpecException
                  ("Could not create RSA private key", e);
          }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-12-05 04:56:57.655356439 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-12-05 04:59:13.113178160 +0000
+@@ -83,8 +83,9 @@
+                                 = (CertStoreHelper)c.newInstance();
+                             cache.put(type, csh);
+                             return csh;
+-                        } catch (InstantiationException |
+-                                 IllegalAccessException e) {
++                        } catch (InstantiationException e) {
++                            throw new AssertionError(e);
++                        } catch (IllegalAccessException e) {
+                             throw new AssertionError(e);
+                         }
+                     }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	2017-12-05 04:59:13.113178160 +0000
+@@ -159,7 +159,9 @@
+                 debug.println("Returning " + results.size() + " CRLs");
+             }
+             return results;
+-        } catch (CertificateException | IOException e) {
++        } catch (CertificateException e) {
++            return Collections.emptySet();
++        } catch (IOException e) {
+             return Collections.emptySet();
+         }
+     }
+@@ -243,7 +245,13 @@
+                         trustAnchors, certStores, validity, variant)) {
+                     crls.add(crl);
+                 }
+-            } catch (IOException | CRLException e) {
++            } catch (IOException e) {
++                // don't add the CRL
++                if (debug != null) {
++                    debug.println("Exception verifying CRL: " + e.getMessage());
++                    e.printStackTrace();
++                }
++            } catch (CRLException e) {
+                 // don't add the CRL
+                 if (debug != null) {
+                     debug.println("Exception verifying CRL: " + e.getMessage());
+@@ -266,8 +274,12 @@
+         try {
+             ucs = URICertStore.getInstance
+                 (new URICertStore.URICertStoreParameters(uri));
+-        } catch (InvalidAlgorithmParameterException |
+-                 NoSuchAlgorithmException e) {
++        } catch (InvalidAlgorithmParameterException e) {
++            if (debug != null) {
++                debug.println("Can't create URICertStore: " + e.getMessage());
++            }
++            return null;
++        } catch (NoSuchAlgorithmException e) {
+             if (debug != null) {
+                 debug.println("Can't create URICertStore: " + e.getMessage());
+             }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSP.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/OCSP.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSP.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/OCSP.java	2017-12-05 04:59:13.113178160 +0000
+@@ -148,7 +148,10 @@
+         try {
+             X509CertImpl certImpl = X509CertImpl.toImpl(cert);
+             certId = new CertId(issuerCert, certImpl.getSerialNumberObject());
+-        } catch (CertificateException | IOException e) {
++        } catch (CertificateException e) {
++            throw new CertPathValidatorException
++                ("Exception while encoding OCSPRequest", e);
++        } catch (IOException e) {
+             throw new CertPathValidatorException
+                 ("Exception while encoding OCSPRequest", e);
+         }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/OCSPResponse.java	2017-12-05 04:59:13.113178160 +0000
+@@ -641,9 +641,11 @@
+                 }
+                 return false;
+             }
+-        } catch (InvalidKeyException | NoSuchAlgorithmException |
+-                 SignatureException e)
+-        {
++        } catch (InvalidKeyException e) {
++            throw new CertPathValidatorException(e);
++        } catch (NoSuchAlgorithmException e) {
++            throw new CertPathValidatorException(e);
++        } catch (SignatureException e) {
+             throw new CertPathValidatorException(e);
+         }
+     }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java	2017-12-05 04:59:13.113178160 +0000
+@@ -101,7 +101,9 @@
+                 X509CertImpl firstCertImpl = X509CertImpl.toImpl(firstCert);
+                 selector.parseAuthorityKeyIdentifierExtension(
+                             firstCertImpl.getAuthorityKeyIdentifierExtension());
+-            } catch (CertificateException | IOException e) {
++            } catch (CertificateException e) {
++                // ignore
++            } catch (IOException e) {
+                 // ignore
+             }
+         }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java	2017-12-05 04:56:57.655356439 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java	2017-12-05 04:59:13.113178160 +0000
+@@ -148,8 +148,14 @@
+         try {
+             this.certStores.add(CertStore.getInstance("Collection",
+                 new CollectionCertStoreParameters(params.certificates())));
+-        } catch (InvalidAlgorithmParameterException |
+-                 NoSuchAlgorithmException e) {
++        } catch (InvalidAlgorithmParameterException e) {
++            // should never occur but not necessarily fatal, so log it,
++            // ignore and continue
++            if (debug != null) {
++                debug.println("RevocationChecker: " +
++                              "error creating Collection CertStore: " + e);
++            }
++        } catch (NoSuchAlgorithmException e) {
+             // should never occur but not necessarily fatal, so log it,
+             // ignore and continue
+             if (debug != null) {
+@@ -831,7 +837,19 @@
+                     break;
+             }
+             return results;
+-        } catch (CertificateException | CRLException | IOException e) {
++        } catch (CertificateException e) {
++            if (debug != null) {
++                debug.println("Exception while verifying CRL: "+e.getMessage());
++                e.printStackTrace();
++            }
++            return Collections.emptySet();
++        } catch (CRLException e) {
++            if (debug != null) {
++                debug.println("Exception while verifying CRL: "+e.getMessage());
++                e.printStackTrace();
++            }
++            return Collections.emptySet();
++        } catch (IOException e) {
+             if (debug != null) {
+                 debug.println("Exception while verifying CRL: "+e.getMessage());
+                 e.printStackTrace();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/SunCertPathBuilder.java	2017-12-05 04:59:13.113178160 +0000
+@@ -165,7 +165,16 @@
+             } else {
+                 buildReverse(adjList, certPathList);
+             }
+-        } catch (GeneralSecurityException | IOException e) {
++        } catch (GeneralSecurityException e) {
++            if (debug != null) {
++                debug.println("SunCertPathBuilder.engineBuild() exception in "
++                    + "build");
++                e.printStackTrace();
++            }
++            throw new SunCertPathBuilderException("unable to find valid "
++                + "certification path to requested target", e,
++                new AdjacencyList(adjList));
++        } catch (IOException e) {
+             if (debug != null) {
+                 debug.println("SunCertPathBuilder.engineBuild() exception in "
+                     + "build");
+@@ -262,7 +271,13 @@
+                 depthFirstSearchReverse(null, currentState,
+                                         new ReverseBuilder(buildParams),
+                                         adjacencyList, certPathList);
+-            } catch (GeneralSecurityException | IOException e) {
++            } catch (GeneralSecurityException e) {
++                // continue on error if more anchors to try
++                if (iter.hasNext())
++                    continue;
++                else
++                    throw e;
++            } catch (IOException e) {
+                 // continue on error if more anchors to try
+                 if (iter.hasNext())
+                     continue;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-02-07 21:48:40.293557406 +0000
-@@ -307,7 +307,12 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/URICertStore.java	2017-12-05 04:59:13.113178160 +0000
+@@ -308,7 +308,12 @@
                      factory.generateCertificates(in);
              }
              return getMatchingCerts(certs, selector);
@@ -750,7 +1332,7 @@
              if (debug != null) {
                  debug.println("Exception fetching certificates:");
                  e.printStackTrace();
-@@ -414,7 +419,12 @@
+@@ -420,7 +425,17 @@
                  crl = (X509CRL) factory.generateCRL(in);
              }
              return getMatchingCRLs(crl, selector);
@@ -760,13 +1342,82 @@
 +                debug.println("Exception fetching CRL:");
 +                e.printStackTrace();
 +            }
++            // exception, forget previous values
++            lastModified = 0;
++            crl = null;
++            throw new PKIX.CertStoreTypeException("URI",
++                                                  new CertStoreException(e));
 +        } catch (CRLException e) {
              if (debug != null) {
                  debug.println("Exception fetching CRL:");
                  e.printStackTrace();
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/KeyStoreDelegator.java openjdk-boot/jdk/src/share/classes/sun/security/provider/KeyStoreDelegator.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/KeyStoreDelegator.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/KeyStoreDelegator.java	2017-12-05 04:59:13.113178160 +0000
+@@ -204,7 +204,9 @@
+             try {
+                 keystore = primaryKeyStore.newInstance();
+ 
+-            } catch (InstantiationException | IllegalAccessException e) {
++            } catch (InstantiationException e) {
++                // can safely ignore
++            } catch (IllegalAccessException e) {
+                 // can safely ignore
+             }
+             type = primaryType;
+@@ -244,17 +246,15 @@
+                           "keystore security level");
+                     }
+ 
+-                } catch (InstantiationException |
+-                    IllegalAccessException e2) {
++                } catch (InstantiationException e2) {
++                    // can safely ignore
++                } catch (IllegalAccessException e2) {
+                     // can safely ignore
+ 
+-                } catch (IOException |
+-                    NoSuchAlgorithmException |
+-                    CertificateException e3) {
++                } catch (IOException e3) {
+ 
+                     // incorrect password
+-                    if (e3 instanceof IOException &&
+-                        e3.getCause() instanceof
++                    if (e3.getCause() instanceof
+                             UnrecoverableKeyException) {
+                         throw (IOException)e3;
+                     }
+@@ -266,7 +266,25 @@
+                     } else if (e instanceof NoSuchAlgorithmException) {
+                         throw (NoSuchAlgorithmException)e;
+                     }
+-                }
++                } catch (NoSuchAlgorithmException e3) {
++                    // rethrow the outer exception
++                    if (e instanceof IOException) {
++                        throw (IOException)e;
++                    } else if (e instanceof CertificateException) {
++                        throw (CertificateException)e;
++                    } else if (e instanceof NoSuchAlgorithmException) {
++                        throw (NoSuchAlgorithmException)e;
++                    }
++                } catch (CertificateException e3) {
++                    // rethrow the outer exception
++                    if (e instanceof IOException) {
++                        throw (IOException)e;
++                    } else if (e instanceof CertificateException) {
++                        throw (CertificateException)e;
++                    } else if (e instanceof NoSuchAlgorithmException) {
++                        throw (NoSuchAlgorithmException)e;
++                    }
++		}
+             }
+ 
+             if (debug != null) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SecureRandom.java openjdk-boot/jdk/src/share/classes/sun/security/provider/SecureRandom.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SecureRandom.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SecureRandom.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SecureRandom.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SecureRandom.java	2017-12-05 04:59:13.105178290 +0000
 @@ -100,7 +100,15 @@
               * performance overhead.
               */
@@ -802,8 +1453,8 @@
              try {
                  digest = MessageDigest.getInstance("SHA");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java	2017-02-07 21:48:40.289557471 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java	2017-12-05 04:59:13.105178290 +0000
 @@ -119,7 +119,10 @@
              ECPublicKeySpec spec = new ECPublicKeySpec(point, params);
              PublicKey peerPublicKey = kf.generatePublic(spec);
@@ -829,8 +1480,8 @@
                      "Could not generate ECPublicKey").initCause(e);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2017-12-05 04:59:13.105178290 +0000
 @@ -1144,8 +1144,7 @@
              KeyGenerator kg = JsseJce.getKeyGenerator(masterAlg);
              kg.init(spec);
@@ -855,8 +1506,8 @@
              throw new ProviderException(iae);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java	2017-12-05 04:59:13.105178290 +0000
 @@ -173,14 +173,20 @@
                      clientVersion, serverVersion, encodedSecret),
                      generator);
@@ -881,9 +1532,9 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-02-07 21:48:40.293557406 +0000
-@@ -2533,7 +2533,9 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-12-05 04:59:13.105178290 +0000
+@@ -2738,7 +2738,9 @@
          X509Certificate cert = null;
          try {
              cert = (X509Certificate)cf.generateCertificate(in);
@@ -894,9 +1545,23 @@
              throw new Exception(rb.getString("Input.not.an.X.509.certificate"));
          }
  
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-12-05 04:59:13.109178224 +0000
+@@ -1962,7 +1962,9 @@
+                 byte2hex(digest[i], buf);
+             }
+             fingerPrint = buf.toString();
+-        } catch (NoSuchAlgorithmException | CertificateEncodingException e) {
++        } catch (NoSuchAlgorithmException e) {
++            // ignored
++        } catch (CertificateEncodingException e) {
+             // ignored
+         }
+         return fingerPrint;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/text/bidi/BidiBase.java openjdk-boot/jdk/src/share/classes/sun/text/bidi/BidiBase.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/text/bidi/BidiBase.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/text/bidi/BidiBase.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/text/bidi/BidiBase.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/text/bidi/BidiBase.java	2017-12-05 04:59:13.109178224 +0000
 @@ -3478,7 +3478,9 @@
              try {
                  Field f = clazz.getField(name);
@@ -909,8 +1574,8 @@
              }
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2017-12-05 04:59:13.109178224 +0000
 @@ -94,7 +94,7 @@
                          && mainClass.indexOf(arg.getProcessSubstring()) != -1) {
                              pids.add(vmd.id());
@@ -955,8 +1620,8 @@
  
      private static String getMainClass(VirtualMachineDescriptor vmd)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jconsole/Resources.java openjdk-boot/jdk/src/share/classes/sun/tools/jconsole/Resources.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jconsole/Resources.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jconsole/Resources.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jconsole/Resources.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jconsole/Resources.java	2017-12-05 04:59:13.109178224 +0000
 @@ -129,7 +129,9 @@
      private static void setFieldValue(Field field, String value) {
          try {
@@ -988,8 +1653,8 @@
              return 0;
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/jfc/Notepad/Notepad.java openjdk-boot/jdk/src/share/demo/jfc/Notepad/Notepad.java
---- openjdk-boot.orig/jdk/src/share/demo/jfc/Notepad/Notepad.java	2017-02-07 04:14:25.000000000 +0000
-+++ openjdk-boot/jdk/src/share/demo/jfc/Notepad/Notepad.java	2017-02-07 21:48:40.293557406 +0000
+--- openjdk-boot.orig/jdk/src/share/demo/jfc/Notepad/Notepad.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/demo/jfc/Notepad/Notepad.java	2017-12-05 04:59:13.109178224 +0000
 @@ -80,7 +80,11 @@
                      "resources/NotepadSystem.properties"));
              resources = ResourceBundle.getBundle("resources.Notepad",
@@ -1003,378 +1668,3 @@
              System.err.println("resources/Notepad.properties "
                      + "or resources/NotepadSystem.properties not found");
              System.exit(1);
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-02-13 04:41:24.894078166 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	2017-02-13 04:55:17.208308642 +0000
-@@ -165,8 +165,9 @@
-                 throw new ClassCastException(applet.getClass().getName());
-             try {
-                 return getMethod.invoke(applet, name);
--            } catch (InvocationTargetException |
--                     IllegalAccessException e) {
-+            } catch (InvocationTargetException e) {
-+                throw new AssertionError(e);
-+            } catch (IllegalAccessException e) {
-                 throw new AssertionError(e);
-             }
-         }
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/reflect/ReflectionFactory.java openjdk-boot/jdk/src/share/classes/sun/reflect/ReflectionFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/ReflectionFactory.java	2017-02-13 04:41:24.906077967 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/reflect/ReflectionFactory.java	2017-02-13 04:58:10.089442011 +0000
-@@ -598,7 +598,10 @@
-         }
-         try {
-             return (Boolean) m.invoke(null, cl);
--        } catch (InvocationTargetException | IllegalAccessException ex) {
-+        } catch (InvocationTargetException ex) {
-+            throw (InternalError)
-+                new InternalError("Exception invoking hasStaticInitializer").initCause(ex);
-+        } catch (IllegalAccessException ex) {
-             throw (InternalError)
-                 new InternalError("Exception invoking hasStaticInitializer").initCause(ex);
-         }
-@@ -616,8 +619,16 @@
-                     OptionalDataException.class.getDeclaredConstructor(Boolean.TYPE);
-             boolCtor.setAccessible(true);
-             return boolCtor.newInstance(bool);
--        } catch (NoSuchMethodException | InstantiationException|
--                IllegalAccessException|InvocationTargetException ex) {
-+        } catch (NoSuchMethodException ex) {
-+            throw (InternalError)
-+                new InternalError("unable to create OptionalDataException").initCause(ex);
-+        } catch (InstantiationException ex) {
-+            throw (InternalError)
-+                new InternalError("unable to create OptionalDataException").initCause(ex);
-+        } catch (IllegalAccessException ex) {
-+            throw (InternalError)
-+                new InternalError("unable to create OptionalDataException").initCause(ex);
-+        } catch (InvocationTargetException ex) {
-             throw (InternalError)
-                 new InternalError("unable to create OptionalDataException").initCause(ex);
-         }
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-02-13 04:41:24.914077835 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/x509/X509CertImpl.java	2017-02-13 04:59:50.079784565 +0000
-@@ -1936,7 +1936,9 @@
-                 byte2hex(digest[i], buf);
-             }
-             fingerPrint = buf.toString();
--        } catch (NoSuchAlgorithmException | CertificateEncodingException e) {
-+        } catch (NoSuchAlgorithmException e) {
-+            // ignored
-+        } catch (CertificateEncodingException e) {
-             // ignored
-         }
-         return fingerPrint;
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java	2017-02-13 05:24:41.067111167 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/AbstractLdapNamingEnumeration.java	2017-02-13 05:27:18.276513521 +0000
-@@ -147,7 +147,9 @@
-                 // convert referrals into a chain of LdapReferralException
-                 homeCtx.processReturnCode(res, listArg);
- 
--            } catch (LimitExceededException | PartialResultException e) {
-+            } catch (LimitExceededException e) {
-+                setNamingException(e);
-+            } catch (PartialResultException e) {
-                 setNamingException(e);
- 
-             }
-@@ -226,9 +228,13 @@
-                 // try to process another referral
-                 return hasMoreReferrals();
- 
--            } catch (LdapReferralException |
--                     LimitExceededException |
--                     PartialResultException e) {
-+            } catch (LdapReferralException e) {
-+                cleanup();
-+                throw e;
-+            } catch (LimitExceededException e) {
-+                cleanup();
-+                throw e;
-+            } catch (PartialResultException e) {
-                 cleanup();
-                 throw e;
- 
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java	2017-02-13 05:24:41.079110967 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java	2017-02-13 05:26:27.957344897 +0000
-@@ -251,10 +251,13 @@
-             return inetSocketAddressCons.newInstance(new Object[]{
-                 host, new Integer(port)});
- 
--        } catch (ClassNotFoundException |
--                 InstantiationException |
--                 InvocationTargetException |
--                 IllegalAccessException e) {
-+        } catch (ClassNotFoundException e) {
-+            throw new NoSuchMethodException();
-+        } catch (InstantiationException e) {
-+            throw new NoSuchMethodException();
-+        } catch (InvocationTargetException e) {
-+            throw new NoSuchMethodException();
-+        } catch (IllegalAccessException e) {
-             throw new NoSuchMethodException();
- 
-         }
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-02-13 05:24:41.123110241 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-02-13 05:25:33.134250764 +0000
-@@ -560,7 +560,9 @@
-                 if (answer.resControls != null) {
-                     respCtls = appendVector(respCtls, answer.resControls);
-                 }
--            } catch (NamingException | IOException ae) {
-+            } catch (NamingException ae) {
-+                addEx = ae;
-+            } catch (IOException ae) {
-                 addEx = ae;
-             }
- 
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java openjdk-boot/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java	2017-08-04 00:48:54.687958298 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java	2017-08-04 01:25:49.468596257 +0100
-@@ -392,7 +392,8 @@
-         try {
-             gotoImage(imageIndex);
-             skipImage();
--        } catch (IOException | IndexOutOfBoundsException e) {
-+        } catch (IOException e) {
-+        } catch (IndexOutOfBoundsException e) {
-         } finally {
-             cbLock.unlock();
-         }
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/Agent.java openjdk-boot/jdk/src/share/classes/sun/management/Agent.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/Agent.java	2017-08-04 00:48:54.699958109 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/Agent.java	2017-08-04 01:25:27.484951246 +0100
-@@ -383,7 +383,13 @@
-                     adaptorClass.getMethod("initialize",
-                         String.class, Properties.class);
-             initializeMethod.invoke(null,snmpPort,props);
--        } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException x) {
-+        } catch (ClassNotFoundException x) {
-+            // snmp runtime doesn't exist - initialization fails
-+            throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
-+        } catch (NoSuchMethodException x) {
-+            // snmp runtime doesn't exist - initialization fails
-+            throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
-+        } catch (IllegalAccessException x) {
-             // snmp runtime doesn't exist - initialization fails
-             throw new UnsupportedOperationException("Unsupported management property: " + SNMP_PORT,x);
-         } catch (InvocationTargetException x) {
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-08-04 00:48:54.711957920 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java	2017-08-04 01:24:16.534097177 +0100
-@@ -69,7 +69,11 @@
-                         Field f = cl.getDeclaredField("builder");
-                         f.setAccessible(true);
-                         return (GcInfoBuilder)f.get(gcNotifInfo.getGcInfo());
--                    } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
-+                    } catch(ClassNotFoundException e) {
-+                        return null;
-+                    } catch(NoSuchFieldException e) {
-+                        return null;
-+                    } catch(IllegalAccessException e) {
-                         return null;
-                     }
-                 }
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/management/GcInfoCompositeData.java openjdk-boot/jdk/src/share/classes/sun/management/GcInfoCompositeData.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/management/GcInfoCompositeData.java	2017-08-04 00:48:54.719957794 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/management/GcInfoCompositeData.java	2017-08-04 01:23:28.846867575 +0100
-@@ -76,7 +76,11 @@
-                                 Field f = cl.getDeclaredField("builder");
-                                 f.setAccessible(true);
-                                 return (GcInfoBuilder)f.get(info);
--                            } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
-+                            } catch(ClassNotFoundException e) {
-+                                return null;
-+                            } catch(NoSuchFieldException e) {
-+                                return null;
-+                            } catch(IllegalAccessException e) {
-                                 return null;
-                             }
-                         }
-@@ -88,7 +92,11 @@
-                                 Field f = cl.getDeclaredField("extAttributes");
-                                 f.setAccessible(true);
-                                 return (Object[])f.get(info);
--                            } catch(ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
-+                            } catch(ClassNotFoundException e) {
-+                                return null;
-+                            } catch(NoSuchFieldException e) {
-+                                return null;
-+                            } catch(IllegalAccessException e) {
-                                 return null;
-                             }
-                         }
-@@ -172,7 +180,10 @@
-             Method m = GcInfo.class.getMethod("getMemoryUsageBeforeGc");
-             memoryUsageMapType =
-                 MappedMXBeanType.getMappedType(m.getGenericReturnType());
--        } catch (NoSuchMethodException | OpenDataException e) {
-+        } catch (NoSuchMethodException e) {
-+            // Should never reach here
-+            throw new AssertionError(e);
-+        } catch (OpenDataException e) {
-             // Should never reach here
-             throw new AssertionError(e);
-         }
-@@ -214,7 +225,10 @@
-         try {
-             TabularData td = (TabularData) cd.get(MEMORY_USAGE_BEFORE_GC);
-             return cast(memoryUsageMapType.toJavaTypeData(td));
--        } catch (InvalidObjectException | OpenDataException e) {
-+        } catch (InvalidObjectException e) {
-+            // Should never reach here
-+            throw new AssertionError(e);
-+        } catch (OpenDataException e) {
-             // Should never reach here
-             throw new AssertionError(e);
-         }
-@@ -230,7 +244,10 @@
-             TabularData td = (TabularData) cd.get(MEMORY_USAGE_AFTER_GC);
-             //return (Map<String,MemoryUsage>)
-             return cast(memoryUsageMapType.toJavaTypeData(td));
--        } catch (InvalidObjectException | OpenDataException e) {
-+        } catch (InvalidObjectException e) {
-+            // Should never reach here
-+            throw new AssertionError(e);
-+        } catch (OpenDataException e) {
-             // Should never reach here
-             throw new AssertionError(e);
-         }
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastRef.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastRef.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastRef.java	2017-08-04 00:48:54.747957353 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastRef.java	2017-08-04 01:21:14.673036188 +0100
-@@ -186,7 +186,13 @@
- 
-                 return returnValue;
- 
--            } catch (IOException | ClassNotFoundException e) {
-+            } catch (IOException e) {
-+                // disable saving any refs in the inputStream for GC
-+                ((StreamRemoteCall)call).discardPendingRefs();
-+                clientRefLog.log(Log.BRIEF,
-+                                 e.getClass().getName() + " unmarshalling return: ", e);
-+                throw new UnmarshalException("error unmarshalling return", e);
-+            } catch (ClassNotFoundException e) {
-                 // disable saving any refs in the inputStream for GC
-                 ((StreamRemoteCall)call).discardPendingRefs();
-                 clientRefLog.log(Log.BRIEF,
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-08-04 00:48:54.755957226 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java	2017-08-04 01:20:56.273333695 +0100
-@@ -342,7 +342,12 @@
-                 // disable saving any refs in the inputStream for GC
-                 ((StreamRemoteCall) call).discardPendingRefs();
-                 throw aex;
--            } catch (java.io.IOException | ClassNotFoundException e) {
-+            } catch (java.io.IOException e) {
-+                // disable saving any refs in the inputStream for GC
-+                ((StreamRemoteCall) call).discardPendingRefs();
-+                throw new UnmarshalException(
-+                    "error unmarshalling arguments", e);
-+            } catch (ClassNotFoundException e) {
-                 // disable saving any refs in the inputStream for GC
-                 ((StreamRemoteCall) call).discardPendingRefs();
-                 throw new UnmarshalException(
---- openjdk-boot.orig/jaxp/src/javax/xml/transform/TransformerException.java	2017-08-04 02:37:40.114998937 +0100
-+++ openjdk-boot/jaxp/src/javax/xml/transform/TransformerException.java	2017-08-04 02:40:35.124170763 +0100
-@@ -360,10 +360,13 @@
-                 } else {
-                     exception = null;
-                 }
--                } catch (InvocationTargetException | IllegalAccessException
--                        | NoSuchMethodException e) {
-+	    } catch (InvocationTargetException e) {
-                 exception = null;
--            }
-+	    } catch (IllegalAccessException e) {
-+                exception = null;
-+	    } catch (NoSuchMethodException e) {
-+                exception = null;
-+	    }
-         }
-         // insure output is written
-         s.flush();
---- openjdk-boot.orig/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	2017-08-04 02:51:02.650041176 +0100
-+++ openjdk-boot/jaxws/src/share/jaxws_classes/com/sun/xml/internal/ws/util/xml/XmlUtil.java	2017-08-04 02:51:52.065244665 +0100
-@@ -440,7 +440,11 @@
-                 featureToSet = LOAD_EXTERNAL_DTD;
-                 factory.setFeature(featureToSet, false);
-             }
--        } catch (ParserConfigurationException | SAXNotRecognizedException | SAXNotSupportedException e) {
-+        } catch (ParserConfigurationException e) {
-+            LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
-+        } catch (SAXNotRecognizedException e) {
-+            LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
-+        } catch (SAXNotSupportedException e) {
-             LOGGER.log(Level.WARNING, "Factory [{0}] doesn't support "+featureToSet+" feature!", new Object[]{factory.getClass().getName()});
-         }
-         return factory;
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java	2017-08-04 13:34:18.780791108 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/registry/RegistryImpl_Skel.java	2017-08-04 13:36:51.550336758 +0100
-@@ -74,7 +74,9 @@
-                     java.io.ObjectInput in = call.getInputStream();
-                     $param_String_1 = (java.lang.String) in.readObject();
-                     $param_Remote_2 = (java.rmi.Remote) in.readObject();
--                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
-+                } catch (java.io.IOException e) {
-+                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
-+                } catch (java.lang.ClassNotFoundException e) {
-                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
-                 } finally {
-                     call.releaseInputStream();
-@@ -107,7 +109,9 @@
-                 try {
-                     java.io.ObjectInput in = call.getInputStream();
-                     $param_String_1 = (java.lang.String) in.readObject();
--                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
-+                } catch (java.io.IOException e) {
-+                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
-+                } catch (java.lang.ClassNotFoundException e) {
-                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
-                 } finally {
-                     call.releaseInputStream();
-@@ -133,7 +137,9 @@
-                     java.io.ObjectInput in = call.getInputStream();
-                     $param_String_1 = (java.lang.String) in.readObject();
-                     $param_Remote_2 = (java.rmi.Remote) in.readObject();
--                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
-+                } catch (java.io.IOException e) {
-+                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
-+                } catch (java.lang.ClassNotFoundException e) {
-                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
-                 } finally {
-                     call.releaseInputStream();
-@@ -156,7 +162,9 @@
-                 try {
-                     java.io.ObjectInput in = call.getInputStream();
-                     $param_String_1 = (java.lang.String) in.readObject();
--                } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
-+                } catch (java.io.IOException e) {
-+                    throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
-+                } catch (java.lang.ClassNotFoundException e) {
-                     throw new java.rmi.UnmarshalException("error unmarshalling arguments", e);
-                 } finally {
-                     call.releaseInputStream();
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java	2017-08-04 13:34:18.800790786 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/DGCImpl_Stub.java	2017-08-04 13:35:09.851970460 +0100
-@@ -132,7 +132,13 @@
-                     });
-                 }
-                 $result = (java.rmi.dgc.Lease) in.readObject();
--            } catch (java.io.IOException | java.lang.ClassNotFoundException e) {
-+            } catch (java.io.IOException e) {
-+                if (connection instanceof TCPConnection) {
-+                    // Modified to prevent re-use of the connection after an exception
-+                    ((TCPConnection) connection).getChannel().free(connection, false);
-+                }
-+                throw new java.rmi.UnmarshalException("error unmarshalling return", e);
-+            } catch (java.lang.ClassNotFoundException e) {
-                 if (connection instanceof TCPConnection) {
-                     // Modified to prevent re-use of the connection after an exception
-                     ((TCPConnection) connection).getChannel().free(connection, false);
--- a/patches/boot/ecj-stringswitch.patch	Thu Nov 23 19:56:36 2017 +0000
+++ b/patches/boot/ecj-stringswitch.patch	Tue Dec 05 19:25:17 2017 +0000
@@ -1,6 +1,6 @@
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2017-12-02 04:12:34.653318334 +0000
 @@ -350,19 +350,16 @@
              if (attrCommands != null) {
                  Attribute.Layout lkey = Attribute.keyForLookup(ctype, name);
@@ -32,8 +32,8 @@
              // Find canonical instance of the requested attribute.
              Attribute a = Attribute.lookup(Package.attrDefs, ctype, name);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2017-12-02 04:12:34.653318334 +0000
 @@ -73,16 +73,14 @@
          {
              // Non-standard, undocumented "--unpack" switch enables unpack mode.
@@ -91,8 +91,8 @@
  
          if (logFile != null && !logFile.equals("")) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2017-12-02 04:12:34.653318334 +0000
 @@ -1107,30 +1107,25 @@
          // what is one of { Debug, Compile, Constant, Exceptions, InnerClasses }
          if (verbose > 0)
@@ -144,8 +144,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-08-03 23:01:15.713304224 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java	2017-12-02 04:12:34.653318334 +0000
 @@ -2161,66 +2161,50 @@
          if (envprops == null || envprops.get(propName) == null) {
              return null;
@@ -427,8 +427,8 @@
                          DEREF_ALIASES + " property.");
              }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	2017-12-02 04:12:34.653318334 +0000
 @@ -65,17 +65,23 @@
  
      protected NTLM(String version) throws NTLMException {
@@ -465,8 +465,8 @@
              fac = SecretKeyFactory.getInstance ("DES");
              cipher = Cipher.getInstance ("DES/ECB/NoPadding");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java	2017-12-02 04:12:34.653318334 +0000
 @@ -1579,21 +1579,18 @@
          KeySpec spec = null;
          SecretKeyFactory desFactory =
@@ -516,8 +516,8 @@
          return desFactory.generateSecret(spec);
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Server.java	2017-12-02 04:12:34.653318334 +0000
 @@ -461,21 +461,17 @@
  
          // Check that QOP is one sent by server
@@ -545,8 +545,8 @@
                      "violation. Invalid QOP: " + negotiatedQop);
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMClient.java	2017-12-02 04:12:34.653318334 +0000
 @@ -205,13 +205,12 @@
          if (!isComplete()) {
              throw new IllegalStateException("authentication not complete");
@@ -568,8 +568,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java	2017-12-02 04:12:34.653318334 +0000
 @@ -219,13 +219,12 @@
          if (!isComplete()) {
              throw new IllegalStateException("authentication not complete");
@@ -591,8 +591,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java	2017-12-02 04:12:34.653318334 +0000
 @@ -155,23 +155,22 @@
          if (!completed) {
              throw new IllegalStateException("SASL authentication not completed");
@@ -634,8 +634,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java	2017-12-02 04:12:34.653318334 +0000
 @@ -328,12 +328,11 @@
                                       Object[] appendixResult) {
          try {
@@ -886,8 +886,8 @@
          }
          return false;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java
---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java	2017-12-02 04:12:34.653318334 +0000
 @@ -269,14 +269,16 @@
  
      private static
@@ -929,8 +929,8 @@
          }
          return null;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java
---- openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-08-03 22:59:13.355218450 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Policy.java	2017-12-02 04:12:34.653318334 +0000
 @@ -81,56 +81,47 @@
          for (String entry : entries) {
              String[] tokens = entry.split("\\s");
@@ -1029,8 +1029,8 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2017-12-02 04:12:34.653318334 +0000
 @@ -119,24 +119,20 @@
          String optStr = (opts.length > 1 && opts[1] != null)
                  ? opts[1].trim()
@@ -1068,8 +1068,8 @@
  
      /*
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/reflect/annotation/AnnotationInvocationHandler.java	2017-12-02 04:12:34.657318268 +0000
 @@ -65,14 +65,12 @@
          if (paramTypes.length != 0)
              throw new AssertionError("Too many parameters for an annotation method");
@@ -1089,8 +1089,8 @@
          // Handle annotation member accessors
          Object result = memberValues.get(member);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2017-12-02 04:12:34.657318268 +0000
 @@ -428,14 +428,13 @@
          if (s == null) {
              return null;
@@ -1111,8 +1111,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/Config.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/Config.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/Config.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/Config.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/Config.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/Config.java	2017-12-02 04:12:34.657318268 +0000
 @@ -574,13 +574,12 @@
  
      private boolean parseBoolean() throws IOException {
@@ -1158,8 +1158,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11Key.java openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11Key.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/pkcs11/P11Key.java	2017-12-02 04:12:34.657318268 +0000
 @@ -304,22 +304,21 @@
      // we assume that all components of public keys are always accessible
      static PublicKey publicKey(Session session, long keyID, String algorithm,
@@ -1279,9 +1279,9 @@
          }
      }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-08-03 22:59:13.351218512 +0100
-@@ -153,15 +153,12 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/X509CertPath.java	2017-12-02 04:13:08.524771964 +0000
+@@ -152,15 +152,12 @@
              throws CertificateException {
          super("X.509");
  
@@ -1303,8 +1303,8 @@
          }
      }
  
-@@ -344,14 +341,12 @@
-      */
+@@ -345,14 +342,12 @@
+     @Override
      public byte[] getEncoded(String encoding)
              throws CertificateEncodingException {
 -        switch (encoding) {
@@ -1325,8 +1325,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-08-03 22:59:13.351218512 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2017-12-02 04:12:34.657318268 +0000
 @@ -818,16 +818,13 @@
              sig = JsseJce.getSignature(
                          preferableSignatureAlgorithm.getAlgorithmName());
@@ -1402,9 +1402,9 @@
  
      /*
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-08-03 22:59:13.351218512 +0100
-@@ -525,44 +525,39 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2017-12-02 04:12:34.657318268 +0000
+@@ -526,44 +526,39 @@
                  if (ku != null) {
                      String algorithm = cert.getPublicKey().getAlgorithm();
                      boolean kuSignature = getBit(ku, 0);
@@ -1483,9 +1483,9 @@
              } catch (CertificateException e) {
                  // extensions unparseable, return failure
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-08-03 22:59:13.355218450 +0100
-@@ -387,19 +387,23 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-12-02 04:12:34.657318268 +0000
+@@ -417,19 +417,23 @@
              GE;         // ">="
  
              static Operator of(String s) {
@@ -1523,8 +1523,8 @@
  
                  throw new IllegalArgumentException("Error in security " +
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java openjdk-boot/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java	2017-08-03 17:21:57.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java	2017-08-03 22:59:13.355218450 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java	2017-11-30 03:00:27.000000000 +0000
++++ openjdk-boot/jdk/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java	2017-12-02 04:12:34.657318268 +0000
 @@ -101,19 +101,17 @@
          k = lib.indexOf("$ARCH");
          if (k != -1) {
@@ -1552,3 +1552,86 @@
              }
              lib = replace(k, lib, "$ARCH", arch);
          }
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-12-03 19:17:30.322427755 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	2017-12-03 19:31:56.128493051 +0000
+@@ -1308,19 +1308,16 @@
+                     type = "gregory";
+                 }
+             }
+-            switch (type) {
+-            case "gregory":
++            if ("gregory".equals(type)) {
+                 cal = access.createCalendar(zone, locale);
+-                break;
+-            case "iso8601":
++            } else if ("iso8601".equals(type)) {
+                 GregorianCalendar gcal = access.createCalendar(zone, locale);
+                 // make gcal a proleptic Gregorian
+                 gcal.setGregorianChange(new Date(Long.MIN_VALUE));
+                 // and week definition to be compatible with ISO 8601
+                 setWeekDefinition(Calendar.MONDAY, 4);
+                 cal = gcal;
+-                break;
+-            default:
++            } else {
+                 throw new IllegalArgumentException("unknown calendar type: " + type);
+             }
+             cal.setLenient(lenient);
+diff -Nrub openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-12-05 01:53:21.272367236 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/CertStoreHelper.java	2017-12-05 01:55:16.802509085 +0000
+@@ -98,19 +98,17 @@
+     }
+ 
+     static boolean isCausedByNetworkIssue(String type, CertStoreException cse) {
+-        switch (type) {
+-            case "LDAP":
+-            case "SSLServer":
++        if ("LDAP".equals(type) || "SSLServer".equals(type)) {
+                 try {
+                     CertStoreHelper csh = CertStoreHelper.getInstance(type);
+                     return csh.isCausedByNetworkIssue(cse);
+                 } catch (NoSuchAlgorithmException nsae) {
+                     return false;
+                 }
+-            case "URI":
++        } else if ("URI".equals(type)) {
+                 Throwable t = cse.getCause();
+                 return (t != null && t instanceof IOException);
+-            default:
++        } else {
+                 // we don't know about any other remote CertStore types
+                 return false;
+         }
+diff -Nrub openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java	2017-12-05 01:53:21.284367044 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java	2017-12-05 01:57:10.104686766 +0000
+@@ -435,8 +435,7 @@
+         boolean result;
+         Throwable t = cse.getCause();
+ 
+-        switch (type) {
+-            case "LDAP":
++        if ("LDAP".equals(type)) {
+                 if (t != null) {
+                     // These two exception classes are inside java.naming module
+                     String cn = t.getClass().getName();
+@@ -445,14 +444,11 @@
+                 } else {
+                     result = false;
+                 }
+-                break;
+-            case "SSLServer":
++        } else if("SSLServer".equals(type)) {
+                 result = (t != null && t instanceof IOException);
+-                break;
+-            case "URI":
++        } else if ("URI".equals(type)) {
+                 result = (t != null && t instanceof IOException);
+-                break;
+-            default:
++        } else {
+                 // we don't know about any other remote CertStore types
+                 return false;
+         }
--- a/patches/boot/ecj-trywithresources.patch	Thu Nov 23 19:56:36 2017 +0000
+++ b/patches/boot/ecj-trywithresources.patch	Tue Dec 05 19:25:17 2017 +0000
@@ -1794,3 +1794,55 @@
                      }
                  }
                  TrustManagerFactory tmf = TrustManagerFactory.getInstance(
+diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-12-03 19:15:21.592499000 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2017-12-03 19:16:58.014947577 +0000
+@@ -369,8 +369,9 @@
+ 
+             for (int i=1; i <= retries; i++) {
+                 String proto = useTCP?"TCP":"UDP";
+-                try (NetClient kdcClient = NetClient.getInstance(
+-                        proto, kdc, port, timeout)) {
++                NetClient kdcClient = null;
++                try {
++                    kdcClient = NetClient.getInstance(proto, kdc, port, timeout);
+                     if (DEBUG) {
+                         System.out.println(">>> KDCCommunication: kdc=" + kdc
+                             + " " + proto + ":"
+@@ -399,6 +400,8 @@
+                             throw se;
+                         }
+                     }
++                } finally {
++                    if (kdcClient != null) { kdcClient.close(); }
+                 }
+             }
+             return ibuf;
+@@ -516,4 +519,3 @@
+         }
+     }
+ }
+-
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-12-05 04:35:09.056391833 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/keytool/Main.java	2017-12-05 04:39:54.235812547 +0000
+@@ -1267,8 +1267,9 @@
+     private String keyStoreType(File f) throws IOException {
+         int MAGIC = 0xfeedfeed;
+         int JCEKS_MAGIC = 0xcececece;
+-        try (DataInputStream dis = new DataInputStream(
+-            new FileInputStream(f))) {
++        DataInputStream dis = null;
++        try {
++            dis = new DataInputStream(new FileInputStream(f));
+             int xMagic = dis.readInt();
+             if (xMagic == MAGIC) {
+                 return "JKS";
+@@ -1277,6 +1278,8 @@
+             } else {
+                 return "Non JKS/JCEKS";
+             }
++        } finally {
++            if (dis != null) { dis.close(); }
+         }
+     }
+ 
--- a/patches/boot/ecj-underscored_literals.patch	Thu Nov 23 19:56:36 2017 +0000
+++ b/patches/boot/ecj-underscored_literals.patch	Tue Dec 05 19:25:17 2017 +0000
@@ -24,3 +24,16 @@
                          return (int) ell;
                      } else {
                          throw new
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java	2017-12-05 04:44:13.171649999 +0000
++++ openjdk-boot/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java	2017-12-05 04:44:27.047426865 +0000
+@@ -117,8 +117,8 @@
+                 new PrivilegedAction<Object>() {
+ 
+                     public Object run() {
+-                        vals[0] = Integer.getInteger("sun.net.client.defaultReadTimeout", 300_000).intValue();
+-                        vals[1] = Integer.getInteger("sun.net.client.defaultConnectTimeout", 300_000).intValue();
++                        vals[0] = Integer.getInteger("sun.net.client.defaultReadTimeout", 300000).intValue();
++                        vals[1] = Integer.getInteger("sun.net.client.defaultConnectTimeout", 300000).intValue();
+                         encs[0] = System.getProperty("file.encoding", "ISO8859_1");
+                         return null;
+                     }
--- a/remove-intree-libraries.sh.in	Thu Nov 23 19:56:36 2017 +0000
+++ b/remove-intree-libraries.sh.in	Tue Dec 05 19:25:17 2017 +0000
@@ -1,7 +1,6 @@
 #!/bin/sh
 
-ZLIB_VERSION=1.2.8
-ZIP_SRC=openjdk/jdk/src/share/native/java/util/zip/zlib-${ZLIB_VERSION}
+ZIP_SRC=openjdk/jdk/src/share/native/java/util/zip/zlib
 JPEG_SRC=openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpeg-6b
 GIF_SRC=openjdk/jdk/src/share/native/sun/awt/giflib
 PNG_SRC=openjdk/jdk/src/share/native/sun/awt/libpng