changeset 2889:8182b4c86fed

PR1117: IcedTea6 prebuilds far too many classes on bootstrap 2012-08-15 Andrew John Hughes <ahughes@redhat.com> PR1117: IcedTea6 prebuilds far too many classes on bootstrap * patches/ecj/hotspot.patch: Removed; replaced by hotspot-jdk-dependency We don't need to add rt.jar on the classpath as well as the bootclasspath. * Makefile.am: (ICEDTEA_BOOTSTRAP_DIRS): Removed. (ICEDTEA_BOOTSTRAP_CLASSES): Extend with new cases found through building without ICEDTEA_BOOTSTRAP_DIRS. (ICEDTEA_ECJ_PATCHES): Add new patches, remove hotspot.patch. (rt-source-files.txt): Remove use of ICEDTEA_BOOTSTRAP_CLASSES. * NEWS: Updated. * patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch: Backport from OpenJDK7. Allows the serviceability agent to be compiled with 1.5. Added to bootstrap only to reduce potential issues with the API change. * patches/ecj/corba-dependencies.patch: Point the CORBA build at the JDK sources as it requires sun.tools.java. * patches/ecj/hotspot-jdk-dependency.patch: Point the HotSpot build at the JDK sources as it requires com.sun.jdi for the serviceability agent. Building com.sun.jdi requires 1.5+ source code and thus 7010849 is necessary. * patches/ecj/icedtea.patch: Extend CORBA Defs-java changes so that it uses the just-built langtools instead of the boot jdk's tools.jar. * patches/ecj/jaxws-jdk-dependency.patch: Point the JAXWS build at the JDK sources as it depends on com.sun.net.httpserver. * patches/ecj/jaxws-langtools-dependency.patch: Point the JAXWS build at the full langtools distribution, rather than just javac/javah/javadoc as it requires com.sun.mirror.
author Andrew John Hughes <ahughes@redhat.com>
date Wed, 15 Aug 2012 23:07:12 +0100
parents a5758742058d
children b41a73ca64e6
files ChangeLog Makefile.am NEWS patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch patches/ecj/corba-dependencies.patch patches/ecj/hotspot-jdk-dependency.patch patches/ecj/hotspot.patch patches/ecj/icedtea.patch patches/ecj/jaxws-jdk-dependency.patch patches/ecj/jaxws-langtools-dependency.patch
diffstat 10 files changed, 590 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Aug 15 12:17:03 2012 +0100
+++ b/ChangeLog	Wed Aug 15 23:07:12 2012 +0100
@@ -1,3 +1,44 @@
+2012-08-15  Andrew John Hughes  <ahughes@redhat.com>
+
+	PR1117: IcedTea6 prebuilds far too many classes on bootstrap
+	* patches/ecj/hotspot.patch:
+	Removed; replaced by hotspot-jdk-dependency
+	We don't need to add rt.jar on the classpath
+	as well as the bootclasspath.
+	* Makefile.am:
+	(ICEDTEA_BOOTSTRAP_DIRS): Removed.
+	(ICEDTEA_BOOTSTRAP_CLASSES): Extend with new
+	cases found through building without
+	ICEDTEA_BOOTSTRAP_DIRS.
+	(ICEDTEA_ECJ_PATCHES): Add new patches, remove
+	hotspot.patch.
+	(rt-source-files.txt): Remove use of
+	ICEDTEA_BOOTSTRAP_CLASSES.
+	* NEWS: Updated.
+	* patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch:
+	Backport from OpenJDK7.  Allows the serviceability
+	agent to be compiled with 1.5.  Added to bootstrap
+	only to reduce potential issues with the API change.
+	* patches/ecj/corba-dependencies.patch:
+	Point the CORBA build at the JDK sources as it
+	requires sun.tools.java.
+	* patches/ecj/hotspot-jdk-dependency.patch:
+	Point the HotSpot build at the JDK sources as it
+	requires com.sun.jdi for the serviceability agent.
+	Building com.sun.jdi requires 1.5+ source code and
+	thus 7010849 is necessary.
+	* patches/ecj/icedtea.patch:
+	Extend CORBA Defs-java changes so that it uses the
+	just-built langtools instead of the boot jdk's
+	tools.jar.
+	* patches/ecj/jaxws-jdk-dependency.patch:
+	Point the JAXWS build at the JDK sources as it
+	depends on com.sun.net.httpserver.
+	* patches/ecj/jaxws-langtools-dependency.patch:
+	Point the JAXWS build at the full langtools
+	distribution, rather than just javac/javah/javadoc
+	as it requires com.sun.mirror.
+
 2012-08-14  Andrew John Hughes  <ahughes@redhat.com>
 
 	PR1113: Include tapset tests in distribution.
--- a/Makefile.am	Wed Aug 15 12:17:03 2012 +0100
+++ b/Makefile.am	Wed Aug 15 23:07:12 2012 +0100
@@ -62,31 +62,18 @@
 SOURCEPATH_DIRS = $(abs_top_srcdir)/generated:$(OPENJDK_SOURCEPATH_DIRS)
 
 # Sources used from OpenJDK.
-ICEDTEA_BOOTSTRAP_DIRS = \
-	$(SHARE)/com/sun/jdi \
-	$(SHARE)/com/sun/net/httpserver \
-	$(SHARE)/com/sun/tools/jdi \
-	$(SHARE)/java/io \
-	$(SHARE)/java/security/cert \
-	$(SHARE)/java/util \
-	$(SHARE)/java/rmi \
-	$(SHARE)/sun/awt/ \
-	$(SHARE)/sun/nio/cs \
-	$(SHARE)/sun/rmi/rmic \
-	$(SHARE)/sun/tools/java \
-	$(SHARE)/javax/net/ssl \
-	$(SHARE)/javax/script \
-	$(SHARE)/javax/security/auth/kerberos \
-	$(SHARE)/javax/security/sasl \
-	$(LANGTOOLS)/com/sun/mirror \
-	$(LANGTOOLS)/com/sun/tools/apt
 
 # PR42003 - javax.swing.plaf.basic.BasicDirectoryModel
 # PR43389 - javax.management.StandardMBean
+# PR54274 - sun.security.other requires missing X509CRLSelector methods
+# PR54275 - sun.security.sasl requires missing Sasl.CREDENTIALS field
 ICEDTEA_BOOTSTRAP_CLASSES = \
 	$(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java \
 	$(SHARE)/javax/management/StandardMBean.java \
-	$(SHARE)/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java
+	$(SHARE)/com/sun/java/swing/plaf/nimbus/NimbusLookAndFeel.java \
+	$(SHARE)/java/security/cert/X509CRLSelector.java \
+	$(SHARE)/java/security/cert/X509CertSelector.java \
+	$(SHARE)/javax/security/sasl/Sasl.java
 
 # Flags
 MEMORY_LIMIT = -J-Xmx1024m
@@ -493,8 +480,9 @@
 
 # Bootstrapping patches
 
-ICEDTEA_ECJ_PATCHES = patches/ecj/icedtea.patch \
-	patches/ecj/hotspot.patch \
+ICEDTEA_ECJ_PATCHES = \
+	patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch \
+	patches/ecj/icedtea.patch \
 	patches/ecj/javafiles.patch \
 	patches/ecj/spp.patch \
 	patches/ecj/jopt.patch \
@@ -502,7 +490,11 @@
 	patches/ecj/bootver.patch \
 	patches/ecj/getannotation-cast.patch \
 	patches/ecj/override.patch \
-	patches/ecj/xsltproc.patch
+	patches/ecj/xsltproc.patch \
+	patches/ecj/corba-dependencies.patch \
+	patches/ecj/jaxws-langtools-dependency.patch \
+	patches/ecj/jaxws-jdk-dependency.patch \
+	patches/ecj/hotspot-jdk-dependency.patch
 
 if DTDTYPE_QNAME
 ICEDTEA_ECJ_PATCHES += \
@@ -2422,10 +2414,6 @@
 
 # rt.jar additional class files.
 rt-source-files.txt: $(OPENJDK_ECJ_TREE)
-	for dir in $(ICEDTEA_BOOTSTRAP_DIRS) ; \
-	do \
-	  $(FIND) $(abs_top_builddir)/$$dir -name '*.java' >> $@; \
-	done
 	for files in $(ICEDTEA_BOOTSTRAP_CLASSES) ; \
 	do \
 	  echo $$files >> $@ ; \
--- a/NEWS	Wed Aug 15 12:17:03 2012 +0100
+++ b/NEWS	Wed Aug 15 23:07:12 2012 +0100
@@ -22,6 +22,7 @@
   - PR902: PulseAudioClip getMicrosecondsLength() returns length in milliseconds, not microseconds
   - PR1050: Stream objects not garbage collected
   - PR1113: Add tapset tests to distribution.
+  - PR1117: IcedTea6 prebuilds far too many classes on bootstrap
 * JamVM
   - ARMv6 armhf: Changes for Raspbian (Raspberry Pi)
   - PPC: Don't use lwsync if it isn't supported
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ecj/7010849-make_sa-jdi_build_with_1.5.patch	Wed Aug 15 23:07:12 2012 +0100
@@ -0,0 +1,394 @@
+# HG changeset patch
+# User andrew
+# Date 1301696137 25200
+# Node ID 37be97a5839376b2d2fa1d2ac1ab3a6cbe0653d0
+# Parent  b025bffd6c2ca81c7c08f0dd2f4b2e0ba3223c05
+7010849: 5/5 Extraneous javac source/target options when building sa-jdi
+Summary: Make code changes necessary to get rid of the '-source 1.4 -target 1.4' options.
+Reviewed-by: dholmes, dcubed
+
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java b/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -55,7 +55,7 @@
+     synchronized(lock) {
+       if (useMethodInvoke) {
+         try {
+-          Method method = HelloWorld.class.getMethod("e", null);
++          Method method = HelloWorld.class.getMethod("e");
+           Integer result = (Integer) method.invoke(null, new Object[0]);
+           return result.intValue();
+         }
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -52,12 +52,10 @@
+         return intValue();
+     }
+ 
+-    public int compareTo(Object obj) {
+-        byte other = ((ByteValue)obj).value();
+-        return value() - other;
++    public int compareTo(ByteValue byteVal) {
++        return value() - byteVal.value();
+     }
+ 
+-
+     public Type type() {
+         return vm.theByteType();
+     }
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -52,9 +52,8 @@
+         return intValue();
+     }
+ 
+-    public int compareTo(Object obj) {
+-        char other = ((CharValue)obj).value();
+-        return value() - other;
++    public int compareTo(CharValue charVal) {
++        return value() - charVal.value();
+     }
+ 
+     public Type type() {
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -186,7 +186,7 @@
+         // assert isVMVersionMismatch(throwable), "not a VMVersionMismatch"
+         Class expClass = throwable.getClass();
+         Method targetVersionMethod = expClass.getMethod("getTargetVersion", new Class[0]);
+-        return (String) targetVersionMethod.invoke(throwable, null);
++        return (String) targetVersionMethod.invoke(throwable);
+     }
+ 
+     /** If the causal chain has a sun.jvm.hotspot.runtime.VMVersionMismatchException,
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -45,8 +45,8 @@
+         }
+     }
+ 
+-    public int compareTo(Object obj) {
+-        double other = ((DoubleValue)obj).value();
++    public int compareTo(DoubleValue doubleVal) {
++        double other = doubleVal.value();
+         if (value() < other) {
+             return -1;
+         } else if (value() == other) {
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java
+@@ -145,8 +145,7 @@
+     }
+ 
+     // From interface Comparable
+-    public int compareTo(Object object) {
+-        Field field = (Field)object;
++    public int compareTo(Field field) {
+         ReferenceTypeImpl declaringType = (ReferenceTypeImpl)declaringType();
+         int rc = declaringType.compareTo(field.declaringType());
+         if (rc == 0) {
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -52,8 +52,8 @@
+         return intValue();
+     }
+ 
+-    public int compareTo(Object obj) {
+-        float other = ((FloatValue)obj).value();
++    public int compareTo(FloatValue floatVal) {
++        float other = floatVal.value();
+         if (value() < other) {
+             return -1;
+         } else if (value() == other) {
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -52,9 +52,8 @@
+         return intValue();
+     }
+ 
+-    public int compareTo(Object obj) {
+-        int other = ((IntegerValue)obj).value();
+-        return value() - other;
++    public int compareTo(IntegerValue integerVal) {
++        return value() - integerVal.value();
+     }
+ 
+     public Type type() {
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -67,8 +67,8 @@
+         return (int)method.hashCode() + slot();
+     }
+ 
+-    public int compareTo(Object object) {
+-        LocalVariableImpl other = (LocalVariableImpl)object;
++    public int compareTo(LocalVariable localVar) {
++        LocalVariableImpl other = (LocalVariableImpl) localVar;
+         int rc = method.compareTo(other.method);
+         if (rc == 0) {
+             rc = slot() - other.slot();
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -78,8 +78,7 @@
+         return method().hashCode() + (int)codeIndex();
+     }
+ 
+-    public int compareTo(Object object) {
+-        LocationImpl other = (LocationImpl)object;
++    public int compareTo(Location other) {
+         int rc = method().compareTo(other.method());
+         if (rc == 0) {
+             long diff = codeIndex() - other.codeIndex();
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -52,8 +52,8 @@
+         return intValue();
+     }
+ 
+-    public int compareTo(Object obj) {
+-        long other = ((LongValue)obj).value();
++    public int compareTo(LongValue longVal) {
++        long other = longVal.value();
+         if (value() < other) {
+             return -1;
+         } else if (value() == other) {
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -200,8 +200,7 @@
+     }
+ 
+     // From interface Comparable
+-    public int compareTo(Object object) {
+-      Method method = (Method)object;
++    public int compareTo(Method method) {
+         ReferenceTypeImpl declaringType = (ReferenceTypeImpl)declaringType();
+          int rc = declaringType.compareTo(method.declaringType());
+          if (rc == 0) {
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -99,7 +99,7 @@
+         return saKlass.hashCode();
+     }
+ 
+-    public int compareTo(Object object) {
++    public int compareTo(ReferenceType refType) {
+         /*
+          * Note that it is critical that compareTo() == 0
+          * implies that equals() == true. Otherwise, TreeSet
+@@ -108,7 +108,7 @@
+          * (Classes of the same name loaded by different class loaders
+          * or in different VMs must not return 0).
+          */
+-        ReferenceTypeImpl other = (ReferenceTypeImpl)object;
++        ReferenceTypeImpl other = (ReferenceTypeImpl)refType;
+         int comp = name().compareTo(other.name());
+         if (comp == 0) {
+             Oop rf1 = ref();
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -52,9 +52,8 @@
+         return intValue();
+     }
+ 
+-    public int compareTo(Object obj) {
+-        short other = ((ShortValue)obj).value();
+-        return value() - other;
++    public int compareTo(ShortValue shortVal) {
++        return value() - shortVal.value();
+     }
+ 
+     public Type type() {
+diff --git a/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java b/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java
+--- openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java
++++ openjdk-ecj/hotspot/agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+  *
+  * This code is free software; you can redistribute it and/or modify it
+@@ -798,12 +798,11 @@
+     }
+ 
+     public String description() {
+-        String[] versionParts = {"" + vmmgr.majorInterfaceVersion(),
+-                                 "" + vmmgr.minorInterfaceVersion(),
+-                                 name()};
+         return java.text.MessageFormat.format(java.util.ResourceBundle.
+                                               getBundle("com.sun.tools.jdi.resources.jdi").getString("version_format"),
+-                                              versionParts);
++                                              "" + vmmgr.majorInterfaceVersion(),
++                                              "" + vmmgr.minorInterfaceVersion(),
++                                              name());
+     }
+ 
+     public String version() {
+diff --git a/make/linux/makefiles/sa.make b/make/linux/makefiles/sa.make
+--- openjdk-ecj/hotspot/make/linux/makefiles/sa.make
++++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+ # This code is free software; you can redistribute it and/or modify it
+@@ -97,8 +97,8 @@
+ 	$(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
+ 	$(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
+ 	
+-	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
+-	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
++	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
++	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
+ 	
+ 	$(QUIETLY) $(REMOTE) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
+ 	$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
+diff --git a/make/solaris/makefiles/sa.make b/make/solaris/makefiles/sa.make
+--- openjdk-ecj/hotspot/make/solaris/makefiles/sa.make
++++ openjdk-ecj/hotspot/make/solaris/makefiles/sa.make
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+ # This code is free software; you can redistribute it and/or modify it
+@@ -88,8 +88,8 @@
+ 	$(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
+ 	$(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
+ 	
+-	$(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
+-	$(QUIETLY) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
++	$(QUIETLY) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
++	$(QUIETLY) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
+ 	
+ 	$(QUIETLY) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
+ 	$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
+diff --git a/make/windows/makefiles/sa.make b/make/windows/makefiles/sa.make
+--- openjdk-ecj/hotspot/make/windows/makefiles/sa.make
++++ openjdk-ecj/hotspot/make/windows/makefiles/sa.make
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+ # This code is free software; you can redistribute it and/or modify it
+@@ -55,9 +55,9 @@
+ $(GENERATED)\sa-jdi.jar: $(AGENT_FILES1:/=\) $(AGENT_FILES2:/=\)
+ 	@if not exist $(SA_CLASSDIR) mkdir $(SA_CLASSDIR)
+ 	@echo ...Building sa-jdi.jar
+-	@echo ...$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -d $(SA_CLASSDIR) ....
+-	@$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1:/=\)
+-	@$(COMPILE_JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2:/=\)
++	@echo ...$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -d $(SA_CLASSDIR) ....
++	@$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES1:/=\)
++	@$(COMPILE_JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) $(AGENT_FILES2:/=\)
+ 	$(COMPILE_RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
+ 	$(QUIETLY) echo $(SA_BUILD_VERSION_PROP)> $(SA_PROPERTIES)
+ 	$(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ecj/corba-dependencies.patch	Wed Aug 15 23:07:12 2012 +0100
@@ -0,0 +1,17 @@
+diff -Nru openjdk.orig/corba/make/common/Rules.gmk openjdk/corba/make/common/Rules.gmk
+--- openjdk-ecj.orig/corba/make/common/Rules.gmk	2012-08-15 16:52:40.749869095 +0100
++++ openjdk-ecj/corba/make/common/Rules.gmk	2012-08-15 16:59:16.800640493 +0100
+@@ -202,9 +202,11 @@
+ 	  $(CAT) $(JAVA_SOURCE_LIST); \
+ 	  $(ECHO) "# Running javac:"; \
+ 	  $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \
+-	    -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
++	    -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \
++	    -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
+ 	  $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \
+-	    -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
++	    -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \
++	    -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
+ 	fi
+ 	@$(java-vm-cleanup)
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ecj/hotspot-jdk-dependency.patch	Wed Aug 15 23:07:12 2012 +0100
@@ -0,0 +1,25 @@
+diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make
+--- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make	2012-05-01 22:15:06.000000000 +0100
++++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make	2012-08-15 19:43:49.830577295 +0100
+@@ -97,8 +97,8 @@
+ 	$(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
+ 	$(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
+ 	
+-	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
+-	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
++	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
++	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
+ 	
+ 	$(QUIETLY) $(REMOTE) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
+ 	$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
+diff -Nru openjdk-ecj.orig/make/hotspot-rules.gmk openjdk-ecj/make/hotspot-rules.gmk
+--- openjdk-ecj.orig/make/hotspot-rules.gmk	2012-05-01 22:13:57.000000000 +0100
++++ openjdk-ecj/make/hotspot-rules.gmk	2012-08-15 19:44:23.215116331 +0100
+@@ -83,6 +83,7 @@
+ HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS)
+ HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
+ HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH)
++HOTSPOT_BUILD_ARGUMENTS += GENSRCDIR=$(GENSRCDIR)
+ 
+ # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=?
+ #   Or is there something wrong with hotspot/make/Makefile?
--- a/patches/ecj/hotspot.patch	Wed Aug 15 12:17:03 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make
---- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make	2010-03-29 21:34:15.000000000 +0100
-+++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make	2010-03-29 21:41:28.000000000 +0100
-@@ -80,8 +80,8 @@
- 	$(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST)))
- 	$(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST)))
- 
--	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
--	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
-+	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST)
-+	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -target 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST)
- 
- 	$(QUIETLY) $(REMOTE) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
- 	$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
--- a/patches/ecj/icedtea.patch	Wed Aug 15 12:17:03 2012 +0100
+++ b/patches/ecj/icedtea.patch	Wed Aug 15 23:07:12 2012 +0100
@@ -346,7 +346,9 @@
 diff -Nru openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk openjdk-ecj/corba/make/common/shared/Defs-java.gmk
 --- openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk	2012-01-18 16:50:57.569109033 +0000
 +++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk	2012-01-18 21:43:04.150185964 +0000
-@@ -120,31 +120,13 @@
+@@ -120,32 +120,14 @@
+-JAVACFLAGS  += -classpath $(BOOTDIR)/lib/tools.jar
++JAVACFLAGS  += -classpath $(LANGTOOLS_DIST)/lib/classes.jar
  JAVACFLAGS  += $(OTHER_JAVACFLAGS)
  
  # Needed for javah
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ecj/jaxws-jdk-dependency.patch	Wed Aug 15 23:07:12 2012 +0100
@@ -0,0 +1,47 @@
+diff -Nru openjdk-ecj.orig/jaxws/build.properties openjdk-ecj/jaxws/build.properties
+--- openjdk-ecj.orig/jaxws/build.properties	2012-08-15 18:46:16.919765424 +0100
++++ openjdk-ecj/jaxws/build.properties	2012-08-15 18:47:22.540691870 +0100
+@@ -66,6 +66,10 @@
+ # JAXP built files
+ jaxp.classes.dir=${output.dir}/../jaxp/build/classes
+ 
++# JDK sources
++
++jdk.sources=${jdk.topdir}/src/share/classes:${jdk.topdir}/src/solaris/classes
++
+ # Distributed results
+ dist.dir=${output.dir}/dist
+ dist.lib.dir=${dist.dir}/lib
+@@ -110,6 +114,7 @@
+   dist.dir=${dist.dir}${line.separator}\
+   drop.dir=${drop.dir}${line.separator}\
+   drops.dir=${drops.dir}${line.separator}\
++  jdk.topdir=${jdk.topdir}${line.separator}\
+ ${line.separator}
+ 
+ # Failure messages when source cannot be found on the file system
+diff -Nru openjdk-ecj.orig/jaxws/build.xml openjdk-ecj/jaxws/build.xml
+--- openjdk-ecj.orig/jaxws/build.xml	2012-08-15 18:46:16.919765424 +0100
++++ openjdk-ecj/jaxws/build.xml	2012-08-15 18:46:41.328109723 +0100
+@@ -125,6 +125,7 @@
+         <javac 
+ 	     includeAntRuntime="false" 
+ 	     classpath="${jaxp.classes.dir}:${build.classes.dir}:${langtools.jar}"
++	     sourcepath="${jdk.sources}"
+ 	     fork="true"
+              destdir="${build.classes.dir}"
+              memoryInitialSize="${javac.memoryInitialSize}"
+diff -Nru openjdk-ecj.orig/jaxws/make/Makefile openjdk-ecj/jaxws/make/Makefile
+--- openjdk-ecj.orig/jaxws/make/Makefile	2012-08-15 18:46:16.923765481 +0100
++++ openjdk-ecj/jaxws/make/Makefile	2012-08-15 18:46:41.328109723 +0100
+@@ -140,6 +140,10 @@
+   endif
+ endif
+ 
++ifdef JDK_TOPDIR
++  ANT_OPTIONS += -Djdk.topdir=$(JDK_TOPDIR)
++endif
++
+ # Default target and expected 'do everything' target
+ default: all
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ecj/jaxws-langtools-dependency.patch	Wed Aug 15 23:07:12 2012 +0100
@@ -0,0 +1,48 @@
+diff -Nru openjdk-boot.orig/jaxws/build.properties openjdk-boot/jaxws/build.properties
+--- openjdk-ecj.orig/jaxws/build.properties	2011-03-08 18:42:23.703875234 +0000
++++ openjdk-ecj/jaxws/build.properties	2011-03-08 18:40:33.955159212 +0000
+@@ -32,7 +32,8 @@
+ # other tools, and product versions of all the tools.
+ # Override this path as needed, either on the command line or in 
+ # one of the standard user build.properties files (see build.xml)
+-javac.jar=${bootstrap.dir}/lib/javac.jar
++javac.jar=${langtools.dist}/bootstrap/lib/javac.jar
++langtools.jar=${langtools.dist}/lib/classes.jar
+ 
+ # The tools.jar is needed in the classpath to compile these sources
+ jdk.home=${java.home}/..
+@@ -93,8 +94,9 @@
+   os.name=${os.name}${line.separator}\
+   os.arch=${os.arch}${line.separator}\
+   os.version=${os.version}${line.separator}\
+-  bootstrap.dir=${bootstrap.dir}${line.separator}\
++  bootstrap.dir=${langtools.dist}/bootstrap${line.separator}\
+   javac.jar=${javac.jar}${line.separator}\
++  langtools.jar=${langtools.jar}${line.separator}\
+   javac.memoryInitialSize=${javac.memoryInitialSize}${line.separator}\
+   javac.memoryMaximumSize=${javac.memoryMaximumSize}${line.separator}\
+   javac.source=${javac.source}${line.separator}\
+diff -Nru openjdk-boot.orig/jaxws/build.xml openjdk-boot/jaxws/build.xml
+--- openjdk-ecj.orig/jaxws/build.xml	2011-03-08 18:43:11.778436442 +0000
++++ openjdk-ecj/jaxws/build.xml	2011-03-08 18:40:29.639288336 +0000
+@@ -124,7 +124,7 @@
+         <mkdir dir="${build.classes.dir}"/>
+         <javac 
+ 	     includeAntRuntime="false" 
+-	     classpath="${jaxp.classes.dir}:${build.classes.dir}:${tools.jar}"
++	     classpath="${jaxp.classes.dir}:${build.classes.dir}:${langtools.jar}"
+ 	     fork="true"
+              destdir="${build.classes.dir}"
+              memoryInitialSize="${javac.memoryInitialSize}"
+diff -Nru openjdk-boot.orig/jaxws/make/Makefile openjdk-boot/jaxws/make/Makefile
+--- openjdk-ecj.orig/jaxws/make/Makefile	2011-03-08 18:41:00.178374622 +0000
++++ openjdk-ecj/jaxws/make/Makefile	2011-03-08 18:40:14.167751211 +0000
+@@ -120,7 +120,7 @@
+     ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR)
+     ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR)
+   endif
+-  ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap
++  ANT_OPTIONS += -Dlangtools.dist=$(ALT_LANGTOOLS_DIST)
+ else
+   ifdef ALT_JDK_IMPORT_PATH
+     ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH)