changeset 2377:e53fc64228c1

Bump to b136. 2011-04-29 Andrew John Hughes <ahughes@redhat.com> * patches/boot/icedtea-dyn.patch: Dropped; java.lang.invoke now compiled in bootstrap mode. * patches/icedtea-demo-swingapplet.patch: Dropped, upstream. * patches/icedtea-tools.patch; Dropped, obsolete. * Makefile.am: (OPENJDK_VERSION): Bump to b136. (CORBA_CHANGESET): Updated. (HOTSPOT_CHANGESET): Likewise. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (HOTSPOT_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (JAXP_DROP_ZIP): Likewise. (JAXP_DROP_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Dropped removed patches. (ICEDTEA_BOOT_PATCHES): Drop icedtea-dyn.patch and add ecj-autoboxing.patch. * patches/boot/ecj-autoboxing.patch: New patch to avoid trying to cast to primitive types from Object. * patches/boot/ecj-diamond.patch, * patches/boot/ecj-stringswitch.patch, * patches/boot/ecj-trywithresources.patch: Remove additional cases introduced in b131-b136. * patches/boot/fontconfig.patch, * patches/boot/jar.patch, * patches/boot/xbootclasspath.patch, * patches/cacao/arch.patch, * patches/debian/icedtea-uname.patch, * patches/hotspot/default/icedtea-gcc-suffix.patch, * patches/hotspot/default/icedtea-params-cast-size_t.patch, * patches/icedtea-libraries.patch, * patches/icedtea-rhino.patch, * patches/icedtea-update-bootclasspath.patch, * patches/sh4-support.patch: Updated to apply against b136.
author Andrew John Hughes <ahughes@redhat.com>
date Sun, 01 May 2011 18:12:29 +0100
parents 0f9261320112
children 8234e55615a5 d7697037c191
files ChangeLog Makefile.am patches/boot/ecj-autoboxing.patch patches/boot/ecj-diamond.patch patches/boot/ecj-stringswitch.patch patches/boot/ecj-trywithresources.patch patches/boot/fontconfig.patch patches/boot/icedtea-dyn.patch patches/boot/jar.patch patches/boot/xbootclasspath.patch patches/cacao/arch.patch patches/debian/icedtea-uname.patch patches/hotspot/default/icedtea-gcc-suffix.patch patches/hotspot/default/icedtea-params-cast-size_t.patch patches/icedtea-demo-swingapplet.patch patches/icedtea-libraries.patch patches/icedtea-rhino.patch patches/icedtea-tools.patch patches/icedtea-update-bootclasspath.patch patches/sh4-support.patch
diffstat 20 files changed, 2000 insertions(+), 975 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Apr 21 20:12:07 2011 -0400
+++ b/ChangeLog	Sun May 01 18:12:29 2011 +0100
@@ -1,3 +1,53 @@
+2011-04-29  Andrew John Hughes  <ahughes@redhat.com>
+
+	* patches/boot/icedtea-dyn.patch:
+	Dropped; java.lang.invoke now compiled in
+	bootstrap mode.
+	* patches/icedtea-demo-swingapplet.patch:
+	Dropped, upstream.
+	* patches/icedtea-tools.patch;
+	Dropped, obsolete.
+	* Makefile.am:
+	(OPENJDK_VERSION): Bump to b136.
+	(CORBA_CHANGESET): Updated.
+	(HOTSPOT_CHANGESET): Likewise.
+	(JAXP_CHANGESET): Likewise.
+	(JAXWS_CHANGESET): Likewise.
+	(JDK_CHANGESET): Likewise.
+	(LANGTOOLS_CHANGESET): Likewise.
+	(OPENJDK_CHANGESET): Likewise.
+	(CORBA_SHA256SUM): Likewise.
+	(HOTSPOT_SHA256SUM): Likewise.
+	(JAXP_SHA256SUM): Likewise.
+	(JAXWS_SHA256SUM): Likewise.
+	(JDK_SHA256SUM): Likewise.
+	(LANGTOOLS_SHA256SUM): Likewise.
+	(OPENJDK_SHA256SUM): Likewise.
+	(JAXP_DROP_ZIP): Likewise.
+	(JAXP_DROP_SHA256SUM): Likewise.
+	(ICEDTEA_PATCHES): Dropped removed patches.
+	(ICEDTEA_BOOT_PATCHES): Drop icedtea-dyn.patch
+	and add ecj-autoboxing.patch.
+	* patches/boot/ecj-autoboxing.patch:
+	New patch to avoid trying to cast to primitive types
+	from Object.
+	* patches/boot/ecj-diamond.patch,
+	* patches/boot/ecj-stringswitch.patch,
+	* patches/boot/ecj-trywithresources.patch:
+	Remove additional cases introduced in b131-b136.
+	* patches/boot/fontconfig.patch,
+	* patches/boot/jar.patch,
+	* patches/boot/xbootclasspath.patch,
+	* patches/cacao/arch.patch,
+	* patches/debian/icedtea-uname.patch,
+	* patches/hotspot/default/icedtea-gcc-suffix.patch,
+	* patches/hotspot/default/icedtea-params-cast-size_t.patch,
+	* patches/icedtea-libraries.patch,
+	* patches/icedtea-rhino.patch,
+	* patches/icedtea-update-bootclasspath.patch,
+	* patches/sh4-support.patch:
+	Updated to apply against b136.
+
 2011-04-21  Omair Majid  <omajid@redhat.com>
 
 	* patches/bytebuffer-compact.patch: Drop patch. It only contained
--- a/Makefile.am	Thu Apr 21 20:12:07 2011 -0400
+++ b/Makefile.am	Sun May 01 18:12:29 2011 +0100
@@ -1,22 +1,22 @@
 # Dependencies
 
-OPENJDK_VERSION = b130
+OPENJDK_VERSION = b136
 
-CORBA_CHANGESET = 59f02c101698
-HOTSPOT_CHANGESET = 4071da7ef7b3
-JAXP_CHANGESET = b6f201c0649a
-JAXWS_CHANGESET = 4c04de31900b
-JDK_CHANGESET = 6753b79d7bb5
-LANGTOOLS_CHANGESET = 4659da7bff78
-OPENJDK_CHANGESET = d39d0c08731a
+CORBA_CHANGESET = b62418551e20
+HOTSPOT_CHANGESET = ef8632d52263
+JAXP_CHANGESET = 1c2f25bf36b1
+JAXWS_CHANGESET = 339c2d381d80
+JDK_CHANGESET = 1631a3dee8fc
+LANGTOOLS_CHANGESET = 8e26c4aee63c
+OPENJDK_CHANGESET = d4aea1a51d62
 
-CORBA_SHA256SUM = 4c6db5299947c3ed11a7f72da55a3cd89197c143f10d77c75036aa2f2cf296a6
-HOTSPOT_SHA256SUM = 4ec39fddd8d5ff9e7e9e2dfeb4fff37c26e84c1aaa9a3f3953e4bedb00bc6713
-JAXP_SHA256SUM = a1a5c6b2671f83d4675f9ba25013c6a16a4cf4d1040fcd2ff4143c92bd5496a3
-JAXWS_SHA256SUM = 8fe84a61142d579487bee98133fc26e57aedb97f781dc925ad3803aa40f5c061
-JDK_SHA256SUM = 650922377d1e847c26e1ea7475a46ae6f8bac3ba7747a2c1467c7136d1b7b4d6
-LANGTOOLS_SHA256SUM = 1df1bb1edd5f912405398c0024f8290f6a9030172dd1196c52e2c461769a1a07
-OPENJDK_SHA256SUM = 937930cb6c3174f8bdbf3d0034832fbde539fd62591087f1d6fcec695ed20519
+CORBA_SHA256SUM = 82eebaa8a248e18a4e4a0552716453c1f7877135ea73b51f3056fdec850267f9
+HOTSPOT_SHA256SUM = 3868c969833dc3b88523d711fc21cfc2c57fea5b6f387a7082aff5634b35c0a1
+JAXP_SHA256SUM = 91b65e352002079045dc1dee1c2a1af92db74a589b11b0a01777760adca80c64
+JAXWS_SHA256SUM = 01747b77f40ffe554a3ee0ff8b902db0d743a1f8f6260c9141a1fb3d1c6cc230
+JDK_SHA256SUM = f08020de62bef31ff0a42564d06c84817150f943729132045e8af602c608467b
+LANGTOOLS_SHA256SUM = e7384d93ac86c5b91b767bbbcb58a7037089446943935292d0d7706d16becc9f
+OPENJDK_SHA256SUM = 7143dc00cad9b7f8a653e8e22aec9fd3fa354325eaf79007326b16b887b6fbe6
 
 CACAO_VERSION = e321b101a9ee
 CACAO_SHA256SUM = 46bc5b6212c199dc4a3dbebe6386fe15a8248625a5dffa17115aab394a298444
@@ -31,8 +31,8 @@
 JAF_DROP_ZIP = jdk7-jaf-2010_08_19.zip
 JAF_DROP_SHA256SUM = e6aefedfdbb4673e8019583d1344fb162b94e1b10382c362364dbbfd5889c09e
 JAXP_DROP_URL = http://icedtea.classpath.org/download/drops
-JAXP_DROP_ZIP = jaxp-1_4_5-dev.zip
-JAXP_DROP_SHA256SUM = 938cce9d3f0afaa5d076c62a2de081862102d10bfe04a0767122f2dff5bd975e
+JAXP_DROP_ZIP = jaxp-1_4_5-dev1.zip
+JAXP_DROP_SHA256SUM = 050cba755c2632dc5ec5ffcdb17f2f4d36a018306c357fdd5c8996d877954de5
 
 ICEDTEA_HG_URL = http://hg.openjdk.java.net/icedtea/jdk7
 OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk7/jdk7
@@ -236,7 +236,6 @@
 ICEDTEA_PATCHES = \
 	patches/hotspot/$(HSBUILD)/icedtea-text-relocations.patch \
 	patches/icedtea-rmi_amd64.patch \
-	patches/icedtea-tools.patch \
 	patches/icedtea-demos.patch \
 	patches/icedtea-headers.patch \
 	patches/hotspot/$(HSBUILD)/icedtea-headers.patch \
@@ -271,7 +270,6 @@
         patches/security/icedtea-6592792.patch \
         patches/security/icedtea-6733959.patch \
         patches/security/icedtea-6755943.patch \
-	patches/icedtea-demo-swingapplet.patch \
 	patches/icedtea-jvmtiEnv.patch \
 	patches/icedtea-disable-intree-ec.patch \
 	patches/icedtea-sources.patch \
@@ -347,7 +345,6 @@
 	patches/boot/test_gamma.patch \
 	patches/boot/tools.jar.patch \
 	patches/boot/icedtea-jopt.patch \
-	patches/boot/icedtea-dyn.patch \
 	patches/boot/icedtea-jaxp-dependency.patch \
 	patches/boot/genstubs-nofork.patch \
 	patches/boot/getannotation-cast.patch \
@@ -361,7 +358,8 @@
 	patches/boot/jaxws-jdk-dependency.patch \
 	patches/boot/hotspot-jdk-dependency.patch \
 	patches/boot/ecj-multicatch.patch \
-	patches/boot/ecj-trywithresources.patch
+	patches/boot/ecj-trywithresources.patch \
+	patches/boot/ecj-autoboxing.patch
 
 if CP39408_JAVAH
 ICEDTEA_BOOT_PATCHES += patches/boot/icedtea-pr39408.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/boot/ecj-autoboxing.patch	Sun May 01 18:12:29 2011 +0100
@@ -0,0 +1,263 @@
+diff -r 1631a3dee8fc src/share/classes/java/lang/invoke/CallSite.java
+--- openjdk-boot/jdk/src/share/classes/java/lang/invoke/CallSite.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/CallSite.java	Sat Apr 30 02:38:41 2011 +0100
+@@ -309,7 +309,7 @@
+ 
+     private static Object maybeReBox(Object x) {
+         if (x instanceof Integer) {
+-            int xi = (int) x;
++            int xi = (Integer) x;
+             if (xi == (byte) xi)
+                 x = xi;  // must rebox; see JLS 5.1.7
+         }
+diff -r 1631a3dee8fc src/share/classes/java/lang/invoke/FromGeneric.java
+--- openjdk-boot/jdk/src/share/classes/java/lang/invoke/FromGeneric.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/FromGeneric.java	Sat Apr 30 02:38:41 2011 +0100
+@@ -502,10 +502,10 @@
+         protected A0 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A0(e, i, c, t); }
+         protected Object invoke_L0() throws Throwable { return convert_L((Object)invoker.invokeExact(target)); }
+-        protected Object invoke_I0() throws Throwable { return convert_I((int)   invoker.invokeExact(target)); }
+-        protected Object invoke_J0() throws Throwable { return convert_J((long)  invoker.invokeExact(target)); }
+-        protected Object invoke_F0() throws Throwable { return convert_F((float) invoker.invokeExact(target)); }
+-        protected Object invoke_D0() throws Throwable { return convert_D((double)invoker.invokeExact(target)); }
++        protected Object invoke_I0() throws Throwable { return convert_I((Integer)   invoker.invokeExact(target)); }
++        protected Object invoke_J0() throws Throwable { return convert_J((Long)  invoker.invokeExact(target)); }
++        protected Object invoke_F0() throws Throwable { return convert_F((Float) invoker.invokeExact(target)); }
++        protected Object invoke_D0() throws Throwable { return convert_D((Double)invoker.invokeExact(target)); }
+     }
+     static class A1 extends Adapter {
+         protected A1(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -514,10 +514,10 @@
+         protected A1 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A1(e, i, c, t); }
+         protected Object invoke_L1(Object a0) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0)); }
+-        protected Object invoke_I1(Object a0) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0)); }
+-        protected Object invoke_J1(Object a0) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0)); }
+-        protected Object invoke_F1(Object a0) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0)); }
+-        protected Object invoke_D1(Object a0) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0)); }
++        protected Object invoke_I1(Object a0) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0)); }
++        protected Object invoke_J1(Object a0) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0)); }
++        protected Object invoke_F1(Object a0) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0)); }
++        protected Object invoke_D1(Object a0) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0)); }
+     }
+     static class A2 extends Adapter {
+         protected A2(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -526,10 +526,10 @@
+         protected A2 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A2(e, i, c, t); }
+         protected Object invoke_L2(Object a0, Object a1) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1)); }
+-        protected Object invoke_I2(Object a0, Object a1) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1)); }
+-        protected Object invoke_J2(Object a0, Object a1) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1)); }
+-        protected Object invoke_F2(Object a0, Object a1) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1)); }
+-        protected Object invoke_D2(Object a0, Object a1) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1)); }
++        protected Object invoke_I2(Object a0, Object a1) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1)); }
++        protected Object invoke_J2(Object a0, Object a1) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1)); }
++        protected Object invoke_F2(Object a0, Object a1) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1)); }
++        protected Object invoke_D2(Object a0, Object a1) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1)); }
+     }
+     static class A3 extends Adapter {
+         protected A3(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -538,10 +538,10 @@
+         protected A3 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A3(e, i, c, t); }
+         protected Object invoke_L3(Object a0, Object a1, Object a2) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1, a2)); }
+-        protected Object invoke_I3(Object a0, Object a1, Object a2) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1, a2)); }
+-        protected Object invoke_J3(Object a0, Object a1, Object a2) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1, a2)); }
+-        protected Object invoke_F3(Object a0, Object a1, Object a2) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1, a2)); }
+-        protected Object invoke_D3(Object a0, Object a1, Object a2) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1, a2)); }
++        protected Object invoke_I3(Object a0, Object a1, Object a2) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1, a2)); }
++        protected Object invoke_J3(Object a0, Object a1, Object a2) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1, a2)); }
++        protected Object invoke_F3(Object a0, Object a1, Object a2) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1, a2)); }
++        protected Object invoke_D3(Object a0, Object a1, Object a2) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1, a2)); }
+     }
+     static class A4 extends Adapter {
+         protected A4(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -550,10 +550,10 @@
+         protected A4 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A4(e, i, c, t); }
+         protected Object invoke_L4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1, a2, a3)); }
+-        protected Object invoke_I4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1, a2, a3)); }
+-        protected Object invoke_J4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1, a2, a3)); }
+-        protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1, a2, a3)); }
+-        protected Object invoke_D4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1, a2, a3)); }
++        protected Object invoke_I4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1, a2, a3)); }
++        protected Object invoke_J4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1, a2, a3)); }
++        protected Object invoke_F4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1, a2, a3)); }
++        protected Object invoke_D4(Object a0, Object a1, Object a2, Object a3) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1, a2, a3)); }
+     }
+     static class A5 extends Adapter {
+         protected A5(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -562,10 +562,10 @@
+         protected A5 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A5(e, i, c, t); }
+         protected Object invoke_L5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
+-        protected Object invoke_I5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
+-        protected Object invoke_J5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
+-        protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
+-        protected Object invoke_D5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
++        protected Object invoke_I5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
++        protected Object invoke_J5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
++        protected Object invoke_F5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
++        protected Object invoke_D5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1, a2, a3, a4)); }
+     }
+     static class A6 extends Adapter {
+         protected A6(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -574,10 +574,10 @@
+         protected A6 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A6(e, i, c, t); }
+         protected Object invoke_L6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
+-        protected Object invoke_I6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
+-        protected Object invoke_J6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
+-        protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
+-        protected Object invoke_D6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
++        protected Object invoke_I6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
++        protected Object invoke_J6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
++        protected Object invoke_F6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
++        protected Object invoke_D6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5)); }
+     }
+     static class A7 extends Adapter {
+         protected A7(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -586,10 +586,10 @@
+         protected A7 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A7(e, i, c, t); }
+         protected Object invoke_L7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
+-        protected Object invoke_I7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
+-        protected Object invoke_J7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
+-        protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
+-        protected Object invoke_D7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
++        protected Object invoke_I7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
++        protected Object invoke_J7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
++        protected Object invoke_F7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
++        protected Object invoke_D7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6)); }
+     }
+     static class A8 extends Adapter {
+         protected A8(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -598,10 +598,10 @@
+         protected A8 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A8(e, i, c, t); }
+         protected Object invoke_L8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+-        protected Object invoke_I8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+-        protected Object invoke_J8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+-        protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+-        protected Object invoke_D8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
++        protected Object invoke_I8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
++        protected Object invoke_J8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
++        protected Object invoke_F8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
++        protected Object invoke_D8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7)); }
+     }
+     static class A9 extends Adapter {
+         protected A9(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -610,10 +610,10 @@
+         protected A9 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A9(e, i, c, t); }
+         protected Object invoke_L9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+-        protected Object invoke_I9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+-        protected Object invoke_J9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+-        protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+-        protected Object invoke_D9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
++        protected Object invoke_I9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
++        protected Object invoke_J9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
++        protected Object invoke_F9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
++        protected Object invoke_D9(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8)); }
+     }
+     static class A10 extends Adapter {
+         protected A10(MethodHandle entryPoint) { super(entryPoint); }  // to build prototype
+@@ -622,9 +622,9 @@
+         protected A10 makeInstance(MethodHandle e, MethodHandle i, MethodHandle c, MethodHandle t)
+                         { return new A10(e, i, c, t); }
+         protected Object invoke_L10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_L((Object)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+-        protected Object invoke_I10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_I((int)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+-        protected Object invoke_J10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_J((long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+-        protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_F((float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+-        protected Object invoke_D10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_D((double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
++        protected Object invoke_I10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_I((Integer)   invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
++        protected Object invoke_J10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_J((Long)  invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
++        protected Object invoke_F10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_F((Float) invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
++        protected Object invoke_D10(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7, Object a8, Object a9) throws Throwable { return convert_D((Double)invoker.invokeExact(target, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)); }
+     }
+ }
+diff -r 1631a3dee8fc src/share/classes/java/lang/invoke/MethodHandleImpl.java
+--- openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java	Sat Apr 30 02:38:41 2011 +0100
+@@ -832,52 +832,52 @@
+             return addTypeString(target, this);
+         }
+         private Object invoke_V(Object... av) throws Throwable {
+-            if ((boolean) test.invokeExact(av))
++            if ((Boolean) test.invokeExact(av))
+                 return target.invokeExact(av);
+             return fallback.invokeExact(av);
+         }
+         private Object invoke_L0() throws Throwable {
+-            if ((boolean) test.invokeExact())
++            if ((Boolean) test.invokeExact())
+                 return target.invokeExact();
+             return fallback.invokeExact();
+         }
+         private Object invoke_L1(Object a0) throws Throwable {
+-            if ((boolean) test.invokeExact(a0))
++            if ((Boolean) test.invokeExact(a0))
+                 return target.invokeExact(a0);
+             return fallback.invokeExact(a0);
+         }
+         private Object invoke_L2(Object a0, Object a1) throws Throwable {
+-            if ((boolean) test.invokeExact(a0, a1))
++            if ((Boolean) test.invokeExact(a0, a1))
+                 return target.invokeExact(a0, a1);
+             return fallback.invokeExact(a0, a1);
+         }
+         private Object invoke_L3(Object a0, Object a1, Object a2) throws Throwable {
+-            if ((boolean) test.invokeExact(a0, a1, a2))
++            if ((Boolean) test.invokeExact(a0, a1, a2))
+                 return target.invokeExact(a0, a1, a2);
+             return fallback.invokeExact(a0, a1, a2);
+         }
+         private Object invoke_L4(Object a0, Object a1, Object a2, Object a3) throws Throwable {
+-            if ((boolean) test.invokeExact(a0, a1, a2, a3))
++            if ((Boolean) test.invokeExact(a0, a1, a2, a3))
+                 return target.invokeExact(a0, a1, a2, a3);
+             return fallback.invokeExact(a0, a1, a2, a3);
+         }
+         private Object invoke_L5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable {
+-            if ((boolean) test.invokeExact(a0, a1, a2, a3, a4))
++            if ((Boolean) test.invokeExact(a0, a1, a2, a3, a4))
+                 return target.invokeExact(a0, a1, a2, a3, a4);
+             return fallback.invokeExact(a0, a1, a2, a3, a4);
+         }
+         private Object invoke_L6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable {
+-            if ((boolean) test.invokeExact(a0, a1, a2, a3, a4, a5))
++            if ((Boolean) test.invokeExact(a0, a1, a2, a3, a4, a5))
+                 return target.invokeExact(a0, a1, a2, a3, a4, a5);
+             return fallback.invokeExact(a0, a1, a2, a3, a4, a5);
+         }
+         private Object invoke_L7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable {
+-            if ((boolean) test.invokeExact(a0, a1, a2, a3, a4, a5, a6))
++            if ((Boolean) test.invokeExact(a0, a1, a2, a3, a4, a5, a6))
+                 return target.invokeExact(a0, a1, a2, a3, a4, a5, a6);
+             return fallback.invokeExact(a0, a1, a2, a3, a4, a5, a6);
+         }
+         private Object invoke_L8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable {
+-            if ((boolean) test.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7))
++            if ((Boolean) test.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7))
+                 return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7);
+             return fallback.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7);
+         }
+diff -r 1631a3dee8fc src/share/classes/java/lang/invoke/ToGeneric.java
+--- openjdk-boot/jdk/src/share/classes/java/lang/invoke/ToGeneric.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/ToGeneric.java	Sat Apr 30 02:38:41 2011 +0100
+@@ -390,10 +390,10 @@
+ 
+         // Code to run when the generic target has finished and produced a value.
+         protected Object return_L(Object res) throws Throwable { return (Object)convert.invokeExact(res); }
+-        protected int    return_I(Object res) throws Throwable { return (int)   convert.invokeExact(res); }
+-        protected long   return_J(Object res) throws Throwable { return (long)  convert.invokeExact(res); }
+-        protected float  return_F(Object res) throws Throwable { return (float) convert.invokeExact(res); }
+-        protected double return_D(Object res) throws Throwable { return (double)convert.invokeExact(res); }
++        protected int    return_I(Object res) throws Throwable { return (Integer)   convert.invokeExact(res); }
++        protected long   return_J(Object res) throws Throwable { return (Long)  convert.invokeExact(res); }
++        protected float  return_F(Object res) throws Throwable { return (Float) convert.invokeExact(res); }
++        protected double return_D(Object res) throws Throwable { return (Double)convert.invokeExact(res); }
+ 
+         static private final String CLASS_PREFIX; // "java.lang.invoke.ToGeneric$"
+         static {
--- a/patches/boot/ecj-diamond.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/boot/ecj-diamond.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,6 +1,6 @@
 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	2011-04-11 12:34:30.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2011-04-13 15:10:03.590190441 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2011-04-14 01:29:58.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java	2011-04-28 17:28:50.894745825 +0100
 @@ -104,9 +104,9 @@
          return this.def.compareTo(that.def);
      }
@@ -72,8 +72,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2011-04-13 15:10:03.606190699 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	2011-04-28 17:28:50.902745957 +0100
 @@ -257,7 +257,7 @@
          assert(basicCodings[_meta_default] == null);
          assert(basicCodings[_meta_canon_min] != null);
@@ -83,7 +83,7 @@
          for (int i = 0; i < basicCodings.length; i++) {
              Coding c = basicCodings[i];
              if (c == null)  continue;
-@@ -1050,8 +1050,8 @@
+@@ -1068,8 +1068,8 @@
  
      // Bootstrap support for CPRefBands.  These are needed to record
      // intended CP indexes, before the CP has been created.
@@ -94,7 +94,7 @@
  
  
      int encodeRef(Entry e, Index ix) {
-@@ -1686,7 +1686,7 @@
+@@ -1704,7 +1704,7 @@
      protected int attrClassFileVersionMask;
  
      // Mapping from Attribute.Layout to Band[] (layout element bands).
@@ -103,7 +103,7 @@
  
      // Well-known attributes:
      protected final Attribute.Layout attrCodeEmpty;
-@@ -1695,11 +1695,11 @@
+@@ -1713,11 +1713,11 @@
      protected final Attribute.Layout attrConstantValue;
  
      // Mapping from Attribute.Layout to Integer (inverse of attrDefs)
@@ -117,7 +117,7 @@
      {
          for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) {
              assert(attrIndexLimit[i] == 0);
-@@ -1894,7 +1894,7 @@
+@@ -1912,7 +1912,7 @@
  
      protected List getPredefinedAttrs(int ctype) {
          assert(attrIndexLimit[ctype] != 0);
@@ -126,7 +126,7 @@
          // Remove nulls and non-predefs.
          for (int ai = 0; ai < attrIndexLimit[ctype]; ai++) {
              if (testBit(attrDefSeen[ctype], 1L<<ai))  continue;
-@@ -2518,7 +2518,7 @@
+@@ -2536,7 +2536,7 @@
      // DEBUG ONLY:  Record something about the band order.
      boolean notePrevForAssert(Band b, Band p) {
          if (prevForAssertMap == null)
@@ -136,9 +136,9 @@
          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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2011-04-13 15:10:03.606190699 +0100
-@@ -469,7 +469,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	2011-04-28 17:28:50.902745957 +0100
+@@ -466,7 +466,7 @@
  
      void readInnerClasses(Class cls) throws IOException {
          int nc = readUnsignedShort();
@@ -148,8 +148,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2011-04-13 15:10:03.606190699 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2011-04-14 01:29:58.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java	2011-04-28 17:28:50.902745957 +0100
 @@ -743,9 +743,9 @@
          // Steps 1/2/3 are interdependent, and may be iterated.
          // Steps 4 and 5 may be decided independently afterward.
@@ -186,8 +186,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2011-04-13 15:10:03.606190699 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2011-04-14 01:29:58.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java	2011-04-28 17:28:50.902745957 +0100
 @@ -402,7 +402,7 @@
      private static Map<Coding, Coding> codeMap;
  
@@ -198,8 +198,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2011-04-13 15:10:03.606190699 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2011-04-14 01:29:58.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java	2011-04-28 17:28:50.902745957 +0100
 @@ -919,7 +919,7 @@
      public static
      Index[] partition(Index ix, int[] keys) {
@@ -228,8 +228,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	2011-04-11 12:34:30.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2011-04-13 15:10:03.606190699 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	2011-04-28 17:28:50.906746023 +0100
 @@ -59,7 +59,7 @@
                  ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource");
  
@@ -239,7 +239,7 @@
  
          boolean doPack   = true;
          boolean doUnpack = false;
-@@ -84,7 +84,7 @@
+@@ -82,7 +82,7 @@
          }
  
          // Collect engine properties here:
@@ -248,7 +248,7 @@
          engProps.put(verboseProp, System.getProperty(verboseProp));
  
          String optionMap;
-@@ -98,7 +98,7 @@
+@@ -96,7 +96,7 @@
          }
  
          // Collect argument properties here:
@@ -257,7 +257,7 @@
          try {
              for (;;) {
                  String state = parseCommandOptions(av, optionMap, avProps);
-@@ -525,7 +525,7 @@
+@@ -515,7 +515,7 @@
          String resultString = null;
  
          // Convert options string into optLines dictionary.
@@ -267,8 +267,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2011-04-13 15:10:03.606190699 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2011-04-14 01:29:58.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java	2011-04-28 17:28:50.906746023 +0100
 @@ -45,7 +45,7 @@
      private final ArrayList<E> flist;
  
@@ -279,8 +279,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/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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2011-04-13 15:10:03.606190699 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	2011-04-28 17:28:50.906746023 +0100
 @@ -112,7 +112,7 @@
      public static final Attribute.Layout attrSourceFileSpecial;
      public static final Map<Attribute.Layout, Attribute> attrDefs;
@@ -426,7 +426,7 @@
          for (InnerClass ic : allInnerClasses) {
              Object pic = allInnerClassesByThis.put(ic.thisClass, ic);
              assert(pic == null);  // caller must ensure key uniqueness!
-@@ -1307,7 +1307,7 @@
+@@ -1302,7 +1302,7 @@
  
      // Use this before writing the class files.
      void ensureAllClassFiles() {
@@ -436,9 +436,9 @@
              // 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2011-04-13 15:10:03.606190699 +0100
-@@ -680,7 +680,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	2011-04-28 17:28:50.906746023 +0100
+@@ -686,7 +686,7 @@
          cp_Signature_classes.expectLength(getIntTotal(numSigClasses));
          cp_Signature_classes.readFrom(in);
          cp_Signature_classes.setIndex(getCPIndex(CONSTANT_Class));
@@ -447,7 +447,7 @@
          for (int i = 0; i < cpMap.length; i++) {
              Utf8Entry formRef = (Utf8Entry) cp_Signature_form.getRef();
              ClassEntry[] classRefs = new ClassEntry[numSigClasses[i]];
-@@ -880,7 +880,7 @@
+@@ -892,7 +892,7 @@
          ic_name.expectLength(longICCount);
          ic_name.readFrom(in);
          ic_flags.resetForSecondPass();
@@ -456,7 +456,7 @@
          for (int i = 0; i < numInnerClasses; i++) {
              int flags = ic_flags.getInt();
              boolean longForm = (flags & ACC_IC_LONG_FORM) != 0;
-@@ -922,7 +922,7 @@
+@@ -934,7 +934,7 @@
  
      void readLocalInnerClasses(Class cls) throws IOException {
          int nc = class_InnerClasses_N.getInt();
@@ -465,16 +465,7 @@
          for (int i = 0; i < nc; i++) {
              ClassEntry thisClass = (ClassEntry) class_InnerClasses_RC.getRef();
              int        flags     =              class_InnerClasses_F.getInt();
-@@ -1011,7 +1011,7 @@
-         return -1;
-     }
- 
--    Comparator<Entry> entryOutputOrder = new Comparator<>() {
-+    Comparator<Entry> entryOutputOrder = new Comparator<Entry>() {
-         public int compare(Entry  e0, Entry e1) {
-             int k0 = getOutputIndex(e0);
-             int k1 = getOutputIndex(e1);
-@@ -1050,7 +1050,7 @@
+@@ -1062,7 +1062,7 @@
  
      Entry[] reconstructLocalCPMap(Class cls) {
          Set<Entry> ldcRefs = ldcRefMap.get(cls);
@@ -483,7 +474,7 @@
  
          // look for constant pool entries:
          cls.visitRefs(VRM_CLASSIC, cpRefs);
-@@ -1155,7 +1155,7 @@
+@@ -1167,7 +1167,7 @@
          method_descr.expectLength(totalNM);
          if (verbose > 1)  Utils.log.fine("expecting #fields="+totalNF+" and #methods="+totalNM+" in #classes="+numClasses);
  
@@ -492,7 +483,7 @@
          field_descr.readFrom(in);
          for (int i = 0; i < classes.length; i++) {
              Class c = classes[i];
-@@ -1171,7 +1171,7 @@
+@@ -1183,7 +1183,7 @@
          countAndReadAttrs(ATTR_CONTEXT_FIELD, fields);
          fields = null;  // release to GC
  
@@ -501,7 +492,7 @@
          method_descr.readFrom(in);
          for (int i = 0; i < classes.length; i++) {
              Class c = classes[i];
-@@ -1194,10 +1194,10 @@
+@@ -1206,10 +1206,10 @@
  
      Code[] allCodes;
      List<Code> codesWithFlags;
@@ -514,7 +505,7 @@
          for (Class.Method m : methods) {
              if (m.getAttribute(attrCodeEmpty) != null) {
                  m.code = new Code(m);
-@@ -1221,7 +1221,7 @@
+@@ -1233,7 +1233,7 @@
          boolean attrsOK = testBit(archiveOptions, AO_HAVE_ALL_CODE_FLAGS);
          code_headers.expectLength(allCodes.length);
          code_headers.readFrom(in);
@@ -523,7 +514,7 @@
          for (int i = 0; i < allCodes.length; i++) {
              Code c = allCodes[i];
              int sc = code_headers.getByte();
-@@ -1460,7 +1460,7 @@
+@@ -1472,7 +1472,7 @@
                  bits -= (1L<<ai);
                  nfa += 1;
              }
@@ -532,7 +523,7 @@
              h.attributes = ha;
              bits = attrBits;  // iterate again
              for (int ai = 0; bits != 0; ai++) {
-@@ -1584,7 +1584,7 @@
+@@ -1596,7 +1596,7 @@
      @SuppressWarnings("unchecked")
      void readAttrs(int ctype, Collection holders) throws IOException {
          // Decode band values into attributes.
@@ -541,7 +532,7 @@
          ByteArrayOutputStream buf = new ByteArrayOutputStream();
          for (Iterator i = holders.iterator(); i.hasNext(); ) {
              final Attribute.Holder h = (Attribute.Holder) i.next();
-@@ -1788,7 +1788,7 @@
+@@ -1800,7 +1800,7 @@
          // scratch buffer for collecting code::
          byte[] buf = new byte[1<<12];
          // record of all switch opcodes (these are variable-length)
@@ -550,7 +541,7 @@
          for (int k = 0; k < allCodes.length; k++) {
              Code c = allCodes[k];
          scanOneMethod:
-@@ -1904,7 +1904,7 @@
+@@ -1916,7 +1916,7 @@
  
              Set<Entry> ldcRefSet = ldcRefMap.get(curClass);
              if (ldcRefSet == null)
@@ -560,8 +551,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2011-04-13 15:10:03.606190699 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	2011-04-28 17:28:50.906746023 +0100
 @@ -116,7 +116,7 @@
      int[][]     attrCounts;       // count attr. occurences
  
@@ -580,7 +571,7 @@
          int bestCount = 0;
          int bestVersion = -1;
          for (Class cls : pkg.classes) {
-@@ -723,7 +723,7 @@
+@@ -729,7 +729,7 @@
      @SuppressWarnings("unchecked")
      void collectAttributeLayouts() {
          maxFlags = new int[ATTR_CONTEXT_LIMIT];
@@ -589,7 +580,7 @@
          for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) {
              allLayouts.set(i, new HashMap<Attribute.Layout, int[]>());
          }
-@@ -768,7 +768,7 @@
+@@ -774,7 +774,7 @@
          }
          // Collect counts for both predefs. and custom defs.
          // Decide on custom, local attribute definitions.
@@ -598,16 +589,7 @@
          attrCounts = new int[ATTR_CONTEXT_LIMIT][];
          for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) {
              // Now the remaining defs in allLayouts[i] need attr. indexes.
-@@ -785,7 +785,7 @@
-             defMap.entrySet().toArray(layoutsAndCounts);
-             // Sort by count, most frequent first.
-             // Predefs. participate in this sort, though it does not matter.
--            Arrays.sort(layoutsAndCounts, new Comparator<>() {
-+            Arrays.sort(layoutsAndCounts, new Comparator<Object>() {
-                 public int compare(Object o0, Object o1) {
-                     Map.Entry e0 = (Map.Entry) o0;
-                     Map.Entry e1 = (Map.Entry) o1;
-@@ -883,7 +883,7 @@
+@@ -889,7 +889,7 @@
  
      @SuppressWarnings("unchecked")
      void writeAttrDefs() throws IOException {
@@ -616,7 +598,7 @@
          for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) {
              int limit = attrDefs.get(i).size();
              for (int j = 0; j < limit; j++) {
-@@ -995,7 +995,7 @@
+@@ -1007,7 +1007,7 @@
      void collectInnerClasses() {
          // Capture inner classes, removing them from individual classes.
          // Irregular inner classes must stay local, though.
@@ -626,8 +608,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2011-04-14 01:29:58.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	2011-04-28 17:28:50.906746023 +0100
 @@ -183,8 +183,8 @@
          final Map<Attribute.Layout, Attribute> attrDefs;
          final Map<Attribute.Layout, String> attrCommands;
@@ -658,8 +640,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java	2011-04-28 17:28:50.906746023 +0100
 @@ -309,7 +309,7 @@
          // As each new value is added, we assert that the value
          // was not already in the set.
@@ -670,8 +652,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	2011-04-28 17:28:50.906746023 +0100
 @@ -48,8 +48,8 @@
   */
  
@@ -683,8 +665,8 @@
  
      void addListener(PropertyChangeListener listener) {
          listenerList.add(listener);
-@@ -144,7 +144,7 @@
-             } catch (IOException ignore) {}
+@@ -150,7 +150,7 @@
+             }
          }
  
 -        defaultProps = (new HashMap<>(props));  // shrink to fit
@@ -692,7 +674,7 @@
      }
  
      PropMap() {
-@@ -180,7 +180,7 @@
+@@ -186,7 +186,7 @@
      // Get sequence of props for "prefix", and "prefix.*".
      List getProperties(String prefix) {
          Collection<Object> values = prefixMap(prefix).values();
@@ -702,8 +684,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	2010-09-14 16:01:38.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java	2011-04-28 17:28:50.906746023 +0100
 @@ -58,12 +58,12 @@
      private final Map<String, MemberEntry> memberEntries;
  
@@ -724,9 +706,9 @@
      }
  
 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	2011-04-11 12:34:30.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2011-04-13 15:10:03.610190764 +0100
-@@ -226,7 +226,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	2011-04-28 17:28:50.906746023 +0100
+@@ -233,7 +233,7 @@
              props.setProperty(java.util.jar.Pack200.Unpacker.PROGRESS,"50");
              pkg.ensureAllClassFiles();
              // Now write out the files.
@@ -736,8 +718,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	2011-04-11 12:34:30.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	2011-04-28 17:28:50.906746023 +0100
 @@ -132,7 +132,7 @@
      // Keep a TLS point to the global data and environment.
      // This makes it simpler to supply environmental options
@@ -748,8 +730,8 @@
      // convenience methods to access the TL globals
      static TLGlobals getTLGlobals() {
 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	2010-11-12 01:20:48.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/jndi/dns/DnsContextFactory.java	2011-04-28 17:28:50.906746023 +0100
 @@ -135,7 +135,7 @@
              throw new ConfigurationException("DNS pseudo-URL required");
          }
@@ -760,8 +742,8 @@
          for (int i = 0; i < urls.length; i++) {
              String server = urls[i].getHost();
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	2011-04-28 17:28:50.906746023 +0100
 @@ -99,10 +99,10 @@
          throws UnsupportedCallbackException
      {
@@ -776,8 +758,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/login/ConfigFile.java	2011-04-28 17:28:50.906746023 +0100
 @@ -152,7 +152,7 @@
  
          // new configuration
@@ -806,8 +788,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java	2011-04-28 17:28:50.906746023 +0100
 @@ -184,7 +184,7 @@
      private UnixNumericUserPrincipal UIDPrincipal;
      private UnixNumericGroupPrincipal GIDPrincipal;
@@ -818,8 +800,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java	2011-04-28 17:28:50.906746023 +0100
 @@ -658,7 +658,7 @@
                  throw new FailedLoginException(
                      "Unable to find X.509 certificate chain in keystore");
@@ -830,8 +812,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java	2011-04-28 17:28:50.906746023 +0100
 @@ -76,7 +76,7 @@
      private SolarisNumericUserPrincipal UIDPrincipal;
      private SolarisNumericGroupPrincipal GIDPrincipal;
@@ -842,8 +824,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java	2011-04-28 17:28:50.910746089 +0100
 @@ -70,7 +70,7 @@
      private UnixNumericUserPrincipal UIDPrincipal;
      private UnixNumericGroupPrincipal GIDPrincipal;
@@ -854,8 +836,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/auth/PolicyFile.java	2011-04-28 17:28:50.910746089 +0100
 @@ -1180,7 +1180,7 @@
              // Done
              return certs;
@@ -866,8 +848,8 @@
          while (i < certs.length) {
              userCertList.add(certs[i]);
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/DeleteOnExitHook.java	2011-04-28 17:28:50.910746089 +0100
 @@ -34,7 +34,7 @@
   */
  
@@ -887,8 +869,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileInputStream.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FileInputStream.java	2011-04-28 17:28:50.910746089 +0100
 @@ -57,7 +57,7 @@
      private volatile boolean closed = false;
  
@@ -899,8 +881,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/File.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/File.java	2011-04-20 04:40:21.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/File.java	2011-04-28 17:28:50.910746089 +0100
 @@ -1084,7 +1084,7 @@
          if ((names == null) || (filter == null)) {
              return names;
@@ -929,8 +911,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FileOutputStream.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FileOutputStream.java	2011-04-28 17:28:50.910746089 +0100
 @@ -70,7 +70,7 @@
      private final Object closeLock = new Object();
      private volatile boolean closed = false;
@@ -941,8 +923,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java	2011-04-13 15:10:03.610190764 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/FilePermission.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/FilePermission.java	2011-04-28 17:28:50.910746089 +0100
 @@ -725,7 +725,7 @@
       */
  
@@ -971,8 +953,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java	2011-04-13 15:10:03.614190829 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectInputStream.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectInputStream.java	2011-04-28 17:28:50.910746089 +0100
 @@ -213,7 +213,7 @@
  
      /** table mapping primitive type names to corresponding class objects */
@@ -997,8 +979,8 @@
  
      /** filter stream for handling block data conversion */
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java	2011-04-13 15:10:03.614190829 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectOutputStream.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectOutputStream.java	2011-04-28 17:28:50.910746089 +0100
 @@ -165,11 +165,11 @@
      private static class Caches {
          /** cache of subclass security audit results */
@@ -1023,8 +1005,8 @@
  
          /**
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2011-04-13 15:10:03.614190829 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/io/ObjectStreamClass.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/io/ObjectStreamClass.java	2011-04-28 17:28:50.910746089 +0100
 @@ -84,18 +84,18 @@
      private static class Caches {
          /** cache mapping local classes -> descriptors */
@@ -1105,8 +1087,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2011-04-13 15:10:03.614190829 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ApplicationShutdownHooks.java	2011-04-28 17:28:50.910746089 +0100
 @@ -47,7 +47,7 @@
                      }
                  }
@@ -1117,8 +1099,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Character.java	2011-04-13 15:10:03.614190829 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Character.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Character.java	2011-04-28 17:28:50.914746155 +0100
 @@ -648,7 +648,8 @@
       */
      public static final class UnicodeBlock extends Subset {
@@ -1139,8 +1121,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java	2011-04-13 15:10:03.614190829 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/CharacterName.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/CharacterName.java	2011-04-28 17:28:50.914746155 +0100
 @@ -81,7 +81,7 @@
              } while (cpOff < cpEnd);
              strPool = new byte[total - cpEnd];
@@ -1151,8 +1133,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Class.java	2011-04-13 15:10:03.614190829 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Class.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Class.java	2011-04-28 17:28:50.914746155 +0100
 @@ -1306,7 +1306,7 @@
          return java.security.AccessController.doPrivileged(
              new java.security.PrivilegedAction<Class<?>[]>() {
@@ -1247,9 +1229,9 @@
              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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java	2011-04-13 15:10:03.614190829 +0100
-@@ -247,7 +247,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ClassLoader.java	2011-04-20 04:40:21.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ClassLoader.java	2011-04-28 17:28:50.914746155 +0100
+@@ -246,7 +246,7 @@
  
      // The classes loaded by this class loader. The only purpose of this table
      // is to keep the classes from being GC'ed until the loader is GC'ed.
@@ -1258,7 +1240,7 @@
  
      // The "default" domain. Set as the default ProtectionDomain on newly
      // created classes.
-@@ -266,7 +266,8 @@
+@@ -265,7 +265,8 @@
      // The packages defined in this class loader.  Each package name is mapped
      // to its corresponding Package object.
      // @GuardedBy("itself")
@@ -1268,7 +1250,7 @@
  
      private static Void checkCreateClassLoader() {
          SecurityManager security = System.getSecurityManager();
-@@ -279,16 +280,16 @@
+@@ -278,16 +279,16 @@
      private ClassLoader(Void unused, ClassLoader parent) {
          this.parent = parent;
          if (ParallelLoaders.isRegistered(this.getClass())) {
@@ -1289,7 +1271,7 @@
              assertionLock = this;
          }
      }
-@@ -1181,7 +1182,7 @@
+@@ -1180,7 +1181,7 @@
          }
          tmp[1] = findResources(name);
  
@@ -1298,7 +1280,7 @@
      }
  
      /**
-@@ -1656,7 +1657,7 @@
+@@ -1662,7 +1663,7 @@
      protected Package[] getPackages() {
          Map<String, Package> map;
          synchronized (packages) {
@@ -1307,7 +1289,7 @@
          }
          Package[] pkgs;
          if (parent != null) {
-@@ -1763,17 +1764,20 @@
+@@ -1769,17 +1770,20 @@
      }
  
      // All native library names we've loaded.
@@ -1332,7 +1314,7 @@
  
      // The paths searched for libraries
      private static String usr_paths[];
-@@ -2097,8 +2101,8 @@
+@@ -2102,8 +2106,8 @@
           * them to empty maps, effectively ignoring any present settings.
           */
          synchronized (assertionLock) {
@@ -1343,7 +1325,7 @@
              defaultAssertionStatus = false;
          }
      }
-@@ -2160,8 +2164,8 @@
+@@ -2165,8 +2169,8 @@
      private void initializeJavaAssertionMaps() {
          // assert Thread.holdsLock(assertionLock);
  
@@ -1355,8 +1337,8 @@
  
          for(int i = 0; i < directives.classes.length; i++)
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/ManagementFactory.java	2011-04-28 17:28:50.914746155 +0100
 @@ -794,7 +794,7 @@
       */
      public static List<Class<? extends PlatformManagedObject>> getAllPlatformMXBeanInterfaces() {
@@ -1367,8 +1349,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/management/PlatformComponent.java	2011-04-28 17:28:50.914746155 +0100
 @@ -267,7 +267,7 @@
              List<T> getGcMXBeanList(Class<T> gcMXBeanIntf) {
          List<GarbageCollectorMXBean> list =
@@ -1397,9 +1379,9 @@
              result.add(ManagementFactory.
                  newPlatformMXBeanProxy(mbs,
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2011-04-13 15:10:03.618190894 +0100
-@@ -588,13 +588,16 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Package.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	2011-04-28 17:28:50.914746155 +0100
+@@ -597,13 +597,16 @@
      }
  
      // The map of loaded system packages
@@ -1420,8 +1402,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/ProcessBuilder.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/ProcessBuilder.java	2011-04-28 17:28:50.914746155 +0100
 @@ -214,7 +214,7 @@
       * @param command a string array containing the program and its arguments
       */
@@ -1441,8 +1423,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Constructor.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Constructor.java	2011-04-28 17:28:50.914746155 +0100
 @@ -144,7 +144,7 @@
          // which implicitly requires that new java.lang.reflect
          // objects be fabricated for each reflective call on Class
@@ -1453,8 +1435,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/Proxy.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/Proxy.java	2011-04-28 17:28:50.914746155 +0100
 @@ -232,7 +232,7 @@
  
      /** maps a class loader to the proxy class cache for that loader */
@@ -1483,8 +1465,8 @@
              }
              /*
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/reflect/ReflectAccess.java	2011-04-28 17:28:50.914746155 +0100
 @@ -84,7 +84,7 @@
                                               byte[] annotations,
                                               byte[] parameterAnnotations)
@@ -1495,8 +1477,8 @@
                                    checkedExceptions,
                                    modifiers,
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/StringCoding.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/StringCoding.java	2011-04-28 17:28:50.914746155 +0100
 @@ -53,9 +53,9 @@
  
      /** The cached coders for each thread */
@@ -1510,8 +1492,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/String.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/String.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/String.java	2011-04-28 17:28:50.918746222 +0100
 @@ -2330,7 +2330,7 @@
              int off = 0;
              int next = 0;
@@ -1522,9 +1504,9 @@
                  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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Thread.java	2011-04-13 15:10:03.618190894 +0100
-@@ -1642,7 +1642,8 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Thread.java	2011-04-20 04:40:21.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Thread.java	2011-04-28 17:28:50.918746222 +0100
+@@ -1616,7 +1616,8 @@
          // Get a snapshot of the list of all threads
          Thread[] threads = getThreads();
          StackTraceElement[][] traces = dumpThreads(threads);
@@ -1534,7 +1516,7 @@
          for (int i = 0; i < threads.length; i++) {
              StackTraceElement[] stackTrace = traces[i];
              if (stackTrace != null) {
-@@ -1663,11 +1664,11 @@
+@@ -1637,11 +1638,11 @@
      private static class Caches {
          /** cache of subclass security audit results */
          static final ConcurrentMap<WeakClassKey,Boolean> subclassAudits =
@@ -1549,8 +1531,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/lang/Throwable.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Throwable.java	2011-04-28 17:28:50.918746222 +0100
 @@ -828,7 +828,7 @@
                  // Use the sentinel for a zero-length list
                  suppressed = SUPPRESSED_SENTINEL;
@@ -1570,8 +1552,8 @@
              assert suppressedExceptions != SUPPRESSED_SENTINEL;
  
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/InetAddress.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/InetAddress.java	2011-04-28 17:28:50.918746222 +0100
 @@ -677,7 +677,7 @@
  
      static InetAddressImpl  impl;
@@ -1591,8 +1573,8 @@
                  for (String key : cache.keySet()) {
                      CacheEntry entry = cache.get(key);
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java	2011-04-13 15:10:03.618190894 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/net/URLClassLoader.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/net/URLClassLoader.java	2011-04-28 17:28:50.918746222 +0100
 @@ -205,7 +205,7 @@
       */
  
@@ -1603,9 +1585,9 @@
      /**
       * Returns an input stream for reading the specified resource.
 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	2011-04-13 05:24:13.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2011-04-13 15:10:03.622190959 +0100
-@@ -1484,7 +1484,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/nio/file/Files.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	2011-04-28 17:28:50.918746222 +0100
+@@ -1487,7 +1487,7 @@
              return AccessController
                  .doPrivileged(new PrivilegedAction<List<FileTypeDetector>>() {
                      @Override public List<FileTypeDetector> run() {
@@ -1614,7 +1596,7 @@
                          ServiceLoader<FileTypeDetector> loader = ServiceLoader
                              .load(FileTypeDetector.class, ClassLoader.getSystemClassLoader());
                          for (FileTypeDetector detector: loader) {
-@@ -2996,7 +2996,7 @@
+@@ -3008,7 +3008,7 @@
          BufferedReader reader = null;
          try {
              reader = newBufferedReader(path, cs);
@@ -1624,9 +1606,9 @@
                  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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java	2011-04-13 15:10:03.622190959 +0100
-@@ -121,7 +121,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/AccessControlContext.java	2011-04-20 04:40:21.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/AccessControlContext.java	2011-04-28 17:28:50.918746222 +0100
+@@ -124,7 +124,7 @@
                  this.context = null;
              }
          } else {
@@ -1636,8 +1618,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/BasicPermission.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/BasicPermission.java	2011-04-28 17:28:50.918746222 +0100
 @@ -515,7 +515,7 @@
  
          // Copy perms into a Hashtable
@@ -1648,8 +1630,8 @@
          synchronized (this) {
              permissions.putAll(perms);
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/CodeSource.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/CodeSource.java	2011-04-28 17:28:50.918746222 +0100
 @@ -188,7 +188,7 @@
          } else if (signers != null) {
              // Convert the code signers to certs
@@ -1673,8 +1655,8 @@
                  int j = i;
  
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Permissions.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Permissions.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Permissions.java	2011-04-28 17:28:50.918746222 +0100
 @@ -362,7 +362,7 @@
  
          // Copy perms into a Hashtable
@@ -1694,9 +1676,9 @@
              perms.putAll(permsMap);
          }
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java	2011-04-13 15:10:03.622190959 +0100
-@@ -336,8 +336,8 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/ProtectionDomain.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/ProtectionDomain.java	2011-04-28 17:28:50.918746222 +0100
+@@ -368,8 +368,8 @@
          int swag = 32;
          int vcap = 8;
          Enumeration<Permission> e;
@@ -1708,8 +1690,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Provider.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Provider.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Provider.java	2011-04-28 17:28:50.918746222 +0100
 @@ -437,7 +437,7 @@
  
      private void readObject(ObjectInputStream in)
@@ -1738,8 +1720,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/SecureClassLoader.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/SecureClassLoader.java	2011-04-28 17:28:50.918746222 +0100
 @@ -50,7 +50,7 @@
      // HashMap that maps CodeSource to ProtectionDomain
      // @GuardedBy("pdcache")
@@ -1750,8 +1732,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/Security.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/Security.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/Security.java	2011-04-28 17:28:50.918746222 +0100
 @@ -546,7 +546,7 @@
              value = filter.substring(index + 1);
          }
@@ -1798,8 +1780,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermissionCollection.java	2011-04-28 17:28:50.918746222 +0100
 @@ -119,7 +119,7 @@
  
      public Enumeration<Permission> elements() {
@@ -1837,8 +1819,8 @@
  
              // 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/security/UnresolvedPermission.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/security/UnresolvedPermission.java	2011-04-28 17:28:50.918746222 +0100
 @@ -198,7 +198,7 @@
                  if (this.certs == null) {
                      // extract the signer certs
@@ -1848,21 +1830,9 @@
                      i = 0;
                      while (i < certs.length) {
                          signerCerts.add(certs[i]);
-diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/sql/DriverManager.java openjdk-boot/jdk/src/share/classes/java/sql/DriverManager.java
---- openjdk-boot.orig/jdk/src/share/classes/java/sql/DriverManager.java	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/sql/DriverManager.java	2011-04-13 15:10:03.622190959 +0100
-@@ -364,7 +364,7 @@
-      * @return the list of JDBC Drivers loaded by the caller's class loader
-      */
-     public static java.util.Enumeration<Driver> getDrivers() {
--        java.util.Vector<Driver> result = new java.util.Vector<>();
-+        java.util.Vector<Driver> result = new java.util.Vector<Driver>();
-         java.util.Vector drivers = null;
- 
-         if (!initialized) {
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/AbstractList.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/AbstractList.java	2011-04-28 17:28:50.922746289 +0100
 @@ -482,8 +482,8 @@
       */
      public List<E> subList(int fromIndex, int toIndex) {
@@ -1892,8 +1862,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Arrays.java	2011-04-13 15:10:03.622190959 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Arrays.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Arrays.java	2011-04-28 17:28:50.922746289 +0100
 @@ -2825,7 +2825,7 @@
       */
      @SafeVarargs
@@ -1904,8 +1874,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Collections.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Collections.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Collections.java	2011-04-28 17:28:50.922746289 +0100
 @@ -1035,7 +1035,7 @@
       * @return an unmodifiable view of the specified collection.
       */
@@ -2531,8 +2501,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumMap.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/EnumMap.java	2011-04-28 17:28:50.922746289 +0100
 @@ -499,7 +499,7 @@
              int j = 0;
              for (int i = 0; i < vals.length; i++)
@@ -2543,8 +2513,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/EnumSet.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/EnumSet.java	2011-04-28 17:28:50.922746289 +0100
 @@ -110,9 +110,9 @@
              throw new ClassCastException(elementType + " not an enum");
  
@@ -2567,9 +2537,9 @@
  
      // 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	2011-04-13 05:24:13.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2011-04-13 15:10:03.626191024 +0100
-@@ -2518,7 +2518,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Formatter.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Formatter.java	2011-04-28 17:28:50.922746289 +0100
+@@ -2516,7 +2516,7 @@
       * Finds format specifiers in the format string.
       */
      private FormatString[] parse(String s) {
@@ -2579,8 +2549,8 @@
          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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/HashMap.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/HashMap.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/HashMap.java	2011-04-28 17:28:50.922746289 +0100
 @@ -763,7 +763,7 @@
       */
      void addEntry(int hash, K key, V value, int bucketIndex) {
@@ -2600,8 +2570,8 @@
      }
  
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/HashSet.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/HashSet.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/HashSet.java	2011-04-28 17:28:50.922746289 +0100
 @@ -100,7 +100,7 @@
       * default initial capacity (16) and load factor (0.75).
       */
@@ -2648,8 +2618,8 @@
  
      /**
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Hashtable.java	2011-04-26 10:01:40.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Hashtable.java	2011-04-28 17:28:50.922746289 +0100
 @@ -455,7 +455,7 @@
  
          // Creates the new entry.
@@ -2677,7 +2647,16 @@
          }
      }
  
-@@ -929,7 +929,7 @@
+@@ -863,7 +863,7 @@
+ 
+                 while (entry != null) {
+                     entryStack =
+-                        new Entry<>(0, entry.key, entry.value, entryStack);
++                        new Entry<Object, Object>(0, entry.key, entry.value, entryStack);
+                     entry = entry.next;
+                 }
+             }
+@@ -941,7 +941,7 @@
          }
          // Creates the new entry.
          Entry<K,V> e = tab[index];
@@ -2686,7 +2665,7 @@
          count++;
      }
  
-@@ -950,7 +950,7 @@
+@@ -962,7 +962,7 @@
          }
  
          protected Object clone() {
@@ -2696,8 +2675,8 @@
          }
  
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/IdentityHashMap.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/IdentityHashMap.java	2011-04-28 17:28:50.926746356 +0100
 @@ -1134,7 +1134,7 @@
              Object[] result = new Object[size];
              Iterator<Map.Entry<K,V>> it = iterator();
@@ -2717,9 +2696,9 @@
                  a[size] = null;
              return a;
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java	2011-04-13 15:10:03.626191024 +0100
-@@ -89,7 +89,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/JumboEnumSet.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/JumboEnumSet.java	2011-04-28 17:28:50.926746356 +0100
+@@ -91,7 +91,7 @@
       * @return an iterator over the elements contained in this set
       */
      public Iterator<E> iterator() {
@@ -2729,8 +2708,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedHashMap.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/LinkedHashMap.java	2011-04-28 17:28:50.926746356 +0100
 @@ -237,7 +237,7 @@
       * the chain.
       */
@@ -2750,8 +2729,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/LinkedList.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/LinkedList.java	2011-04-28 17:28:50.926746356 +0100
 @@ -122,7 +122,7 @@
       */
      private void linkFirst(E e) {
@@ -2789,8 +2768,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ListResourceBundle.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/ListResourceBundle.java	2011-04-28 17:28:50.926746356 +0100
 @@ -187,7 +187,7 @@
              return;
  
@@ -2801,8 +2780,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/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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/FileHandler.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/FileHandler.java	2011-04-28 17:28:50.926746356 +0100
 @@ -127,7 +127,7 @@
      private FileOutputStream lockStream;
      private File files[];
@@ -2813,8 +2792,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java	2011-04-13 15:10:03.626191024 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Level.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Level.java	2011-04-28 17:28:50.926746356 +0100
 @@ -59,7 +59,7 @@
   */
  
@@ -2825,8 +2804,8 @@
  
      /**
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logger.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logger.java	2011-04-28 17:28:50.926746356 +0100
 @@ -170,7 +170,7 @@
      private LogManager manager;
      private String name;
@@ -2846,8 +2825,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/Logging.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/Logging.java	2011-04-28 17:28:50.926746356 +0100
 @@ -56,7 +56,7 @@
  
      public List<String> getLoggerNames() {
@@ -2858,8 +2837,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogManager.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogManager.java	2011-04-28 17:28:50.926746356 +0100
 @@ -156,7 +156,8 @@
      private final static Level defaultLevel = Level.INFO;
  
@@ -2898,8 +2877,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/logging/LogRecord.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/logging/LogRecord.java	2011-04-28 17:28:50.926746356 +0100
 @@ -85,7 +85,8 @@
      private static final AtomicInteger nextThreadId
          = new AtomicInteger(MIN_SEQUENTIAL_THREAD_ID);
@@ -2911,8 +2890,8 @@
      /**
       * @serial Logging message level
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/prefs/AbstractPreferences.java	2011-04-28 17:28:50.926746356 +0100
 @@ -155,7 +155,8 @@
       * All known unremoved children of this node.  (This "cache" is consulted
       * prior to calling childSpi() or getChild().
@@ -2943,8 +2922,8 @@
      /**
       * 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/PriorityQueue.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/PriorityQueue.java	2011-04-28 17:28:50.926746356 +0100
 @@ -538,7 +538,7 @@
                      cursor--;
                  else {
@@ -2955,8 +2934,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/Properties.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/Properties.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Properties.java	2011-04-28 17:28:50.926746356 +0100
 @@ -1011,7 +1011,7 @@
       * @since   1.6
       */
@@ -2967,8 +2946,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/regex/Pattern.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/regex/Pattern.java	2011-04-28 17:28:50.926746356 +0100
 @@ -1080,7 +1080,7 @@
      public String[] split(CharSequence input, int limit) {
          int index = 0;
@@ -2997,9 +2976,9 @@
          static {
              // Unicode character property aliases, defined in
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java	2011-04-13 15:10:03.630191089 +0100
-@@ -71,7 +71,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/RegularEnumSet.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/RegularEnumSet.java	2011-04-28 17:28:50.930746423 +0100
+@@ -72,7 +72,7 @@
       * @return an iterator over the elements contained in this set
       */
      public Iterator<E> iterator() {
@@ -3009,8 +2988,8 @@
  
      private class EnumSetIterator<E extends Enum<E>> implements Iterator<E> {
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/ServiceLoader.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/ServiceLoader.java	2011-04-28 17:28:50.930746423 +0100
 @@ -191,7 +191,7 @@
      private ClassLoader loader;
  
@@ -3039,8 +3018,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TimSort.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TimSort.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TimSort.java	2011-04-28 17:28:50.930746423 +0100
 @@ -196,7 +196,7 @@
           * extending short natural runs to minRun elements, and merging runs
           * to maintain stack invariant.
@@ -3051,18 +3030,18 @@
          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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java	2011-04-13 15:10:03.630191089 +0100
-@@ -533,7 +533,7 @@
-             // throw NullPointerException
-             //
-             // compare(key, key); // type check
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeMap.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TreeMap.java	2011-04-28 17:28:50.930746423 +0100
+@@ -530,7 +530,7 @@
+         if (t == null) {
+             compare(key, key); // type (and possibly null) check
+ 
 -            root = new Entry<>(key, value, null);
 +            root = new Entry<K,V>(key, value, null);
              size = 1;
              modCount++;
              return null;
-@@ -569,7 +569,7 @@
+@@ -566,7 +566,7 @@
                      return t.setValue(value);
              } while (t != null);
          }
@@ -3071,7 +3050,7 @@
          if (cmp < 0)
              parent.left = e;
          else
-@@ -1069,14 +1069,14 @@
+@@ -1066,14 +1066,14 @@
          }
          public NavigableSet<E> subSet(E fromElement, boolean fromInclusive,
                                        E toElement,   boolean toInclusive) {
@@ -3089,7 +3068,7 @@
          }
          public SortedSet<E> subSet(E fromElement, E toElement) {
              return subSet(fromElement, true, toElement, false);
-@@ -1205,7 +1205,7 @@
+@@ -1202,7 +1202,7 @@
       */
      static <K,V> Map.Entry<K,V> exportEntry(TreeMap.Entry<K,V> e) {
          return (e == null) ? null :
@@ -3098,7 +3077,7 @@
      }
  
      /**
-@@ -2406,7 +2406,7 @@
+@@ -2403,7 +2403,7 @@
              value = (defaultVal != null ? defaultVal : (V) str.readObject());
          }
  
@@ -3108,8 +3087,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java	2011-04-13 15:10:03.630191089 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/TreeSet.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/TreeSet.java	2011-04-28 17:28:50.930746423 +0100
 @@ -138,7 +138,7 @@
       *        ordering} of the elements will be used.
       */
@@ -3177,8 +3156,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/WeakHashMap.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/WeakHashMap.java	2011-04-28 17:28:50.930746423 +0100
 @@ -171,7 +171,7 @@
      /**
       * Reference queue for cleared WeakEntries
@@ -3211,8 +3190,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipFile.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipFile.java	2011-04-28 17:28:50.930746423 +0100
 @@ -315,7 +315,7 @@
      private static native void freeEntry(long jzfile, long jzentry);
  
@@ -3232,8 +3211,8 @@
                      is.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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/zip/ZipOutputStream.java	2011-04-28 17:28:50.930746423 +0100
 @@ -52,8 +52,8 @@
      }
  
@@ -3246,8 +3225,8 @@
      private long written = 0;
      private long locoff = 0;
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/DelegationPermission.java	2011-04-28 17:28:50.930746423 +0100
 @@ -361,7 +361,7 @@
          // Don't call out.defaultWriteObject()
  
@@ -3258,8 +3237,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/kerberos/ServicePermission.java	2011-04-28 17:28:50.930746423 +0100
 @@ -569,7 +569,7 @@
          // Don't call out.defaultWriteObject()
  
@@ -3270,8 +3249,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/PrivateCredentialPermission.java	2011-04-28 17:28:50.930746423 +0100
 @@ -329,7 +329,7 @@
              throw new IllegalArgumentException("invalid empty name");
          }
@@ -3282,8 +3261,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java	2011-04-28 17:28:50.930746423 +0100
 @@ -48,7 +48,7 @@
  
      private Subject subject;
@@ -3294,8 +3273,8 @@
      private Principal[] principals;
  
 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	2011-03-14 22:10:33.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/io/CharacterEncoding.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/io/CharacterEncoding.java	2011-04-28 17:28:50.930746423 +0100
 @@ -54,7 +54,7 @@
      private static volatile boolean installedAll;
  
@@ -3306,8 +3285,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/io/Converters.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/io/Converters.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/io/Converters.java	2011-04-28 17:28:50.930746423 +0100
 @@ -120,7 +120,7 @@
  
      private static Class<?> cache(int type, Object encoding, Class<?> c) {
@@ -3318,9 +3297,9 @@
          return c;
      }
 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	2011-04-13 05:24:13.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2011-04-13 15:10:03.634191154 +0100
-@@ -168,7 +168,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	2011-04-28 17:28:50.930746423 +0100
+@@ -169,7 +169,7 @@
      private static void printProperties(PrintStream ostream) {
          Properties p = System.getProperties();
          ostream.println(PROP_SETTINGS);
@@ -3329,7 +3308,7 @@
          sortedPropertyKeys.addAll(p.stringPropertyNames());
          Collections.sort(sortedPropertyKeys);
          for (String x : sortedPropertyKeys) {
-@@ -243,7 +243,7 @@
+@@ -244,7 +244,7 @@
          }
          // Locale does not implement Comparable so we convert it to String
          // and sort it for pretty printing.
@@ -3339,8 +3318,8 @@
              sortedSet.add(l.toString());
          }
 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	2010-08-27 19:16:11.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java	2011-04-28 17:28:50.930746423 +0100
 @@ -52,7 +52,7 @@
  
      // Per-thread soft cache of the last temporary context
@@ -3369,8 +3348,8 @@
  
          // do the query
 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	2011-03-14 22:10:33.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java	2011-04-28 17:28:50.930746423 +0100
 @@ -111,7 +111,7 @@
       * at the same time, then all but the first will block until
       * the first completes its authentication.
@@ -3381,8 +3360,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/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	2011-03-14 22:10:33.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	2011-04-28 17:28:50.930746423 +0100
 @@ -49,22 +49,22 @@
      /* Maps canonical names to class names
       */
@@ -3420,11 +3399,11 @@
  
          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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2011-04-13 15:10:03.634191154 +0100
-@@ -82,7 +82,7 @@
-                 continue;
-             }
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java	2011-04-28 17:28:50.930746423 +0100
+@@ -84,7 +84,7 @@
+             throw new IllegalArgumentException("'" + name() + ":" +
+                 attribute + "' not recognized");
          }
 -        Map<String,Object> result = new HashMap<>(2);
 +        Map<String,Object> result = new HashMap<String,Object>(2);
@@ -3432,22 +3411,22 @@
              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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2011-04-13 15:10:03.634191154 +0100
-@@ -77,8 +77,8 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java	2011-04-28 17:28:50.934746489 +0100
+@@ -89,8 +89,8 @@
       * Used to build a map of attribute name/values.
       */
      static class AttributesBuilder {
--        private Set<String> set = new HashSet<>();
+-        private Set<String> names = new HashSet<>();
 -        private Map<String,Object> map = new HashMap<>();
-+        private Set<String> set = new HashSet<String>();
++        private Set<String> names = new HashSet<String>();
 +        private Map<String,Object> map = new HashMap<String,Object>();
          private boolean copyAll;
  
-         private AttributesBuilder(String[] attributes) {
+         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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java	2011-04-28 17:28:50.934746489 +0100
 @@ -102,7 +102,7 @@
              throw new NullPointerException();
          if (events.length == 0)
@@ -3458,29 +3437,29 @@
              // standard events
              if (event == StandardWatchEventKind.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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2011-04-13 15:10:03.634191154 +0100
-@@ -93,7 +93,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java	2011-04-28 17:28:50.934746489 +0100
+@@ -77,7 +77,7 @@
          throws IOException
      {
          // names of attributes to return
 -        List<String> names = new ArrayList<>();
 +        List<String> names = new ArrayList<String>();
- 
          for (String name: attributes) {
              if (name.equals("*")) {
-@@ -105,7 +105,7 @@
+                 names = list();
+@@ -90,7 +90,7 @@
          }
  
          // read each value and return in map
 -        Map<String,Object> result = new HashMap<>();
 +        Map<String,Object> result = new HashMap<String,Object>();
          for (String name: names) {
-             Object value = getAttribute(name);
-             if (value != null)
+             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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java	2011-04-28 17:28:50.934746489 +0100
 @@ -71,7 +71,7 @@
  
      @Override
@@ -3490,9 +3469,30 @@
          for (String attribute: attributes) {
              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	2011-04-26 09:41:52.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/Util.java	2011-04-28 17:28:50.934746489 +0100
+@@ -62,7 +62,7 @@
+      * Returns a Set containing the given elements.
+      */
+     static <E> Set<E> newSet(E... elements) {
+-        HashSet<E> set = new HashSet<>();
++        HashSet<E> set = new HashSet<E>();
+         for (E e: elements) {
+             set.add(e);
+         }
+@@ -74,7 +74,7 @@
+      * the given elements.
+      */
+     static <E> Set<E> newSet(Set<E> other, E... elements) {
+-        HashSet<E> set = new HashSet<>(other);
++        HashSet<E> set = new HashSet<E>(other);
+         for (E e: elements) {
+             set.add(e);
+         }
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclEntryImpl.java	2011-04-28 17:28:50.934746489 +0100
 @@ -37,7 +37,7 @@
   */
  public class AclEntryImpl implements AclEntry {
@@ -3503,8 +3503,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/AclImpl.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/AclImpl.java	2011-04-28 17:28:50.934746489 +0100
 @@ -41,15 +41,15 @@
      // or principal.
      //
@@ -3545,8 +3545,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/acl/GroupImpl.java	2011-04-28 17:28:50.934746489 +0100
 @@ -34,7 +34,7 @@
   * @author      Satish Dharmaraj
   */
@@ -3566,8 +3566,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/ProviderList.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/jca/ProviderList.java	2011-04-28 17:28:50.934746489 +0100
 @@ -96,7 +96,7 @@
          if (providerList.getProvider(p.getName()) != null) {
              return providerList;
@@ -3605,8 +3605,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java	2011-04-13 15:10:03.634191154 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/jca/Providers.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/jca/Providers.java	2011-04-28 17:28:50.934746489 +0100
 @@ -40,7 +40,7 @@
  public class Providers {
  
@@ -3617,8 +3617,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/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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Config.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Config.java	2011-04-28 17:28:50.934746489 +0100
 @@ -528,7 +528,7 @@
                  }
                  })));
@@ -3696,8 +3696,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/Authenticator.java	2011-04-28 17:28:50.934746489 +0100
 @@ -176,7 +176,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -3708,8 +3708,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/AuthorizationData.java	2011-04-28 17:28:50.934746489 +0100
 @@ -99,7 +99,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -3720,8 +3720,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java	2011-04-28 17:28:50.934746489 +0100
 @@ -490,7 +490,7 @@
  
      private static String exec(String c) {
@@ -3732,8 +3732,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java	2011-04-28 17:28:50.934746489 +0100
 @@ -257,7 +257,7 @@
                  + configName);
          }
@@ -3744,8 +3744,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/EncAPRepPart.java	2011-04-28 17:28:50.934746489 +0100
 @@ -133,7 +133,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -3756,8 +3756,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/HostAddresses.java	2011-04-28 17:28:50.934746489 +0100
 @@ -179,7 +179,7 @@
      */
      public HostAddresses(DerValue encoding)
@@ -3777,8 +3777,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReqBody.java	2011-04-28 17:28:50.934746489 +0100
 @@ -158,7 +158,7 @@
              throw new Asn1Exception(Krb5.ASN1_BAD_ID);
          }
@@ -3807,8 +3807,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KDCReq.java	2011-04-28 17:28:50.934746489 +0100
 @@ -150,7 +150,7 @@
              if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -3819,8 +3819,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KrbCredInfo.java	2011-04-28 17:28:50.934746489 +0100
 @@ -157,7 +157,7 @@
       * @exception IOException if an I/O error occurs while reading encoded data.
       */
@@ -3831,8 +3831,8 @@
          if (prealm != null)
              v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), prealm.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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBCred.java	2011-04-28 17:28:50.934746489 +0100
 @@ -134,7 +134,7 @@
              if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -3843,8 +3843,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/KRBError.java	2011-04-28 17:28:50.934746489 +0100
 @@ -260,7 +260,7 @@
      private void parsePAData(byte[] data)
              throws IOException, Asn1Exception {
@@ -3855,8 +3855,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java	2011-04-28 17:28:50.934746489 +0100
 @@ -57,7 +57,7 @@
      private static KeyTab singleton = null;
      private static final boolean DEBUG = Krb5.DEBUG;
@@ -3885,8 +3885,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/internal/LastReq.java	2011-04-28 17:28:50.934746489 +0100
 @@ -77,7 +77,7 @@
       */
  
@@ -3897,8 +3897,8 @@
              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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/KdcComm.java	2011-04-28 17:28:50.934746489 +0100
 @@ -462,7 +462,7 @@
       */
      static class KdcAccessibility {
@@ -3921,8 +3921,8 @@
                      String t = st.nextToken();
                      if (bads.contains(t)) badkdcs.add(t);
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/PrincipalName.java	2011-04-28 17:28:50.938746555 +0100
 @@ -244,7 +244,7 @@
              if (subDer.getTag() != DerValue.tag_SequenceOf) {
                  throw new Asn1Exception(Krb5.ASN1_BAD_ID);
@@ -3942,8 +3942,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/krb5/Realm.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/krb5/Realm.java	2011-04-28 17:28:50.938746555 +0100
 @@ -359,12 +359,12 @@
          }
  
@@ -3960,8 +3960,8 @@
          /*
           * The initiator at first location.
 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	2011-03-14 22:10:33.000000000 +0000
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/JavaKeyStore.java	2011-04-28 17:28:50.938746555 +0100
 @@ -683,7 +683,7 @@
                      // Read the certificate chain
                      int numOfCerts = dis.readInt();
@@ -3972,8 +3972,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/PolicyFile.java	2011-04-28 17:28:50.938746555 +0100
 @@ -299,7 +299,7 @@
      private static final int DEFAULT_CACHE_SIZE = 1;
  
@@ -4064,8 +4064,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/Sun.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/Sun.java	2011-04-28 17:28:50.938746555 +0100
 @@ -55,7 +55,7 @@
              SunEntries.putEntries(this);
          } else {
@@ -4076,8 +4076,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2011-04-13 15:10:03.638191219 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/VerificationProvider.java	2011-04-28 17:28:50.938746555 +0100
 @@ -76,7 +76,7 @@
              SunRsaSignEntries.putEntries(this);
          } else {
@@ -4088,8 +4088,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/provider/X509Factory.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/X509Factory.java	2011-04-28 17:28:50.938746555 +0100
 @@ -409,10 +409,10 @@
          parseX509orPKCS7Cert(InputStream is)
          throws CertificateException, IOException
@@ -4135,8 +4135,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/RSACore.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/RSACore.java	2011-04-28 17:28:50.938746555 +0100
 @@ -219,7 +219,7 @@
      // use a weak hashmap so that cached values are automatically cleared
      // when the modulus is GC'ed
@@ -4147,8 +4147,8 @@
      /**
       * Set of blinding parameters for a given RSA key.
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/rsa/SunRsaSign.java	2011-04-28 17:28:50.938746555 +0100
 @@ -52,7 +52,7 @@
              SunRsaSignEntries.putEntries(this);
          } else {
@@ -4159,8 +4159,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuite.java	2011-04-28 17:28:50.938746555 +0100
 @@ -393,7 +393,7 @@
  
          // Map BulkCipher -> Boolean(available)
@@ -4171,8 +4171,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/CipherSuiteList.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java	2011-04-28 17:28:50.938746555 +0100
 @@ -221,7 +221,7 @@
      private static CipherSuiteList buildAvailableCache(int minPriority) {
          // SortedSet automatically arranges ciphersuites in default
@@ -4183,9 +4183,9 @@
                                      CipherSuite.allowedCipherSuites();
          for (CipherSuite c : allowedCipherSuites) {
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2011-04-13 15:10:03.642191283 +0100
-@@ -655,7 +655,7 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ClientHandshaker.java	2011-04-28 17:28:50.938746555 +0100
+@@ -656,7 +656,7 @@
          if (certRequest != null) {
              X509ExtendedKeyManager km = sslContext.getX509KeyManager();
  
@@ -4194,7 +4194,7 @@
  
              for (int i = 0; i < certRequest.types.length; i++) {
                  String typeName;
-@@ -1174,7 +1174,7 @@
+@@ -1175,7 +1175,7 @@
                          "Can't reuse existing SSL client session");
                  }
  
@@ -4203,7 +4203,7 @@
                  cipherList.add(sessionSuite);
                  if (!secureRenegotiation &&
                          cipherSuites.contains(CipherSuite.C_SCSV)) {
-@@ -1192,7 +1192,7 @@
+@@ -1193,7 +1193,7 @@
          // exclude SCSV for secure renegotiation
          if (secureRenegotiation && cipherSuites.contains(CipherSuite.C_SCSV)) {
              Collection<CipherSuite> cipherList =
@@ -4213,8 +4213,8 @@
                  if (suite != CipherSuite.C_SCSV) {
                      cipherList.add(suite);
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java	2011-04-28 17:28:50.938746555 +0100
 @@ -98,7 +98,7 @@
              return defaultKeyManagers;
          }
@@ -4225,8 +4225,8 @@
                      new PrivilegedExceptionAction<Object>() {
              public Object run() throws Exception {
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HandshakeMessage.java	2011-04-28 17:28:50.938746555 +0100
 @@ -258,7 +258,7 @@
      // add server_name extension
      void addServerNameIndicationExtension(String hostname) {
@@ -4263,9 +4263,30 @@
  
      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	2011-04-15 17:04:04.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	2011-04-28 17:28:50.938746555 +0100
+@@ -569,7 +569,7 @@
+                 activeProtocols = getActiveProtocols();
+             }
+ 
+-            ArrayList<CipherSuite> suites = new ArrayList<>();
++            ArrayList<CipherSuite> suites = new ArrayList<CipherSuite>();
+             if (!(activeProtocols.collection().isEmpty()) &&
+                     activeProtocols.min.v != ProtocolVersion.NONE.v) {
+                 for (CipherSuite suite : enabledCipherSuites.collection()) {
+@@ -614,7 +614,7 @@
+      */
+     ProtocolList getActiveProtocols() {
+         if (activeProtocols == null) {
+-            ArrayList<ProtocolVersion> protocols = new ArrayList<>(4);
++            ArrayList<ProtocolVersion> protocols = new ArrayList<ProtocolVersion>(4);
+             for (ProtocolVersion protocol : enabledProtocols.collection()) {
+                 boolean found = false;
+                 for (CipherSuite suite : enabledCipherSuites.collection()) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java	2011-04-28 17:28:50.938746555 +0100
 @@ -169,7 +169,7 @@
          return name;
      }
@@ -4285,8 +4306,8 @@
              list.add(toString(format));
          }
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/ProtocolList.java	2011-04-28 17:28:50.938746555 +0100
 @@ -83,7 +83,7 @@
              throw new IllegalArgumentException("Protocols may not be null");
          }
@@ -4297,8 +4318,8 @@
              ProtocolVersion version = ProtocolVersion.valueOf(names[i]);
              if (versions.contains(version) == false) {
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java	2011-04-28 17:28:50.942746621 +0100
 @@ -153,7 +153,7 @@
      static Collection<SignatureAndHashAlgorithm>
              getSupportedAlgorithms(AlgorithmConstraints constraints) {
@@ -4336,8 +4357,8 @@
              for (SignatureAndHashAlgorithm sigAlg : algorithms) {
                  if (sigAlg.hash.value > 0) {
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java	2011-04-28 17:28:50.942746621 +0100
 @@ -261,7 +261,7 @@
  
          protected Set<String> decomposes(KeyExchange keyExchange,
@@ -4384,8 +4405,8 @@
                      if(cipherSuite.keyExchange != null) {
                          components.addAll(
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SSLSessionImpl.java	2011-04-28 17:28:50.942746621 +0100
 @@ -618,7 +618,7 @@
       * key and the calling security context. This is important since
       * sessions can be shared across different protection domains.
@@ -4405,8 +4426,8 @@
          Object securityCtx = SecureKey.getCurrentSecurityContext();
  
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java	2011-04-28 17:28:50.942746621 +0100
 @@ -337,7 +337,7 @@
  
          X500Principal[] x500Issuers = (X500Principal[])issuers;
@@ -4426,8 +4447,8 @@
              Principal p = principals[i];
              if (p instanceof X500Principal) {
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java	2011-04-28 17:28:50.942746621 +0100
 @@ -134,7 +134,7 @@
          FileInputStream fis = null;
          String defaultTrustStoreType;
@@ -4438,8 +4459,8 @@
          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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2011-04-13 15:10:03.642191283 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2011-04-14 01:29:59.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java	2011-04-28 17:28:50.942746621 +0100
 @@ -307,7 +307,7 @@
                  (keyTypes.length == 0) || (keyTypes[0] == null)) {
              return null;
@@ -4459,15 +4480,9 @@
              return null;
          }
 diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/JarSigner.java openjdk-boot/jdk/src/share/classes/sun/security/tools/JarSigner.java
---- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/JarSigner.java	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/JarSigner.java	2011-04-13 15:10:03.642191283 +0100
-@@ -123,19 +123,19 @@
-                                     // or the default keystore, never null
- 
-     String keystore; // key store file
--    List<String> crlfiles = new ArrayList<>();  // CRL files to add
-+    List<String> crlfiles = new ArrayList<String>();  // CRL files to add
-     boolean nullStream = false; // null keystore input stream (NONE)
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/JarSigner.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/JarSigner.java	2011-04-28 17:28:50.942746621 +0100
+@@ -123,14 +123,14 @@
      boolean token = false; // token-based keystore
      String jarfile;  // jar files to sign or verify
      String alias;    // alias to sign jar with
@@ -4484,16 +4499,7 @@
      char[] keypass; // private key password
      String sigfile; // name of .SF file
      String sigalg; // name of signature algorithm
-@@ -236,7 +236,7 @@
-                 if (crlfiles.size() > 0 || autoCRL) {
-                     CertificateFactory fac =
-                             CertificateFactory.getInstance("X509");
--                    List<CRL> list = new ArrayList<>();
-+                    List<CRL> list = new ArrayList<CRL>();
-                     for (String file: crlfiles) {
-                         Collection<? extends CRL> tmp = KeyTool.loadCRLs(file);
-                         for (CRL crl: tmp) {
-@@ -606,7 +606,7 @@
+@@ -567,7 +567,7 @@
  
          try {
              jf = new JarFile(jarName, true);
@@ -4502,7 +4508,7 @@
              byte[] buffer = new byte[8192];
  
              Enumeration<JarEntry> entries = jf.entries();
-@@ -633,7 +633,7 @@
+@@ -594,7 +594,7 @@
              // The map to record display info, only used when -verbose provided
              //      key: signer info string
              //      value: the list of files with common key
@@ -4511,7 +4517,7 @@
  
              if (man != null) {
                  if (verbose != null) System.out.println();
-@@ -999,7 +999,7 @@
+@@ -946,7 +946,7 @@
              .append(signTimeForm.format(source)).append("]").toString();
      }
  
@@ -4520,7 +4526,7 @@
  
      private int inKeyStoreForOneSigner(CodeSigner signer) {
          if (cacheForInKS.containsKey(signer)) {
-@@ -1042,7 +1042,7 @@
+@@ -989,7 +989,7 @@
          return result;
      }
  
@@ -4529,7 +4535,7 @@
  
      int inKeyStore(CodeSigner[] signers) {
  
-@@ -1172,7 +1172,7 @@
+@@ -1119,7 +1119,7 @@
               *   generated one. (This may invalidate existing signatures!)
               */
              BASE64Encoder encoder = new JarBASE64Encoder();
@@ -4538,7 +4544,7 @@
  
              boolean wasSigned = false;
  
-@@ -1528,7 +1528,7 @@
+@@ -1475,7 +1475,7 @@
          return false;
      }
  
@@ -4547,7 +4553,7 @@
  
      /**
       * Returns a string of singer info, with a newline at the end
-@@ -1652,7 +1652,7 @@
+@@ -1599,7 +1599,7 @@
                      }
                  }
              }
@@ -4557,9 +4563,9 @@
                  KeyStore caks = KeyTool.getCacertsKeyStore();
                  if (caks != null) {
 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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java	2011-04-13 15:10:03.646191347 +0100
-@@ -153,11 +153,11 @@
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/KeyTool.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/KeyTool.java	2011-04-28 17:28:50.942746621 +0100
+@@ -152,11 +152,11 @@
      private KeyStore caks = null; // "cacerts" keystore
      private char[] srcstorePass = null;
      private String srcstoretype = null;
@@ -4574,7 +4580,7 @@
  
      enum Command {
          CERTREQ("Generates.a.certificate.request",
-@@ -2091,7 +2091,7 @@
+@@ -2090,7 +2090,7 @@
       */
      public static List<CRL> readCRLsFromCert(X509Certificate cert)
              throws Exception {
@@ -4583,7 +4589,7 @@
          CRLDistributionPointsExtension ext =
                  X509CertImpl.toImpl(cert).getCRLDistributionPointsExtension();
          if (ext == null) return crls;
-@@ -2258,7 +2258,7 @@
+@@ -2257,7 +2257,7 @@
          if (jarfile != null) {
              JarFile jf = new JarFile(jarfile, true);
              Enumeration<JarEntry> entries = jf.entries();
@@ -4592,7 +4598,7 @@
              byte[] buffer = new byte[8192];
              int pos = 0;
              while (entries.hasMoreElements()) {
-@@ -3347,7 +3347,7 @@
+@@ -3336,7 +3336,7 @@
          }
  
          // start building chain
@@ -4601,7 +4607,7 @@
          if (buildChain((X509Certificate)certToVerify, chain, certs)) {
              Certificate[] newChain = new Certificate[chain.size()];
              // buildChain() returns chain with self-signed root-cert first and
-@@ -3873,7 +3873,7 @@
+@@ -3862,7 +3862,7 @@
                          break;
                      case 2:     // EKU
                          if(value != null) {
@@ -4610,7 +4616,7 @@
                              for (String s: value.split(",")) {
                                  int p = oneOf(s,
                                          "anyExtendedKeyUsage",
-@@ -3943,7 +3943,7 @@
+@@ -3932,7 +3932,7 @@
                          }
                          if(value != null) {
                              List<AccessDescription> accessDescriptions =
@@ -4619,7 +4625,7 @@
                              String[] ps = value.split(",");
                              for(String item: ps) {
                                  colonpos = item.indexOf(':');
-@@ -4227,7 +4227,7 @@
+@@ -4216,7 +4216,7 @@
      }
  
      public static <A,B> Pair<A,B> of(A a, B b) {
@@ -4629,8 +4635,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/tools/policytool/PolicyTool.java	2011-04-28 17:28:50.942746621 +0100
 @@ -643,7 +643,7 @@
          Class<?> pc = Class.forName(type, true,
                  Thread.currentThread().getContextClassLoader());
@@ -4667,9 +4673,21 @@
      public TaggedList(int i, boolean b) {
          super(i, b);
      }
+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	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/tools/native2ascii/Main.java	2011-04-28 17:28:50.942746621 +0100
+@@ -94,7 +94,7 @@
+      * Run the converter
+      */
+     public synchronized boolean convert(String argv[]){
+-        List<String> v = new ArrayList<>(2);
++        List<String> v = new ArrayList<String>(2);
+         File outputFile = null;
+         boolean createOutputFile = false;
+ 
 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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/logging/PlatformLogger.java	2011-04-28 17:28:50.942746621 +0100
 @@ -113,7 +113,7 @@
  
      // Table of known loggers.  Maps names to PlatformLoggers.
@@ -4697,9 +4715,185 @@
  
          static {
              if (LoggingSupport.isAvailable()) {
+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	2011-04-11 12:34:33.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/Demo.java	2011-04-28 17:28:50.942746621 +0100
+@@ -152,7 +152,7 @@
+         }
+ 
+         Action action = Action.valueOf(args[0]);
+-        Map<String, Object> env = env = new HashMap<>();
++        Map<String, Object> env = env = new HashMap<String,Object>();
+         if (action == Action.create)
+             env.put("create", "true");
+         try (FileSystem fs = provider.newFileSystem(Paths.get(args[1]), env)) {
+@@ -632,9 +632,9 @@
+ 
+     private static void fchCopy(Path src, Path dst) throws IOException
+     {
+-        Set<OpenOption> read = new HashSet<>();
++        Set<OpenOption> read = new HashSet<OpenOption>();
+         read.add(READ);
+-        Set<OpenOption> openwrite = new HashSet<>();
++        Set<OpenOption> openwrite = new HashSet<OpenOption>();
+         openwrite.add(CREATE_NEW);
+         openwrite.add(WRITE);
+ 
+@@ -652,9 +652,9 @@
+ 
+     private static void chCopy(Path src, Path dst) throws IOException
+     {
+-        Set<OpenOption> read = new HashSet<>();
++        Set<OpenOption> read = new HashSet<OpenOption>();
+         read.add(READ);
+-        Set<OpenOption> openwrite = new HashSet<>();
++        Set<OpenOption> openwrite = new HashSet<OpenOption>();
+         openwrite.add(CREATE_NEW);
+         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	2011-03-14 22:10:33.000000000 +0000
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	2011-04-28 17:28:50.942746621 +0100
+@@ -133,8 +133,8 @@
+         return new ZipCoder(Charset.defaultCharset());
+     }
+ 
+-    private final ThreadLocal<CharsetDecoder> decTL = new ThreadLocal<>();
+-    private final ThreadLocal<CharsetEncoder> encTL = new ThreadLocal<>();
++    private final ThreadLocal<CharsetDecoder> decTL = new ThreadLocal<CharsetDecoder>();
++    private final ThreadLocal<CharsetEncoder> encTL = new ThreadLocal<CharsetEncoder>();r
+ 
+     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	2011-04-11 12:34:33.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	2011-04-28 17:28:50.946746687 +0100
+@@ -125,7 +125,7 @@
+         throws IOException
+     {
+         ZipFileAttributes zfas = readAttributes();
+-        LinkedHashMap<String, Object> map = new LinkedHashMap<>();
++        LinkedHashMap<String, Object> map = new LinkedHashMap<String,Object>();
+         if ("*".equals(attributes)) {
+             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	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	2011-04-28 17:28:50.946746687 +0100
+@@ -147,7 +147,7 @@
+ 
+     @Override
+     public Iterable<Path> getRootDirectories() {
+-        ArrayList<Path> pathArr = new ArrayList<>();
++        ArrayList<Path> pathArr = new ArrayList<Path>();
+         pathArr.add(new ZipPath(this, new byte[]{'/'}));
+         return pathArr;
+     }
+@@ -192,7 +192,7 @@
+ 
+     @Override
+     public Iterable<FileStore> getFileStores() {
+-        ArrayList<FileStore> list = new ArrayList<>(1);
++        ArrayList<FileStore> list = new ArrayList<FileStore>(1);
+         list.add(new ZipFileStore(new ZipPath(this, new byte[]{'/'})));
+         return list;
+     }
+@@ -258,7 +258,7 @@
+             endWrite();
+         }
+         if (!streams.isEmpty()) {       // unlock and close all remaining streams
+-            Set<InputStream> copy = new HashSet<>(streams);
++            Set<InputStream> copy = new HashSet<InputStream>(streams);
+             for (InputStream is: copy)
+                 is.close();
+         }
+@@ -386,7 +386,7 @@
+             IndexNode inode = getInode(path);
+             if (inode == null)
+                 throw new NotDirectoryException(getString(path));
+-            List<Path> list = new ArrayList<>();
++            List<Path> list = new ArrayList<Path>();
+             IndexNode child = inode.child;
+             while (child != null) {
+                 ZipPath zp = toZipPath(child.name);
+@@ -815,7 +815,7 @@
+ 
+     // the ex-channel and ex-path that need to close when their outstanding
+     // input streams are all closed by the obtainers.
+-    private Set<ExChannelCloser> exChClosers = new HashSet<>();
++    private Set<ExChannelCloser> exChClosers = new HashSet<ExChannelCloser>();
+ 
+     private Set<Path> tmppaths = Collections.synchronizedSet(new HashSet<Path>());
+     private Path getTempPathForEntry(byte[] path) throws IOException {
+@@ -1012,7 +1012,7 @@
+     private byte[] initCEN() throws IOException {
+         end = findEND();
+         if (end.endpos == 0) {
+-            inodes = new LinkedHashMap<>(10);
++            inodes = new LinkedHashMap<IndexNode,IndexNode>(10);
+             locpos = 0;
+             buildNodeTree();
+             return null;         // only END header present
+@@ -1033,7 +1033,7 @@
+             zerror("read CEN tables failed");
+         }
+         // Iterate through the entries in the central directory
+-        inodes = new LinkedHashMap<>(end.centot + 1);
++        inodes = new LinkedHashMap<IndexNode,IndexNode>(end.centot + 1);
+         int pos = 0;
+         int limit = cen.length - ENDHDR;
+         while (pos < limit) {
+@@ -1180,7 +1180,7 @@
+             return;
+         Path tmpFile = createTempFileInSameDirectoryAs(zfpath);
+         OutputStream os = Files.newOutputStream(tmpFile, WRITE);
+-        ArrayList<Entry> elist = new ArrayList<>(inodes.size());
++        ArrayList<Entry> elist = new ArrayList<Entry>(inodes.size());
+         long written = 0;
+         byte[] buf = new byte[8192];
+         Entry e = null;
+@@ -1592,7 +1592,7 @@
+     // Maxmum number of de/inflater we cache
+     private final int MAX_FLATER = 20;
+     // List of available Inflater objects for decompression
+-    private final List<Inflater> inflaters = new ArrayList<>();
++    private final List<Inflater> inflaters = new ArrayList<Inflater>();
+ 
+     // Gets an inflater from the list of available inflaters or allocates
+     // a new one.
+@@ -1621,7 +1621,7 @@
+     }
+ 
+     // List of available Deflater objects for compression
+-    private final List<Deflater> deflaters = new ArrayList<>();
++    private final List<Deflater> deflaters = new ArrayList<Deflater>();
+ 
+     // Gets an deflater from the list of available deflaters or allocates
+     // a new one.
+@@ -2331,7 +2331,7 @@
+     private void buildNodeTree() throws IOException {
+         beginWrite();
+         try {
+-            HashSet<IndexNode> dirs = new HashSet<>();
++            HashSet<IndexNode> dirs = new HashSet<IndexNode>();
+             IndexNode root = new IndexNode(ROOTPATH, -1);
+             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	2011-04-20 04:40:22.000000000 +0100
++++ openjdk-boot/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	2011-04-28 17:28:50.946746687 +0100
+@@ -53,7 +53,7 @@
+ public class ZipFileSystemProvider extends FileSystemProvider {
+ 
+ 
+-    private final Map<Path, ZipFileSystem> filesystems = new HashMap<>();
++    private final Map<Path, ZipFileSystem> filesystems = new HashMap<Path,ZipFileSystem>();
+ 
+     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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/lang/ProcessEnvironment.java	2011-04-28 17:28:50.946746687 +0100
 @@ -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.
@@ -4710,8 +4904,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2011-04-28 17:10:59.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	2011-04-28 17:28:50.946746687 +0100
 @@ -354,7 +354,7 @@
       * log against that map.  The resulting map is then written back
       * to the disk.
@@ -4746,8 +4940,8 @@
 -                    Map<String, String> m = new TreeMap<>();
 +                    Map<String, String> m = new TreeMap<String, String>();
                      long newLastSyncTime = 0;
+                     FileInputStream fis = null;
                      try {
-                         newLastSyncTime = prefsFile.lastModified();
 @@ -581,7 +581,7 @@
                              prefsFile.renameTo( new File(
                                                      prefsFile.getParentFile(),
@@ -4757,7 +4951,7 @@
                          } else if (e instanceof FileNotFoundException) {
                          getLogger().warning("Prefs file removed in background "
                                             + prefsFile.getPath());
-@@ -646,7 +646,7 @@
+@@ -662,7 +662,7 @@
          return AccessController.doPrivileged(
              new PrivilegedAction<String[]>() {
                  public String[] run() {
@@ -4766,7 +4960,7 @@
                      File[] dirContents = dir.listFiles();
                      if (dirContents != null) {
                          for (int i = 0; i < dirContents.length; i++)
-@@ -794,7 +794,7 @@
+@@ -810,7 +810,7 @@
          } else if (lastSyncTime != 0 && !dir.exists()) {
              // This node was removed in the background.  Playback any changes
              // against a virgin (empty) Map.
@@ -4776,8 +4970,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	2010-08-27 19:16:11.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java	2011-04-28 17:28:50.946746687 +0100
 @@ -60,7 +60,7 @@
                                            int maxperkeyword,
                                            int maxkeywords)
@@ -4797,8 +4991,8 @@
          if (domain != null && domain.length() > 0) {
              sl.add(domain);
 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	2011-03-14 22:10:33.000000000 +0000
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/cs/ext/CompoundTextSupport.java	2011-04-28 17:28:50.946746687 +0100
 @@ -153,12 +153,12 @@
  
      static {
@@ -4817,9 +5011,9 @@
          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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2011-04-14 01:30:39.973982716 +0100
-@@ -81,7 +81,7 @@
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2011-04-20 04:40:24.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java	2011-04-28 17:28:50.946746687 +0100
+@@ -53,7 +53,7 @@
          static final Set<String> supportedFileAttributeViews =
              supportedFileAttributeViews();
          private static Set<String> supportedFileAttributeViews() {
@@ -4828,7 +5022,7 @@
              result.addAll(standardFileAttributeViews());
              // additional Linux-specific views
              result.add("dos");
-@@ -104,7 +104,7 @@
+@@ -76,7 +76,7 @@
       * Returns object to iterate over the mount entries in the given fstab file.
       */
      Iterable<UnixMountEntry> getMountEntries(String fstab) {
@@ -4838,8 +5032,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java	2011-04-28 17:28:50.946746687 +0100
 @@ -63,7 +63,7 @@
  
      // Parses buffer as array of NULL-terminated C strings.
@@ -4850,8 +5044,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java	2011-04-28 17:28:50.946746687 +0100
 @@ -198,7 +198,7 @@
       * Decode the buffer, returning an ACL
       */
@@ -4862,8 +5056,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java	2011-04-28 17:28:50.946746687 +0100
 @@ -76,7 +76,7 @@
          static final Set<String> supportedFileAttributeViews =
              supportedFileAttributeViews();
@@ -4883,8 +5077,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java	2011-04-28 17:28:50.946746687 +0100
 @@ -83,7 +83,7 @@
                  }
  
@@ -4895,8 +5089,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java	2011-04-28 17:28:50.946746687 +0100
 @@ -194,7 +194,7 @@
      @Override
      public Set<PosixFilePermission> permissions() {
@@ -4907,8 +5101,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/java/lang/ProcessEnvironment.java	2011-04-28 17:28:50.946746687 +0100
 @@ -250,7 +250,8 @@
                                     envblock.substring(eql+1,end));
          }
@@ -4930,8 +5124,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java	2011-04-28 17:28:50.946746687 +0100
 @@ -63,7 +63,7 @@
      // Parse string that consists of token delimited by space or commas
      // and return LinkedHashMap
@@ -4942,8 +5136,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2011-04-13 15:10:03.646191347 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java	2011-04-28 17:28:50.946746687 +0100
 @@ -127,7 +127,7 @@
          }
  
@@ -4954,8 +5148,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2011-04-20 04:40:24.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java	2011-04-28 17:28:50.946746687 +0100
 @@ -575,7 +575,7 @@
      // generate offset array
      private void initOffsets() {
@@ -4966,8 +5160,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java	2011-04-28 17:28:50.946746687 +0100
 @@ -378,7 +378,7 @@
              AclInformation aclInfo = GetAclInformation(aclAddress);
              aceCount = aclInfo.aceCount();
@@ -4978,8 +5172,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	2011-04-12 00:18:33.000000000 +0100
-+++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java	2011-04-28 17:28:50.946746687 +0100
 @@ -65,7 +65,7 @@
  
      // enumerates the file streams using FindFirstStream/FindNextStream APIs.
@@ -5026,8 +5220,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/test/java/io/Serializable/NPEProvoker/NPEProvoker.java	2011-04-28 17:28:50.946746687 +0100
 @@ -56,7 +56,7 @@
      public static void main(String[] args) {
          System.err.println("\n Regression test for bug 6541870\n");
@@ -5038,8 +5232,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/test/java/lang/instrument/ilib/InjectBytecodes.java	2011-04-28 17:28:50.946746687 +0100
 @@ -50,7 +50,7 @@
      private final Injector[] after  = new Injector[256];
      private final String className;
@@ -5050,8 +5244,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/instrument/ilib/Inject.java	2011-04-20 04:40:25.000000000 +0100
++++ openjdk-boot/jdk/test/java/lang/instrument/ilib/Inject.java	2011-04-28 17:28:50.946746687 +0100
 @@ -107,7 +107,7 @@
      class IndexedInjector implements TrackerInjector {
          int counter = 0;
@@ -5062,8 +5256,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java	2011-04-28 17:28:50.950746753 +0100
 @@ -103,7 +103,7 @@
          }
      }
@@ -5074,8 +5268,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/test/java/util/logging/ClassLoaderLeakTest.java	2011-04-28 17:28:50.950746753 +0100
 @@ -89,7 +89,7 @@
  
           MyClassLoader appClassLoader = new MyClassLoader(urls, "test0");
@@ -5086,8 +5280,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	2011-04-11 23:07:01.000000000 +0100
-+++ openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java	2011-04-13 15:10:03.650191412 +0100
+--- openjdk-boot.orig/jdk/test/java/util/Random/DistinctSeeds.java	2011-04-14 01:30:00.000000000 +0100
++++ openjdk-boot/jdk/test/java/util/Random/DistinctSeeds.java	2011-04-28 17:28:50.950746753 +0100
 @@ -59,7 +59,7 @@
              }
          }
@@ -5097,24 +5291,3 @@
          List<Thread> threads = new ArrayList<Thread>();
          for (int i = 0; i < threadCount; i++) {
              RandomCollector r = new RandomCollector();
-diff -r 7fb9e32b146a src/share/classes/sun/security/ssl/Handshaker.java
---- openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java	Fri Apr 15 17:03:20 2011 +0100
-@@ -569,7 +569,7 @@
-                 activeProtocols = getActiveProtocols();
-             }
- 
--            ArrayList<CipherSuite> suites = new ArrayList<>();
-+            ArrayList<CipherSuite> suites = new ArrayList<CipherSuite>();
-             if (!(activeProtocols.collection().isEmpty()) &&
-                     activeProtocols.min.v != ProtocolVersion.NONE.v) {
-                 for (CipherSuite suite : enabledCipherSuites.collection()) {
-@@ -614,7 +614,7 @@
-      */
-     ProtocolList getActiveProtocols() {
-         if (activeProtocols == null) {
--            ArrayList<ProtocolVersion> protocols = new ArrayList<>(4);
-+            ArrayList<ProtocolVersion> protocols = new ArrayList<ProtocolVersion>(4);
-             for (ProtocolVersion protocol : enabledProtocols.collection()) {
-                 boolean found = false;
-                 for (CipherSuite suite : enabledCipherSuites.collection()) {
--- a/patches/boot/ecj-stringswitch.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/boot/ecj-stringswitch.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,6 +1,6 @@
-diff -r 7fb9e32b146a 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	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	Sat Apr 16 03:24:55 2011 +0100
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java	Sat Apr 30 03:28:15 2011 +0100
 @@ -350,18 +350,15 @@
              if (attrCommands != null) {
                  Object lkey = Attribute.keyForLookup(ctype, name);
@@ -29,9 +29,9 @@
                  }
              }
              // Find canonical instance of the requested attribute.
-diff -r 7fb9e32b146a 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	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	Sat Apr 16 03:24:55 2011 +0100
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	Sat Apr 30 03:28:15 2011 +0100
 @@ -71,16 +71,14 @@
          {
              // Non-standard, undocumented "--unpack" switch enables unpack mode.
@@ -88,9 +88,9 @@
          }
  
          if (logFile != null && !logFile.equals("")) {
-diff -r 7fb9e32b146a 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	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	Sat Apr 16 03:24:55 2011 +0100
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java	Sat Apr 30 03:28:15 2011 +0100
 @@ -1116,30 +1116,25 @@
          // what is one of { Debug, Compile, Constant, Exceptions, InnerClasses }
          if (verbose > 0)
@@ -141,9 +141,9 @@
          }
      }
  
-diff -r 7fb9e32b146a src/share/classes/com/sun/security/ntlm/NTLM.java
---- openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	Sat Apr 16 03:24:55 2011 +0100
+diff -r 1631a3dee8fc src/share/classes/com/sun/security/ntlm/NTLM.java
+--- openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java	Sat Apr 30 03:28:15 2011 +0100
 @@ -64,17 +64,23 @@
  
      protected NTLM(String version) throws NTLMException {
@@ -179,10 +179,54 @@
          try {
              fac = SecretKeyFactory.getInstance ("DES");
              cipher = Cipher.getInstance ("DES/ECB/NoPadding");
-diff -r 7fb9e32b146a src/share/classes/sun/launcher/LauncherHelper.java
---- openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	Sat Apr 16 03:24:55 2011 +0100
-@@ -115,24 +115,20 @@
+diff -r 1631a3dee8fc src/share/classes/java/lang/invoke/MethodHandles.java
+--- openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandles.java	Sat Apr 30 03:28:15 2011 +0100
+@@ -2293,32 +2293,30 @@
+ 
+     private static
+     boolean isObjectMethod(Method m) {
+-        switch (m.getName()) {
+-        case "toString":
++        final String name = m.getName();
++        if ("toString".equals(name))
+             return (m.getReturnType() == String.class
+                     && m.getParameterTypes().length == 0);
+-        case "hashCode":
++        if ("hashCode".equals(name))
+             return (m.getReturnType() == int.class
+                     && m.getParameterTypes().length == 0);
+-        case "equals":
++        if ("equals".equals(name))
+             return (m.getReturnType() == boolean.class
+                     && m.getParameterTypes().length == 1
+                     && m.getParameterTypes()[0] == Object.class);
+-        }
+         return false;
+     }
+ 
+     private static
+     Object callObjectMethod(Object self, Method m, Object[] args) {
+         assert(isObjectMethod(m)) : m;
+-        switch (m.getName()) {
+-        case "toString":
++        final String name = m.getName();
++        if ("toString".equals(name))
+             return self.getClass().getName() + "@" + Integer.toHexString(self.hashCode());
+-        case "hashCode":
++        if ("hashCode".equals(name))
+             return System.identityHashCode(self);
+-        case "equals":
++        if ("equals".equals(name))
+             return (self == args[0]);
+-        }
+         return null;
+     }
+ 
+diff -r 1631a3dee8fc src/share/classes/sun/launcher/LauncherHelper.java
+--- openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java	Sat Apr 30 03:28:15 2011 +0100
+@@ -117,24 +117,20 @@
          String optStr = (opts.length > 1 && opts[1] != null)
                  ? opts[1].trim()
                  : "all";
@@ -218,9 +262,9 @@
      }
  
      /*
-diff -r 7fb9e32b146a src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
---- openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	Sat Apr 16 03:24:55 2011 +0100
+diff -r 1631a3dee8fc src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java
+--- openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java	Sat Apr 30 03:28:15 2011 +0100
 @@ -383,19 +383,23 @@
              GE;         // ">="
  
--- a/patches/boot/ecj-trywithresources.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/boot/ecj-trywithresources.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,6 +1,354 @@
-diff -r 7fb9e32b146a src/share/classes/java/nio/file/CopyMoveHelper.java
---- openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	Thu Apr 14 01:28:58 2011 +0100
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -743,7 +743,9 @@
+ 
+         private void dumpBand() throws IOException {
+             assert(optDumpBands);
+-            try (PrintStream ps = new PrintStream(getDumpStream(this, ".txt"))) {
++            PrintStream ps = null;
++            try {
++                ps = new PrintStream(getDumpStream(this, ".txt"));
+                 String irr = (bandCoding == regularCoding) ? "" : " irregular";
+                 ps.print("# length="+length+
+                          " size="+outputSize()+
+@@ -758,9 +760,19 @@
+                 }
+                 printArrayTo(ps, values, 0, length);
+             }
+-            try (OutputStream ds = getDumpStream(this, ".bnd")) {
++            finally {
++                if (ps != null)
++                    ps.close();
++            }
++            OutputStream ds = null;
++            try {
++                ds = getDumpStream(this, ".bnd");
+                 bandCoding.writeArrayTo(ds, values, 0, length);
+             }
++            finally {
++                if (ds != null)
++                    ds.close();
++            }
+         }
+ 
+         /** Disburse one value. */
+@@ -829,12 +841,18 @@
+ 
+         private void dumpBand() throws IOException {
+             assert(optDumpBands);
+-            try (OutputStream ds = getDumpStream(this, ".bnd")) {
++            OutputStream ds = null;
++            try {
++                ds = getDumpStream(this, ".bnd");
+                 if (bytesForDump != null)
+                     bytesForDump.writeTo(ds);
+                 else
+                     bytes.writeTo(ds);
+             }
++            finally {
++                if (ds != null)
++                    ds.close();
++            }
+         }
+ 
+         public void readDataFrom(InputStream in) throws IOException {
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -151,8 +151,13 @@
+                 if ("--config-file=".equals(state)) {
+                     String propFile = av.remove(0);
+                     Properties fileProps = new Properties();
+-                    try (InputStream propIn = new FileInputStream(propFile)) {
++                    InputStream propIn = null;
++                    try {
++                        propIn = new FileInputStream(propFile);
+                         fileProps.load(propIn);
++                    } finally {
++                        if (propIn != null)
++                            propIn.close();
+                     }
+                     if (engProps.get(verboseProp) != null)
+                         fileProps.list(System.out);
+@@ -348,9 +353,14 @@
+                 else
+                     fileOut = new FileOutputStream(outfile);
+                 fileOut = new BufferedOutputStream(fileOut);
+-                try (JarOutputStream out = new JarOutputStream(fileOut)) {
++                JarOutputStream out = null;
++                try {
++                    out = new JarOutputStream(fileOut);
+                     junpack.unpack(in, out);
+                     // p200 closes in but not out
++                } finally {
++                    if (out != null)
++                        out.close();
+                 }
+                 // At this point, we have a good jarfile (or newfile, if -r)
+             }
+@@ -411,7 +421,9 @@
+         long filelen = new File(jarfile).length();
+         if (filelen <= 0)  return "";
+         long skiplen = Math.max(0, filelen - tail.length);
+-        try (InputStream in = new FileInputStream(new File(jarfile))) {
++        InputStream in = null;
++        try {
++            in = new FileInputStream(new File(jarfile));
+             in.skip(skiplen);
+             in.read(tail);
+             for (int i = tail.length-4; i >= 0; i--) {
+@@ -425,6 +437,9 @@
+                 }
+             }
+             return "";
++        } finally {
++            if (in != null)
++                in.close();
+         }
+     }
+ 
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -241,9 +241,15 @@
+     void run(File inFile, JarOutputStream jstream) throws IOException {
+         // %%% maybe memory-map the file, and pass it straight into unpacker
+         ByteBuffer mappedFile = null;
+-        try (FileInputStream fis = new FileInputStream(inFile)) {
++        FileInputStream fis = null;
++        try {
++            fis = new FileInputStream(inFile);
+             run(fis, jstream, mappedFile);
+         }
++        finally {
++            if (fis != null)
++                fis.close();
++        }
+         // Note:  caller is responsible to finish with jstream.
+     }
+ 
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -540,9 +540,15 @@
+             Index index = initCPIndex(tag, cpMap);
+ 
+             if (optDumpBands) {
+-                try (PrintStream ps = new PrintStream(getDumpStream(index, ".idx"))) {
++                PrintStream ps = null;
++                try {
++                    ps = new PrintStream(getDumpStream(index, ".idx"));
+                     printArrayTo(ps, index.cpMap, 0, index.cpMap.length);
+                 }
++                finally {
++                    if (ps != null)
++                        ps.close();
++                }
+             }
+         }
+ 
+@@ -828,9 +834,10 @@
+         attr_definition_headers.readFrom(in);
+         attr_definition_name.readFrom(in);
+         attr_definition_layout.readFrom(in);
+-        try (PrintStream dump = !optDumpBands ? null
+-                 : new PrintStream(getDumpStream(attr_definition_headers, ".def")))
+-        {
++        PrintStream dump = null;
++        try {
++            dump = !optDumpBands ? null
++                : new PrintStream(getDumpStream(attr_definition_headers, ".def"));
+             for (int i = 0; i < numAttrDefs; i++) {
+                 int       header = attr_definition_headers.getByte();
+                 Utf8Entry name   = (Utf8Entry) attr_definition_name.getRef();
+@@ -849,6 +856,10 @@
+                 if (dump != null)  dump.println(index+" "+def);
+             }
+         }
++        finally {
++            if (dump != null)
++                dump.close();
++        }
+         attr_definition_headers.doneDisbursing();
+         attr_definition_name.doneDisbursing();
+         attr_definition_layout.doneDisbursing();
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -458,9 +458,15 @@
+                 Utils.log.info("Writing "+cpMap.length+" "+ConstantPool.tagName(tag)+" entries...");
+ 
+             if (optDumpBands) {
+-                try (PrintStream ps = new PrintStream(getDumpStream(index, ".idx"))) {
++                PrintStream ps = null;
++                try {
++                    ps = new PrintStream(getDumpStream(index, ".idx"));
+                     printArrayTo(ps, cpMap, 0, cpMap.length);
+                 }
++                finally {
++                    if (ps != null)
++                        ps.close();
++                }
+             }
+ 
+             switch (tag) {
+@@ -923,9 +929,10 @@
+             }
+         });
+         attrDefsWritten = new Attribute.Layout[numAttrDefs];
+-        try (PrintStream dump = !optDumpBands ? null
+-                 : new PrintStream(getDumpStream(attr_definition_headers, ".def")))
+-        {
++        PrintStream dump = null;
++        try {
++            dump = !optDumpBands ? null
++                : new PrintStream(getDumpStream(attr_definition_headers, ".def"));
+             int[] indexForDebug = Arrays.copyOf(attrIndexLimit, ATTR_CONTEXT_LIMIT);
+             for (int i = 0; i < defs.length; i++) {
+                 int header = ((Integer)defs[i][0]).intValue();
+@@ -951,6 +958,10 @@
+                 }
+             }
+         }
++        finally {
++            if (dump != null)
++                dump.close();
++        }
+     }
+ 
+     void writeAttrCounts() throws IOException {
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -123,8 +123,9 @@
+         // Do this after the previous props are put in place,
+         // to allow override if necessary.
+         String propFile = "intrinsic.properties";
+-
+-        try (InputStream propStr = PackerImpl.class.getResourceAsStream(propFile)) {
++        InputStream propStr = null;
++        try {
++            propStr = PackerImpl.class.getResourceAsStream(propFile);
+             if (propStr == null) {
+                 throw new RuntimeException(propFile + " cannot be loaded");
+             }
+@@ -132,6 +133,14 @@
+         } catch (IOException ee) {
+             throw new RuntimeException(ee);
+         }
++        finally {
++            try {
++                if (propStr != null)
++                    propStr.close();
++            } catch (IOException ee) {
++                throw new RuntimeException(ee);
++            }
++        }
+ 
+         for (Map.Entry<Object, Object> e : props.entrySet()) {
+             String key = (String) e.getKey();
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -161,9 +161,15 @@
+         }
+         // Use the stream-based implementation.
+         // %%% Reconsider if native unpacker learns to memory-map the file.
+-        try (FileInputStream instr = new FileInputStream(in)) {
++        FileInputStream instr = null;
++        try {
++            instr = new FileInputStream(in);
+             unpack(instr, out);
+         }
++        finally {
++            if (instr != null)
++                instr.close();
++        }
+         if (props.getBoolean(Utils.UNPACK_REMOVE_PACKFILE)) {
+             in.delete();
+         }
+diff -r 1631a3dee8fc 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	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -268,18 +268,30 @@
+         // 4947205 : Peformance is slow when using pack-effort=0
+         out = new BufferedOutputStream(out);
+         out = new NonCloser(out); // protect from JarOutputStream.close()
+-        try (JarOutputStream jout = new JarOutputStream(out)) {
++        JarOutputStream jout = null;
++        try {
++            jout = new JarOutputStream(out);
+             copyJarFile(in, jout);
+         }
++        finally {
++            if (jout != null)
++                jout.close();
++        }
+     }
+     static void copyJarFile(JarFile in, OutputStream out) throws IOException {
+ 
+         // 4947205 : Peformance is slow when using pack-effort=0
+         out = new BufferedOutputStream(out);
+         out = new NonCloser(out); // protect from JarOutputStream.close()
+-        try (JarOutputStream jout = new JarOutputStream(out)) {
++        JarOutputStream jout = null;
++        try {
++            jout = new JarOutputStream(out);
+             copyJarFile(in, jout);
+         }
++        finally {
++            if (jout != null)
++                jout.close();
++        }
+     }
+         // Wrapper to prevent closing of client-supplied stream.
+     static private
+diff -r 1631a3dee8fc src/share/classes/java/lang/Package.java
+--- openjdk-boot/jdk/src/share/classes/java/lang/Package.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/lang/Package.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -576,12 +576,23 @@
+      * Returns the Manifest for the specified JAR file name.
+      */
+     private static Manifest loadManifest(String fn) {
+-        try (FileInputStream fis = new FileInputStream(fn);
+-             JarInputStream jis = new JarInputStream(fis, false))
+-        {
++        FileInputStream fis = null;
++        JarInputStream jis = null;
++        try {
++            fis = new FileInputStream(fn);
++            jis = new JarInputStream(fis, false);
+             return jis.getManifest();
+         } catch (IOException e) {
+             return null;
++        } finally {
++            try {
++                if (jis != null)
++                    jis.close();
++                if (fis != null)
++                    fis.close();
++            } catch (IOException e) {
++                return null;
++            }
+         }
+     }
+ 
+diff -r 1631a3dee8fc src/share/classes/java/nio/channels/SocketChannel.java
+--- openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/channels/SocketChannel.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -188,7 +188,7 @@
+             } catch (Throwable suppressed) {
+                 x.addSuppressed(suppressed);
+             }
+-            throw x;
++            throw (IOException) x;
+         }
+         assert sc.isConnected();
+         return sc;
+diff -r 1631a3dee8fc src/share/classes/java/nio/file/CopyMoveHelper.java
+--- openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/CopyMoveHelper.java	Fri Apr 29 01:50:44 2011 +0100
 @@ -122,9 +122,15 @@
          if (attrs.isDirectory()) {
              Files.createDirectory(target);
@@ -18,10 +366,19 @@
          }
  
          // copy basic attributes to target
-diff -r 7fb9e32b146a src/share/classes/java/nio/file/Files.java
---- openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	Thu Apr 14 01:28:58 2011 +0100
-@@ -2821,8 +2821,11 @@
+@@ -142,7 +148,7 @@
+                 } catch (Throwable suppressed) {
+                     x.addSuppressed(suppressed);
+                 }
+-                throw x;
++                throw (IOException) x;
+             }
+         }
+     }
+diff -r 1631a3dee8fc src/share/classes/java/nio/file/Files.java
+--- openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/nio/file/Files.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -2833,8 +2833,11 @@
          }
  
          // do the copy
@@ -35,7 +392,7 @@
          }
      }
  
-@@ -2863,9 +2866,15 @@
+@@ -2875,9 +2878,15 @@
          // ensure not null before opening file
          Objects.requireNonNull(out);
  
@@ -52,7 +409,7 @@
      }
  
      /**
-@@ -2931,8 +2940,14 @@
+@@ -2943,8 +2952,14 @@
          if (size > (long)Integer.MAX_VALUE)
              throw new OutOfMemoryError("Required array size too large");
  
@@ -69,7 +426,7 @@
          }
      }
  
-@@ -2978,7 +2993,9 @@
+@@ -2990,7 +3005,9 @@
      public static List<String> readAllLines(Path path, Charset cs)
          throws IOException
      {
@@ -80,7 +437,7 @@
              List<String> result = new ArrayList<>();
              for (;;) {
                  String line = reader.readLine();
-@@ -2988,6 +3005,10 @@
+@@ -3000,6 +3017,10 @@
              }
              return result;
          }
@@ -91,7 +448,7 @@
      }
  
      /**
-@@ -3037,7 +3058,9 @@
+@@ -3049,7 +3070,9 @@
          // ensure bytes is not null before opening file
          Objects.requireNonNull(bytes);
  
@@ -102,7 +459,7 @@
              int len = bytes.length;
              int rem = len;
              while (rem > 0) {
-@@ -3046,6 +3069,10 @@
+@@ -3058,6 +3081,10 @@
                  rem -= n;
              }
          }
@@ -113,7 +470,7 @@
          return path;
      }
  
-@@ -3097,12 +3124,18 @@
+@@ -3109,12 +3136,18 @@
          Objects.requireNonNull(lines);
          CharsetEncoder encoder = cs.newEncoder();
          OutputStream out = newOutputStream(path, options);
@@ -133,9 +490,207 @@
          return path;
      }
  }
-diff -r 7fb9e32b146a src/share/classes/sun/nio/fs/PollingWatchService.java
---- openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	Thu Apr 14 01:28:58 2011 +0100
+diff -r 1631a3dee8fc src/share/classes/java/util/Currency.java
+--- openjdk-boot/jdk/src/share/classes/java/util/Currency.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/Currency.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -233,9 +233,14 @@
+                                              "currency.properties");
+                     if (propFile.exists()) {
+                         Properties props = new Properties();
+-                        try (FileReader fr = new FileReader(propFile)) {
++                        FileReader fr = null;
++                        try {
++                            fr = new FileReader(propFile);
+                             props.load(fr);
+                         }
++                        finally {
++                            fr.close();
++                        }
+                         Set<String> keys = props.stringPropertyNames();
+                         Pattern propertiesPattern =
+                             Pattern.compile("([A-Z]{3})\\s*,\\s*(\\d{3})\\s*,\\s*([0-3])");
+diff -r 1631a3dee8fc src/share/classes/java/util/jar/JarFile.java
+--- openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/java/util/jar/JarFile.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -376,9 +376,15 @@
+      */
+     private byte[] getBytes(ZipEntry ze) throws IOException {
+         byte[] b = new byte[(int)ze.getSize()];
+-        try (DataInputStream is = new DataInputStream(super.getInputStream(ze))) {
++        DataInputStream is = null;
++        try {
++            is = new DataInputStream(super.getInputStream(ze));
+             is.readFully(b, 0, b.length);
+         }
++        finally {
++            if (is != null)
++                is.close();
++        }
+         return b;
+     }
+ 
+@@ -480,11 +486,15 @@
+             JarEntry manEntry = getManEntry();
+             if (manEntry != null) {
+                 byte[] b = new byte[(int)manEntry.getSize()];
+-                try (DataInputStream dis = new DataInputStream(
+-                         super.getInputStream(manEntry))) {
++                DataInputStream dis = null;
++                try {
++                    dis = new DataInputStream(super.getInputStream(manEntry));
+                     dis.readFully(b, 0, b.length);
+                 }
+-
++                finally {
++                    if (dis != null)
++                        dis.close();
++                }
+                 int last = b.length - src.length;
+                 int i = 0;
+                 next:
+diff -r 1631a3dee8fc src/share/classes/javax/sql/rowset/serial/SerialClob.java
+--- openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/serial/SerialClob.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -144,8 +144,9 @@
+         buf = new char[(int)len];
+         int read = 0;
+         int offset = 0;
+-
+-        try (Reader charStream = clob.getCharacterStream()) {
++        Reader charStream = null;
++        try {
++            charStream = clob.getCharacterStream();
+             if (charStream == null) {
+                 throw new SQLException("Invalid Clob object. The call to getCharacterStream " +
+                     "returned null which cannot be serialized.");
+@@ -153,23 +154,41 @@
+ 
+             // Note: get an ASCII stream in order to null-check it,
+             // even though we don't do anything with it.
+-            try (InputStream asciiStream = clob.getAsciiStream()) {
++            InputStream asciiStream = null;
++            try {
++                asciiStream = clob.getAsciiStream();
+                 if (asciiStream == null) {
+                     throw new SQLException("Invalid Clob object. The call to getAsciiStream " +
+                         "returned null which cannot be serialized.");
+                 }
+             }
+-
+-            try (Reader reader = new BufferedReader(charStream)) {
++            finally {
++                if (asciiStream != null)
++                    asciiStream.close();
++            }
++            Reader reader = null;
++            try {
++                reader = new BufferedReader(charStream);
+                 do {
+                     read = reader.read(buf, offset, (int)(len - offset));
+                     offset += read;
+                 } while (read > 0);
+             }
++            finally {
++                if (reader != null)
++                    reader.close();
++            }
+         } catch (java.io.IOException ex) {
+             throw new SerialException("SerialClob: " + ex.getMessage());
+         }
+-
++        finally {
++            try {
++                if (charStream != null)
++                    charStream.close();
++            } catch (java.io.IOException ex) {
++                throw new SerialException("SerialClob: " + ex.getMessage());
++            }
++        }
+         origLen = len;
+     }
+ 
+diff -r 1631a3dee8fc src/share/classes/javax/sql/rowset/spi/SyncFactory.java
+--- openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/javax/sql/rowset/spi/SyncFactory.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -367,9 +367,15 @@
+                     // Load user's implementation of SyncProvider
+                     // here. -Drowset.properties=/abc/def/pqr.txt
+                     ROWSET_PROPERTIES = strRowsetProperties;
+-                    try (FileInputStream fis = new FileInputStream(ROWSET_PROPERTIES)) {
++                    FileInputStream fis = null;
++                    try {
++                        fis = new FileInputStream(ROWSET_PROPERTIES);
+                         properties.load(fis);
+                     }
++                    finally {
++                        if (fis != null)
++                            fis.close();
++                    }
+                     parseProperties(properties);
+                 }
+ 
+@@ -381,15 +387,19 @@
+                         "rowset.properties";
+ 
+                 ClassLoader cl = Thread.currentThread().getContextClassLoader();
+-
+-                try (InputStream stream =
+-                         (cl == null) ? ClassLoader.getSystemResourceAsStream(ROWSET_PROPERTIES)
+-                                      : cl.getResourceAsStream(ROWSET_PROPERTIES)) {
++                InputStream stream = null;
++                try {
++                    stream =
++                        (cl == null) ? ClassLoader.getSystemResourceAsStream(ROWSET_PROPERTIES)
++                        : cl.getResourceAsStream(ROWSET_PROPERTIES);
+                     if (stream == null) {
+                         throw new SyncFactoryException(
+                             "Resource " + ROWSET_PROPERTIES + " not found");
+                     }
+                     properties.load(stream);
++                } finally {
++                    if (stream != null)
++                        stream.close();
+                 }
+ 
+                 parseProperties(properties);
+diff -r 1631a3dee8fc src/share/classes/sun/net/www/protocol/jar/URLJarFile.java
+--- openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/net/www/protocol/jar/URLJarFile.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -194,7 +194,8 @@
+      * Given a URL, retrieves a JAR file, caches it to disk, and creates a
+      * cached JAR file object.
+      */
+-     private static JarFile retrieve(final URL url, final URLJarFileCloseController closeController) throws IOException {
++     private static JarFile retrieve(final URL url, final URLJarFileCloseController closeController)
++         throws IOException {
+         /*
+          * See if interface is set, then call retrieve function of the class
+          * that implements URLJarFileCallBack interface (sun.plugin - to
+@@ -211,7 +212,8 @@
+             JarFile result = null;
+ 
+             /* get the stream before asserting privileges */
+-            try (final InputStream in = url.openConnection().getInputStream()) {
++            try {
++                final InputStream in = url.openConnection().getInputStream();
+                 result = AccessController.doPrivileged(
+                     new PrivilegedExceptionAction<JarFile>() {
+                         public JarFile run() throws IOException {
+@@ -227,7 +229,10 @@
+                                 } catch (IOException ioe) {
+                                     thr.addSuppressed(ioe);
+                                 }
+-                                throw thr;
++                                throw (IOException) thr;
++                            } finally {
++                                if (in != null)
++                                    in.close();
+                             }
+                         }
+                     });
+diff -r 1631a3dee8fc src/share/classes/sun/nio/fs/PollingWatchService.java
+--- openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java	Fri Apr 29 01:50:44 2011 +0100
 @@ -255,7 +255,9 @@
              this.entries = new HashMap<Path,CacheEntry>();
  
@@ -158,9 +713,9 @@
              }
          }
  
-diff -r 7fb9e32b146a src/share/classes/sun/security/provider/SeedGenerator.java
---- openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	Thu Apr 14 01:28:58 2011 +0100
+diff -r 1631a3dee8fc src/share/classes/sun/security/provider/SeedGenerator.java
+--- openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/security/provider/SeedGenerator.java	Fri Apr 29 01:50:44 2011 +0100
 @@ -179,7 +179,9 @@
                          // The temporary dir
                          File f = new File(p.getProperty("java.io.tmpdir"));
@@ -183,9 +738,106 @@
                          }
                      } catch (Exception ex) {
                          md.update((byte)ex.hashCode());
-diff -r 7fb9e32b146a src/solaris/classes/sun/nio/fs/UnixFileStore.java
---- openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	Mon Apr 11 14:58:51 2011 +0100
-+++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	Thu Apr 14 01:28:58 2011 +0100
+diff -r 1631a3dee8fc src/share/classes/sun/util/calendar/LocalGregorianCalendar.java
+--- openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/classes/sun/util/calendar/LocalGregorianCalendar.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -127,9 +127,15 @@
+             calendarProps = (Properties) AccessController.doPrivileged(new PrivilegedExceptionAction() {
+                 public Object run() throws IOException {
+                     Properties props = new Properties();
+-                    try (FileInputStream fis = new FileInputStream(fname)) {
++                    FileInputStream fis = null;
++                    try {
++                        fis = new FileInputStream(fname);
+                         props.load(fis);
+                     }
++                    finally {
++                        if (fis != null)
++                            fis.close();
++                    }
+                     return props;
+                 }
+             });
+diff -r 1631a3dee8fc src/share/demo/jfc/Font2DTest/RangeMenu.java
+--- openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/share/demo/jfc/Font2DTest/RangeMenu.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -191,7 +191,7 @@
+     }
+ 
+     private static int[][] getUnicodeRanges() {
+-        List<Integer> ranges = new ArrayList<>();
++        List<Integer> ranges = new ArrayList<Integer>();
+         ranges.add(0);
+         Character.UnicodeBlock currentBlock = Character.UnicodeBlock.of(0);
+         for (int cp = 0x000001; cp < 0x110000; cp++ ) {
+diff -r 1631a3dee8fc src/solaris/classes/java/util/prefs/FileSystemPreferences.java
+--- openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java	Fri Apr 29 01:50:44 2011 +0100
+@@ -569,11 +569,11 @@
+                 public Void run() throws BackingStoreException {
+                     Map<String, String> m = new TreeMap<>();
+                     long newLastSyncTime = 0;
++                    FileInputStream fis = null;
+                     try {
+                         newLastSyncTime = prefsFile.lastModified();
+-                        try (FileInputStream fis = new FileInputStream(prefsFile)) {
+-                            XmlSupport.importMap(fis, m);
+-                        }
++                        fis = new FileInputStream(prefsFile);
++                        XmlSupport.importMap(fis, m);
+                     } catch(Exception e) {
+                         if (e instanceof InvalidPreferencesFormatException) {
+                             getLogger().warning("Invalid preferences format in "
+@@ -588,6 +588,13 @@
+                         } else {
+                             throw new BackingStoreException(e);
+                         }
++                    } finally {
++                        try {
++                            if (fis != null)
++                                fis.close();
++                        } catch (IOException e) {
++                            throw new BackingStoreException(e);
++                        }
+                     }
+                     // Attempt succeeded; update state
+                     prefsCache = m;
+@@ -614,13 +621,14 @@
+             AccessController.doPrivileged(
+                 new PrivilegedExceptionAction<Void>() {
+                 public Void run() throws BackingStoreException {
++                    FileOutputStream fos = null;
+                     try {
+                         if (!dir.exists() && !dir.mkdirs())
+                             throw new BackingStoreException(dir +
+                                                              " create failed.");
+-                        try (FileOutputStream fos = new FileOutputStream(tmpFile)) {
+-                            XmlSupport.exportMap(fos, prefsCache);
+-                        }
++
++                        fos = new FileOutputStream(tmpFile);
++                        XmlSupport.exportMap(fos, prefsCache);
+                         if (!tmpFile.renameTo(prefsFile))
+                             throw new BackingStoreException("Can't rename " +
+                             tmpFile + " to " + prefsFile);
+@@ -629,6 +637,14 @@
+                             throw (BackingStoreException)e;
+                         throw new BackingStoreException(e);
+                     }
++                    finally {
++                        try {
++                            if (fos != null)
++                                fos.close();
++                        } catch (IOException e) {
++                            throw new BackingStoreException(e);
++                        }
++                    }
+                     return null;
+                 }
+             });
+diff -r 1631a3dee8fc src/solaris/classes/sun/nio/fs/UnixFileStore.java
+--- openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	Wed Apr 20 04:38:36 2011 +0100
++++ openjdk-boot/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java	Fri Apr 29 01:50:44 2011 +0100
 @@ -255,9 +255,16 @@
          String fstypes = System.getProperty("java.home") + "/lib/fstypes.properties";
          Path file = Paths.get(fstypes);
--- a/patches/boot/fontconfig.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/boot/fontconfig.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,7 +1,7 @@
 diff -Nru openjdk-boot.orig/jdk/make/sun/awt/Makefile openjdk-boot/jdk/make/sun/awt/Makefile
---- openjdk-boot.orig/jdk/make/sun/awt/Makefile	2011-04-11 12:34:30.000000000 +0100
-+++ openjdk-boot/jdk/make/sun/awt/Makefile	2011-04-11 16:51:37.423839968 +0100
-@@ -401,11 +401,9 @@
+--- openjdk-boot.orig/jdk/make/sun/awt/Makefile	2011-04-20 04:40:21.000000000 +0100
++++ openjdk-boot/jdk/make/sun/awt/Makefile	2011-04-21 23:16:13.427471369 +0100
+@@ -400,10 +400,9 @@
  
  COMPILEFONTCONFIG_JARFILE = $(BUILDTOOLJARDIR)/compilefontconfig.jar
  
@@ -10,7 +10,6 @@
 +$(LIBDIR)/%.bfc: $(GENSRCDIR)/fontconfig/%.bfc
  	$(prep-target)
 -	$(BOOT_JAVA_CMD) -jar $(COMPILEFONTCONFIG_JARFILE) $(COMPILEFONTCONFIG_FLAGS) $< $@
--	$(install-module-file)
 +	$(install-file)
  	$(call chmod-file, 444)
  	@$(java-vm-cleanup)
--- a/patches/boot/icedtea-dyn.patch	Thu Apr 21 20:12:07 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-diff -Nru openjdk-boot.orig/jdk/make/java/Makefile openjdk-boot/jdk/make/java/Makefile
---- openjdk-boot.orig/jdk/make/java/Makefile	2010-04-28 22:05:26.000000000 +0100
-+++ openjdk-boot/jdk/make/java/Makefile	2010-05-04 14:02:16.000000000 +0100
-@@ -44,7 +44,7 @@
- SUBDIRS_desktop    = awt applet beans
- SUBDIRS_management = management
- SUBDIRS_misc       = npt java_crw_demo java_hprof_demo \
--                     logging instrument dyn sql rmi
-+                     logging instrument sql rmi
- 
- 
- ifeq ($(PLATFORM), solaris)
--- a/patches/boot/jar.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/boot/jar.patch	Sun May 01 18:12:29 2011 +0100
@@ -44,27 +44,3 @@
  	@$(CD) $(CLASSBINDIR) && $(java-vm-cleanup)
  
  # Meta-index construction to make core class loaders lazier
---- openjdk-boot/jdk/make/modules/Makefile.orig	2010-06-13 10:37:13.000000000 +0200
-+++ openjdk-boot/jdk/make/modules/Makefile	2010-06-13 10:42:37.000000000 +0200
-@@ -111,10 +111,21 @@
-            fi ; \
-            $(MKDIR) -p $(ABS_MODULES_DIR)/$$m/lib; \
- 	   $(CD) $(MODULE_CLASSES) && \
-+ifneq (,$(JAR_KNOWS_ATFILE))
-                $(BOOT_JAR_CMD) c0mf $(MODULE_JAR_MANIFEST_FILE) \
- 		   $(ABS_MODULES_DIR)/$$m/lib/$$m.jar \
- 	           @$(TMP)/tmp.cf \
-                    $(BOOT_JAR_JFLAGS); \
-+else ifneq (,$(JAR_ACCEPTS_STDIN_LIST))
-+               $(CAT) $(TMP)/tmp.cf | \
-+               $(BOOT_JAR_CMD) c0mf@ $(MODULE_JAR_MANIFEST_FILE) \
-+		   $(ABS_MODULES_DIR)/$$m/lib/$$m.jar \
-+                   $(BOOT_JAR_JFLAGS); \
-+else
-+               $(BOOT_JAR_CMD) c0mf $(MODULE_JAR_MANIFEST_FILE) \
-+		   $(ABS_MODULES_DIR)/$$m/lib/$$m.jar \
-+                   $(BOOT_JAR_JFLAGS) `cat $(TMP)/tmp.cf`; \
-+endif
- 	   for s in `$(GREP) "^$$m" $(MODULES_LIST)` ; do \
-                if [ -d $(TMP)/$$s ] ; then \
-                	   $(CP) -rf $(TMP)/$$s/*  $(ABS_MODULES_DIR)/$$m; \
--- a/patches/boot/xbootclasspath.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/boot/xbootclasspath.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk-boot.orig/corba/make/common/shared/Defs-java.gmk openjdk-boot/corba/make/common/shared/Defs-java.gmk
 --- openjdk-boot.orig/corba/make/common/shared/Defs-java.gmk	2011-03-14 22:08:07.000000000 +0000
-+++ openjdk-boot/corba/make/common/shared/Defs-java.gmk	2011-04-11 17:06:27.969997255 +0100
++++ openjdk-boot/corba/make/common/shared/Defs-java.gmk	2011-04-22 00:44:23.902652962 +0100
 @@ -131,26 +131,14 @@
  CLASS_VERSION = -target $(TARGET_CLASS_VERSION)
  JAVACFLAGS  += $(CLASS_VERSION)
@@ -34,18 +34,18 @@
  # Override of what javac to use (see deploy workspace)
  ifdef JAVAC
 diff -Nru openjdk-boot.orig/jdk/make/common/shared/Defs-java.gmk openjdk-boot/jdk/make/common/shared/Defs-java.gmk
---- openjdk-boot.orig/jdk/make/common/shared/Defs-java.gmk	2011-04-11 17:00:02.000000000 +0100
-+++ openjdk-boot/jdk/make/common/shared/Defs-java.gmk	2011-04-11 17:07:00.262511458 +0100
-@@ -136,7 +136,7 @@
+--- openjdk-boot.orig/jdk/make/common/shared/Defs-java.gmk	2011-04-21 23:24:38.000000000 +0100
++++ openjdk-boot/jdk/make/common/shared/Defs-java.gmk	2011-04-22 00:45:22.723492812 +0100
+@@ -147,7 +147,7 @@
  JAVACFLAGS  += $(OTHER_JAVACFLAGS)
  
  # Needed for javah
--JAVAHFLAGS += -bootclasspath $(CLASSBINDIR)
-+JAVAHFLAGS += -bootclasspath $(CLASSBINDIR):$(ICEDTEA_RT):$(CLASSDESTDIR)
+-JAVAHFLAGS += -bootclasspath "$(CLASSBINDIR)$(JCEFLAGS)"
++JAVAHFLAGS += -bootclasspath "$(CLASSBINDIR)$(JCEFLAGS):$(ICEDTEA_RT):$(CLASSDESTDIR)"
  
  # Needed for javadoc to ensure it builds documentation
  # against the newly built classes
-@@ -147,27 +147,15 @@
+@@ -158,27 +158,15 @@
  
  # Langtools
  ifdef LANGTOOLS_DIST
@@ -74,9 +74,9 @@
  
  # Override of what javac to use (see deploy workspace)
 diff -Nru openjdk-boot.orig/jdk/make/java/text/base/Makefile openjdk-boot/jdk/make/java/text/base/Makefile
---- openjdk-boot.orig/jdk/make/java/text/base/Makefile	2011-03-14 22:10:30.000000000 +0000
-+++ openjdk-boot/jdk/make/java/text/base/Makefile	2011-04-11 17:06:27.981997447 +0100
-@@ -81,8 +81,8 @@
+--- openjdk-boot.orig/jdk/make/java/text/base/Makefile	2011-04-20 04:40:20.000000000 +0100
++++ openjdk-boot/jdk/make/java/text/base/Makefile	2011-04-22 00:44:23.918653190 +0100
+@@ -80,8 +80,8 @@
  		-sourcepath $(TEXT_SRCDIR) \
  		$(TEXT_SOURCES)
  	$(MKDIR) -p  $(TEXT_CLASSDIR)
@@ -88,9 +88,9 @@
  		-spec $(UNICODEDATA)/UnicodeData.txt
  	@$(java-vm-cleanup)
 diff -Nru openjdk-boot.orig/jdk/make/sun/text/Makefile openjdk-boot/jdk/make/sun/text/Makefile
---- openjdk-boot.orig/jdk/make/sun/text/Makefile	2011-03-14 22:10:30.000000000 +0000
-+++ openjdk-boot/jdk/make/sun/text/Makefile	2011-04-11 17:06:27.981997447 +0100
-@@ -86,8 +86,9 @@
+--- openjdk-boot.orig/jdk/make/sun/text/Makefile	2011-04-20 04:40:21.000000000 +0100
++++ openjdk-boot/jdk/make/sun/text/Makefile	2011-04-22 00:44:23.918653190 +0100
+@@ -85,8 +85,9 @@
  	$(BOOT_JAVAC_CMD) -d $(TEXT_CLASSES) \
  		-sourcepath $(TEXT_SRCDIR) \
  		$(BIRULES) $(BIINFO)
@@ -102,3 +102,19 @@
  		-o $(CLASSDESTDIR)/sun/text/resources \
  		-spec $(UNICODEDATA)/UnicodeData.txt \
  		-language th
+diff -r 8e26c4aee63c make/build.xml
+--- openjdk-boot/langtools/make/build.xml	Wed Apr 20 04:37:56 2011 +0100
++++ openjdk-boot/langtools/make/build.xml	Tue Apr 26 10:38:14 2011 +0100
+@@ -868,10 +868,8 @@
+                executable="${boot.java.home}/bin/javac"
+                srcdir="${make.tools.dir}/GenStubs"
+                destdir="${build.toolclasses.dir}/"
+-               classpath="${ant.core.lib}"
+-               includeantruntime="false">
+-            <compilerarg value="-Xbootclasspath/p:${build.bootstrap.dir}/classes"/>
+-        </javac>
++               classpath="${build.bootstrap.dir}/classes:${ant.core.lib}"
++               includeantruntime="false"/>
+         <taskdef name="genstubs"
+                  classname="GenStubs$$Ant"
+                  classpath="${build.toolclasses.dir}:${build.bootstrap.dir}/classes:${ant.home}/lib/ant.jar"/>
--- a/patches/cacao/arch.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/cacao/arch.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,7 +1,7 @@
 diff -Nru openjdk.orig/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk
---- openjdk.orig/jdk/make/common/Defs-linux.gmk	2010-07-29 21:55:26.000000000 +0100
-+++ openjdk/jdk/make/common/Defs-linux.gmk	2010-11-12 17:41:50.090328335 +0000
-@@ -109,9 +109,19 @@
+--- openjdk.orig/jdk/make/common/Defs-linux.gmk	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/common/Defs-linux.gmk	2011-04-21 14:43:06.855289132 +0100
+@@ -100,9 +100,19 @@
  #    We need this frame pointer to make it easy to walk the stacks.
  #    This should be the default on X86, but ia64 and amd64 may not have this
  #    as the default.
@@ -22,9 +22,9 @@
  LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
  CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
 diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk
---- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk	2010-11-12 16:56:45.000000000 +0000
-+++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk	2010-11-12 17:41:50.090328335 +0000
-@@ -66,6 +66,52 @@
+--- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk	2011-04-21 10:59:53.000000000 +0100
++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk	2011-04-21 14:43:06.855289132 +0100
+@@ -68,6 +68,52 @@
    else
      CXX            = $(COMPILER_PATH)g++$(GCC_SUFFIX)
    endif
@@ -78,8 +78,8 @@
    SHARED_LIBRARY_FLAG = -shared -mimpure-text
    SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
 diff -Nru openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk openjdk/jdk/make/javax/sound/SoundDefs.gmk
---- openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk	2010-07-29 21:55:27.000000000 +0100
-+++ openjdk/jdk/make/javax/sound/SoundDefs.gmk	2010-11-12 17:41:50.094328182 +0000
+--- openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/javax/sound/SoundDefs.gmk	2011-04-21 14:43:06.855289132 +0100
 @@ -58,10 +58,54 @@
  ifeq ($(ZERO_BUILD), true)
    CPPFLAGS += -DX_ARCH=X_ZERO
@@ -136,33 +136,20 @@
      CPPFLAGS += -DX_ARCH=X_SPARC
    endif # ARCH sparc
 diff -Nru openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
---- openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2010-07-29 21:56:11.000000000 +0100
-+++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2010-11-12 17:41:50.094328182 +0000
-@@ -33,12 +33,21 @@
- #define X_LINUX         3
- 
- // types for X_ARCH
--#define X_I586          1
--#define X_SPARC         2
--#define X_SPARCV9       3
--#define X_IA64          4
--#define X_AMD64         5
--#define X_ZERO          6
-+#define X_ALPHA         1
-+#define X_AMD64         2
-+#define X_ARM           3
-+#define X_I586          4
-+#define X_IA64          5
-+#define X_M68K          6
-+#define X_MIPS          7
-+#define X_MIPSEL        8
-+#define X_PPC           9
-+#define X_PPC64         10
-+#define X_S390          11
-+#define X_S390X         12
-+#define X_SPARC         13
-+#define X_SPARCV9       14
-+#define X_ZERO          15
+--- openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2011-04-20 04:40:22.000000000 +0100
++++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2011-04-21 14:44:25.900576412 +0100
+@@ -41,6 +41,14 @@
+ #define X_ZERO          6
+ #define X_ARM           7
+ #define X_PPC           8
++#define X_ALPHA         9
++#define X_M68K          10
++#define X_MIPS          11
++#define X_MIPSEL        12
++#define X_PPC64         13
++#define X_S390          14
++#define X_S390X         15
++
  
  // **********************************
  // Make sure you set X_PLATFORM and X_ARCH defines correctly.
--- a/patches/debian/icedtea-uname.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/debian/icedtea-uname.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,7 +1,7 @@
 diff -Nru openjdk.orig/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk
---- openjdk.orig/corba/make/common/shared/Platform.gmk	2009-12-04 15:28:04.000000000 +0000
-+++ openjdk/corba/make/common/shared/Platform.gmk	2009-12-13 14:26:03.000000000 +0000
-@@ -174,6 +174,9 @@
+--- openjdk.orig/corba/make/common/shared/Platform.gmk	2011-03-14 22:08:07.000000000 +0000
++++ openjdk/corba/make/common/shared/Platform.gmk	2011-04-21 10:35:01.629157957 +0100
+@@ -153,6 +153,9 @@
    OS_VERSION := $(shell uname -r)
    # Arch and OS name/version
    mach := $(shell uname -m)
@@ -12,12 +12,12 @@
                  i[3-9]86) \
                      echo i586 \
 diff -Nru openjdk.orig/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk
---- openjdk.orig/jdk/make/common/shared/Platform.gmk	2009-12-04 23:26:18.000000000 +0000
-+++ openjdk/jdk/make/common/shared/Platform.gmk	2009-12-13 14:26:12.000000000 +0000
-@@ -152,6 +152,9 @@
-   PLATFORM = linux
-   # Arch and OS name/version
-   mach := $(shell uname -m)
+--- openjdk.orig/jdk/make/common/shared/Platform.gmk	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/common/shared/Platform.gmk	2011-04-21 10:35:35.653711575 +0100
+@@ -160,6 +160,9 @@
+   else
+     mach := $(shell uname -m)
+   endif
 +  ifneq (,$(wildcard /usr/bin/dpkg-architecture))
 +    mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/')
 +  endif
--- a/patches/hotspot/default/icedtea-gcc-suffix.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/hotspot/default/icedtea-gcc-suffix.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk.orig/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile
 --- openjdk.orig/hotspot/agent/src/os/linux/Makefile	2010-07-29 21:54:38.000000000 +0100
-+++ openjdk/hotspot/agent/src/os/linux/Makefile	2011-03-15 01:21:20.137504508 +0000
++++ openjdk/hotspot/agent/src/os/linux/Makefile	2011-04-21 00:04:10.990086029 +0100
 @@ -23,7 +23,7 @@
  #
  
@@ -11,21 +11,25 @@
  JAVAH    = ${JAVA_HOME}/bin/javah
  
 diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2011-03-15 01:15:45.000000000 +0000
-+++ openjdk/hotspot/make/linux/makefiles/gcc.make	2011-03-15 01:22:17.187820176 +0000
-@@ -28,11 +28,11 @@
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make	2011-04-20 12:06:06.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make	2011-04-21 01:00:54.300899166 +0100
+@@ -28,13 +28,13 @@
  # When cross-compiling the ALT_COMPILER_PATH points
  # to the cross-compilation toolset
  ifdef CROSS_COMPILE_ARCH
 -CPP = $(ALT_COMPILER_PATH)/g++
 -CC  = $(ALT_COMPILER_PATH)/gcc
+-HOSTCPP = g++
+-HOSTCC  = gcc
 +CPP = $(ALT_COMPILER_PATH)/g++$(GCC_SUFFIX)
 +CC  = $(ALT_COMPILER_PATH)/gcc$(GCC_SUFFIX)
++HOSTCPP = g++$(GCC_SUFFIX)
++HOSTCC  = gcc$(GCC_SUFFIX)
  else
 -CPP = g++
 -CC  = gcc
 +CPP = g++$(GCC_SUFFIX)
 +CC  = gcc$(GCC_SUFFIX)
+ HOSTCPP = $(CPP)
+ HOSTCC  = $(CC)
  endif
- 
- AS  = $(CC) -c
--- a/patches/hotspot/default/icedtea-params-cast-size_t.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/hotspot/default/icedtea-params-cast-size_t.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,7 +1,7 @@
 diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2010-04-28 22:15:10.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2010-05-04 12:44:06.000000000 +0100
-@@ -964,7 +964,7 @@
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2011-04-20 04:39:42.000000000 +0100
++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2011-04-21 10:52:34.766273674 +0100
+@@ -957,7 +957,7 @@
    if (free_percentage < desired_free_percentage) {
      size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
      assert(desired_capacity >= capacity(), "invalid expansion size");
@@ -10,7 +10,7 @@
    }
    if (expand_bytes > 0) {
      if (PrintGCDetails && Verbose) {
-@@ -6151,7 +6151,7 @@
+@@ -6253,7 +6253,7 @@
      HeapWord* curAddr = _markBitMap.startWord();
      while (curAddr < _markBitMap.endWord()) {
        size_t remaining  = pointer_delta(_markBitMap.endWord(), curAddr);
@@ -19,7 +19,7 @@
        _markBitMap.clear_large_range(chunk);
        if (ConcurrentMarkSweepThread::should_yield() &&
            !foregroundGCIsActive() &&
-@@ -6439,7 +6439,7 @@
+@@ -6546,7 +6546,7 @@
      return;
    }
    // Double capacity if possible
@@ -29,9 +29,9 @@
    // get the double capacity that we desired.
    ReservedSpace rs(ReservedSpace::allocation_align_size_up(
 diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2010-04-28 22:15:12.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2010-05-04 12:43:29.000000000 +0100
-@@ -863,8 +863,8 @@
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2011-04-20 04:39:42.000000000 +0100
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2011-04-21 10:52:34.766273674 +0100
+@@ -897,8 +897,8 @@
  void PSParallelCompact::initialize_dead_wood_limiter()
  {
    const size_t max = 100;
@@ -43,9 +43,9 @@
    DEBUG_ONLY(_dwl_initialized = true;)
    _dwl_adjustment = normal_distribution(1.0);
 diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2009-03-30 17:15:27.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2010-05-04 12:43:29.000000000 +0100
-@@ -63,7 +63,7 @@
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2011-03-14 22:09:03.000000000 +0000
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp	2011-04-21 10:52:34.770273739 +0100
+@@ -69,7 +69,7 @@
    _last_used = current_live;
  
    // We have different alignment constraints than the rest of the heap.
@@ -55,9 +55,9 @@
  
    // Compute the desired size:
 diff -Nru openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
---- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	2010-01-15 17:37:43.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	2010-05-04 12:43:29.000000000 +0100
-@@ -281,7 +281,7 @@
+--- openjdk.orig/hotspot/src/share/vm/memory/collectorPolicy.cpp	2011-04-20 04:39:42.000000000 +0100
++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp	2011-04-21 10:52:34.770273739 +0100
+@@ -329,7 +329,7 @@
      // yield a size that is too small) and bound it by MaxNewSize above.
      // Ergonomics plays here by previously calculating the desired
      // NewSize and MaxNewSize.
@@ -67,9 +67,9 @@
    assert(max_new_size > 0, "All paths should set max_new_size");
  
 diff -Nru openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
---- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2010-02-12 08:14:45.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2010-05-04 12:43:29.000000000 +0100
-@@ -221,7 +221,7 @@
+--- openjdk.orig/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2011-04-11 12:33:06.000000000 +0100
++++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2011-04-21 10:52:34.770273739 +0100
+@@ -240,7 +240,7 @@
    size_t init_sz;
  
    if (TLABSize > 0) {
@@ -79,9 +79,9 @@
      // Startup issue - main thread initialized before heap initialized.
      init_sz = min_size();
 diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2010-05-04 12:38:02.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2010-05-04 12:43:29.000000000 +0100
-@@ -1071,7 +1071,7 @@
+--- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp	2011-04-20 04:39:42.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2011-04-21 10:52:34.770273739 +0100
+@@ -1130,7 +1130,7 @@
      // NewSize was set on the command line and it is larger than
      // preferred_max_new_size.
      if (!FLAG_IS_DEFAULT(NewSize)) {   // NewSize explicitly set at command-line
@@ -90,16 +90,7 @@
      } else {
        FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
      }
-@@ -1090,7 +1090,7 @@
-     // there was no obvious reason.  Also limit to the case where
-     // MaxNewSize has not been set.
- 
--    FLAG_SET_ERGO(intx, NewRatio, MAX2(NewRatio, new_ratio));
-+    FLAG_SET_ERGO(intx, NewRatio, MAX2((intx) NewRatio, new_ratio));
- 
-     // Code along this path potentially sets NewSize and OldSize
- 
-@@ -1132,8 +1132,8 @@
+@@ -1159,8 +1159,8 @@
        // Unless explicitly requested otherwise, make young gen
        // at least min_new, and at most preferred_max_new_size.
        if (FLAG_IS_DEFAULT(NewSize)) {
@@ -109,13 +100,4 @@
 +        FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t) NewSize));
          if (PrintGCDetails && Verbose) {
            // Too early to use gclog_or_tty
-           tty->print_cr("Ergo set NewSize: " SIZE_FORMAT, NewSize);
-@@ -1144,7 +1144,7 @@
-       // later NewRatio will decide how it grows; see above.
-       if (FLAG_IS_DEFAULT(OldSize)) {
-         if (max_heap > NewSize) {
--          FLAG_SET_ERGO(uintx, OldSize, MIN2(3*NewSize, max_heap - NewSize));
-+          FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t) 3*NewSize, max_heap - (size_t) NewSize));
-           if (PrintGCDetails && Verbose) {
-             // Too early to use gclog_or_tty
-             tty->print_cr("Ergo set OldSize: " SIZE_FORMAT, OldSize);
+           tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize);
--- a/patches/icedtea-demo-swingapplet.patch	Thu Apr 21 20:12:07 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
---- openjdk/jdk/make/mkdemo/jfc/SwingApplet/Makefile.orig	2009-01-06 17:07:25.000000000 -0500
-+++ openjdk/jdk/make/mkdemo/jfc/SwingApplet/Makefile	2009-01-06 16:47:28.000000000 -0500
-@@ -33,7 +33,7 @@
- include $(BUILDDIR)/common/Defs.gmk
- 
- DEMO_ROOT       = $(SHARE_SRC)/demo/jfc/$(DEMONAME)
--DEMO_TOPFILES   = ./README.txt
-+DEMO_TOPFILES   = ./README.txt ./SwingApplet.html
- DEMO_MAINCLASS  = $(DEMONAME)
- DEMO_DESTDIR    = $(DEMODIR)/jfc/$(DEMONAME)
- 
--- a/patches/icedtea-libraries.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/icedtea-libraries.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,7 +1,7 @@
 diff -Nru openjdk.orig/jdk/make/com/sun/java/pack/Makefile openjdk/jdk/make/com/sun/java/pack/Makefile
---- openjdk.orig/jdk/make/com/sun/java/pack/Makefile	2010-07-29 21:55:26.000000000 +0100
-+++ openjdk/jdk/make/com/sun/java/pack/Makefile	2010-11-12 16:49:46.685716881 +0000
-@@ -75,12 +75,10 @@
+--- openjdk.orig/jdk/make/com/sun/java/pack/Makefile	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/com/sun/java/pack/Makefile	2011-04-21 09:00:44.681761082 +0100
+@@ -74,12 +74,10 @@
  	     $(ZIPOBJDIR)/inftrees.$(OBJECT_SUFFIX) \
  	     $(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX)
  
@@ -16,7 +16,7 @@
  endif
  
  CXXFLAGS_DBG += -DFULL
-@@ -99,12 +97,12 @@
+@@ -98,12 +96,12 @@
    RES = $(OBJDIR)/$(PGRM).res
  else
    LDOUTPUT = -o #Have a space 
@@ -32,18 +32,17 @@
  endif #LINUX
  endif #PLATFORM
 diff -Nru openjdk.orig/jdk/make/common/Program.gmk openjdk/jdk/make/common/Program.gmk
---- openjdk.orig/jdk/make/common/Program.gmk	2010-07-29 21:55:26.000000000 +0100
-+++ openjdk/jdk/make/common/Program.gmk	2010-11-12 16:49:46.685716881 +0000
-@@ -83,7 +83,7 @@
+--- openjdk.orig/jdk/make/common/Program.gmk	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/common/Program.gmk	2011-04-21 09:02:42.995660993 +0100
+@@ -83,6 +83,7 @@
  	endif
      endif
      ifeq ($(PLATFORM), linux)
--	LDFLAGS += -Wl,-z -Wl,origin
-+	LDFLAGS += -lz -Wl,-z -Wl,origin
++        LDFLAGS += -lz
+ 	LDFLAGS += $(LDFLAG_Z_ORIGIN)
  	LDFLAGS += -Wl,--allow-shlib-undefined
  	LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
- 	LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
-@@ -255,7 +255,6 @@
+@@ -239,7 +240,6 @@
  endif
  
  OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin
@@ -52,9 +51,9 @@
  OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"'
  VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"'
 diff -Nru openjdk.orig/jdk/make/java/jli/Makefile openjdk/jdk/make/java/jli/Makefile
---- openjdk.orig/jdk/make/java/jli/Makefile	2010-07-29 21:55:27.000000000 +0100
-+++ openjdk/jdk/make/java/jli/Makefile	2010-11-12 16:49:46.685716881 +0000
-@@ -45,7 +45,6 @@
+--- openjdk.orig/jdk/make/java/jli/Makefile	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/java/jli/Makefile	2011-04-21 09:00:44.681761082 +0100
+@@ -44,7 +44,6 @@
  
  include $(BUILDDIR)/common/Defs.gmk
  
@@ -62,7 +61,7 @@
  LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
  LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin
  
-@@ -70,13 +69,7 @@
+@@ -69,13 +68,7 @@
  	parse_manifest.c \
  	version_comp.c \
  	wildcard.c \
@@ -76,8 +75,8 @@
 +	jli_util.c
  
  ifneq ($(PLATFORM), windows)
- 
-@@ -102,7 +95,7 @@
+   FILES_c += ergo.c 
+@@ -105,7 +98,7 @@
  	# Note: its important to keep this order meaning -lc is the
  	# last library otherwise it could cause compatibility issues
  	# by pulling in SUNW_private symbols from libc
@@ -86,7 +85,7 @@
  ifeq ($(USE_PTHREADS),true)
  	LDLIBS += -lpthread
  endif # USE_PTHREADS 
-@@ -126,7 +119,6 @@
+@@ -129,7 +122,6 @@
  
  OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)
  OTHER_INCLUDES += -I$(LAUNCHER_PLATFORM_SRC)
@@ -94,7 +93,7 @@
  
  #
  # Library to compile.
-@@ -166,4 +158,4 @@
+@@ -164,4 +156,4 @@
  #
  # Add to ambient vpath so we pick up the library files
  #
@@ -102,7 +101,7 @@
 +vpath %.c $(LAUNCHER_SHARE_SRC) $(LAUNCHER_PLATFORM_SRC)
 diff -Nru openjdk.orig/jdk/make/java/zip/FILES_c.gmk openjdk/jdk/make/java/zip/FILES_c.gmk
 --- openjdk.orig/jdk/make/java/zip/FILES_c.gmk	2010-07-29 21:55:27.000000000 +0100
-+++ openjdk/jdk/make/java/zip/FILES_c.gmk	2010-11-12 16:49:46.685716881 +0000
++++ openjdk/jdk/make/java/zip/FILES_c.gmk	2011-04-21 09:00:44.681761082 +0100
 @@ -29,16 +29,4 @@
  	Deflater.c \
  	Inflater.c \
@@ -122,9 +121,9 @@
 -	zutil.c 
 +	zip_util.c
 diff -Nru openjdk.orig/jdk/make/java/zip/Makefile openjdk/jdk/make/java/zip/Makefile
---- openjdk.orig/jdk/make/java/zip/Makefile	2010-07-29 21:55:27.000000000 +0100
-+++ openjdk/jdk/make/java/zip/Makefile	2010-11-12 16:49:46.697716427 +0000
-@@ -72,16 +72,10 @@
+--- openjdk.orig/jdk/make/java/zip/Makefile	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/java/zip/Makefile	2011-04-21 09:00:44.697761341 +0100
+@@ -71,16 +71,10 @@
  CPPFLAGS += -UDEBUG 
  endif
  
@@ -144,7 +143,7 @@
 +OTHER_LDLIBS = $(JVMLIB) -lz
 diff -Nru openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk openjdk/jdk/make/sun/jpeg/FILES_c.gmk
 --- openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk	2010-07-29 21:55:29.000000000 +0100
-+++ openjdk/jdk/make/sun/jpeg/FILES_c.gmk	2010-11-12 16:49:46.697716427 +0000
++++ openjdk/jdk/make/sun/jpeg/FILES_c.gmk	2011-04-21 09:00:44.697761341 +0100
 @@ -25,51 +25,7 @@
  
  FILES_c = \
@@ -199,9 +198,9 @@
  ifndef OPENJDK
  FILES_c += \
 diff -Nru openjdk.orig/jdk/make/sun/jpeg/Makefile openjdk/jdk/make/sun/jpeg/Makefile
---- openjdk.orig/jdk/make/sun/jpeg/Makefile	2010-07-29 21:55:29.000000000 +0100
-+++ openjdk/jdk/make/sun/jpeg/Makefile	2010-11-12 16:49:46.697716427 +0000
-@@ -68,6 +68,8 @@
+--- openjdk.orig/jdk/make/sun/jpeg/Makefile	2011-04-20 04:40:21.000000000 +0100
++++ openjdk/jdk/make/sun/jpeg/Makefile	2011-04-21 09:00:44.697761341 +0100
+@@ -80,6 +80,8 @@
  include $(BUILDDIR)/common/Mapfile-vers.gmk
  include $(BUILDDIR)/common/Library.gmk
  
@@ -212,7 +211,7 @@
  #
 diff -Nru openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk openjdk/jdk/make/sun/splashscreen/FILES_c.gmk
 --- openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk	2010-07-29 21:55:29.000000000 +0100
-+++ openjdk/jdk/make/sun/splashscreen/FILES_c.gmk	2010-11-12 16:49:46.697716427 +0000
++++ openjdk/jdk/make/sun/splashscreen/FILES_c.gmk	2011-04-21 09:00:44.697761341 +0100
 @@ -30,79 +30,5 @@
  	splashscreen_impl.c \
  	splashscreen_jpeg.c \
@@ -295,9 +294,9 @@
 +	splashscreen_sys.c
  
 diff -Nru openjdk.orig/jdk/make/sun/splashscreen/Makefile openjdk/jdk/make/sun/splashscreen/Makefile
---- openjdk.orig/jdk/make/sun/splashscreen/Makefile	2010-07-29 21:55:29.000000000 +0100
-+++ openjdk/jdk/make/sun/splashscreen/Makefile	2010-11-12 16:49:46.697716427 +0000
-@@ -60,12 +60,12 @@
+--- openjdk.orig/jdk/make/sun/splashscreen/Makefile	2011-04-20 04:40:21.000000000 +0100
++++ openjdk/jdk/make/sun/splashscreen/Makefile	2011-04-21 09:00:44.697761341 +0100
+@@ -59,12 +59,12 @@
  # C Flags
  #
  
@@ -312,7 +311,7 @@
  else # PLATFORM
    CFLAGS += -DWITH_WIN32
    OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib /DELAYLOAD:user32.dll
-@@ -77,14 +77,10 @@
+@@ -76,14 +76,10 @@
  #
  vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/splashscreen
  vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)
@@ -329,7 +328,7 @@
  # and use alternative implementations in C.
 diff -Nru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h
 --- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2010-07-29 21:56:11.000000000 +0100
-+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2010-11-12 16:49:46.697716427 +0000
++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2011-04-21 09:00:44.697761341 +0100
 @@ -89,11 +89,7 @@
  // bytes and byte arrays
  
@@ -344,7 +343,7 @@
  typedef DWORDLONG       julong;
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c openjdk/jdk/src/share/native/java/util/zip/Adler32.c
 --- openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c	2010-07-29 21:56:11.000000000 +0100
-+++ openjdk/jdk/src/share/native/java/util/zip/Adler32.c	2010-11-12 16:49:46.697716427 +0000
++++ openjdk/jdk/src/share/native/java/util/zip/Adler32.c	2011-04-21 09:00:44.697761341 +0100
 @@ -29,7 +29,7 @@
  
  #include "jni.h"
@@ -356,7 +355,7 @@
  
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c openjdk/jdk/src/share/native/java/util/zip/CRC32.c
 --- openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c	2010-07-29 21:56:11.000000000 +0100
-+++ openjdk/jdk/src/share/native/java/util/zip/CRC32.c	2010-11-12 16:49:46.697716427 +0000
++++ openjdk/jdk/src/share/native/java/util/zip/CRC32.c	2011-04-21 09:00:44.697761341 +0100
 @@ -29,7 +29,7 @@
  
  #include "jni.h"
@@ -367,8 +366,8 @@
  #include "java_util_zip_CRC32.h"
  
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c openjdk/jdk/src/share/native/java/util/zip/Deflater.c
---- openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c	2010-07-29 21:56:11.000000000 +0100
-+++ openjdk/jdk/src/share/native/java/util/zip/Deflater.c	2010-11-12 16:49:46.697716427 +0000
+--- openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c	2011-03-14 22:10:33.000000000 +0000
++++ openjdk/jdk/src/share/native/java/util/zip/Deflater.c	2011-04-21 09:00:44.697761341 +0100
 @@ -32,7 +32,7 @@
  #include "jlong.h"
  #include "jni.h"
@@ -379,8 +378,8 @@
  #include "java_util_zip_Deflater.h"
  
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c openjdk/jdk/src/share/native/java/util/zip/Inflater.c
---- openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c	2010-11-12 01:20:49.000000000 +0000
-+++ openjdk/jdk/src/share/native/java/util/zip/Inflater.c	2010-11-12 16:49:46.701716276 +0000
+--- openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c	2011-03-14 22:10:33.000000000 +0000
++++ openjdk/jdk/src/share/native/java/util/zip/Inflater.c	2011-04-21 09:00:44.697761341 +0100
 @@ -35,7 +35,7 @@
  #include "jni.h"
  #include "jvm.h"
@@ -391,8 +390,8 @@
  
  #define MIN2(x, y)  ((x) < (y) ? (x) : (y))
 diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c openjdk/jdk/src/share/native/java/util/zip/zip_util.c
---- openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c	2010-07-29 21:56:11.000000000 +0100
-+++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c	2010-11-12 16:49:46.701716276 +0000
+--- openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c	2011-03-14 22:10:33.000000000 +0000
++++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c	2011-04-21 09:00:44.697761341 +0100
 @@ -44,7 +44,8 @@
  #include "io_util.h"
  #include "io_util_md.h"
@@ -404,8 +403,8 @@
  /* USE_MMAP means mmap the CEN & ENDHDR part of the zip file. */
  #ifdef USE_MMAP
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2010-11-12 01:20:49.000000000 +0000
-+++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2010-11-12 16:49:46.701716276 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2011-04-20 04:40:22.000000000 +0100
++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2011-04-21 09:00:44.697761341 +0100
 @@ -51,7 +51,9 @@
  
  /* headers from the JPEG library */
@@ -480,7 +479,7 @@
  /*
   * Defined in jpegdecoder.c.  Copy code from there if and
   * when that disappears. */
-@@ -609,7 +667,7 @@
+@@ -608,7 +666,7 @@
          return;
      }
  
@@ -489,7 +488,7 @@
  
  }
  
-@@ -634,7 +692,7 @@
+@@ -633,7 +691,7 @@
          return;
      }
  
@@ -498,7 +497,7 @@
  
  }
  
-@@ -652,7 +710,7 @@
+@@ -651,7 +709,7 @@
              free(cinfo->dest);
              cinfo->dest = NULL;
          }
@@ -507,7 +506,7 @@
          free(info);
      }
  }
-@@ -692,14 +750,14 @@
+@@ -691,14 +749,14 @@
              decomp = (j_decompress_ptr) cinfo;
              if (decomp->quant_tbl_ptrs[i] == NULL) {
                  decomp->quant_tbl_ptrs[i] =
@@ -524,7 +523,7 @@
              }
              quant_ptr = comp->quant_tbl_ptrs[i];
          }
-@@ -790,14 +848,14 @@
+@@ -789,14 +847,14 @@
              decomp = (j_decompress_ptr) cinfo;
              if (decomp->dc_huff_tbl_ptrs[i] == NULL) {
                  decomp->dc_huff_tbl_ptrs[i] =
@@ -541,7 +540,7 @@
              }
              huff_ptr = comp->dc_huff_tbl_ptrs[i];
          }
-@@ -815,14 +873,14 @@
+@@ -814,14 +872,14 @@
              decomp = (j_decompress_ptr) cinfo;
              if (decomp->ac_huff_tbl_ptrs[i] == NULL) {
                  decomp->ac_huff_tbl_ptrs[i] =
@@ -558,7 +557,7 @@
              }
              huff_ptr = comp->ac_huff_tbl_ptrs[i];
          }
-@@ -1382,6 +1440,8 @@
+@@ -1381,6 +1439,8 @@
       jclass ImageInputStreamClass,
       jclass qTableClass,
       jclass huffClass) {
@@ -567,7 +566,7 @@
  
      ImageInputStream_readID = (*env)->GetMethodID(env,
                                                    ImageInputStreamClass,
-@@ -1468,7 +1528,7 @@
+@@ -1467,7 +1527,7 @@
      }
  
      /* We set up the normal JPEG error routines, then override error_exit. */
@@ -576,7 +575,7 @@
      jerr->pub.error_exit = sun_jpeg_error_exit;
      /* We need to setup our own print routines */
      jerr->pub.output_message = sun_jpeg_output_message;
-@@ -1485,11 +1545,11 @@
+@@ -1484,11 +1544,11 @@
      }
  
      /* Perform library initialization */
@@ -590,7 +589,7 @@
  
      /*
       * Now set up our source.
-@@ -1508,7 +1568,7 @@
+@@ -1507,7 +1567,7 @@
      cinfo->src->init_source = imageio_init_source;
      cinfo->src->fill_input_buffer = imageio_fill_input_buffer;
      cinfo->src->skip_input_data = imageio_skip_input_data;
@@ -599,7 +598,7 @@
      cinfo->src->term_source = imageio_term_source;
  
      /* set up the association to persist for future calls */
-@@ -1628,7 +1688,7 @@
+@@ -1627,7 +1687,7 @@
          src->bytes_in_buffer = 0;
      }
  
@@ -608,7 +607,7 @@
  
      if (ret == JPEG_HEADER_TABLES_ONLY) {
          retval = JNI_TRUE;
-@@ -1757,7 +1817,7 @@
+@@ -1756,7 +1816,7 @@
                                 cinfo->num_components,
                                 profileData);
          if (reset) {
@@ -617,7 +616,7 @@
          }
      }
  
-@@ -1954,7 +2014,7 @@
+@@ -1951,7 +2011,7 @@
                     TRUE);
      }
  
@@ -626,7 +625,7 @@
      if (progressive) {
          cinfo->buffered_image = TRUE;
          cinfo->input_scan_number = minProgressivePass+1; // Java count from 0
-@@ -1966,7 +2026,7 @@
+@@ -1963,7 +2023,7 @@
  
      data->streamBuf.suspendable = FALSE;
  
@@ -635,7 +634,7 @@
  
      if (numBands !=  cinfo->output_components) {
          JNU_ThrowByName(env, "javax/imageio/IIOException",
-@@ -1991,7 +2051,7 @@
+@@ -1988,7 +2048,7 @@
          if (progressive) {
              // initialize the next pass.  Note that this skips up to
              // the first interesting pass.
@@ -644,7 +643,7 @@
              if (wantUpdates) {
                  (*env)->CallVoidMethod(env, this,
                                         JPEGImageReader_passStartedID,
-@@ -2007,7 +2067,7 @@
+@@ -2004,7 +2064,7 @@
          // Skip until the first interesting line
          while ((data->abortFlag == JNI_FALSE)
                 && ((jint)cinfo->output_scanline < sourceYStart)) {
@@ -653,7 +652,7 @@
          }
  
          scanlineLimit = sourceYStart+sourceHeight;
-@@ -2020,7 +2080,7 @@
+@@ -2017,7 +2077,7 @@
          while ((data->abortFlag == JNI_FALSE)
                 && ((jint)cinfo->output_scanline < scanlineLimit)) {
  
@@ -662,7 +661,7 @@
  
              // Now mangle it into our buffer
              out = data->pixelBuf.buf.bp;
-@@ -2075,13 +2135,13 @@
+@@ -2072,13 +2132,13 @@
                  skipLines = linesLeft;
              }
              for(i = 0; i < skipLines; i++) {
@@ -679,7 +678,7 @@
                  || (cinfo->input_scan_number > maxProgressivePass)) {
                  done = TRUE;
              }
-@@ -2101,9 +2161,9 @@
+@@ -2098,9 +2158,9 @@
      if (cinfo->output_scanline == cinfo->output_height) {
          //    if ((cinfo->output_scanline == cinfo->output_height) &&
          //(jpeg_input_complete(cinfo))) {  // We read the whole file
@@ -691,7 +690,7 @@
      }
  
      free(scanLinePtr);
-@@ -2149,7 +2209,7 @@
+@@ -2146,7 +2206,7 @@
  
      cinfo = (j_decompress_ptr) data->jpegObj;
  
@@ -700,7 +699,7 @@
  }
  
  
-@@ -2355,6 +2415,150 @@
+@@ -2352,6 +2412,150 @@
  
  /********************** end of destination manager ************/
  
@@ -851,7 +850,7 @@
  /********************** Writer JNI calls **********************/
  
  
-@@ -2366,6 +2570,8 @@
+@@ -2363,6 +2567,8 @@
       jclass qTableClass,
       jclass huffClass) {
  
@@ -860,7 +859,7 @@
      ImageOutputStream_writeID = (*env)->GetMethodID(env,
                                                      IOSClass,
                                                      "write",
-@@ -2439,7 +2645,7 @@
+@@ -2436,7 +2642,7 @@
      }
  
      /* We set up the normal JPEG error routines, then override error_exit. */
@@ -869,7 +868,7 @@
      jerr->pub.error_exit = sun_jpeg_error_exit;
      /* We need to setup our own print routines */
      jerr->pub.output_message = sun_jpeg_output_message;
-@@ -2456,7 +2662,7 @@
+@@ -2453,7 +2659,7 @@
      }
  
      /* Perform library initialization */
@@ -878,7 +877,7 @@
  
      /* Now set up the destination  */
      dest = malloc(sizeof(struct jpeg_destination_mgr));
-@@ -2563,7 +2769,7 @@
+@@ -2560,7 +2766,7 @@
          return;
      }
  
@@ -887,7 +886,7 @@
  
      data->streamBuf.suspendable = FALSE;
      if (qtables != NULL) {
-@@ -2578,7 +2784,7 @@
+@@ -2575,7 +2781,7 @@
                     DCHuffmanTables, ACHuffmanTables, TRUE);
      }
  
@@ -896,7 +895,7 @@
      RELEASE_ARRAYS(env, data, NULL);
  }
  
-@@ -2750,9 +2956,9 @@
+@@ -2758,9 +2964,9 @@
      cinfo->input_components = numBands;
      cinfo->in_color_space = inCs;
  
@@ -908,7 +907,7 @@
  
      cinfo->optimize_coding = optimize;
  
-@@ -2789,7 +2995,7 @@
+@@ -2797,7 +3003,7 @@
      (*env)->ReleaseIntArrayElements(env, QtableSelectors,
                                      qsels, JNI_ABORT);
  
@@ -917,7 +916,7 @@
  
      qlen = setQTables(env, (j_common_ptr) cinfo, qtables, writeDQT);
  
-@@ -2814,7 +3020,7 @@
+@@ -2822,7 +3028,7 @@
  
      if (progressive) {
          if (numScans == 0) { // then use default scans
@@ -926,7 +925,7 @@
          } else {
              cinfo->num_scans = numScans;
              // Copy the scanInfo to a local array
-@@ -2856,7 +3062,7 @@
+@@ -2864,7 +3070,7 @@
  #endif
  
      // start the compressor; tables must already be set
@@ -935,7 +934,7 @@
  
      if (haveMetadata) {
          // Flush the buffer
-@@ -2919,7 +3125,7 @@
+@@ -2927,7 +3133,7 @@
              }
          }
          // write it out
@@ -944,7 +943,7 @@
          targetLine += stepY;
      }
  
-@@ -2928,9 +3134,9 @@
+@@ -2936,9 +3142,9 @@
       * so use jpeg_abort instead of jpeg_finish_compress.
       */
      if (cinfo->next_scanline == cinfo->image_height) {
@@ -957,8 +956,8 @@
  
      if (scale != NULL) {
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	2010-07-29 21:56:12.000000000 +0100
-+++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	2010-11-12 16:49:46.717715668 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	2011-04-20 04:40:22.000000000 +0100
++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c	2011-04-21 09:00:44.697761341 +0100
 @@ -45,7 +45,9 @@
  #undef boolean
  #undef FAR
@@ -1221,8 +1220,8 @@
    /* After finish_decompress, we can close the input file.
     * Here we postpone it until after no more JPEG errors are possible,
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
---- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	2010-11-12 01:20:49.000000000 +0000
-+++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	2010-11-12 16:49:46.721715517 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	2011-03-14 22:10:33.000000000 +0000
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c	2011-04-21 09:00:44.701761405 +0100
 @@ -26,7 +26,7 @@
  #include "splashscreen_impl.h"
  #include "splashscreen_gfx.h"
@@ -1234,7 +1233,7 @@
  #define GIF_USER_INPUT      0x02
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
 --- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c	2010-07-29 21:56:12.000000000 +0100
-+++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c	2010-11-12 16:49:46.721715517 +0000
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c	2011-04-21 09:00:44.701761405 +0100
 @@ -25,9 +25,8 @@
  
  #include "splashscreen_impl.h"
@@ -1265,8 +1264,8 @@
  
      src = (stream_src_ptr) cinfo->src;
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
---- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2010-07-29 21:56:12.000000000 +0100
-+++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2010-11-12 16:49:46.721715517 +0000
+--- openjdk.orig/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2011-03-14 22:10:33.000000000 +0000
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2011-04-21 09:00:44.701761405 +0100
 @@ -25,7 +25,7 @@
  
  #include "splashscreen_impl.h"
--- a/patches/icedtea-rhino.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/icedtea-rhino.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk.orig/jdk/make/com/sun/Makefile openjdk/jdk/make/com/sun/Makefile
---- openjdk.orig/jdk/make/com/sun/Makefile	2010-07-29 21:55:26.000000000 +0100
-+++ openjdk/jdk/make/com/sun/Makefile	2010-09-01 18:08:22.164610031 +0100
+--- openjdk.orig/jdk/make/com/sun/Makefile	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/com/sun/Makefile	2011-04-21 22:36:31.443422475 +0100
 @@ -31,13 +31,6 @@
  PRODUCT = sun
  include $(BUILDDIR)/common/Defs.gmk
@@ -15,19 +15,10 @@
  # jarsigner is part of JRE
  SUBDIRS = java security net/ssl jarsigner
  
-@@ -45,7 +38,7 @@
- SUBDIRS_desktop    = image
- SUBDIRS_enterprise = crypto/provider jndi \
-                      org xml rowset net/httpserver
--SUBDIRS_misc       = $(SCRIPT_SUBDIR) tracing servicetag nio demo
-+SUBDIRS_misc       = script tracing servicetag nio demo
- 
- # Omit mirror since it's built with the apt tool.
- SUBDIRS_tools      = tools
 diff -Nru openjdk.orig/jdk/make/com/sun/script/Makefile openjdk/jdk/make/com/sun/script/Makefile
---- openjdk.orig/jdk/make/com/sun/script/Makefile	2010-07-29 21:55:26.000000000 +0100
-+++ openjdk/jdk/make/com/sun/script/Makefile	2010-09-01 18:08:22.168609689 +0100
-@@ -32,6 +32,8 @@
+--- openjdk.orig/jdk/make/com/sun/script/Makefile	2011-04-20 04:40:20.000000000 +0100
++++ openjdk/jdk/make/com/sun/script/Makefile	2011-04-21 22:36:31.443422475 +0100
+@@ -31,6 +31,8 @@
  
  AUTO_FILES_JAVA_DIRS = com/sun/script
  
@@ -37,9 +28,9 @@
  # Files that need to be copied
  #
 diff -Nru openjdk.orig/jdk/make/common/Release.gmk openjdk/jdk/make/common/Release.gmk
---- openjdk.orig/jdk/make/common/Release.gmk	2010-09-01 18:03:55.000000000 +0100
-+++ openjdk/jdk/make/common/Release.gmk	2010-09-01 18:08:22.168609689 +0100
-@@ -798,6 +798,7 @@
+--- openjdk.orig/jdk/make/common/Release.gmk	2011-04-21 20:56:37.000000000 +0100
++++ openjdk/jdk/make/common/Release.gmk	2011-04-21 22:36:31.443422475 +0100
+@@ -735,6 +735,7 @@
  	$(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar
  	$(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar
  	$(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar
@@ -49,7 +40,7 @@
  	    $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java
 --- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java	2010-09-01 18:08:22.168609689 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java	2011-04-21 22:36:31.443422475 +0100
 @@ -24,7 +24,7 @@
   */
  
@@ -61,7 +52,7 @@
  
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java
 --- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2010-09-01 18:08:22.168609689 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2011-04-21 22:36:31.455422660 +0100
 @@ -26,7 +26,7 @@
  package com.sun.script.javascript;
  
@@ -73,7 +64,7 @@
   * This class implements Rhino-like JavaAdapter to help implement a Java
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java
 --- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java	2010-09-01 18:08:22.168609689 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java	2011-04-21 22:36:31.455422660 +0100
 @@ -25,7 +25,7 @@
  
  package com.sun.script.javascript;
@@ -85,7 +76,7 @@
  /**
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java
 --- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java	2010-09-01 18:08:22.168609689 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java	2011-04-21 22:36:31.455422660 +0100
 @@ -26,7 +26,7 @@
  package com.sun.script.javascript;
  
@@ -97,7 +88,7 @@
   * This class prevents script access to certain sensitive classes.
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java
 --- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java	2010-09-01 18:08:22.168609689 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java	2011-04-21 22:36:31.455422660 +0100
 @@ -25,7 +25,7 @@
  
  package com.sun.script.javascript;
@@ -108,8 +99,8 @@
  /**
   * Represents compiled JavaScript code.
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java	2010-09-01 18:08:22.168609689 +0100
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java	2011-04-18 18:04:37.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java	2011-04-21 22:36:31.455422660 +0100
 @@ -26,7 +26,7 @@
  package com.sun.script.javascript;
  import javax.script.*;
@@ -120,8 +111,8 @@
  
  /**
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java	2010-09-01 18:08:22.168609689 +0100
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java	2011-04-20 04:40:21.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java	2011-04-21 22:36:31.455422660 +0100
 @@ -26,7 +26,7 @@
  package com.sun.script.javascript;
  import com.sun.script.util.*;
@@ -132,8 +123,8 @@
  import java.io.*;
  import java.util.*;
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java
---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java	2010-09-01 18:08:22.168609689 +0100
+--- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java	2011-04-11 12:34:30.000000000 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java	2011-04-21 22:36:31.455422660 +0100
 @@ -25,7 +25,7 @@
  
  package com.sun.script.javascript;
@@ -145,7 +136,7 @@
  /**
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java
 --- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java	2010-07-29 21:55:35.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java	2010-09-01 18:08:22.168609689 +0100
++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java	2011-04-21 22:36:31.455422660 +0100
 @@ -27,7 +27,7 @@
  
  import java.lang.reflect.*;
--- a/patches/icedtea-tools.patch	Thu Apr 21 20:12:07 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-diff -ruN openjdk-ecj/jdk/make/tools/sharing/classlist.linux openjdk/jdk/make/tools/sharing/classlist.linux
---- openjdk-ecj/jdk/make/tools/sharing/classlist.linux	2007-08-30 03:19:44.000000000 -0400
-+++ openjdk/jdk/make/tools/sharing/classlist.linux	2007-09-04 13:33:52.000000000 -0400
-@@ -330,7 +330,6 @@
- java/beans/PropertyChangeEvent
- java/util/EventObject
- java/awt/Component$AWTTreeLock
--sun/awt/DebugHelper
- sun/awt/NativeLibLoader
- sun/security/action/LoadLibraryAction
- java/awt/GraphicsEnvironment
-@@ -341,7 +340,6 @@
- java/lang/ProcessEnvironment$Value
- java/lang/ProcessEnvironment$StringEnvironment
- java/util/Collections$UnmodifiableMap
--sun/awt/DebugHelperStub
- java/awt/Toolkit
- java/awt/Toolkit$3
- sun/util/CoreResourceBundleControl
-diff -ruN openjdk-ecj/jdk/make/tools/sharing/classlist.solaris openjdk/jdk/make/tools/sharing/classlist.solaris
---- openjdk-ecj/jdk/make/tools/sharing/classlist.solaris	2007-08-30 03:19:44.000000000 -0400
-+++ openjdk/jdk/make/tools/sharing/classlist.solaris	2007-09-04 13:34:17.000000000 -0400
-@@ -332,7 +332,6 @@
- java/beans/PropertyChangeEvent
- java/util/EventObject
- java/awt/Component$AWTTreeLock
--sun/awt/DebugHelper
- sun/awt/NativeLibLoader
- sun/security/action/LoadLibraryAction
- java/awt/GraphicsEnvironment
-@@ -343,7 +342,6 @@
- java/lang/ProcessEnvironment$Value
- java/lang/ProcessEnvironment$StringEnvironment
- java/util/Collections$UnmodifiableMap
--sun/awt/DebugHelperStub
- java/awt/Toolkit
- java/awt/Toolkit$3
- sun/util/CoreResourceBundleControl
-diff -ruN openjdk-ecj/jdk/make/tools/sharing/classlist.windows openjdk/jdk/make/tools/sharing/classlist.windows
---- openjdk-ecj/jdk/make/tools/sharing/classlist.windows	2007-08-30 03:19:44.000000000 -0400
-+++ openjdk/jdk/make/tools/sharing/classlist.windows	2007-09-04 13:34:05.000000000 -0400
-@@ -333,10 +333,8 @@
- java/beans/PropertyChangeEvent
- java/util/EventObject
- java/awt/Component$AWTTreeLock
--sun/awt/DebugHelper
- sun/awt/NativeLibLoader
- sun/security/action/LoadLibraryAction
--sun/awt/DebugHelperStub
- java/awt/Toolkit
- java/awt/Toolkit$3
- sun/util/CoreResourceBundleControl
---- openjdk.orig/jdk/make/java/awt/Makefile	2008-02-28 04:39:42.000000000 -0500
-+++ openjdk/jdk/make/java/awt/Makefile	2008-02-29 14:58:50.000000000 -0500
-@@ -34,7 +34,7 @@
- #
- AUTO_FILES_JAVA_DIRS = java/awt sun/awt/geom
- 
--build: properties cursors
-+build: sources properties cursors
- 
- #
- # Resources
-@@ -47,9 +47,11 @@
- #
- include $(BUILDDIR)/common/Classes.gmk
- 
-+sources:
- 
- clean:: properties.clean sun.geom.clean cursors.clean
- 
-+
- _LIBPROPS = \
- 	flavormap.properties
- 
-@@ -102,6 +104,6 @@
- cursors.clean :
- 	$(RM) -r $(CURSORDIR)
- 
--.PHONY: properties properties.clean \
-+.PHONY: sources properties properties.clean \
- 	cursors sun.geom.clean cursors.clean
- 
--- a/patches/icedtea-update-bootclasspath.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/icedtea-update-bootclasspath.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,13 +1,13 @@
 diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp	2010-09-01 01:23:45.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/os.cpp	2010-09-19 17:34:30.859345954 +0100
-@@ -1032,6 +1032,9 @@
+--- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp	2011-04-20 04:39:42.000000000 +0100
++++ openjdk/hotspot/src/share/vm/runtime/os.cpp	2011-04-21 20:50:09.475567200 +0100
+@@ -1079,6 +1079,9 @@
          "%/lib/jsse.jar:"
          "%/lib/jce.jar:"
          "%/lib/charsets.jar:"
 +        "%/lib/netx.jar:"
 +        "%/lib/plugin.jar:"
 +        "%/lib/rhino.jar:"
- 
-         // ## TEMPORARY hack to keep the legacy launcher working when
-         // ## only the boot module is installed (cf. j.l.ClassLoader)
+         "%/classes";
+     char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep);
+     if (sysclasspath == NULL) return false;
--- a/patches/sh4-support.patch	Thu Apr 21 20:12:07 2011 -0400
+++ b/patches/sh4-support.patch	Sun May 01 18:12:29 2011 +0100
@@ -1,7 +1,7 @@
 diff -Nru openjdk.orig/corba/make/common/shared/Platform.gmk openjdk/corba/make/common/shared/Platform.gmk
---- openjdk.orig/corba/make/common/shared/Platform.gmk	2010-09-01 17:36:18.000000000 +0100
-+++ openjdk/corba/make/common/shared/Platform.gmk	2010-09-01 17:44:42.267438042 +0100
-@@ -191,6 +191,9 @@
+--- openjdk.orig/corba/make/common/shared/Platform.gmk	2011-04-21 15:22:49.000000000 +0100
++++ openjdk/corba/make/common/shared/Platform.gmk	2011-04-21 19:57:25.486492074 +0100
+@@ -172,6 +172,9 @@
                  arm*) \
                      echo arm \
                      ;; \
@@ -11,7 +11,7 @@
                  *) \
                      echo $(mach) \
                      ;; \
-@@ -218,6 +221,9 @@
+@@ -199,6 +202,9 @@
        else
          ARCH_DATA_MODEL=64
        endif
@@ -22,9 +22,9 @@
    endif
  
 diff -Nru openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
---- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp	2010-09-01 17:36:18.000000000 +0100
-+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2010-09-01 17:44:42.267438042 +0100
-@@ -1770,7 +1770,8 @@
+--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp	2011-04-21 15:22:49.000000000 +0100
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2011-04-21 19:57:25.490492144 +0100
+@@ -1864,7 +1864,8 @@
      {EM_MIPS_RS3_LE, EM_MIPS_RS3_LE, ELFCLASS32, ELFDATA2LSB, (char*)"MIPSel"},
      {EM_MIPS,        EM_MIPS,    ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"},
      {EM_PARISC,      EM_PARISC,  ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"},
@@ -34,7 +34,7 @@
    };
  
    #if  (defined IA32)
-@@ -1801,9 +1802,11 @@
+@@ -1895,9 +1896,11 @@
      static  Elf32_Half running_arch_code=EM_MIPS;
    #elif  (defined M68K)
      static  Elf32_Half running_arch_code=EM_68K;
@@ -48,17 +48,17 @@
  
    // Identify compatability class for VM's architecture and library's architecture
 diff -Nru openjdk.orig/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk
---- openjdk.orig/jdk/make/common/Defs-linux.gmk	2010-09-01 17:36:18.000000000 +0100
-+++ openjdk/jdk/make/common/Defs-linux.gmk	2010-09-01 17:58:18.296843208 +0100
-@@ -126,6 +126,7 @@
- LDFLAGS_COMMON_sparcv9  += -m64 -mcpu=v9
- CFLAGS_REQUIRED_sparc   += -m32 -mcpu=v9
+--- openjdk.orig/jdk/make/common/Defs-linux.gmk	2011-04-21 15:22:49.000000000 +0100
++++ openjdk/jdk/make/common/Defs-linux.gmk	2011-04-21 19:58:06.615219532 +0100
+@@ -119,6 +119,7 @@
  LDFLAGS_COMMON_sparc    += -m32 -mcpu=v9
-+CFLAGS_REQUIRED_sh   += -mieee
+ CFLAGS_REQUIRED_arm     += -fsigned-char -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ppc     += -fsigned-char -D_BIG_ENDIAN
++CFLAGS_REQUIRED_sh      += -mieee
  ifeq ($(ZERO_BUILD), true)
    CFLAGS_REQUIRED       =  $(ZERO_ARCHFLAG)
    ifeq ($(ZERO_ENDIANNESS), little)
-@@ -206,11 +207,15 @@
+@@ -197,11 +198,15 @@
  
  CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"'
  
@@ -78,9 +78,9 @@
  
  CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \
 diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk
---- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk	2010-09-01 17:36:18.000000000 +0100
-+++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk	2010-09-01 17:44:42.267438042 +0100
-@@ -117,6 +117,11 @@
+--- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk	2011-04-21 15:22:50.000000000 +0100
++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk	2011-04-21 19:57:25.490492144 +0100
+@@ -119,6 +119,11 @@
      REQUIRED_CC_VER = 3.2
      REQUIRED_GCC_VER = 3.2.*
    endif
@@ -93,9 +93,9 @@
    SHARED_LIBRARY_FLAG = -shared -mimpure-text
    SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
 diff -Nru openjdk.orig/jdk/make/common/shared/Platform.gmk openjdk/jdk/make/common/shared/Platform.gmk
---- openjdk.orig/jdk/make/common/shared/Platform.gmk	2010-09-01 17:36:18.000000000 +0100
-+++ openjdk/jdk/make/common/shared/Platform.gmk	2010-09-01 17:44:42.275437349 +0100
-@@ -171,6 +171,9 @@
+--- openjdk.orig/jdk/make/common/shared/Platform.gmk	2011-04-21 15:22:49.000000000 +0100
++++ openjdk/jdk/make/common/shared/Platform.gmk	2011-04-21 19:57:25.490492144 +0100
+@@ -179,6 +179,9 @@
                  arm*) \
                      echo arm \
                      ;; \
@@ -105,8 +105,8 @@
                  *) \
                      echo $(mach) \
                      ;; \
-@@ -198,6 +201,9 @@
-       else
+@@ -208,6 +211,9 @@
+       ifeq ($(ARCH), ia64)
          ARCH_DATA_MODEL=64
        endif
 +      ifeq ($(ARCH), sh)
@@ -116,25 +116,23 @@
    endif
  
 diff -Nru openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk openjdk/jdk/make/javax/sound/SoundDefs.gmk
---- openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk	2010-09-01 17:36:18.000000000 +0100
-+++ openjdk/jdk/make/javax/sound/SoundDefs.gmk	2010-09-01 17:44:42.279437008 +0100
-@@ -114,9 +114,9 @@
-     CPPFLAGS += -DX_ARCH=X_SPARCV9
-   endif # ARCH sparcv9
+--- openjdk.orig/jdk/make/javax/sound/SoundDefs.gmk	2011-04-21 15:22:49.000000000 +0100
++++ openjdk/jdk/make/javax/sound/SoundDefs.gmk	2011-04-21 19:58:38.367780866 +0100
+@@ -126,6 +126,10 @@
+     CPPFLAGS += -DX_ARCH=X_PPC
+   endif # ARCH ppc
  
--  ifeq ($(ARCH), amd64)
--    CPPFLAGS += -DX_ARCH=X_AMD64
--  endif # ARCH amd64
 +  ifeq ($(ARCH), sh)
 +    CPPFLAGS += -DX_ARCH=X_SH
 +  endif # ARCH Renesas SuperH(sh)
++
  endif
  
  
 diff -Nru openjdk.orig/jdk/make/jdk_generic_profile.sh openjdk/jdk/make/jdk_generic_profile.sh
---- openjdk.orig/jdk/make/jdk_generic_profile.sh	2010-07-29 21:55:27.000000000 +0100
-+++ openjdk/jdk/make/jdk_generic_profile.sh	2010-09-01 17:44:42.279437008 +0100
-@@ -349,13 +349,14 @@
+--- openjdk.orig/jdk/make/jdk_generic_profile.sh	2011-04-11 12:34:30.000000000 +0100
++++ openjdk/jdk/make/jdk_generic_profile.sh	2011-04-21 19:57:25.498492286 +0100
+@@ -258,13 +258,14 @@
      i?86)    ZERO_LIBARCH=i386      ;;
      sparc64) ZERO_LIBARCH=sparcv9   ;;
      arm*)    ZERO_LIBARCH=arm       ;;
@@ -151,15 +149,14 @@
        ;;
      amd64|ppc64|s390x|sparcv9|ia64|alpha)
 diff -Nru openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
---- openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2010-09-01 17:36:18.000000000 +0100
-+++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2010-09-01 17:44:42.279437008 +0100
-@@ -47,7 +47,8 @@
- #define X_S390X         12
- #define X_SPARC         13
- #define X_SPARCV9       14
--#define X_ZERO          15
-+#define X_SH            15
-+#define X_ZERO          16
+--- openjdk.orig/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2011-04-21 15:22:49.000000000 +0100
++++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h	2011-04-21 19:59:08.392311421 +0100
+@@ -48,7 +48,7 @@
+ #define X_PPC64         13
+ #define X_S390          14
+ #define X_S390X         15
+-
++#define X_SH            16
  
  // **********************************
  // Make sure you set X_PLATFORM and X_ARCH defines correctly.