Mercurial > hg > release > icedtea7-2.3
changeset 2617:e3c253d72ae5
Update ecj stringswitch patch to work after security update.
2013-01-15 Andrew John Hughes <gnu.andrew@member.fsf.org>
* patches/boot/ecj-stringswitch.patch:
Updated to work post-security-patches.
author | Andrew John Hughes <gnu_andrew@member.fsf.org> |
---|---|
date | Tue, 15 Jan 2013 08:58:30 +0000 |
parents | 6e94882432a3 |
children | 22c8a74134c1 |
files | ChangeLog patches/boot/ecj-stringswitch.patch |
diffstat | 2 files changed, 169 insertions(+), 135 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Jan 15 01:45:18 2013 +0000 +++ b/ChangeLog Tue Jan 15 08:58:30 2013 +0000 @@ -1,3 +1,8 @@ +2013-01-15 Andrew John Hughes <gnu.andrew@member.fsf.org> + + * patches/boot/ecj-stringswitch.patch: + Updated to work post-security-patches. + 2013-01-15 Andrew John Hughes <gnu.andrew@member.fsf.org> * configure.ac: Bump to 2.3.4 proper.
--- a/patches/boot/ecj-stringswitch.patch Tue Jan 15 01:45:18 2013 +0000 +++ b/patches/boot/ecj-stringswitch.patch Tue Jan 15 08:58:30 2013 +0000 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2011-07-27 14:31:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2011-07-27 14:54:48.369035615 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-01-14 22:25:02.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-01-15 02:08:56.592702486 +0000 @@ -350,18 +350,15 @@ if (attrCommands != null) { Attribute.Layout lkey = Attribute.keyForLookup(ctype, name); @@ -30,9 +30,9 @@ } // Find canonical instance of the requested attribute. 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-06-11 00:38:08.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2011-07-27 14:52:45.595028657 +0100 -@@ -71,16 +71,14 @@ +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-01-14 22:25:02.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-01-15 02:08:56.608702746 +0000 +@@ -73,16 +73,14 @@ { // Non-standard, undocumented "--unpack" switch enables unpack mode. String arg0 = av.isEmpty() ? "" : av.get(0); @@ -56,7 +56,7 @@ } // Collect engine properties here: -@@ -180,21 +178,16 @@ +@@ -182,21 +180,16 @@ // Deal with remaining non-engine properties: for (String opt : avProps.keySet()) { String val = avProps.get(opt); @@ -89,8 +89,8 @@ if (logFile != null && !logFile.equals("")) { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2011-07-27 14:31:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2011-07-27 14:52:45.599028722 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-01-14 22:25:02.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-01-15 02:08:56.608702746 +0000 @@ -1107,30 +1107,25 @@ // what is one of { Debug, Compile, Constant, Exceptions, InnerClasses } if (verbose > 0) @@ -142,8 +142,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2011-04-30 03:28:32.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2011-07-27 14:52:45.603028787 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-01-14 22:25:02.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-01-15 02:08:56.612702810 +0000 @@ -64,17 +64,23 @@ protected NTLM(String version) throws NTLMException { @@ -179,132 +179,10 @@ try { fac = SecretKeyFactory.getInstance ("DES"); cipher = Cipher.getInstance ("DES/ECB/NoPadding"); -diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java ---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2011-07-12 12:43:47.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2011-07-27 14:52:45.607028852 +0100 -@@ -211,14 +211,16 @@ - - private static - boolean isObjectMethod(Method m) { -- switch (m.getName()) { -- case "toString": -+ 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); -@@ -229,12 +231,14 @@ - private static - Object callObjectMethod(Object self, Method m, Object[] args) { - assert(isObjectMethod(m)) : m; -- switch (m.getName()) { -- case "toString": -+ 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 -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-06-11 00:38:09.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java 2011-07-27 14:52:45.603028787 +0100 -@@ -117,24 +117,20 @@ - String optStr = (opts.length > 1 && opts[1] != null) - ? opts[1].trim() - : "all"; -- switch (optStr) { -- case "vm": -+ if ("vm".equals(optStr)) -+ printVmSettings(ostream, initialHeapSize, maxHeapSize, -+ stackSize, isServer); -+ else if ("properties".equals(optStr)) -+ printProperties(ostream); -+ else if ("locale".equals(optStr)) -+ printLocale(ostream); -+ else -+ { - printVmSettings(ostream, initialHeapSize, maxHeapSize, -- stackSize, isServer); -- break; -- case "properties": -+ stackSize, isServer); - printProperties(ostream); -- break; -- case "locale": - printLocale(ostream); -- break; -- default: -- printVmSettings(ostream, initialHeapSize, maxHeapSize, -- stackSize, isServer); -- printProperties(ostream); -- printLocale(ostream); -- break; -- } -+ } - } - - /* -diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2011-04-30 03:28:32.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2011-07-27 14:52:45.607028852 +0100 -@@ -383,19 +383,23 @@ - GE; // ">=" - - static Operator of(String s) { -- switch (s) { -- case "==": -- return EQ; -- case "!=": -- return NE; -- case "<": -- return LT; -- case "<=": -- return LE; -- case ">": -- return GT; -- case ">=": -- return GE; -+ if ("==".equals(s)) { -+ return EQ; -+ } -+ if ("!=".equals(s)) { -+ return NE; -+ } -+ if ("<".equals(s)) { -+ return LT; -+ } -+ if ("<=".equals(s)) { -+ return LE; -+ } -+ if (">".equals(s)) { -+ return GT; -+ } -+ if (">=".equals(s)) { -+ return GE; - } - - throw new IllegalArgumentException( diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java ---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2012-10-17 03:48:53.678554395 +0100 -+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2012-10-17 04:20:20.203700764 +0100 -@@ -411,89 +411,84 @@ +--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-01-14 22:25:02.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-01-15 02:19:34.315049222 +0000 +@@ -411,104 +411,99 @@ static boolean isCallerSensitive(MemberName mem) { assert(mem.isInvocable()); Class<?> defc = mem.getDeclaringClass(); @@ -319,6 +197,35 @@ - case "lookup": + } else if ("lookup".equals(memName)) { return defc == java.lang.invoke.MethodHandles.class; +- case "findStatic": +- case "findVirtual": +- case "findConstructor": +- case "findSpecial": +- case "findGetter": +- case "findSetter": +- case "findStaticGetter": +- case "findStaticSetter": +- case "bind": +- case "unreflect": +- case "unreflectSpecial": +- case "unreflectConstructor": +- case "unreflectGetter": +- case "unreflectSetter": ++ } else if ("findStatic".equals(memName) || ++ "findVirtual".equals(memName) || ++ "findConstructor".equals(memName) || ++ "findSpecial".equals(memName) || ++ "findGetter".equals(memName) || ++ "findSetter".equals(memName) || ++ "findStaticGetter".equals(memName) || ++ "findStaticSetter".equals(memName) || ++ "bind".equals(memName) || ++ "unreflect".equals(memName) || ++ "unreflectSpecial".equals(memName) || ++ "unreflectConstructor".equals(memName) || ++ "unreflectGetter".equals(memName) || ++ "unreflectSetter".equals(memName)) { + return defc == java.lang.invoke.MethodHandles.Lookup.class; - case "invoke": + } else if ("invoke".equals(memName)) { return defc == java.lang.reflect.Method.class; @@ -451,3 +358,125 @@ return defc == java.util.ResourceBundle.class; } return false; +diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java +--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2013-01-14 22:25:02.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2013-01-15 02:08:56.620702941 +0000 +@@ -219,14 +219,16 @@ + + private static + boolean isObjectMethod(Method m) { +- switch (m.getName()) { +- case "toString": ++ 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); +@@ -237,12 +239,14 @@ + private static + Object callObjectMethod(Object self, Method m, Object[] args) { + assert(isObjectMethod(m)) : m; +- switch (m.getName()) { +- case "toString": ++ 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 -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 2013-01-14 22:25:02.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java 2013-01-15 02:08:56.624703006 +0000 +@@ -117,24 +117,20 @@ + String optStr = (opts.length > 1 && opts[1] != null) + ? opts[1].trim() + : "all"; +- switch (optStr) { +- case "vm": ++ if ("vm".equals(optStr)) ++ printVmSettings(ostream, initialHeapSize, maxHeapSize, ++ stackSize, isServer); ++ else if ("properties".equals(optStr)) ++ printProperties(ostream); ++ else if ("locale".equals(optStr)) ++ printLocale(ostream); ++ else ++ { + printVmSettings(ostream, initialHeapSize, maxHeapSize, +- stackSize, isServer); +- break; +- case "properties": ++ stackSize, isServer); + printProperties(ostream); +- break; +- case "locale": + printLocale(ostream); +- break; +- default: +- printVmSettings(ostream, initialHeapSize, maxHeapSize, +- stackSize, isServer); +- printProperties(ostream); +- printLocale(ostream); +- break; +- } ++ } + } + + /* +diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2013-01-14 22:25:02.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2013-01-15 02:08:56.628703070 +0000 +@@ -378,19 +378,23 @@ + GE; // ">=" + + static Operator of(String s) { +- switch (s) { +- case "==": +- return EQ; +- case "!=": +- return NE; +- case "<": +- return LT; +- case "<=": +- return LE; +- case ">": +- return GT; +- case ">=": +- return GE; ++ if ("==".equals(s)) { ++ return EQ; ++ } ++ if ("!=".equals(s)) { ++ return NE; ++ } ++ if ("<".equals(s)) { ++ return LT; ++ } ++ if ("<=".equals(s)) { ++ return LE; ++ } ++ if (">".equals(s)) { ++ return GT; ++ } ++ if (">=".equals(s)) { ++ return GE; + } + + throw new IllegalArgumentException(