/hg/release/icedtea7-2.3: 5 new changesets
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Tue Jan 15 04:46:03 PST 2013
changeset e3c253d72ae5 in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=e3c253d72ae5
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Tue Jan 15 08:58:30 2013 +0000
Update ecj stringswitch patch to work after security update.
2013-01-15 Andrew John Hughes <gnu.andrew at member.fsf.org>
* patches/boot/ecj-stringswitch.patch:
Updated to work post-security-patches.
changeset 22c8a74134c1 in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=22c8a74134c1
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Tue Jan 15 09:40:18 2013 +0000
When building with PaX, PaX mark the output directory before running the just-built rmic.
2013-01-15 Andrew John Hughes <gnu.andrew at member.fsf.org>
* Makefile.am:
(ICEDTEA_PATCHES): Add patch when building
with PaX.
* patches/pax-mark-rmic-java.patch:
PaX mark output directory before running just-built
rmic.
changeset 8e6c3e993e92 in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=8e6c3e993e92
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Tue Jan 15 09:42:56 2013 +0000
Mention fix for G422525 in NEWS.
2013-01-15 Andrew John Hughes <gnu.andrew at member.fsf.org>
* NEWS: Mention PaX bug fix from Gentoo,
G422525.
changeset 6c1ea875ae64 in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=6c1ea875ae64
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Tue Jan 15 09:43:10 2013 +0000
Removed tag icedtea-2.3.4
changeset fa200daee354 in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=fa200daee354
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Tue Jan 15 09:43:14 2013 +0000
Added tag icedtea-2.3.4 for changeset 6c1ea875ae64
diffstat:
.hgtags | 4 +
ChangeLog | 19 ++
Makefile.am | 4 +-
NEWS | 1 +
patches/boot/ecj-stringswitch.patch | 299 +++++++++++++++++++----------------
patches/pax-mark-rmic-java.patch | 10 +
6 files changed, 201 insertions(+), 136 deletions(-)
diffs (430 lines):
diff -r 6e94882432a3 -r fa200daee354 .hgtags
--- a/.hgtags Tue Jan 15 01:45:18 2013 +0000
+++ b/.hgtags Tue Jan 15 09:43:14 2013 +0000
@@ -38,3 +38,7 @@
a7c86c0471bd7a5cae44eef484fe09ca9e94d07c icedtea-2.3.2
a45882b177918373cfa9edeee75f23f06ffa8095 icedtea-2.3.3
152e626ab6b53d539939371700c3ab456f00637a icedtea-2.3.4
+152e626ab6b53d539939371700c3ab456f00637a icedtea-2.3.4
+0000000000000000000000000000000000000000 icedtea-2.3.4
+0000000000000000000000000000000000000000 icedtea-2.3.4
+6c1ea875ae648f7b4fac17070a7b108645211808 icedtea-2.3.4
diff -r 6e94882432a3 -r fa200daee354 ChangeLog
--- a/ChangeLog Tue Jan 15 01:45:18 2013 +0000
+++ b/ChangeLog Tue Jan 15 09:43:14 2013 +0000
@@ -1,3 +1,22 @@
+2013-01-15 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * NEWS: Mention PaX bug fix from Gentoo,
+ G422525.
+
+2013-01-15 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * Makefile.am:
+ (ICEDTEA_PATCHES): Add patch when building
+ with PaX.
+ * patches/pax-mark-rmic-java.patch:
+ PaX mark output directory before running just-built
+ rmic.
+
+2013-01-15 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * patches/boot/ecj-stringswitch.patch:
+ Updated to work post-security-patches.
+
2013-01-15 Andrew John Hughes <gnu.andrew at member.fsf.org>
* configure.ac: Bump to 2.3.4 proper.
diff -r 6e94882432a3 -r fa200daee354 Makefile.am
--- a/Makefile.am Tue Jan 15 01:45:18 2013 +0000
+++ b/Makefile.am Tue Jan 15 09:43:14 2013 +0000
@@ -296,7 +296,9 @@
endif
if WITH_PAX
-ICEDTEA_PATCHES += patches/test_gamma.patch
+ICEDTEA_PATCHES += \
+ patches/test_gamma.patch \
+ patches/pax-mark-rmic-java.patch
endif
ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES)
diff -r 6e94882432a3 -r fa200daee354 NEWS
--- a/NEWS Tue Jan 15 01:45:18 2013 +0000
+++ b/NEWS Tue Jan 15 09:43:14 2013 +0000
@@ -18,6 +18,7 @@
- S8006125: Update MethodHandles library interactions
* Bug fixes
- S7197906: BlockOffsetArray::power_to_cards_back() needs to handle > 32 bit shifts
+ - G422525: Fix building with PaX enabled kernels.
New in release 2.3.3 (2012-10-17):
diff -r 6e94882432a3 -r fa200daee354 patches/boot/ecj-stringswitch.patch
--- a/patches/boot/ecj-stringswitch.patch Tue Jan 15 01:45:18 2013 +0000
+++ b/patches/boot/ecj-stringswitch.patch Tue Jan 15 09:43:14 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(
diff -r 6e94882432a3 -r fa200daee354 patches/pax-mark-rmic-java.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/pax-mark-rmic-java.patch Tue Jan 15 09:43:14 2013 +0000
@@ -0,0 +1,10 @@
+--- openjdk/jdk/make/com/sun/jmx/Makefile
++++ openjdk/jdk/make/com/sun/jmx/Makefile
+@@ -119,6 +119,7 @@
+
+ $(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class
+ $(prep-target)
++ "$(TOPDIR)"/../../pax-mark-vm "$(OUTPUTDIR)"
+ $(RMIC) -classpath "$(CLASSDESTDIR)" \
+ -d $(CLASSDESTDIR) \
+ -v1.2 \
More information about the distro-pkg-dev
mailing list