changeset 2640:c1c3a636860f

Add fixes from u17b02 and PR1303 #ifdef fix locally to stay with forest 2.3.8 tag. 2013-03-08 Andrew John Hughes <gnu.andrew@member.fsf.org> * Makefile.am: (ICEDTEA_PATCHES): Add patches. * NEWS: Updated. * patches/8006179-lookup_using_findvirtual.patch, * patches/8006882-sun.proxy.patch: Taken from upstream jdk7u17 b02. * patches/pr1303-ifdef_fix.patch: PR1303 issue (#ifdef vs. #if) caught by Bernhard Rosenkr?nzer.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Sun, 10 Mar 2013 18:35:28 +0000
parents 8920ab104396
children 5eb386a89c50
files ChangeLog Makefile.am NEWS patches/8006179-lookup_using_findvirtual.patch patches/8006882-sun.proxy.patch patches/pr1303-ifdef_fix.patch
diffstat 6 files changed, 172 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Mar 07 15:57:46 2013 +0000
+++ b/ChangeLog	Sun Mar 10 18:35:28 2013 +0000
@@ -1,3 +1,15 @@
+2013-03-08  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add patches.
+	* NEWS: Updated.
+	* patches/8006179-lookup_using_findvirtual.patch,
+	* patches/8006882-sun.proxy.patch:
+	Taken from upstream jdk7u17 b02.
+	* patches/pr1303-ifdef_fix.patch:
+	PR1303 issue (#ifdef vs. #if) caught by Bernhard
+	Rosenkränzer.
+
 2013-03-07  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	* Makefile.am,
--- a/Makefile.am	Thu Mar 07 15:57:46 2013 +0000
+++ b/Makefile.am	Sun Mar 10 18:35:28 2013 +0000
@@ -240,7 +240,10 @@
 
 # Patch list
 
-ICEDTEA_PATCHES =
+ICEDTEA_PATCHES = \
+	patches/8006179-lookup_using_findvirtual.patch \
+	patches/8006882-sun.proxy.patch \
+	patches/pr1303-ifdef_fix.patch
 
 # Conditional patches
 
--- a/NEWS	Thu Mar 07 15:57:46 2013 +0000
+++ b/NEWS	Sun Mar 10 18:35:28 2013 +0000
@@ -18,6 +18,10 @@
 * Backports
   - S8002344: Krb5LoginModule config class does not return proper KDC list from DNS
   - S8004344: Fix a crash in ToolkitErrorHandler() in XlibWrapper.c
+  - S8006179: JSR292 MethodHandles lookup with interface using findVirtual()
+  - S8006882: Proxy generated classes in sun.proxy package breaks JMockit
+* Bug fixes
+  - PR1303: Correct #ifdef to #if
 
 New in release 2.3.7 (2013-02-20):
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/8006179-lookup_using_findvirtual.patch	Sun Mar 10 18:35:28 2013 +0000
@@ -0,0 +1,27 @@
+# HG changeset patch
+# User jrose
+# Date 1358570871 28800
+# Node ID 4bb16e8e663ad133e0950406bda2261169f3920f
+# Parent  33b30ad1689805e74c85f6df29d2033c796baedb
+8006179: JSR292 MethodHandles lookup with interface using findVirtual()
+Reviewed-by: twisti
+
+diff --git a/src/share/classes/java/lang/invoke/DirectMethodHandle.java b/src/share/classes/java/lang/invoke/DirectMethodHandle.java
+--- openjdk/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java
++++ openjdk/jdk/src/share/classes/java/lang/invoke/DirectMethodHandle.java
+@@ -44,6 +44,15 @@
+         if (!m.isResolved())
+             throw new InternalError();
+ 
++        if (m.getDeclaringClass().isInterface() && !m.isAbstract()) {
++            // Check for corner case: invokeinterface of Object method.
++            MemberName m2 = new MemberName(Object.class, m.getName(), m.getMethodType(), m.getModifiers());
++            m2 = MemberName.getFactory().resolveOrNull(m2, false, null);
++            if (m2 != null && m2.isPublic()) {
++                m = m2;
++            }
++        }
++
+         MethodHandleNatives.init(this, (Object) m, doDispatch, lookupClass);
+     }
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/8006882-sun.proxy.patch	Sun Mar 10 18:35:28 2013 +0000
@@ -0,0 +1,106 @@
+# HG changeset patch
+# User mchung
+# Date 1359414910 28800
+# Node ID cbbb166b38eb15f5d5c68e913ee18f6f352b7af0
+# Parent  044ea56a339dfd92b723a5e81941b646f9d26071
+8006882: Proxy generated classes in sun.proxy package breaks JMockit
+Reviewed-by: alanb, ahgross
+
+diff --git a/src/share/classes/java/lang/reflect/Proxy.java b/src/share/classes/java/lang/reflect/Proxy.java
+--- openjdk/jdk/src/share/classes/java/lang/reflect/Proxy.java
++++ openjdk/jdk/src/share/classes/java/lang/reflect/Proxy.java
+@@ -609,7 +609,7 @@
+             }
+ 
+             if (proxyPkg == null) {
+-                // if no non-public proxy interfaces, use sun.proxy package
++                // if no non-public proxy interfaces, use com.sun.proxy package
+                 proxyPkg = ReflectUtil.PROXY_PACKAGE + ".";
+             }
+ 
+diff --git a/src/share/classes/sun/reflect/misc/ReflectUtil.java b/src/share/classes/sun/reflect/misc/ReflectUtil.java
+--- openjdk/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java
++++ openjdk/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java
+@@ -202,5 +202,5 @@
+         }
+     }
+ 
+-    public static final String PROXY_PACKAGE = "sun.proxy";
++    public static final String PROXY_PACKAGE = "com.sun.proxy";
+ }
+diff --git a/src/share/lib/security/java.security b/src/share/lib/security/java.security
+--- openjdk/jdk/src/share/lib/security/java.security
++++ openjdk/jdk/src/share/lib/security/java.security
+@@ -130,6 +130,7 @@
+                com.sun.imageio.,\
+                com.sun.istack.internal.,\
+                com.sun.jmx.,\
++               com.sun.proxy.,\
+                com.sun.org.apache.xerces.internal.utils.,\
+                com.sun.org.apache.xalan.internal.utils.,\
+                com.sun.org.glassfish.external.,\
+@@ -152,6 +153,7 @@
+                    com.sun.imageio.,\
+                    com.sun.istack.internal.,\
+                    com.sun.jmx.,\
++                   com.sun.proxy.,\
+                    com.sun.org.apache.xerces.internal.utils.,\
+                    com.sun.org.apache.xalan.internal.utils.,\
+                    com.sun.org.glassfish.external.,\
+diff --git a/src/share/lib/security/java.security-macosx b/src/share/lib/security/java.security-macosx
+--- openjdk/jdk/src/share/lib/security/java.security-macosx
++++ openjdk/jdk/src/share/lib/security/java.security-macosx
+@@ -131,6 +131,7 @@
+                com.sun.imageio.,\
+                com.sun.istack.internal.,\
+                com.sun.jmx.,\
++               com.sun.proxy.,\
+                com.sun.org.apache.xerces.internal.utils.,\
+                com.sun.org.apache.xalan.internal.utils.,\
+                com.sun.org.glassfish.external.,\
+@@ -154,6 +155,7 @@
+                    com.sun.imageio.,\
+                    com.sun.istack.internal.,\
+                    com.sun.jmx.,\
++                   com.sun.proxy.,\
+                    com.sun.org.apache.xerces.internal.utils.,\
+                    com.sun.org.apache.xalan.internal.utils.,\
+                    com.sun.org.glassfish.external.,\
+diff --git a/src/share/lib/security/java.security-solaris b/src/share/lib/security/java.security-solaris
+--- openjdk/jdk/src/share/lib/security/java.security-solaris
++++ openjdk/jdk/src/share/lib/security/java.security-solaris
+@@ -132,6 +132,7 @@
+                com.sun.imageio.,\
+                com.sun.istack.internal.,\
+                com.sun.jmx.,\
++               com.sun.proxy.,\
+                com.sun.org.apache.xerces.internal.utils.,\
+                com.sun.org.apache.xalan.internal.utils.,\
+                com.sun.org.glassfish.external.,\
+@@ -154,6 +155,7 @@
+                    com.sun.imageio.,\
+                    com.sun.istack.internal.,\
+                    com.sun.jmx.,\
++                   com.sun.proxy.,\
+                    com.sun.org.apache.xerces.internal.utils.,\
+                    com.sun.org.apache.xalan.internal.utils.,\
+                    com.sun.org.glassfish.external.,\
+diff --git a/src/share/lib/security/java.security-windows b/src/share/lib/security/java.security-windows
+--- openjdk/jdk/src/share/lib/security/java.security-windows
++++ openjdk/jdk/src/share/lib/security/java.security-windows
+@@ -131,6 +131,7 @@
+                com.sun.imageio.,\
+                com.sun.istack.internal.,\
+                com.sun.jmx.,\
++               com.sun.proxy.,\
+                com.sun.org.apache.xerces.internal.utils.,\
+                com.sun.org.apache.xalan.internal.utils.,\
+                com.sun.org.glassfish.external.,\
+@@ -153,6 +154,7 @@
+                    com.sun.imageio.,\
+                    com.sun.istack.internal.,\
+                    com.sun.jmx.,\
++                   com.sun.proxy.,\
+                    com.sun.org.apache.xerces.internal.utils.,\
+                    com.sun.org.apache.xalan.internal.utils.,\
+                    com.sun.org.glassfish.external.,\
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/pr1303-ifdef_fix.patch	Sun Mar 10 18:35:28 2013 +0000
@@ -0,0 +1,19 @@
+# HG changeset patch
+# User andrew
+# Date 1362758030 0
+# Node ID ec275f96d030eff83f7e6cfcdd7daa9cda2b4802
+# Parent  deac45dc94f0504ba17b8afcb54db1fba4e6f9d5
+PR1303: Correct #ifdef to #if
+
+diff --git a/src/share/native/sun/awt/splashscreen/splashscreen_gif.c b/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
+--- openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
++++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
+@@ -316,7 +316,7 @@
+ int
+ SplashDecodeGifStream(Splash * splash, SplashStream * stream)
+ {
+-#ifdef GIFLIB_MAJOR >= 5
++#if GIFLIB_MAJOR >= 5
+     int error = 0;
+     GifFileType *gif = DGifOpen((void *) stream, SplashStreamGifInputFunc, &error);
+