changeset 2843:723ef630c332 icedtea-2.6.2pre02

Bump to icedtea-2.6.2pre02. Upstream changes: - Bump to icedtea-2.6.2pre01 - Bump to icedtea-2.6.2pre02 - PR2512: Reset success following calls in LayoutManager.cpp - PR2568: openjdk causes a full desktop crash on RHEL 6 i586 - S6880559, PR2674: Enable PKCS11 64-bit windows builds - S6904403, PR2674: assert(f == k-&gt;has_finalizer(),&quot;inconsistent has_finalizer&quot;) with debug VM - S7011441, PR2674: jndi/ldap/Connection.java needs to avoid spurious wakeup - S7059542, PR2674: JNDI name operations should be locale independent - S7105461, PR2571: Large JTables are not rendered correctly with Xrender pipeline - S7105883, PR2560: JDWP: agent crash if there exists a ThreadGroup with null name - S7107611, PR2674: sun.security.pkcs11.SessionManager is scalability blocker - S7127066, PR2674: Class verifier accepts an invalid class file - S7150092, PR2674: NTLM authentication fail if user specified a different realm - S7150134, PR2571: JCK api/java_awt/Graphics/index.html#DrawLine fails with OOM for jdk8 with XRender pipeline - S7152582, PR2674: PKCS11 tests should use the NSS libraries available in the OS - S7156085, PR2674: ArrayIndexOutOfBoundsException throws in UTF8Reader of SAXParser - S7177045, PR2674: Rework the TestProviderLeak.java regression test, it is too fragile to low memory errors. - S7190945, PR2674: pkcs11 problem loading NSS libs on Ubuntu - S8005226, PR2674: java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java fails intermittently - S8009438, PR2674: sun/security/pkcs11/Secmod tests failing on Ubuntu 12.04 - S8011709, PR2509: [parfait] False positive: memory leak in jdk/src/share/native/sun/font/layout/CanonShaping.cpp - S8012971, PR2674: PKCS11Test hiding exception failures - S8016105, PR2560: Add complementary RETURN_NULL allocation macros in allocation.hpp - S8020424, PR2674: The NSS version should be detected before running crypto tests - S8020443, PR2674: Frame is not created on the specified GraphicsDevice with two monitors - S8021897, PR2560: EXCEPTION_ACCESS_VIOLATION on debugging String.contentEquals() - S8022683, PR2560: JNI GetStringUTFChars should return NULL on allocation failure not abort the VM - S8023052, PR2509: JVM crash in native layout - S8025922, PR2560: JNI access to Strings need to check if the value field is non-null - S8027058: sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh Failed to initialize connector - S8027624, PR2674: com/sun/crypto/provider/KeyFactory/TestProviderLeak.java unstable again - S8033069, PR2674: mouse wheel scroll closes combobox popup - S8035150, PR2674: ShouldNotReachHere() in ConstantPool::copy_entry_to - S8039212, PR2674: SecretKeyBasic.sh needs to avoid NSS libnss3 and libsoftokn3 version mismatches - S8042855, PR2509: [parfait] Potential null pointer dereference in IndicLayoutEngine.cpp - S8044364, PR2674: runtime/RedefineFinalizer test fails on windows - S8048194: GSSContext.acceptSecContext fails when a supported mech is not initiator preferred - S8048353: jstack -l crashes VM when a Java mirror for a primitive type is locked - S8050123, PR2674: Incorrect property name documented in CORBA InputStream API - S8056122, PR1896: Upgrade JDK to use LittleCMS 2.6 - S8056124, PR2674: Hotspot should use PICL interface to get cacheline size on SPARC - S8057934, PR1896: Upgrade to LittleCMS 2.6 breaks AIX build - S8059200, PR2674: Promoted JDK9 b31 for Solaris-amd64 fails (Error: dl failure on line 744, no picl library) on Solaris 11.1 - S8059588, PR2674: deadlock in java/io/PrintStream when verbose java.security.debug flags are set - S8062518, PR2674: AIOBE occurs when accessing to document function in extended function in JAXP - S8062591, PR2674: SPARC PICL causes significantly longer startup times - S8072863, PR2674: Replace fatal() with vm_exit_during_initialization() when an incorrect class is found on the bootclasspath - S8073453, PR2674: Focus doesn't move when pressing Shift + Tab keys - S8073773: Presume path preparedness - S8073894: Getting to the root of certificate chains - S8074098: 2D_Font/Bug8067699 test fails with SIGBUS crash on Solaris Sparc - S8074297: substring in XSLT returns wrong character if string contains supplementary chars - S8074330: Set font anchors more solidly - S8074335: Substitute for substitution formats - S8074350, PR2674: Support ISO 4217 "Current funds codes" table (A.2) - S8074865: General crypto resilience changes - S8074869, PR2674: C2 code generator can replace -0.0f with +0.0f on Linux - S8074871: Adjust device table handling - S8075374: Responding to OCSP responses - S8075378: JNDI DnsClient Exception Handling - S8075575: com/sun/security/auth/login/ConfigFile/InconsistentError.java failed in certain env. - S8075576: com/sun/security/auth/module/KeyStoreLoginModule/OptionTest.java failed in certain env. - S8075609, PR2674: java.lang.IllegalArgumentException: aContainer is not a focus cycle root of aComponent - S8075667: (tz) Support tzdata2015b - S8075738: Better multi-JVM sharing - S8075773, PR2674: jps running as root fails after the fix of JDK-8050807 - S8075833: Straighter Elliptic Curves - S8075838: Method for typing MethodTypes - S8075853: Proxy for MBean proxies - S8076040, PR2674: Test com/sun/crypto/provider/KeyFactory/TestProviderLeak.java fails with -XX:+UseG1GC - S8076290: JCK test api/xsl/conf/string/string17 starts failing after JDK-8074297 - S8076328: Enforce key exchange constraints - S8076397: Better MBean connections - S8076409: Reinforce RMI framework - S8076455, PR2674: IME Composition Window is displayed on incorrect position - S8076968, PR2674: PICL based initialization of L2 cache line size on some SPARC systems is incorrect - S8077102, PR2674: dns_lookup_realm should be false by default - S8077409, PR2674: Drawing deviates when validate() is invoked on java.awt.ScrollPane - S8077520: Morph tables into improved form - S8077685: (tz) Support tzdata2015d - S8078113, PR2674: 8011102 changes may cause incorrect results - S8078331, PR1896: Upgrade JDK to use LittleCMS 2.7 - S8078348: sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java fails with BindException - S8078439: SPNEGO auth fails if client proposes MS krb5 OID - S8078529: Increment the build value to b02 for hs24.85 in 7u85 - S8078562: Add modified dates - S8080012, PR2674: JVM times out with vdbench on SPARC M7-16 - S8080318: jdk7u85 l10n resource file translation update - S8081386: Test sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh test has RC4 dependencies - S8081392, PR2674: getNodeValue should return 'null' value for Element nodes - S8081470, PR2674: com/sun/jdi tests are failing with "Error. failed to clean up files after test" with jtreg 4.1 b12 - S8081622: Increment the build value to b03 for hs24.85 in 7u85 - S8081756, PR1896: Mastering Matrix Manipulations - S8081775: two lib/testlibrary tests are failing with "Error. failed to clean up files after test" with jtreg 4.1 b12 - S8130297, PR2674: com/sun/crypto/provider/KeyFactory/TestProviderLeak.java still failing after JDK-8076040 - S8133636, PR2674: [TEST_BUG] Import/add tests for the problem seen in 8076110 - S8133966: Allow OpenJDK to build on PaX-enabled kernels - S8133967: Fix build where PAX_COMMAND is not specified - S8133968: Revert 8014464 on OpenJDK 7 - S8133970: Only apply PaX-marking when needed by a running PaX kernel - S8133990: Revert introduction of lambda expression in sun.lwawt.macosx.LWCToolkit - S8133991: Fix mistake in 8075374 backport - S8133993: [TEST_BUG] Make CipherInputStreamExceptions compile on OpenJDK 7 - S8134248: Fix recently backported tests to work with OpenJDK 7u - S8134610: Mac OS X build fails after July 2015 CPU - S8134618: test/javax/xml/jaxp/transform/8062923/XslSubstringTest.java has bad license header 2015-10-19 Andrew John Hughes <gnu.andrew@member.fsf.org> * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.6.2pre02. (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. * NEWS: Updated. * configure.ac: Bump to 2.6.2pre02. * hotspot.map.in: Update to icedtea-2.6.2pre02. * patches/boot/ecj-stringswitch.patch: Add new case in sun.security.krb.Config. * patches/boot/ecj-trywithresources.patch: Regenerated due to changes in java.util.Currency. * patches/boot/ecj-underscored_literals.patch: Add new case in com.sun.jndi.ldap.Connection.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Tue, 20 Oct 2015 04:30:23 +0100
parents b64e1444311c
children 602943b46405
files ChangeLog Makefile.am NEWS configure.ac hotspot.map.in patches/boot/ecj-stringswitch.patch patches/boot/ecj-trywithresources.patch patches/boot/ecj-underscored_literals.patch
diffstat 8 files changed, 303 insertions(+), 172 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Aug 21 21:22:06 2015 +0100
+++ b/ChangeLog	Tue Oct 20 04:30:23 2015 +0100
@@ -1,3 +1,28 @@
+2015-10-19  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	* Makefile.am:
+	(CORBA_CHANGESET): Update to icedtea-2.6.2pre02.
+	(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.
+	* NEWS: Updated.
+	* configure.ac: Bump to 2.6.2pre02.
+	* hotspot.map.in: Update to icedtea-2.6.2pre02.
+	* patches/boot/ecj-stringswitch.patch:
+	Add new case in sun.security.krb.Config.
+	* patches/boot/ecj-trywithresources.patch:
+	Regenerated due to changes in java.util.Currency.
+	* patches/boot/ecj-underscored_literals.patch:
+	Add new case in com.sun.jndi.ldap.Connection.
+
 2015-08-21  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	* NEWS: Replace temporary OpenJDK 7
--- a/Makefile.am	Fri Aug 21 21:22:06 2015 +0100
+++ b/Makefile.am	Tue Oct 20 04:30:23 2015 +0100
@@ -4,19 +4,19 @@
 BUILD_VERSION = b01
 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION)
 
-CORBA_CHANGESET = 2545636482d6
-JAXP_CHANGESET = ffbe529eeac7
-JAXWS_CHANGESET = b9776fab65b8
-JDK_CHANGESET = 61d3e001dee6
-LANGTOOLS_CHANGESET = 9c6e1de67d7d
-OPENJDK_CHANGESET = 39b2c4354d0a
-
-CORBA_SHA256SUM = cd03d97c171a2d45ca94c1642265e09c09a459b1d4ac1191f82af88ca171f6f8
-JAXP_SHA256SUM = c00c4c2889f77c4615fd655415067e14840764f52e503f220ed324720117faeb
-JAXWS_SHA256SUM = 2d5ff95dc62ab7986973e15e9cf91d5596d2cf486ee52beab9eab62f70f2ae9f
-JDK_SHA256SUM = a8083e75e14ddb4575bf2cd733e80a0074201b45d8debbe04f84564b32875363
-LANGTOOLS_SHA256SUM = 6db9bd16658fa8460e0afa4b05f28bd47148528d7581a403bea1e70f56cedd43
-OPENJDK_SHA256SUM = 0168a0174ee47407139ee32458c4d2a298ba4f44260343b209250156e4da463f
+CORBA_CHANGESET = 0445c54dcfb6
+JAXP_CHANGESET = 4e264c1f6b2f
+JAXWS_CHANGESET = e8660c5ef3e5
+JDK_CHANGESET = 7eedb55d47ce
+LANGTOOLS_CHANGESET = d627a940b6ca
+OPENJDK_CHANGESET = d27c76db0808
+
+CORBA_SHA256SUM = e162233c3c85eaafd3815229b14a2b75236d37eb3cc07a0f984c69f10b20f06b
+JAXP_SHA256SUM = da21c52b04e5296c9fcfb14b4597789b119991fac76339b2c60d93787a82bbad
+JAXWS_SHA256SUM = d077a86235d26def4d7bbed25116077a09a4fe3bb8a83339f45761b973445822
+JDK_SHA256SUM = e5f88bc7082fa2b9ff3176f9d93863c850076b5a6358c0ea8573b1b2f3523801
+LANGTOOLS_SHA256SUM = 11019f763aed4d937bc5958426e361963122939969dc199fda4a41423b221133
+OPENJDK_SHA256SUM = 9fdb2ba4db44d16b27314acd054ff52e86ec39f1e80a661e39234c4d076ccd98
 
 DROP_URL = http://icedtea.classpath.org/download/drops
 
--- a/NEWS	Fri Aug 21 21:22:06 2015 +0100
+++ b/NEWS	Tue Oct 20 04:30:23 2015 +0100
@@ -14,6 +14,76 @@
 
 New in release 2.6.2 (2015-10-XX):
 
+* Import of OpenJDK 7 u85 build 2
+  - S8133968: Revert 8014464 on OpenJDK 7
+  - S8133993: [TEST_BUG] Make CipherInputStreamExceptions compile on OpenJDK 7
+  - S8134248: Fix recently backported tests to work with OpenJDK 7u
+  - S8134610: Mac OS X build fails after July 2015 CPU
+  - S8134618: test/javax/xml/jaxp/transform/8062923/XslSubstringTest.java has bad license header
+* Backports
+  - S6880559, PR2674: Enable PKCS11 64-bit windows builds
+  - S6904403, PR2674: assert(f == k-&gt;has_finalizer(),&quot;inconsistent has_finalizer&quot;) with debug VM
+  - S7011441, PR2674: jndi/ldap/Connection.java needs to avoid spurious wakeup
+  - S7059542, PR2674: JNDI name operations should be locale independent
+  - S7105461, PR2571: Large JTables are not rendered correctly with Xrender pipeline
+  - S7105883, PR2560: JDWP: agent crash if there exists a ThreadGroup with null name
+  - S7107611, PR2674: sun.security.pkcs11.SessionManager is scalability blocker
+  - S7127066, PR2674: Class verifier accepts an invalid class file
+  - S7150092, PR2674: NTLM authentication fail if user specified a different realm
+  - S7150134, PR2571: JCK api/java_awt/Graphics/index.html#DrawLine fails with OOM for jdk8 with XRender pipeline
+  - S7152582, PR2674: PKCS11 tests should use the NSS libraries available in the OS
+  - S7156085, PR2674: ArrayIndexOutOfBoundsException throws in UTF8Reader of SAXParser
+  - S7177045, PR2674: Rework the TestProviderLeak.java regression test, it is too fragile to low memory errors.
+  - S7190945, PR2674: pkcs11 problem loading NSS libs on Ubuntu
+  - S8005226, PR2674: java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java fails intermittently
+  - S8009438, PR2674: sun/security/pkcs11/Secmod tests failing on Ubuntu 12.04
+  - S8011709, PR2509: [parfait] False positive: memory leak in jdk/src/share/native/sun/font/layout/CanonShaping.cpp
+  - S8012971, PR2674: PKCS11Test hiding exception failures
+  - S8016105, PR2560: Add complementary RETURN_NULL allocation macros in allocation.hpp
+  - S8020424, PR2674: The NSS version should be detected before running crypto tests
+  - S8020443, PR2674: Frame is not created on the specified GraphicsDevice with two monitors
+  - S8021897, PR2560: EXCEPTION_ACCESS_VIOLATION on debugging String.contentEquals()
+  - S8022683, PR2560: JNI GetStringUTFChars should return NULL on allocation failure not abort the VM
+  - S8023052, PR2509: JVM crash in native layout
+  - S8025922, PR2560: JNI access to Strings need to check if the value field is non-null
+  - S8027624, PR2674: com/sun/crypto/provider/KeyFactory/TestProviderLeak.java unstable again
+  - S8033069, PR2674: mouse wheel scroll closes combobox popup
+  - S8035150, PR2674: ShouldNotReachHere() in ConstantPool::copy_entry_to
+  - S8039212, PR2674: SecretKeyBasic.sh needs to avoid NSS libnss3 and libsoftokn3 version mismatches
+  - S8042855, PR2509: [parfait] Potential null pointer dereference in IndicLayoutEngine.cpp
+  - S8044364, PR2674: runtime/RedefineFinalizer test fails on windows
+  - S8048353, PR2674: jstack -l crashes VM when a Java mirror for a primitive type is locked
+  - S8050123, PR2674: Incorrect property name documented in CORBA InputStream API
+  - S8056122, PR1896: Upgrade JDK to use LittleCMS 2.6
+  - S8056124, PR2674: Hotspot should use PICL interface to get cacheline size on SPARC
+  - S8057934, PR1896: Upgrade to LittleCMS 2.6 breaks AIX build
+  - S8059200, PR2674: Promoted JDK9 b31 for Solaris-amd64 fails (Error: dl failure on line 744, no picl library) on Solaris 11.1
+  - S8059588, PR2674: deadlock in java/io/PrintStream when verbose java.security.debug flags are set
+  - S8062518, PR2674: AIOBE occurs when accessing to document function in extended function in JAXP
+  - S8062591, PR2674: SPARC PICL causes significantly longer startup times
+  - S8072863, PR2674: Replace fatal() with vm_exit_during_initialization() when an incorrect class is found on the bootclasspath
+  - S8073453, PR2674: Focus doesn't move when pressing Shift + Tab keys
+  - S8074350, PR2674: Support ISO 4217 "Current funds codes" table (A.2)
+  - S8074869, PR2674: C2 code generator can replace -0.0f with +0.0f on Linux
+  - S8075609, PR2674: java.lang.IllegalArgumentException: aContainer is not a focus cycle root of aComponent
+  - S8075773, PR2674: jps running as root fails after the fix of JDK-8050807
+  - S8076040, PR2674: Test com/sun/crypto/provider/KeyFactory/TestProviderLeak.java fails with -XX:+UseG1GC
+  - S8076455, PR2674: IME Composition Window is displayed on incorrect position
+  - S8076968, PR2674: PICL based initialization of L2 cache line size on some SPARC systems is incorrect
+  - S8077102, PR2674: dns_lookup_realm should be false by default
+  - S8077409, PR2674: Drawing deviates when validate() is invoked on java.awt.ScrollPane
+  - S8078113, PR2674: 8011102 changes may cause incorrect results
+  - S8078331, PR1896: Upgrade JDK to use LittleCMS 2.7
+  - S8080012, PR2674: JVM times out with vdbench on SPARC M7-16
+  - S8081392, PR2674: getNodeValue should return 'null' value for Element nodes
+  - S8081470, PR2674: com/sun/jdi tests are failing with "Error. failed to clean up files after test" with jtreg 4.1 b12
+  - S8081756, PR1896: Mastering Matrix Manipulations
+  - S8130297, PR2674: com/sun/crypto/provider/KeyFactory/TestProviderLeak.java still failing after JDK-8076040
+  - S8133636, PR2674: [TEST_BUG] Import/add tests for the problem seen in 8076110
+* Bug fixes
+  - PR2512: Reset success following calls in LayoutManager.cpp
+  - PR2568: openjdk causes a full desktop crash on RHEL 6 i586
+
 New in release 2.6.1 (2015-07-21):
 
 * Security fixes
--- a/configure.ac	Fri Aug 21 21:22:06 2015 +0100
+++ b/configure.ac	Tue Oct 20 04:30:23 2015 +0100
@@ -1,4 +1,4 @@
-AC_INIT([icedtea], [2.6.2pre00], [distro-pkg-dev@openjdk.java.net])
+AC_INIT([icedtea], [2.6.2pre02], [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	Fri Aug 21 21:22:06 2015 +0100
+++ b/hotspot.map.in	Tue Oct 20 04:30:23 2015 +0100
@@ -1,2 +1,2 @@
 # version type(drop/hg) url changeset sha256sum
-default drop http://icedtea.classpath.org/download/drops/icedtea7/@ICEDTEA_RELEASE@ b19bc5aeaa09 00043b0c09aa06ce1766c2973d18b0283bd2128a44c94cde97b626a4856b68b3
+default drop http://icedtea.classpath.org/download/drops/icedtea7/@ICEDTEA_RELEASE@ 1500c88d1b61 19b5125a8e1283bf6b5a00194a00991b9522b7a92fe0efd152ef303030e831bd
--- a/patches/boot/ecj-stringswitch.patch	Fri Aug 21 21:22:06 2015 +0100
+++ b/patches/boot/ecj-stringswitch.patch	Tue Oct 20 04:30:23 2015 +0100
@@ -606,3 +606,24 @@
              }
              lib = replace(k, lib, "$ARCH", arch);
          }
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2015-10-20 02:20:59.588588403 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2015-10-20 02:22:51.051758602 +0100
+@@ -420,14 +420,13 @@
+         if (s == null) {
+             return null;
+         }
+-        switch (s.toLowerCase(Locale.US)) {
+-            case "yes": case "true":
++        String lCase = s.toLowerCase(Locale.US);
++        if ("yes".equals(lCase) || "true".equals(lCase)) {
+                 return Boolean.TRUE;
+-            case "no": case "false":
++        } else if ("no".equals(lCase) || "false".equals(lCase)) {
+                 return Boolean.FALSE;
+-            default:
+-                return null;
+         }
++        return null;
+     }
+ 
+     /**
--- a/patches/boot/ecj-trywithresources.patch	Fri Aug 21 21:22:06 2015 +0100
+++ b/patches/boot/ecj-trywithresources.patch	Tue Oct 20 04:30:23 2015 +0100
@@ -1,6 +1,6 @@
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2014-05-07 08:43:18.530502916 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2015-10-20 02:12:35.055964609 +0100
 @@ -743,7 +743,9 @@
  
          private void dumpBand() throws IOException {
@@ -54,8 +54,8 @@
  
          public void readDataFrom(InputStream in) throws IOException {
 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	2014-05-07 08:41:46.517143430 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2014-05-07 08:43:18.530502916 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2015-10-20 01:50:18.905127975 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2015-10-20 02:12:35.055964609 +0100
 @@ -151,8 +151,13 @@
                  if ("--config-file=".equals(state)) {
                      String propFile = av.remove(0);
@@ -109,8 +109,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	2014-05-07 08:43:18.530502916 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	2015-10-20 02:12:35.055964609 +0100
 @@ -245,9 +245,15 @@
      void run(File inFile, JarOutputStream jstream) throws IOException {
          // %%% maybe memory-map the file, and pass it straight into unpacker
@@ -129,8 +129,8 @@
      }
  
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2014-05-07 08:43:18.530502916 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2015-10-20 02:12:35.055964609 +0100
 @@ -540,9 +540,15 @@
              Index index = initCPIndex(tag, cpMap);
  
@@ -174,8 +174,8 @@
          attr_definition_name.doneDisbursing();
          attr_definition_layout.doneDisbursing();
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2014-05-07 08:43:18.530502916 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2015-10-20 02:12:35.055964609 +0100
 @@ -458,9 +458,15 @@
                  Utils.log.info("Writing "+cpMap.length+" "+ConstantPool.tagName(tag)+" entries...");
  
@@ -219,8 +219,8 @@
  
      void writeAttrCounts() throws IOException {
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2014-05-07 08:43:18.530502916 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2015-10-20 02:12:35.055964609 +0100
 @@ -123,8 +123,9 @@
          // Do this after the previous props are put in place,
          // to allow override if necessary.
@@ -249,8 +249,8 @@
          for (Map.Entry<Object, Object> e : props.entrySet()) {
              String key = (String) e.getKey();
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2014-05-07 08:43:18.530502916 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2015-10-20 02:12:35.055964609 +0100
 @@ -161,9 +161,15 @@
          }
          // Use the stream-based implementation.
@@ -269,8 +269,8 @@
              in.delete();
          }
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2015-10-20 02:12:35.055964609 +0100
 @@ -268,18 +268,30 @@
          // 4947205 : Peformance is slow when using pack-effort=0
          out = new BufferedOutputStream(out);
@@ -305,9 +305,9 @@
          // Wrapper to prevent closing of client-supplied stream.
      static private
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2014-05-07 08:43:18.534502974 +0100
-@@ -914,10 +914,15 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	2015-10-20 02:12:35.055964609 +0100
+@@ -912,10 +912,15 @@
                              java.net.URLConnection uconn = tClass.getResource(tResource).openConnection();
                              int len = uconn.getContentLength();
                              byte[] bytes = new byte[len];
@@ -326,8 +326,8 @@
                          } catch (java.io.IOException ex) {
                              throw newInternalError(ex);
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2015-10-20 02:12:35.055964609 +0100
 @@ -578,12 +578,23 @@
       * Returns the Manifest for the specified JAR file name.
       */
@@ -356,8 +356,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java
---- openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/channels/SocketChannel.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java	2015-10-20 02:12:35.055964609 +0100
 @@ -188,7 +188,7 @@
              } catch (Throwable suppressed) {
                  x.addSuppressed(suppressed);
@@ -368,8 +368,8 @@
          assert sc.isConnected();
          return sc;
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java
---- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	2015-10-20 02:12:35.055964609 +0100
 @@ -122,9 +122,15 @@
          if (attrs.isDirectory()) {
              Files.createDirectory(target);
@@ -397,8 +397,8 @@
          }
      }
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2015-10-20 02:12:35.059964584 +0100
 @@ -2850,8 +2850,11 @@
          }
  
@@ -526,9 +526,9 @@
      }
  }
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	2014-05-07 08:43:18.534502974 +0100
-@@ -233,9 +233,14 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Currency.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	2015-10-20 02:13:13.483730401 +0100
+@@ -237,9 +237,14 @@
                                               "currency.properties");
                      if (propFile.exists()) {
                          Properties props = new Properties();
@@ -543,10 +543,10 @@
 +                        }
                          Set<String> keys = props.stringPropertyNames();
                          Pattern propertiesPattern =
-                             Pattern.compile("([A-Z]{3})\\s*,\\s*(\\d{3})\\s*,\\s*([0-3])");
+                             Pattern.compile("([A-Z]{3})\\s*,\\s*(\\d{3})\\s*,\\s*(\\d+)");
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java
---- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/jar/JarFile.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java	2015-10-20 02:12:35.059964584 +0100
 @@ -386,9 +386,14 @@
       * META-INF files.
       */
@@ -565,8 +565,8 @@
  
      /**
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	2015-10-20 02:12:35.059964584 +0100
 @@ -144,8 +144,9 @@
          buf = new char[(int)len];
          int read = 0;
@@ -626,8 +626,8 @@
      }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java
---- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	2014-05-07 08:49:57.504351776 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	2015-10-20 02:12:35.059964584 +0100
 @@ -382,9 +382,15 @@
                      // Load user's implementation of SyncProvider
                      // here. -Drowset.properties=/abc/def/pqr.txt
@@ -678,8 +678,8 @@
                  } catch (PrivilegedActionException ex) {
                      Throwable e = ex.getException();
 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	2014-05-07 08:41:46.521143489 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2015-10-20 01:50:18.909127817 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2015-10-20 02:12:35.059964584 +0100
 @@ -555,8 +555,9 @@
                  if (parent == null) {
                      parent = new File(".");
@@ -703,8 +703,8 @@
              } else {
                  out.add(a.arg);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	2015-10-20 02:12:35.059964584 +0100
 @@ -194,7 +194,8 @@
       * Given a URL, retrieves a JAR file, caches it to disk, and creates a
       * cached JAR file object.
@@ -738,8 +738,8 @@
                          }
                      });
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	2015-10-20 02:12:35.059964584 +0100
 @@ -255,7 +255,9 @@
              this.entries = new HashMap<Path,CacheEntry>();
  
@@ -763,8 +763,8 @@
          }
  
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/print/PSPrinterJob.java openjdk-boot/jdk/src/share/classes/sun/print/PSPrinterJob.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/print/PSPrinterJob.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/print/PSPrinterJob.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/print/PSPrinterJob.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/print/PSPrinterJob.java	2015-10-20 02:12:35.059964584 +0100
 @@ -680,25 +680,38 @@
  
          private void handleProcessFailure(final Process failedProcess,
@@ -811,8 +811,8 @@
  
          public Object run() {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/rmi/log/ReliableLog.java openjdk-boot/jdk/src/share/classes/sun/rmi/log/ReliableLog.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/log/ReliableLog.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/log/ReliableLog.java	2014-05-07 08:43:18.534502974 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/log/ReliableLog.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/log/ReliableLog.java	2015-10-20 02:12:35.059964584 +0100
 @@ -594,10 +594,16 @@
          } else {
              name = versionFile;
@@ -851,8 +851,8 @@
  
      /**
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/server/Activation.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/server/Activation.java	2015-10-20 02:12:35.059964584 +0100
 @@ -1233,13 +1233,16 @@
                      PipeWriter.plugTogetherPair
                          (child.getInputStream(), System.out,
@@ -874,8 +874,8 @@
  
                  } catch (IOException e) {
 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	2014-05-07 08:41:46.633145144 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2015-10-20 01:50:19.013123686 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java	2015-10-20 02:12:35.063964561 +0100
 @@ -233,13 +233,14 @@
                          proxyLog.log(Log.BRIEF,
                              "trying with factory: " + factory);
@@ -904,9 +904,94 @@
                      proxyLog.log(Log.BRIEF, "factory succeeded");
  
                      // factory succeeded, open new socket for caller's use
+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	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2015-10-20 02:12:35.063964561 +0100
+@@ -159,18 +159,33 @@
+         throws IOException, KrbException {
+         primaryPrincipal = principal;
+         primaryRealm = principal.getRealm();
+-        try (FileOutputStream fos = new FileOutputStream(name);
+-             CCacheOutputStream cos = new CCacheOutputStream(fos)) {
++        FileOutputStream fos = null;
++        CCacheOutputStream cos = null;
++        try {
++            fos = new FileOutputStream(name);
++            cos = new CCacheOutputStream(fos);
+             version = KRB5_FCC_FVNO_3;
+             cos.writeHeader(primaryPrincipal, version);
++        } finally {
++            try {
++                if (cos != null)
++                    cos.close();
++            } finally {
++                if (fos != null)
++                    fos.close();
++            }
+         }
++
+         load(name);
+     }
+ 
+     synchronized void load(String name) throws IOException, KrbException {
+         PrincipalName p;
+-        try (FileInputStream fis = new FileInputStream(name);
+-             CCacheInputStream cis = new CCacheInputStream(fis)) {
++        FileInputStream fis = null;
++        CCacheInputStream cis = null;
++        try {
++            fis = new FileInputStream(name);
++            cis = new CCacheInputStream(fis);
+             version = cis.readVersion();
+             if (version == KRB5_FCC_FVNO_4) {
+                 tag = cis.readTag();
+@@ -196,6 +211,14 @@
+                     credentialsList.addElement(cred);
+                 }
+             }
++        } finally {
++            try {
++                if (cis != null)
++                    cis.close();
++            } finally {
++                if (fis != null)
++                    fis.close();
++            }
+         }
+     }
+ 
+@@ -255,8 +278,11 @@
+      * Saves the credentials cache file to the disk.
+      */
+     public synchronized void save() throws IOException, Asn1Exception {
+-        try (FileOutputStream fos = new FileOutputStream(cacheName);
+-             CCacheOutputStream cos = new CCacheOutputStream(fos)) {
++        FileOutputStream fos = null;
++        CCacheOutputStream cos = null;
++        try {
++            fos = new FileOutputStream(cacheName);
++            cos = new CCacheOutputStream(fos);
+             cos.writeHeader(primaryPrincipal, version);
+             Credentials[] tmp = null;
+             if ((tmp = getCredsList()) != null) {
+@@ -264,6 +290,14 @@
+                     cos.addCreds(tmp[i]);
+                 }
+             }
++        } finally {
++            try {
++                if (cos != null)
++                    cos.close();
++            } finally {
++                if (fos != null)
++                    fos.close();
++            }
+         }
+     }
+ 
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2015-10-20 02:12:35.063964561 +0100
 @@ -92,9 +92,13 @@
          tabName = filename;
          try {
@@ -975,8 +1060,8 @@
      }
  }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	2015-10-20 02:12:35.063964561 +0100
 @@ -179,7 +179,9 @@
                          // The temporary dir
                          File f = new File(p.getProperty("java.io.tmpdir"));
@@ -1000,8 +1085,8 @@
                      } catch (Exception ex) {
                          md.update((byte)ex.hashCode());
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java	2015-10-20 02:12:35.063964561 +0100
 @@ -1149,9 +1149,14 @@
                  } else {
                      ByteArrayOutputStream bout = new ByteArrayOutputStream();
@@ -1020,8 +1105,8 @@
              }
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2014-05-07 08:41:46.633145144 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2015-10-20 01:50:19.017123526 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/UntrustedCertificates.java	2015-10-20 02:12:35.063964561 +0100
 @@ -56,8 +56,9 @@
  
      private static void add(String alias, String pemCert) {
@@ -1055,8 +1140,8 @@
  
      static {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/Arguments.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/Arguments.java	2015-10-20 02:12:35.063964561 +0100
 @@ -99,14 +99,19 @@
      }
  
@@ -1086,8 +1171,8 @@
  
      public static void usage() {
 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	2014-05-07 08:41:46.637145203 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2015-10-20 01:50:19.017123526 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/jcmd/JCmd.java	2015-10-20 02:12:35.063964561 +0100
 @@ -116,7 +116,7 @@
                              e.printStackTrace();
                          }
@@ -1130,8 +1215,8 @@
  
      private static String getMainClass(VirtualMachineDescriptor vmd)
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	2015-10-20 02:12:35.063964561 +0100
 @@ -127,9 +127,15 @@
              calendarProps = (Properties) AccessController.doPrivileged(new PrivilegedExceptionAction() {
                  public Object run() throws IOException {
@@ -1150,8 +1235,8 @@
                  }
              });
 diff -Nru openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java
---- openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	2015-10-20 02:12:35.063964561 +0100
 @@ -200,7 +200,7 @@
      }
  
@@ -1162,8 +1247,8 @@
          Character.UnicodeBlock currentBlock = Character.UnicodeBlock.of(0);
          for (int cp = 0x000001; cp < 0x110000; cp++ ) {
 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	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2015-10-20 02:12:35.063964561 +0100
 @@ -569,11 +569,11 @@
                  public Void run() throws BackingStoreException {
                      Map<String, String> m = new TreeMap<>();
@@ -1227,8 +1312,8 @@
                  }
              });
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	2015-10-20 02:12:35.063964561 +0100
 @@ -255,9 +255,16 @@
          String fstypes = System.getProperty("java.home") + "/lib/fstypes.properties";
          Path file = Paths.get(fstypes);
@@ -1248,8 +1333,8 @@
          }
          return result;
 diff -Nru openjdk-boot.orig/jdk/src/solaris/classes/sun/print/UnixPrintJob.java openjdk-boot/jdk/src/solaris/classes/sun/print/UnixPrintJob.java
---- openjdk-boot.orig/jdk/src/solaris/classes/sun/print/UnixPrintJob.java	2014-05-02 20:39:34.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/print/UnixPrintJob.java	2014-05-07 08:43:18.538503033 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/print/UnixPrintJob.java	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/print/UnixPrintJob.java	2015-10-20 02:12:35.063964561 +0100
 @@ -960,25 +960,38 @@
  
          private void handleProcessFailure(final Process failedProcess,
@@ -1295,87 +1380,3 @@
          }
  
          public Object run() {
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2015-01-08 18:26:59.716746329 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2015-01-16 02:58:39.413460990 +0000
-@@ -159,18 +154,33 @@
-         throws IOException, KrbException {
-         primaryPrincipal = principal;
-         primaryRealm = principal.getRealm();
--        try (FileOutputStream fos = new FileOutputStream(name);
--             CCacheOutputStream cos = new CCacheOutputStream(fos)) {
-+        FileOutputStream fos = null;
-+        CCacheOutputStream cos = null;
-+        try {
-+            fos = new FileOutputStream(name);
-+            cos = new CCacheOutputStream(fos);
-             version = KRB5_FCC_FVNO_3;
-             cos.writeHeader(primaryPrincipal, version);
-+        } finally {
-+            try {
-+                if (cos != null)
-+                    cos.close();
-+            } finally {
-+                if (fos != null)
-+                    fos.close();
-+            }
-         }
-+
-         load(name);
-     }
- 
-     synchronized void load(String name) throws IOException, KrbException {
-         PrincipalName p;
--        try (FileInputStream fis = new FileInputStream(name);
--             CCacheInputStream cis = new CCacheInputStream(fis)) {
-+        FileInputStream fis = null;
-+        CCacheInputStream cis = null;
-+        try {
-+            fis = new FileInputStream(name);
-+            cis = new CCacheInputStream(fis);
-             version = cis.readVersion();
-             if (version == KRB5_FCC_FVNO_4) {
-                 tag = cis.readTag();
-@@ -196,6 +206,14 @@
-                     credentialsList.addElement(cred);
-                 }
-             }
-+        } finally {
-+            try {
-+                if (cis != null)
-+                    cis.close();
-+            } finally {
-+                if (fis != null)
-+                    fis.close();
-+            }
-         }
-     }
- 
-@@ -255,8 +273,11 @@
-      * Saves the credentials cache file to the disk.
-      */
-     public synchronized void save() throws IOException, Asn1Exception {
--        try (FileOutputStream fos = new FileOutputStream(cacheName);
--             CCacheOutputStream cos = new CCacheOutputStream(fos)) {
-+        FileOutputStream fos = null;
-+        CCacheOutputStream cos = null;
-+        try {
-+            fos = new FileOutputStream(cacheName);
-+            cos = new CCacheOutputStream(fos);
-             cos.writeHeader(primaryPrincipal, version);
-             Credentials[] tmp = null;
-             if ((tmp = getCredsList()) != null) {
-@@ -264,6 +285,14 @@
-                     cos.addCreds(tmp[i]);
-                 }
-             }
-+        } finally {
-+            try {
-+                if (cos != null)
-+                    cos.close();
-+            } finally {
-+                if (fos != null)
-+                    fos.close();
-+            }
-         }
-     }
- 
--- a/patches/boot/ecj-underscored_literals.patch	Fri Aug 21 21:22:06 2015 +0100
+++ b/patches/boot/ecj-underscored_literals.patch	Tue Oct 20 04:30:23 2015 +0100
@@ -9,3 +9,17 @@
                          return (int) ell;
                      } else {
                          throw new
+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	2015-10-19 08:58:37.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java	2015-10-20 02:41:38.769878548 +0100
+@@ -471,8 +471,8 @@
+                             // available
+                             ldr.wait(readTimeout - elapsedMilli);
+                             elapsedNano += (System.nanoTime() - beginNano);
+-                            elapsedMilli += elapsedNano / 1000_000;
+-                            elapsedNano %= 1000_000;
++                            elapsedMilli += elapsedNano / 1000000;
++                            elapsedNano %= 1000000;
+ 
+                         } else {
+                             // no timeout is set so we wait infinitely until