changeset 816:5516adadeee3 cacao

2008-02-15 Lillian Angel <langel@redhat.com> * INSTALL: Updated. * Makefile.am: Updated patches. Added download target, added extract and extract-ecj targets. Removed clone and clone-ecj targets. Updated all paths and targets appropriately. * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Added new tools: tar, md5sum. * gcjwebplugin.cc: Updated for 1.6.0. * generated/sun/awt/X11/generator/sizer.32: Regenerated. * generated/sun/awt/X11/generator/sizer.32.c: Regenerated. * patches/icedtea-ant.patch: Updated. * patches/icedtea-bytebuffer-compact.patch: Updated. * patches/icedtea-certbundle.patch: Updated. * patches/icedtea-copy-plugs.patch: Updated. * patches/icedtea-core-build.patch: Updated. * patches/icedtea-ecj.patch: Updated. * patches/icedtea-gcc-4.3.patch: Updated. * patches/icedtea-headers.patch: Updated. * patches/icedtea-lib64.patch: Updated. * patches/icedtea-libraries.patch: Updated. * patches/icedtea-linker-options.patch: Updated. * patches/icedtea-memory-limits.patch: Updated. * patches/icedtea-plugin.patch: Updated. * patches/icedtea-ports.patch: Updated. * patches/icedtea-signature-iterator.patch: Updated. * patches/icedtea-signed-types.patch: Updated. * patches/icedtea-ssl.patch: Updated. * patches/icedtea-test-atomic-operations.patch: Updated. * patches/icedtea-use-system-tzdata.patch: Updated. * patches/icedtea-version.patch: Updated. * patches/icedtea-zero.patch: Updated. * patches/icedtea-bytecodeInterpreter.patch: Removed. * patches/icedtea-bytecodeInterpreterWithChecks.patch: Removed. * rt/java/io/PushbackReader.java: Removed.
author Lillian Angel <langel@redhat.com>
date Fri, 15 Feb 2008 11:58:44 -0500
parents 4091ddf27604
children 1d8c00630dc8
files ChangeLog INSTALL Makefile.am Makefile.in configure configure.ac gcjwebplugin.cc generated/sun/awt/X11/generator/sizer.32 generated/sun/awt/X11/generator/sizer.32.c patches/icedtea-ant.patch patches/icedtea-bytebuffer-compact.patch patches/icedtea-bytecodeInterpreter.patch patches/icedtea-bytecodeInterpreterWithChecks.patch patches/icedtea-certbundle.patch patches/icedtea-copy-plugs.patch patches/icedtea-core-build.patch patches/icedtea-ecj.patch patches/icedtea-gcc-4.3.patch patches/icedtea-headers.patch patches/icedtea-lib64.patch patches/icedtea-libraries.patch patches/icedtea-linker-options.patch patches/icedtea-memory-limits.patch patches/icedtea-plugin.patch patches/icedtea-ports.patch patches/icedtea-signature-iterator.patch patches/icedtea-signed-types.patch patches/icedtea-ssl.patch patches/icedtea-test-atomic-operations.patch patches/icedtea-use-system-tzdata.patch patches/icedtea-version.patch patches/icedtea-zero.patch rt/java/io/PushbackReader.java
diffstat 33 files changed, 926 insertions(+), 1092 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Feb 15 11:13:14 2008 -0500
+++ b/ChangeLog	Fri Feb 15 11:58:44 2008 -0500
@@ -1,3 +1,40 @@
+2008-02-15  Lillian Angel  <langel@redhat.com>
+
+	* INSTALL: Updated.
+	* Makefile.am: Updated patches. Added download target, added extract
+	and extract-ecj targets. Removed clone and clone-ecj targets. Updated
+	all paths and targets appropriately.
+	* Makefile.in: Regenerate.
+	* configure: Regenerate.
+	* configure.ac: Added new tools: tar, md5sum.
+	* gcjwebplugin.cc: Updated for 1.6.0.
+	* generated/sun/awt/X11/generator/sizer.32: Regenerated.
+	* generated/sun/awt/X11/generator/sizer.32.c: Regenerated.
+	* patches/icedtea-ant.patch: Updated.
+	* patches/icedtea-bytebuffer-compact.patch: Updated.
+	* patches/icedtea-certbundle.patch: Updated.
+	* patches/icedtea-copy-plugs.patch: Updated.
+	* patches/icedtea-core-build.patch: Updated.
+	* patches/icedtea-ecj.patch: Updated.
+	* patches/icedtea-gcc-4.3.patch: Updated.
+	* patches/icedtea-headers.patch: Updated.
+	* patches/icedtea-lib64.patch: Updated.
+	* patches/icedtea-libraries.patch: Updated.
+	* patches/icedtea-linker-options.patch: Updated.
+	* patches/icedtea-memory-limits.patch: Updated.
+	* patches/icedtea-plugin.patch: Updated.
+	* patches/icedtea-ports.patch: Updated.
+	* patches/icedtea-signature-iterator.patch: Updated.
+	* patches/icedtea-signed-types.patch: Updated.
+	* patches/icedtea-ssl.patch: Updated.
+	* patches/icedtea-test-atomic-operations.patch: Updated.
+	* patches/icedtea-use-system-tzdata.patch: Updated.
+	* patches/icedtea-version.patch: Updated.
+	* patches/icedtea-zero.patch: Updated.
+	* patches/icedtea-bytecodeInterpreter.patch: Removed.
+	* patches/icedtea-bytecodeInterpreterWithChecks.patch: Removed.
+	* rt/java/io/PushbackReader.java: Removed.
+
 2008-02-15  Gary Benson  <gbenson@redhat.com>
 
 	* ports/hotspot/src/cpu/zero/vm/stubRoutines_zero.hpp: Build on x86.
--- a/INSTALL	Fri Feb 15 11:13:14 2008 -0500
+++ b/INSTALL	Fri Feb 15 11:58:44 2008 -0500
@@ -1,5 +1,5 @@
-Building IcedTea
-================
+Building IcedTea 1.6.0
+======================
 
 For convenience we've provided make targets that automatically
 download, extract and patch the source code from openjdk.java.net, in
@@ -15,7 +15,7 @@
 Freetype2
 patch
 sed
-unzip
+tar
 md5sum
 wget
 alsa
--- a/Makefile.am	Fri Feb 15 11:13:14 2008 -0500
+++ b/Makefile.am	Fri Feb 15 11:58:44 2008 -0500
@@ -1,4 +1,6 @@
-OPENJDK_VERSION = b24
+OPENJDK_DATE = 12_feb_2008
+OPENJDK_MD5SUM = 660e6230dfc4cdc8a7c93bc3e7e60120
+OPENJDK_VERSION = b05
 
 # Top-Level Targets
 # =================
@@ -32,9 +34,12 @@
 	gcjwebplugin.cc patches/icedtea-speed.patch tools-copy contrib ports \
 	tools patches/icedtea-gcc-4.3.patch 
 
+# The Binary plugs directory is called jdk1.7.0 for historical reasons. The
+# name is completely irrelevant; only contains the plugs to build IcedTea.
+
 # OpenJDK build environment.
 LINUX_DIR = linux-$(BUILD_ARCH_DIR)
-BUILD_OUTPUT_DIR = openjdk/build/$(LINUX_DIR)
+BUILD_OUTPUT_DIR = openjdk/control/build/$(LINUX_DIR)
 ICEDTEA_BUILD_DIR = \
 	$(abs_top_srcdir)/$(BUILD_OUTPUT_DIR)
 ICEDTEA_RT = \
@@ -54,8 +59,8 @@
 	"ALT_JDK_IMPORT_PATH=$(ICEDTEA_BOOT_DIR)" \
 	"ANT_HOME=$(SYSTEM_ANT_DIR)" \
         "BUILD_NUMBER=$(OPENJDK_VERSION)" \
-        "JRE_RELEASE_VERSION=1.7.0-$(OPENJDK_VERSION)" \
-        "HOTSPOT_RELEASE_VERSION=1.7.0-$(OPENJDK_VERSION)" \
+        "JRE_RELEASE_VERSION=1.6.0-$(OPENJDK_VERSION)" \
+        "HOTSPOT_RELEASE_VERSION=1.6.0-$(OPENJDK_VERSION)" \
 	"LANG=C" \
 	"PATH=/usr/bin:/bin:/usr/sbin:/sbin" \
 	"ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \
@@ -82,15 +87,15 @@
 
 # OpenJDK ecj build environment.
 ICEDTEA_BUILD_DIR_ECJ = \
-	$(abs_top_srcdir)/openjdk-ecj/build/$(LINUX_DIR)/
+	$(abs_top_srcdir)/openjdk-ecj/control/build/$(LINUX_DIR)/
 ICEDTEA_CLS_DIR_ECJ = \
-	$(abs_top_srcdir)/openjdk-ecj/build/$(LINUX_DIR)/classes
+	$(abs_top_srcdir)/openjdk-ecj/control/build/$(LINUX_DIR)/classes
 ICEDTEA_ENV_ECJ = \
 	"ALT_JDK_IMPORT_PATH=$(ICEDTEA_BOOT_DIR)" \
 	"ANT_HOME=$(SYSTEM_ANT_DIR)" \
 	"BUILD_NUMBER=$(OPENJDK_VERSION)" \
-        "JRE_RELEASE_VERSION=1.7.0-$(OPENJDK_VERSION)" \
-        "HOTSPOT_RELEASE_VERSION=1.7.0-$(OPENJDK_VERSION)" \
+        "JRE_RELEASE_VERSION=1.6.0-$(OPENJDK_VERSION)" \
+        "HOTSPOT_RELEASE_VERSION=1.6.0-$(OPENJDK_VERSION)" \
 	"LANG=C" \
 	"PATH=/usr/bin:/bin:/usr/sbin:/sbin" \
 	"ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \
@@ -125,62 +130,37 @@
 snapshot: dist
 	mv $(DIST_ARCHIVES) $(distdir)-`hg tip --template '{node}'`.tar.gz
 
-# Creates archive of openjdk.
-dist-openjdk:
-	if ! hg; \
-	then \
-	  echo "Mercurial cannot be found. Please install it and try again."; \
-	  exit 1; \
-	else \
-	  if ! hg fclone -h; \
-	  then \
-	    echo "No forest extension found. Please refer to" \
-              "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \
-            exit 1; \
-	  fi; \
-	fi
-	hg fclone -r jdk7-$(OPENJDK_VERSION) $(OPENJDK_URL) openjdk-dist/openjdk
-	find -name \\.hg* | xargs rm -rf	
-	cd openjdk-dist && $(ZIP) -r openjdk-$(OPENJDK_VERSION) openjdk/
-	mv openjdk-dist/openjdk-$(OPENJDK_VERSION).zip . 
-	rm -rf openjdk-dist
-
 # OpenJDK Source Preparation Targets
 # ==================================
 
 # Download OpenJDK sources.
-OPENJDK_URL = http://hg.openjdk.java.net/jdk7/jdk7
+OPENJDK_URL = http://download.java.net/openjdk/jdk6/ 
 
 if USE_ALT_OPENJDK_SRC_ZIP
   OPENJDK_SRC_ZIP = $(ALT_OPENJDK_SRC_ZIP)
 else
-  OPENJDK_SRC_ZIP =
+  OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz
 endif
 
-stamps/clone.stamp:
-	if ! test -d openjdk ; then \
-	  if [ ! -z $(OPENJDK_SRC_ZIP) ] ; then \
-	    $(UNZIP) -q $(OPENJDK_SRC_ZIP) ; \
-	  else \
-	    if ! hg fclone -h; \
-            then \
-              echo "No forest extension found. Please refer to" \
-              "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \
-              exit 1; \
-            fi; \
-	    hg fclone -r jdk7-$(OPENJDK_VERSION) $(OPENJDK_URL) openjdk; \
-	  fi ; \
+stamps/download.stamp:
+	if ! echo "$(OPENJDK_MD5SUM)  $(OPENJDK_SRC_ZIP)" \
+	 | $(MD5SUM) --check ; \
+	then \
+	 if [ $(OPENJDK_SRC_ZIP) ] ; \
+	 then \
+	   mv $(OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP).old ; \
+	 fi ; \
+	 $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP_BASE) -O $(OPENJDK_SRC_ZIP); \
 	fi
-	chmod -R ug+w openjdk
 	mkdir -p stamps
-	touch stamps/clone.stamp
+	touch stamps/download.stamp
 
-clean-clone:
-	rm -f stamps/clone.stamp
-	rm -rf openjdk
+clean-download:
+	rm -f stamps/download.stamp
+	rm -f $(OPENJDK_SRC_ZIP)
 
 # Link ports sources into tree
-stamps/ports.stamp: stamps/clone.stamp
+stamps/ports.stamp: stamps/extract.stamp
 	for target in ports/hotspot/build/*/platform_* \
 		      ports/hotspot/build/*/makefiles/* \
 		      ports/hotspot/src/*/* \
@@ -237,9 +217,7 @@
 	patches/icedtea-sunsrc.patch \
 	patches/icedtea-libraries.patch \
 	patches/icedtea-javafiles.patch \
-	patches/icedtea-bytecodeInterpreterWithChecks.patch \
 	patches/icedtea-corba.patch \
-	patches/icedtea-bytecodeInterpreter.patch \
 	patches/icedtea-signature-iterator.patch \
 	patches/icedtea-signed-types.patch \
 	patches/icedtea-test-atomic-operations.patch \
@@ -262,7 +240,20 @@
 	patches/icedtea-cacao.patch
 endif
 
-stamps/patch.stamp: stamps/clone.stamp
+stamps/extract.stamp: stamps/download.stamp
+	if ! test -d openjdk ; \
+	then \
+	  mkdir openjdk ; \
+	  $(TAR) xf $(OPENJDK_SRC_ZIP) -C openjdk; \
+	  chmod -R ug+w openjdk ; \
+	fi
+	mkdir -p stamps
+	touch stamps/extract.stamp
+
+clean-extract:
+	rm -f stamps/extract.stamp
+
+stamps/patch.stamp: stamps/extract.stamp
 	for p in $(ICEDTEA_PATCHES) ; \
 	do \
 	  echo Checking $$p ; \
@@ -291,19 +282,19 @@
 # ======================================
 
 # Copy over OpenJDK sources for ecj.
-stamps/clone-ecj.stamp: stamps/patch.stamp
+stamps/extract-ecj.stamp: stamps/patch.stamp
 	if ! test -d openjdk-ecj ; then \
 	    cp -pPRl openjdk openjdk-ecj ; \
 	fi
 	mkdir -p stamps
-	touch stamps/clone-ecj.stamp
+	touch stamps/extract-ecj.stamp
 
-clean-clone-ecj:
-	rm -f stamps/clone-ecj.stamp
+clean-extract-ecj:
+	rm -f stamps/extract-ecj.stamp
 	rm -rf openjdk-ecj
 
 # Link ports sources into tree
-stamps/ports-ecj.stamp: stamps/clone-ecj.stamp
+stamps/ports-ecj.stamp: stamps/extract-ecj.stamp
 	for target in ports/hotspot/build/*/platform_* \
 		      ports/hotspot/build/*/makefiles/* \
 		      ports/hotspot/src/*/* \
@@ -317,7 +308,7 @@
 # Patch OpenJDK for plug replacements and ecj.
 ICEDTEA_ECJ_PATCH = patches/icedtea-ecj.patch
 
-stamps/patch-ecj.stamp: stamps/clone-ecj.stamp
+stamps/patch-ecj.stamp: stamps/extract-ecj.stamp
 	echo Checking $(ICEDTEA_ECJ_PATCH) ; \
 	if $(PATCH) -p0 -l --dry-run -s -t -f < $(ICEDTEA_ECJ_PATCH) ; \
 	then \
@@ -342,7 +333,7 @@
 # bootstrap/icedtea.
 stamps/bootstrap-directory.stamp: stamps/icedtea-against-ecj.stamp
 	rm -rf bootstrap/icedtea
-	ln -s $(abs_top_srcdir)/openjdk-ecj/build/$(LINUX_DIR)/j2sdk-image/ bootstrap/icedtea
+	ln -s $(abs_top_srcdir)/openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image/ bootstrap/icedtea
 	if ! test -d bootstrap/icedtea/include; then \
 	  ln -sf $(ICEDTEA_BUILD_DIR_ECJ)/include bootstrap/icedtea/include; \
 	fi
@@ -465,7 +456,7 @@
 	stamps/tools.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV) \
-	  -C openjdk/ j2se_only
+	  -C openjdk/control/make/
 	if test "$(ENABLE_PLUGIN)" == "yes" ; \
 	  then \
 	  cp -pPRf gcjwebplugin.so \
@@ -483,8 +474,8 @@
 	stamps/tools.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV) \
-	  -C openjdk/ \
-	  j2se_fastdebug_only
+	  -C openjdk/control/make \
+	  debug_build
 	if test "$(ENABLE_PLUGIN)" == "yes" ; \
 	  then \
 	  cp -pPRf gcjwebplugin.so \
@@ -497,10 +488,10 @@
 	@echo "IcedTea (debug build) is served:" \
 	  $(BUILD_OUTPUT_DIR)-debug
 
-clean-icedtea: stamps/clone.stamp
+clean-icedtea: stamps/extract.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV) \
-	  -C openjdk/ clobber
+	  -C openjdk/control/make clobber
 
 icedtea-against-icedtea: \
 	stamps/bootstrap-directory-symlink.stamp \
@@ -513,9 +504,9 @@
 	stamps/ports-ecj.stamp stamps/patch-ecj.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV_ECJ) \
-	  -C openjdk-ecj/ j2se_only
+	  -C openjdk-ecj/control/make
 	@echo "ecj-poured IcedTea is served:" \
-	  openjdk-ecj/build/$(LINUX_DIR)
+	  openjdk-ecj/control/build/$(LINUX_DIR)
 	mkdir -p stamps
 	touch stamps/icedtea-ecj.stamp
 
@@ -524,22 +515,22 @@
 	rm -f stamps/icedtea-ecj.stamp
 	rm -f stamps/icedtea-against-ecj.stamp
 	$(MAKE) hotspot-helper
-	cp openjdk-ecj/build/$(LINUX_DIR)/hotspot/import/jre/lib/$(BUILD_ARCH_DIR)/core/libjvm.so \
-	   openjdk-ecj/build/$(LINUX_DIR)/j2sdk-image/jre/lib/$(BUILD_ARCH_DIR)/core
-	@echo "Hotspot is served:" openjdk-ecj/build/$(LINUX_DIR)/j2sdk-image
+	cp openjdk-ecj/control/build/$(LINUX_DIR)/hotspot/import/jre/lib/$(BUILD_ARCH_DIR)/core/libjvm.so \
+	   openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image/jre/lib/$(BUILD_ARCH_DIR)/core
+	@echo "Hotspot is served:" openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image
 
 hotspot-helper: stamps/bootstrap-directory-symlink-ecj.stamp \
 	stamps/hotspot-tools.stamp stamps/plugs.stamp \
 	stamps/ports-ecj.stamp stamps/patch-ecj.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV_ECJ) \
-	  -C openjdk-ecj hotspot
+	  -C openjdk-ecj/control/make hotspot
 
-clean-icedtea-ecj: stamps/clone-ecj.stamp
+clean-icedtea-ecj: stamps/extract-ecj.stamp
 	rm -f stamps/icedtea-ecj.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV_ECJ) \
-	  -C openjdk-ecj/ clobber
+	  -C openjdk-ecj/control/make clobber
 
 stamps/icedtea-against-ecj.stamp: \
 	stamps/bootstrap-directory-symlink-ecj.stamp \
@@ -659,7 +650,7 @@
 	mkdir -p stamps
 	touch stamps/hotspot-tools-copy-source-files.stamp
 
-hotspot-tools-source-files.txt: stamps/clone.stamp \
+hotspot-tools-source-files.txt: stamps/extract.stamp \
 	stamps/hotspot-tools-copy-source-files.stamp
 	find hotspot-tools -name '*.java' | sort > $@
 	mkdir -p lib/hotspot-tools
@@ -706,7 +697,7 @@
 	fi
 
 # rt-closed.jar class files.
-rt-source-files.txt: stamps/clone.stamp stamps/copy-source-files.stamp
+rt-source-files.txt: stamps/extract.stamp stamps/copy-source-files.stamp
 	find rt -name '*.java' | sort > $@
 
 stamps/rt-class-files.stamp: rt-source-files.txt
@@ -764,7 +755,7 @@
 stamps/tools.stamp: stamps/tools-class-files.stamp
 	touch stamps/tools.stamp
 
-tools-source-files.txt: stamps/clone.stamp
+tools-source-files.txt: stamps/extract.stamp
 	find tools -name '*.java' | sort > $@
 
 stamps/tools-class-files.stamp: tools-source-files.txt \
@@ -805,9 +796,11 @@
 
 copy-source-files: stamps/copy-source-files.stamp
 
-clone: stamps/clone.stamp
+download: stamps/download.stamp
 
-clone-ecj: stamps/clone-ecj.stamp
+extract: stamps/extract.stamp
+
+extract-ecj: stamps/extract-ecj.stamp
 
 icedtea-against-ecj: stamps/icedtea-against-ecj.stamp
 
--- a/Makefile.in	Fri Feb 15 11:13:14 2008 -0500
+++ b/Makefile.in	Fri Feb 15 11:58:44 2008 -0500
@@ -126,7 +126,7 @@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
-MERCURIAL = @MERCURIAL@
+MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
 MOZILLA_LIBS = @MOZILLA_LIBS@
@@ -148,8 +148,9 @@
 SYSTEM_ANT_DIR = @SYSTEM_ANT_DIR@
 SYSTEM_GCJ_DIR = @SYSTEM_GCJ_DIR@
 SYSTEM_ICEDTEA_DIR = @SYSTEM_ICEDTEA_DIR@
-UNZIP = @UNZIP@
+TAR = @TAR@
 VERSION = @VERSION@
+WGET = @WGET@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XALAN2_JAR = @XALAN2_JAR@
@@ -165,7 +166,6 @@
 XTST_LIBS = @XTST_LIBS@
 XT_CFLAGS = @XT_CFLAGS@
 XT_LIBS = @XT_LIBS@
-ZIP = @ZIP@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -217,15 +217,20 @@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-OPENJDK_VERSION = b24
+OPENJDK_DATE = 12_feb_2008
+OPENJDK_MD5SUM = 660e6230dfc4cdc8a7c93bc3e7e60120
+OPENJDK_VERSION = b05
 EXTRA_DIST = rt generated $(ICEDTEA_PATCHES) $(ICEDTEA_ECJ_PATCH) \
 	gcjwebplugin.cc patches/icedtea-speed.patch tools-copy contrib ports \
 	tools patches/icedtea-gcc-4.3.patch 
 
 
+# The Binary plugs directory is called jdk1.7.0 for historical reasons. The
+# name is completely irrelevant; only contains the plugs to build IcedTea.
+
 # OpenJDK build environment.
 LINUX_DIR = linux-$(BUILD_ARCH_DIR)
-BUILD_OUTPUT_DIR = openjdk/build/$(LINUX_DIR)
+BUILD_OUTPUT_DIR = openjdk/control/build/$(LINUX_DIR)
 ICEDTEA_BUILD_DIR = \
 	$(abs_top_srcdir)/$(BUILD_OUTPUT_DIR)
 
@@ -287,8 +292,8 @@
 # ==================================
 
 # Download OpenJDK sources.
-OPENJDK_URL = http://hg.openjdk.java.net/jdk7/jdk7
-@USE_ALT_OPENJDK_SRC_ZIP_FALSE@OPENJDK_SRC_ZIP = 
+OPENJDK_URL = http://download.java.net/openjdk/jdk6/ 
+@USE_ALT_OPENJDK_SRC_ZIP_FALSE@OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz
 @USE_ALT_OPENJDK_SRC_ZIP_TRUE@OPENJDK_SRC_ZIP = $(ALT_OPENJDK_SRC_ZIP)
 @FAST_BUILD_FALSE@FAST_BUILD_PATCH = 
 
@@ -312,9 +317,7 @@
 	patches/icedtea-memory-limits.patch \
 	patches/icedtea-sunsrc.patch patches/icedtea-libraries.patch \
 	patches/icedtea-javafiles.patch \
-	patches/icedtea-bytecodeInterpreterWithChecks.patch \
 	patches/icedtea-corba.patch \
-	patches/icedtea-bytecodeInterpreter.patch \
 	patches/icedtea-signature-iterator.patch \
 	patches/icedtea-signed-types.patch \
 	patches/icedtea-test-atomic-operations.patch \
@@ -678,50 +681,25 @@
 snapshot: dist
 	mv $(DIST_ARCHIVES) $(distdir)-`hg tip --template '{node}'`.tar.gz
 
-# Creates archive of openjdk.
-dist-openjdk:
-	if ! hg; \
+stamps/download.stamp:
+	if ! echo "$(OPENJDK_MD5SUM)  $(OPENJDK_SRC_ZIP)" \
+	 | $(MD5SUM) --check ; \
 	then \
-	  echo "Mercurial cannot be found. Please install it and try again."; \
-	  exit 1; \
-	else \
-	  if ! hg fclone -h; \
-	  then \
-	    echo "No forest extension found. Please refer to" \
-              "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \
-            exit 1; \
-	  fi; \
+	 if [ $(OPENJDK_SRC_ZIP) ] ; \
+	 then \
+	   mv $(OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP).old ; \
+	 fi ; \
+	 $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP_BASE) -O $(OPENJDK_SRC_ZIP); \
 	fi
-	hg fclone -r jdk7-$(OPENJDK_VERSION) $(OPENJDK_URL) openjdk-dist/openjdk
-	find -name \\.hg* | xargs rm -rf	
-	cd openjdk-dist && $(ZIP) -r openjdk-$(OPENJDK_VERSION) openjdk/
-	mv openjdk-dist/openjdk-$(OPENJDK_VERSION).zip . 
-	rm -rf openjdk-dist
+	mkdir -p stamps
+	touch stamps/download.stamp
 
-stamps/clone.stamp:
-	if ! test -d openjdk ; then \
-	  if [ ! -z $(OPENJDK_SRC_ZIP) ] ; then \
-	    $(UNZIP) -q $(OPENJDK_SRC_ZIP) ; \
-	  else \
-	    if ! hg fclone -h; \
-            then \
-              echo "No forest extension found. Please refer to" \
-              "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \
-              exit 1; \
-            fi; \
-	    hg fclone -r jdk7-$(OPENJDK_VERSION) $(OPENJDK_URL) openjdk; \
-	  fi ; \
-	fi
-	chmod -R ug+w openjdk
-	mkdir -p stamps
-	touch stamps/clone.stamp
-
-clean-clone:
-	rm -f stamps/clone.stamp
-	rm -rf openjdk
+clean-download:
+	rm -f stamps/download.stamp
+	rm -f $(OPENJDK_SRC_ZIP)
 
 # Link ports sources into tree
-stamps/ports.stamp: stamps/clone.stamp
+stamps/ports.stamp: stamps/extract.stamp
 	for target in ports/hotspot/build/*/platform_* \
 		      ports/hotspot/build/*/makefiles/* \
 		      ports/hotspot/src/*/* \
@@ -732,7 +710,20 @@
 	mkdir -p stamps
 	touch stamps/ports.stamp
 
-stamps/patch.stamp: stamps/clone.stamp
+stamps/extract.stamp: stamps/download.stamp
+	if ! test -d openjdk ; \
+	then \
+	  mkdir openjdk ; \
+	  $(TAR) xf $(OPENJDK_SRC_ZIP) -C openjdk; \
+	  chmod -R ug+w openjdk ; \
+	fi
+	mkdir -p stamps
+	touch stamps/extract.stamp
+
+clean-extract:
+	rm -f stamps/extract.stamp
+
+stamps/patch.stamp: stamps/extract.stamp
 	for p in $(ICEDTEA_PATCHES) ; \
 	do \
 	  echo Checking $$p ; \
@@ -761,19 +752,19 @@
 # ======================================
 
 # Copy over OpenJDK sources for ecj.
-stamps/clone-ecj.stamp: stamps/patch.stamp
+stamps/extract-ecj.stamp: stamps/patch.stamp
 	if ! test -d openjdk-ecj ; then \
 	    cp -pPRl openjdk openjdk-ecj ; \
 	fi
 	mkdir -p stamps
-	touch stamps/clone-ecj.stamp
+	touch stamps/extract-ecj.stamp
 
-clean-clone-ecj:
-	rm -f stamps/clone-ecj.stamp
+clean-extract-ecj:
+	rm -f stamps/extract-ecj.stamp
 	rm -rf openjdk-ecj
 
 # Link ports sources into tree
-stamps/ports-ecj.stamp: stamps/clone-ecj.stamp
+stamps/ports-ecj.stamp: stamps/extract-ecj.stamp
 	for target in ports/hotspot/build/*/platform_* \
 		      ports/hotspot/build/*/makefiles/* \
 		      ports/hotspot/src/*/* \
@@ -784,7 +775,7 @@
 	mkdir -p stamps
 	touch stamps/ports-ecj.stamp
 
-stamps/patch-ecj.stamp: stamps/clone-ecj.stamp
+stamps/patch-ecj.stamp: stamps/extract-ecj.stamp
 	echo Checking $(ICEDTEA_ECJ_PATCH) ; \
 	if $(PATCH) -p0 -l --dry-run -s -t -f < $(ICEDTEA_ECJ_PATCH) ; \
 	then \
@@ -809,7 +800,7 @@
 # bootstrap/icedtea.
 stamps/bootstrap-directory.stamp: stamps/icedtea-against-ecj.stamp
 	rm -rf bootstrap/icedtea
-	ln -s $(abs_top_srcdir)/openjdk-ecj/build/$(LINUX_DIR)/j2sdk-image/ bootstrap/icedtea
+	ln -s $(abs_top_srcdir)/openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image/ bootstrap/icedtea
 	if ! test -d bootstrap/icedtea/include; then \
 	  ln -sf $(ICEDTEA_BUILD_DIR_ECJ)/include bootstrap/icedtea/include; \
 	fi
@@ -942,10 +933,10 @@
 	@echo "IcedTea (debug build) is served:" \
 	  $(BUILD_OUTPUT_DIR)-debug
 
-clean-icedtea: stamps/clone.stamp
+clean-icedtea: stamps/extract.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV) \
-	  -C openjdk/ clobber
+	  -C openjdk/control/make clobber
 
 icedtea-against-icedtea: \
 	stamps/bootstrap-directory-symlink.stamp \
@@ -958,9 +949,9 @@
 	stamps/ports-ecj.stamp stamps/patch-ecj.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV_ECJ) \
-	  -C openjdk-ecj/
+	  -C openjdk-ecj/control/make
 	@echo "ecj-poured IcedTea is served:" \
-	  openjdk-ecj/build/$(LINUX_DIR)
+	  openjdk-ecj/control/build/$(LINUX_DIR)
 	mkdir -p stamps
 	touch stamps/icedtea-ecj.stamp
 
@@ -969,22 +960,22 @@
 	rm -f stamps/icedtea-ecj.stamp
 	rm -f stamps/icedtea-against-ecj.stamp
 	$(MAKE) hotspot-helper
-	cp openjdk-ecj/build/$(LINUX_DIR)/hotspot/import/jre/lib/$(BUILD_ARCH_DIR)/core/libjvm.so \
-	   openjdk-ecj/build/$(LINUX_DIR)/j2sdk-image/jre/lib/$(BUILD_ARCH_DIR)/core
-	@echo "Hotspot is served:" openjdk-ecj/build/$(LINUX_DIR)/j2sdk-image
+	cp openjdk-ecj/control/build/$(LINUX_DIR)/hotspot/import/jre/lib/$(BUILD_ARCH_DIR)/core/libjvm.so \
+	   openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image/jre/lib/$(BUILD_ARCH_DIR)/core
+	@echo "Hotspot is served:" openjdk-ecj/control/build/$(LINUX_DIR)/j2sdk-image
 
 hotspot-helper: stamps/bootstrap-directory-symlink-ecj.stamp \
 	stamps/hotspot-tools.stamp stamps/plugs.stamp \
 	stamps/ports-ecj.stamp stamps/patch-ecj.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV_ECJ) \
-	  -C openjdk-ecj hotspot
+	  -C openjdk-ecj/control/make hotspot
 
-clean-icedtea-ecj: stamps/clone-ecj.stamp
+clean-icedtea-ecj: stamps/extract-ecj.stamp
 	rm -f stamps/icedtea-ecj.stamp
 	$(MAKE) \
 	  $(ICEDTEA_ENV_ECJ) \
-	  -C openjdk-ecj/ clobber
+	  -C openjdk-ecj/control/make clobber
 
 stamps/icedtea-against-ecj.stamp: \
 	stamps/bootstrap-directory-symlink-ecj.stamp \
@@ -1076,7 +1067,7 @@
 	mkdir -p stamps
 	touch stamps/hotspot-tools-copy-source-files.stamp
 
-hotspot-tools-source-files.txt: stamps/clone.stamp \
+hotspot-tools-source-files.txt: stamps/extract.stamp \
 	stamps/hotspot-tools-copy-source-files.stamp
 	find hotspot-tools -name '*.java' | sort > $@
 	mkdir -p lib/hotspot-tools
@@ -1123,7 +1114,7 @@
 	fi
 
 # rt-closed.jar class files.
-rt-source-files.txt: stamps/clone.stamp stamps/copy-source-files.stamp
+rt-source-files.txt: stamps/extract.stamp stamps/copy-source-files.stamp
 	find rt -name '*.java' | sort > $@
 
 stamps/rt-class-files.stamp: rt-source-files.txt
@@ -1181,7 +1172,7 @@
 stamps/tools.stamp: stamps/tools-class-files.stamp
 	touch stamps/tools.stamp
 
-tools-source-files.txt: stamps/clone.stamp
+tools-source-files.txt: stamps/extract.stamp
 	find tools -name '*.java' | sort > $@
 
 stamps/tools-class-files.stamp: tools-source-files.txt \
@@ -1222,9 +1213,11 @@
 
 copy-source-files: stamps/copy-source-files.stamp
 
-clone: stamps/clone.stamp
+download: stamps/download.stamp
 
-clone-ecj: stamps/clone-ecj.stamp
+extract: stamps/extract.stamp
+
+extract-ecj: stamps/extract-ecj.stamp
 
 icedtea-against-ecj: stamps/icedtea-against-ecj.stamp
 
--- a/configure	Fri Feb 15 11:13:14 2008 -0500
+++ b/configure	Fri Feb 15 11:58:44 2008 -0500
@@ -706,9 +706,10 @@
 am__fastdepCXX_FALSE
 FIND
 PATCH
-ZIP
-UNZIP
+TAR
 CHMOD
+MD5SUM
+WGET
 FASTJAR
 ac_ct_FASTJAR
 GAWK
@@ -748,7 +749,6 @@
 ZERO_BUILD_FALSE
 CORE_BUILD_TRUE
 CORE_BUILD_FALSE
-MERCURIAL
 CPP
 GREP
 EGREP
@@ -4337,16 +4337,16 @@
 
 
 if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}zip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}zip; ac_word=$2
+  # Extract the first word of "${ac_tool_prefix}tar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}tar; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_ZIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $ZIP in
+if test "${ac_cv_path_TAR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $TAR in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path.
+  ac_cv_path_TAR="$TAR" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -4356,7 +4356,7 @@
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -4367,10 +4367,10 @@
   ;;
 esac
 fi
-ZIP=$ac_cv_path_ZIP
-if test -n "$ZIP"; then
-  { echo "$as_me:$LINENO: result: $ZIP" >&5
-echo "${ECHO_T}$ZIP" >&6; }
+TAR=$ac_cv_path_TAR
+if test -n "$TAR"; then
+  { echo "$as_me:$LINENO: result: $TAR" >&5
+echo "${ECHO_T}$TAR" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
@@ -4378,18 +4378,18 @@
 
 
 fi
-if test -z "$ac_cv_path_ZIP"; then
-  ac_pt_ZIP=$ZIP
-  # Extract the first word of "zip", so it can be a program name with args.
-set dummy zip; ac_word=$2
+if test -z "$ac_cv_path_TAR"; then
+  ac_pt_TAR=$TAR
+  # Extract the first word of "tar", so it can be a program name with args.
+set dummy tar; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_ac_pt_ZIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $ac_pt_ZIP in
+if test "${ac_cv_path_ac_pt_TAR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_TAR in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_ZIP="$ac_pt_ZIP" # Let the user override the test with a path.
+  ac_cv_path_ac_pt_TAR="$ac_pt_TAR" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -4399,7 +4399,7 @@
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_ZIP="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_ac_pt_TAR="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -4410,17 +4410,17 @@
   ;;
 esac
 fi
-ac_pt_ZIP=$ac_cv_path_ac_pt_ZIP
-if test -n "$ac_pt_ZIP"; then
-  { echo "$as_me:$LINENO: result: $ac_pt_ZIP" >&5
-echo "${ECHO_T}$ac_pt_ZIP" >&6; }
+ac_pt_TAR=$ac_cv_path_ac_pt_TAR
+if test -n "$ac_pt_TAR"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_TAR" >&5
+echo "${ECHO_T}$ac_pt_TAR" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-  if test "x$ac_pt_ZIP" = x; then
-    ZIP=""
+  if test "x$ac_pt_TAR" = x; then
+    TAR=""
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -4432,124 +4432,15 @@
 configuration is useful to you, please write to autoconf@gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    ZIP=$ac_pt_ZIP
-  fi
-else
-  ZIP="$ac_cv_path_ZIP"
-fi
-
- if test x"$ZIP" = x ; then
-   { { echo "$as_me:$LINENO: error: zip program not found in PATH" >&5
-echo "$as_me: error: zip program not found in PATH" >&2;}
-   { (exit 1); exit 1; }; }
- fi
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}unzip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}unzip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_UNZIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $UNZIP in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_UNZIP="$UNZIP" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-UNZIP=$ac_cv_path_UNZIP
-if test -n "$UNZIP"; then
-  { echo "$as_me:$LINENO: result: $UNZIP" >&5
-echo "${ECHO_T}$UNZIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_UNZIP"; then
-  ac_pt_UNZIP=$UNZIP
-  # Extract the first word of "unzip", so it can be a program name with args.
-set dummy unzip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_ac_pt_UNZIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $ac_pt_UNZIP in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_UNZIP="$ac_pt_UNZIP" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_UNZIP="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_UNZIP=$ac_cv_path_ac_pt_UNZIP
-if test -n "$ac_pt_UNZIP"; then
-  { echo "$as_me:$LINENO: result: $ac_pt_UNZIP" >&5
-echo "${ECHO_T}$ac_pt_UNZIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_pt_UNZIP" = x; then
-    UNZIP=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    UNZIP=$ac_pt_UNZIP
-  fi
-else
-  UNZIP="$ac_cv_path_UNZIP"
-fi
-
- if test x"$UNZIP" = x ; then
-   { { echo "$as_me:$LINENO: error: unzip program not found in PATH" >&5
-echo "$as_me: error: unzip program not found in PATH" >&2;}
+    TAR=$ac_pt_TAR
+  fi
+else
+  TAR="$ac_cv_path_TAR"
+fi
+
+ if test x"$TAR" = x ; then
+   { { echo "$as_me:$LINENO: error: tar program not found in PATH" >&5
+echo "$as_me: error: tar program not found in PATH" >&2;}
    { (exit 1); exit 1; }; }
  fi
 
@@ -4664,6 +4555,224 @@
 
 
 if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}md5sum", so it can be a program name with args.
+set dummy ${ac_tool_prefix}md5sum; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_MD5SUM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MD5SUM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MD5SUM="$MD5SUM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MD5SUM="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+MD5SUM=$ac_cv_path_MD5SUM
+if test -n "$MD5SUM"; then
+  { echo "$as_me:$LINENO: result: $MD5SUM" >&5
+echo "${ECHO_T}$MD5SUM" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_MD5SUM"; then
+  ac_pt_MD5SUM=$MD5SUM
+  # Extract the first word of "md5sum", so it can be a program name with args.
+set dummy md5sum; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_MD5SUM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_MD5SUM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_MD5SUM="$ac_pt_MD5SUM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_MD5SUM="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_MD5SUM=$ac_cv_path_ac_pt_MD5SUM
+if test -n "$ac_pt_MD5SUM"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_MD5SUM" >&5
+echo "${ECHO_T}$ac_pt_MD5SUM" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_pt_MD5SUM" = x; then
+    MD5SUM=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    MD5SUM=$ac_pt_MD5SUM
+  fi
+else
+  MD5SUM="$ac_cv_path_MD5SUM"
+fi
+
+ if test x"$MD5SUM" = x ; then
+   { { echo "$as_me:$LINENO: error: md5sum program not found in PATH" >&5
+echo "$as_me: error: md5sum program not found in PATH" >&2;}
+   { (exit 1); exit 1; }; }
+ fi
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args.
+set dummy ${ac_tool_prefix}wget; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_WGET+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $WGET in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_WGET="$WGET" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+WGET=$ac_cv_path_WGET
+if test -n "$WGET"; then
+  { echo "$as_me:$LINENO: result: $WGET" >&5
+echo "${ECHO_T}$WGET" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_WGET"; then
+  ac_pt_WGET=$WGET
+  # Extract the first word of "wget", so it can be a program name with args.
+set dummy wget; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_WGET+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_WGET in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_WGET="$ac_pt_WGET" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_WGET="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_WGET=$ac_cv_path_ac_pt_WGET
+if test -n "$ac_pt_WGET"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_WGET" >&5
+echo "${ECHO_T}$ac_pt_WGET" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_pt_WGET" = x; then
+    WGET=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    WGET=$ac_pt_WGET
+  fi
+else
+  WGET="$ac_cv_path_WGET"
+fi
+
+ if test x"$WGET" = x ; then
+   { { echo "$as_me:$LINENO: error: wget program not found in PATH" >&5
+echo "$as_me: error: wget program not found in PATH" >&2;}
+   { (exit 1); exit 1; }; }
+ fi
+
+
+if test -n "$ac_tool_prefix"; then
   for ac_prog in fastjar jar
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
@@ -7049,118 +7158,6 @@
   fi
 
 
-if test "$ALT_OPENJDK_SRC_ZIP" = "not specified"; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}hg", so it can be a program name with args.
-set dummy ${ac_tool_prefix}hg; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_MERCURIAL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $MERCURIAL in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_MERCURIAL="$MERCURIAL" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_MERCURIAL="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-MERCURIAL=$ac_cv_path_MERCURIAL
-if test -n "$MERCURIAL"; then
-  { echo "$as_me:$LINENO: result: $MERCURIAL" >&5
-echo "${ECHO_T}$MERCURIAL" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_MERCURIAL"; then
-  ac_pt_MERCURIAL=$MERCURIAL
-  # Extract the first word of "hg", so it can be a program name with args.
-set dummy hg; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_ac_pt_MERCURIAL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $ac_pt_MERCURIAL in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_MERCURIAL="$ac_pt_MERCURIAL" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_MERCURIAL="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_MERCURIAL=$ac_cv_path_ac_pt_MERCURIAL
-if test -n "$ac_pt_MERCURIAL"; then
-  { echo "$as_me:$LINENO: result: $ac_pt_MERCURIAL" >&5
-echo "${ECHO_T}$ac_pt_MERCURIAL" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_pt_MERCURIAL" = x; then
-    MERCURIAL=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    MERCURIAL=$ac_pt_MERCURIAL
-  fi
-else
-  MERCURIAL="$ac_cv_path_MERCURIAL"
-fi
-
- if test x"$MERCURIAL" = x ; then
-   { { echo "$as_me:$LINENO: error: hg program not found in PATH" >&5
-echo "$as_me: error: hg program not found in PATH" >&2;}
-   { (exit 1); exit 1; }; }
- fi
-
-
-fi
-
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -10873,12 +10870,12 @@
 am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
 FIND!$FIND$ac_delim
 PATCH!$PATCH$ac_delim
-ZIP!$ZIP$ac_delim
-UNZIP!$UNZIP$ac_delim
+TAR!$TAR$ac_delim
 CHMOD!$CHMOD$ac_delim
+MD5SUM!$MD5SUM$ac_delim
+WGET!$WGET$ac_delim
 FASTJAR!$FASTJAR$ac_delim
 ac_ct_FASTJAR!$ac_ct_FASTJAR$ac_delim
-GAWK!$GAWK$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -10920,6 +10917,7 @@
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+GAWK!$GAWK$ac_delim
 SYSTEM_GCJ_DIR!$SYSTEM_GCJ_DIR$ac_delim
 SYSTEM_ICEDTEA_DIR!$SYSTEM_ICEDTEA_DIR$ac_delim
 SYSTEM_ANT_DIR!$SYSTEM_ANT_DIR$ac_delim
@@ -10956,7 +10954,6 @@
 ZERO_BUILD_FALSE!$ZERO_BUILD_FALSE$ac_delim
 CORE_BUILD_TRUE!$CORE_BUILD_TRUE$ac_delim
 CORE_BUILD_FALSE!$CORE_BUILD_FALSE$ac_delim
-MERCURIAL!$MERCURIAL$ac_delim
 CPP!$CPP$ac_delim
 GREP!$GREP$ac_delim
 EGREP!$EGREP$ac_delim
--- a/configure.ac	Fri Feb 15 11:13:14 2008 -0500
+++ b/configure.ac	Fri Feb 15 11:58:44 2008 -0500
@@ -11,9 +11,10 @@
 
 FIND_TOOL([FIND], [find])
 FIND_TOOL([PATCH], [patch])
-FIND_TOOL([ZIP], [zip])
-FIND_TOOL([UNZIP], [unzip])
+FIND_TOOL([TAR], [tar])
 FIND_TOOL([CHMOD], [chmod])
+FIND_TOOL([MD5SUM], [md5sum])
+FIND_TOOL([WGET], [wget])
 AC_CHECK_TOOLS([FASTJAR], [fastjar jar])
 if test "x$FASTJAR" = x; then
 	AC_MSG_ERROR([Can't find fastjar or jar])
@@ -130,10 +131,6 @@
 ENABLE_ZERO_BUILD
 SET_CORE_BUILD
 
-if test "$ALT_OPENJDK_SRC_ZIP" = "not specified"; then
-  FIND_TOOL([MERCURIAL], [hg])
-fi
-
 dnl pkgconfig cannot be used to finid these headers and libraries.
 AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
 	,[AC_MSG_ERROR("CUPS headers were not found - 
--- a/gcjwebplugin.cc	Fri Feb 15 11:13:14 2008 -0500
+++ b/gcjwebplugin.cc	Fri Feb 15 11:58:44 2008 -0500
@@ -102,8 +102,7 @@
   "application/x-java-applet;version=1.4.2:class,jar:IcedTea;"         \
   "application/x-java-applet;version=1.5:class,jar:IcedTea;"           \
   "application/x-java-applet;version=1.6:class,jar:IcedTea;"           \
-  "application/x-java-applet;version=1.7:class,jar:IcedTea;"           \
-  "application/x-java-applet;jpi-version=1.7.0_00:class,jar:IcedTea;"  \
+  "application/x-java-applet;jpi-version=1.6.0_00:class,jar:IcedTea;"  \
   "application/x-java-bean:class,jar:IcedTea;"                         \
   "application/x-java-bean;version=1.1:class,jar:IcedTea;"             \
   "application/x-java-bean;version=1.1.1:class,jar:IcedTea;"           \
@@ -119,8 +118,7 @@
   "application/x-java-bean;version=1.4.2:class,jar:IcedTea;"           \
   "application/x-java-bean;version=1.5:class,jar:IcedTea;"             \
   "application/x-java-bean;version=1.6:class,jar:IcedTea;"             \
-  "application/x-java-bean;version=1.7:class,jar:IcedTea;"             \
-  "application/x-java-bean;jpi-version=1.7.0_00:class,jar:IcedTea;"
+  "application/x-java-bean;jpi-version=1.6.0_00:class,jar:IcedTea;"
 #define PLUGIN_URL NS_INLINE_PLUGIN_CONTRACTID_PREFIX NS_JVM_MIME_TYPE
 #define PLUGIN_MIME_TYPE "application/x-java-vm"
 #define PLUGIN_FILE_EXTS "class,jar,zip"
Binary file generated/sun/awt/X11/generator/sizer.32 has changed
--- a/generated/sun/awt/X11/generator/sizer.32.c	Fri Feb 15 11:13:14 2008 -0500
+++ b/generated/sun/awt/X11/generator/sizer.32.c	Fri Feb 15 11:58:44 2008 -0500
@@ -6,28 +6,12 @@
 #include <X11/Xatom.h>
 #include <stdio.h>
 
+#include <Xm/MwmUtil.h>
 #include <X11/extensions/Xdbe.h>
 #include "awt_p.h"
 #include "color.h"
 #include "colordata.h"
 
-typedef struct
-
-{
-
-    unsigned long flags;
-
-    unsigned long functions;
-
-    unsigned long decorations;
-
-    long inputMode;
-
-    unsigned long status;
-
-} PropMwmHints;
-
-
 
 int main(){
 Screen  temp0;
--- a/patches/icedtea-ant.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-ant.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -33,7 +33,7 @@
  # Default target and expected 'do everything' target
 --- openjdk/jaxp/make/Makefile.orig	2007-10-14 21:50:24.000000000 -0400
 +++ openjdk/jaxp/make/Makefile	2007-10-14 21:50:56.000000000 -0400
-@@ -100,16 +100,9 @@
+@@ -99,16 +99,9 @@
    ANT_OPTIONS += -Dfindbugs.home=$(FINDBUGS_HOME)
  endif
  
@@ -74,7 +74,7 @@
    ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR)
  endif
  
-@@ -100,16 +101,9 @@
+@@ -99,16 +100,9 @@
    ANT_OPTIONS += -Dfindbugs.home=$(FINDBUGS_HOME)
  endif
  
--- a/patches/icedtea-bytebuffer-compact.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-bytebuffer-compact.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,6 +1,6 @@
 --- ../openjdkb23/openjdk.old/jdk/src/share/classes/java/nio/Buffer.java	2007-10-30 04:36:08.000000000 -0400
 +++ openjdk/jdk/src/share/classes/java/nio/Buffer.java	2007-11-13 13:33:28.000000000 -0500
-@@ -235,8 +235,8 @@
+@@ -234,8 +234,8 @@
          if ((newPosition > limit) || (newPosition < 0))
              throw new IllegalArgumentException();
          position = newPosition;
@@ -11,7 +11,7 @@
      }
  
      /**
-@@ -267,8 +267,8 @@
+@@ -266,8 +266,8 @@
              throw new IllegalArgumentException();
          limit = newLimit;
          if (position > limit) position = limit;
@@ -22,7 +22,7 @@
      }
  
      /**
-@@ -320,8 +320,8 @@
+@@ -319,8 +319,8 @@
      public final Buffer clear() {
          position = 0;
          limit = capacity;
@@ -33,7 +33,7 @@
      }
  
      /**
-@@ -348,7 +348,7 @@
+@@ -347,7 +347,7 @@
      public final Buffer flip() {
          limit = position;
          position = 0;
@@ -42,7 +42,7 @@
          return this;
      }
  
-@@ -369,7 +369,7 @@
+@@ -367,7 +367,7 @@
       */
      public final Buffer rewind() {
          position = 0;
--- a/patches/icedtea-bytecodeInterpreter.patch	Fri Feb 15 11:13:14 2008 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-diff -r b3238230c1ef openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp
---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp	Fri Nov 02 10:14:32 2007 +0000
-+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp	Fri Nov 02 10:15:45 2007 +0000
-@@ -60,7 +60,6 @@
- };
- 
- class BytecodeInterpreter : StackObj {
--friend class SharedRuntime;
- friend class AbstractInterpreterGenerator;
- friend class CppInterpreterGenerator;
- friend class InterpreterGenerator;
-diff -r bae119bcbcd0 openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Nov 02 15:08:47 2007 +0000
-+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	Fri Nov 02 15:21:08 2007 +0000
-@@ -518,16 +518,16 @@
- 
- /* 0xC0 */ &&opc_checkcast,   &&opc_instanceof,     &&opc_monitorenter, &&opc_monitorexit,
- /* 0xC4 */ &&opc_wide,        &&opc_multianewarray, &&opc_ifnull,       &&opc_ifnonnull,
--/* 0xC8 */ &&opc_goto_w,      &&opc_jsr_w,          &&opc_breakpoint,   &&opc_fast_igetfield,
--/* 0xCC */ &&opc_fastagetfield,&&opc_fast_aload_0,  &&opc_fast_iaccess_0, &&opc__fast_aaccess_0,
--
--/* 0xD0 */ &&opc_fast_linearswitch, &&opc_fast_binaryswitch, &&opc_return_register_finalizer,      &&opc_default,
-+/* 0xC8 */ &&opc_goto_w,      &&opc_jsr_w,          &&opc_breakpoint,   &&opc_default,
-+/* 0xCC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
-+
-+/* 0xD0 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- /* 0xD4 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- /* 0xD8 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- /* 0xDC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- 
- /* 0xE0 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
--/* 0xE4 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
-+/* 0xE4 */ &&opc_default,     &&opc_return_register_finalizer, &&opc_default, &&opc_default,
- /* 0xE8 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- /* 0xEC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default,
- 
--- a/patches/icedtea-bytecodeInterpreterWithChecks.patch	Fri Feb 15 11:13:14 2008 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
---- openjdk.old/hotspot/src/share/vm/interpreter/bytecodeInterpreterWithChecks.xsl      2007-10-12 03:46:08.000000000 -0400
-+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreterWithChecks.xsl      2007-10-29 11:57:33.000000000 -0400
-@@ -6,6 +6,7 @@
-
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-+<xsl:output method="text" indent="no" omit-xml-declaration="yes"/>
- <xsl:template match="processcode">
- <xsl:text>
- #define VM_JVMTI
-@@ -15,7 +16,6 @@
-
- </xsl:text>
-
--<xsl:output method="text" indent="no" omit-xml-declaration="yes"/>
- </xsl:template>
-
- </xsl:stylesheet>
--- a/patches/icedtea-certbundle.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-certbundle.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,7 +1,7 @@
 diff -urN 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	2007-10-12 03:46:00.000000000 -0400
 +++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2007-10-12 18:24:12.000000000 -0400
-@@ -373,6 +379,20 @@
+@@ -376,6 +382,20 @@
      }
    }
  
--- a/patches/icedtea-copy-plugs.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-copy-plugs.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,7 +1,41 @@
-diff -urN openjdk.orig/jdk/make/common/internal/BinaryPlugs.gmk openjdk/jdk/make/common/internal/BinaryPlugs.gmk
---- openjdk.orig/jdk/make/common/internal/BinaryPlugs.gmk	2007-10-12 03:54:05.000000000 -0400
-+++ openjdk/jdk/make/common/internal/BinaryPlugs.gmk	2007-10-12 17:23:25.000000000 -0400
-@@ -51,8 +51,6 @@
+diff -urN openjdk.orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java openjdk/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java
+--- openjdk.orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java	2007-10-12 04:01:56.000000000 -0400
++++ openjdk/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java	2007-10-12 17:17:28.000000000 -0400
+@@ -78,6 +78,9 @@
+      */
+     public long            timeStamp ;
+ 
++    // TODO: IcedTea: I am a stub.
++    static public int trapAuthenticationFailure = 0;
++
+ 
+ 
+     /**
+--- openjdk.orig/jdk/src/share/classes/java/beans/MetaData.java	2008-02-14 16:23:01.000000000 -0500
++++ openjdk/jdk/src/share/classes/java/beans/MetaData.java	2008-02-14 16:22:15.000000000 -0500
+@@ -1628,7 +1628,7 @@
+     }
+ 
+     private static String[] getAnnotationValue(Constructor<?> constructor) {
+-        ConstructorProperties annotation = constructor.getAnnotation(ConstructorProperties.class);
++        ConstructorProperties annotation = ((ConstructorProperties) constructor.getAnnotation(ConstructorProperties.class));
+         return (annotation != null)
+                 ? annotation.value()
+                 : null;
+--- penjdk6/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java	2008-02-12 04:05:12.000000000 -0500
++++ openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java	2008-02-14 17:27:39.000000000 -0500
+@@ -1154,7 +1154,7 @@
+             Set<BitSet> getterIndexSets = newSet();
+             for (Constructor<?> constr : annotatedConstrList) {
+                 String[] propertyNames =
+-                    constr.getAnnotation(propertyNamesClass).value();
++		    ((ConstructorProperties)constr.getAnnotation(propertyNamesClass)).value();
+ 
+                 Type[] paramTypes = constr.getGenericParameterTypes();
+                 if (paramTypes.length != propertyNames.length) {
+--- openjdk6/jdk/make/common/internal/BinaryPlugs.gmk	2008-02-12 04:03:53.000000000 -0500
++++ openjdk/jdk/make/common/internal/BinaryPlugs.gmk	2008-02-15 10:42:22.000000000 -0500
+@@ -51,28 +51,19 @@
  com/sun/jmx/snmp/SnmpDataTypeEnums.class \
  com/sun/jmx/snmp/SnmpDefinitions.class \
  com/sun/jmx/snmp/SnmpOid.class \
@@ -10,7 +44,10 @@
  com/sun/jmx/snmp/SnmpOidRecord.class \
  com/sun/jmx/snmp/SnmpOidTable.class \
  com/sun/jmx/snmp/SnmpOidTableSupport.class \
-@@ -62,17 +60,9 @@
+ com/sun/jmx/snmp/SnmpParameters.class \
+ com/sun/jmx/snmp/SnmpPduPacket.class \
+ com/sun/jmx/snmp/SnmpPeer.class \
++rt/com/sun/jmx/snmp/SnmpSession.class \
  com/sun/jmx/snmp/SnmpTimeticks.class \
  com/sun/jmx/snmp/SnmpVarBind.class \
  com/sun/jmx/snmp/SnmpVarBindList.class \
@@ -29,7 +66,7 @@
  
  PLUG_SOUND_CLASS_NAMES = \
  com/sun/media/sound/AbstractPlayer.class \
-@@ -130,9 +120,6 @@
+@@ -130,9 +121,6 @@
  java/awt/color/CMMException.class \
  java/awt/color/ColorSpace.class \
  java/awt/color/ICC_ColorSpace.class \
@@ -39,21 +76,19 @@
  java/awt/color/ICC_Profile.class \
  java/awt/color/ICC_ProfileGray.class \
  java/awt/color/ICC_ProfileRGB.class \
-@@ -160,10 +147,12 @@
- java/awt/image/renderable/RenderableImageProducer.class \
- java/awt/image/renderable/RenderedImageFactory.class
+@@ -162,8 +150,10 @@
+ 
+ # Class list temp files (used by both import and export of plugs)
  
 +PLUG_GNU_CLASS_NAMES = gnu
 +
- # Class list temp files (used by both import and export of plugs)
- 
  PLUG_TEMPDIR=$(ABS_TEMPDIR)/plugs
 -PLUG_CLASS_AREAS = jmf sound awt
 +PLUG_CLASS_AREAS = jmf sound awt gnu
  PLUG_CLISTS = $(PLUG_CLASS_AREAS:%=$(PLUG_TEMPDIR)/%.clist)
  
  # Create jargs file command
-@@ -191,6 +180,11 @@
+@@ -191,6 +181,11 @@
  	@for i in $(PLUG_AWT_CLASS_NAMES) ; do \
  	  $(ECHO) "$$i" >> $@ ; \
  	done
@@ -65,7 +100,7 @@
  $(PLUG_TEMPDIR)/all.clist: $(PLUG_CLISTS)
  	@$(prep-target)
  	$(CAT) $(PLUG_CLISTS) > $@
-@@ -200,6 +194,8 @@
+@@ -200,6 +195,8 @@
  	$(plug-create-jargs)
  $(PLUG_TEMPDIR)/awt.jargs: $(PLUG_TEMPDIR)/awt.clist
  	$(plug-create-jargs)
@@ -74,7 +109,7 @@
  $(PLUG_TEMPDIR)/all.jargs: $(PLUG_TEMPDIR)/all.clist
  	$(plug-create-jargs)
  
-@@ -224,9 +220,9 @@
+@@ -229,9 +226,9 @@
  # Import classes command
  
  define import-binary-plug-classes
@@ -85,8 +120,8 @@
 +($(CD) $(CLASSDESTDIR) && $(BOOT_JAR_CMD) xf $(PLUG_IMPORT_JARFILE) `$(CAT) $1`)
  endef # import-binary-plug-classes
  
- # Import specific area classes (the classes are always created)
-@@ -237,13 +233,16 @@
+ else # IMPORT_BINARY_PLUGS
+@@ -263,13 +260,16 @@
  	$(call import-binary-plug-classes,$(PLUG_TEMPDIR)/sound.clist)
  import-binary-plug-awt-classes: $(PLUG_IMPORT_JARFILE) $(PLUG_TEMPDIR)/awt.clist
  	$(call import-binary-plug-classes,$(PLUG_TEMPDIR)/awt.clist)
@@ -100,44 +135,7 @@
  	     import-binary-plug-sound-classes \
 -	     import-binary-plug-awt-classes
 +	     import-binary-plug-awt-classes \
-+	     import-binary-plug-gnu-classes
++             import-binary-plug-gnu-classes
  
  # Import native libraries
  
-diff -urN openjdk.orig/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java
---- openjdk.orig/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java	2007-10-12 04:01:55.000000000 -0400
-+++ openjdk/jdk/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java	2007-10-12 17:17:28.000000000 -0400
-@@ -1154,7 +1154,7 @@
-             Set<BitSet> getterIndexSets = newSet();
-             for (Constructor constr : annotatedConstrList) {
-                 String[] propertyNames =
--                    constr.getAnnotation(propertyNamesClass).value();
-+                    ((ConstructorProperties)constr.getAnnotation(propertyNamesClass)).value();
- 
-                 Type[] paramTypes = constr.getGenericParameterTypes();
-                 if (paramTypes.length != propertyNames.length) {
-diff -urN openjdk.orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java openjdk/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java
---- openjdk.orig/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java	2007-10-12 04:01:56.000000000 -0400
-+++ openjdk/jdk/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java	2007-10-12 17:17:28.000000000 -0400
-@@ -78,6 +78,9 @@
-      */
-     public long            timeStamp ;
- 
-+    // TODO: IcedTea: I am a stub.
-+    static public int trapAuthenticationFailure = 0;
-+
- 
- 
-     /**
---- openjdk.orig/j2se/src/share/classes/java/beans/MetaData.java        2007-10-12 04:02:14.000000000 -0400
-+++ openjdk/jdk/src/share/classes/java/beans/MetaData.java     2007-10-12 17:17:28.000000000 -0400
-@@ -1564,7 +1564,7 @@
-     }
-
-     private static String[] getAnnotationValue(Constructor constructor) {
--        ConstructorProperties annotation = constructor.getAnnotation(ConstructorProperties.class);
-+        ConstructorProperties annotation = ((ConstructorProperties) constructor.getAnnotation(ConstructorProperties.class));
-         return (annotation != null)
-                 ? annotation.value()
-                 : null;
-
--- a/patches/icedtea-core-build.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-core-build.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,6 +1,6 @@
-diff -ru openjdk.orig/control/make/hotspot-rules.gmk openjdk/control/make/hotspot-rules.gmk
---- openjdk.orig/control/make/hotspot-rules.gmk	2007-10-12 08:45:09.000000000 +0100
-+++ openjdk/make/hotspot-rules.gmk	2007-11-08 09:40:57.000000000 +0000
+diff -ru openjdk.orig/control/make/make/hotspot-rules.gmk openjdk/control/make/hotspot-rules.gmk
+--- openjdk.orig/control/make/make/hotspot-rules.gmk	2007-10-12 08:45:09.000000000 +0100
++++ openjdk/control/make/make/hotspot-rules.gmk	2007-11-08 09:40:57.000000000 +0000
 @@ -72,6 +72,10 @@
    HOTSPOT_TARGET = all_fastdebug
  endif
@@ -12,96 +12,6 @@
  HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS)
  HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR)
  HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH)
-diff -ru openjdk.orig/hotspot/make/Makefile openjdk/hotspot/make/Makefile
---- openjdk.orig/hotspot/make/Makefile	2007-10-30 08:46:19.000000000 +0000
-+++ openjdk/hotspot/make/Makefile	2007-11-21 16:10:20.000000000 +0000
-@@ -91,6 +91,15 @@
- all_debug:     jvmg jvmg1 jvmgkernel docs export_debug
- all_optimized: optimized optimized1 optimizedkernel docs export_optimized
- 
-+# Core (non-compiler) targets made available with this Makefile
-+CORE_VM_TARGETS=productcore fastdebugcore optimizedcore jvmgcore
-+
-+allcore:           all_productcore all_fastdebugcore
-+all_productcore:   productcore docs export_product
-+all_fastdebugcore: fastdebugcore docs export_fastdebug
-+all_debugcore:     jvmgcore docs export_debug
-+all_optimizedcore: optimizedcore docs export_optimized
-+
- # Do everything
- world:         all create_jdk
- 
-@@ -117,6 +126,10 @@
- 	$(CD) $(GAMMADIR)/make; \
- 	$(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT)
- 
-+$(CORE_VM_TARGETS):
-+	$(CD) $(GAMMADIR)/make; \
-+	$(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT)
-+
- # Build compiler1 (client) rule, different for platforms
- generic_build1:
- 	$(MKDIR) -p $(OUTPUTDIR)
-@@ -177,6 +190,12 @@
- 	@$(ECHO) "No kernel ($(VM_TARGET)) for OS_NAME=$(OSNAME)"
- endif
- 
-+generic_buildcore:
-+	$(MKDIR) -p $(OUTPUTDIR)
-+	$(CD) $(OUTPUTDIR); \
-+	    $(MAKE) -f $(ABS_OS_MAKEFILE) \
-+		      $(MAKE_ARGS) $(VM_TARGET)
-+
- # Export file rule
- generic_export: $(EXPORT_LIST)
- export_product:
-@@ -207,11 +226,17 @@
- C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1
- C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2
- KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel
-+CORE_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core
- C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
- C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
- KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
-+CORE_DIR=$(CORE_BASE_DIR)/$(VM_SUBDIR)
- 
--# Misc files and generated files need to come from C1 or C2 area
-+# Misc files and generated files need to come from the correct area
-+ifdef ICEDTEA_CORE_BUILD
-+  MISC_DIR=$(CORE_DIR)
-+  GEN_DIR=$(CORE_BASE_DIR)/generated
-+else
- ifeq ($(ARCH_DATA_MODEL), 32)
-   MISC_DIR=$(C1_DIR)
-   GEN_DIR=$(C1_BASE_DIR)/generated
-@@ -219,6 +244,7 @@
-   MISC_DIR=$(C2_DIR)
-   GEN_DIR=$(C2_BASE_DIR)/generated
- endif
-+endif
- 
- # Bin files (windows)
- ifeq ($(OSNAME),windows)
-@@ -272,6 +298,10 @@
- 	$(install-file)
- $(EXPORT_SERVER_DIR)/64/%.so:    $(C2_DIR)/%.so
- 	$(install-file)
-+$(EXPORT_CORE_DIR)/%.so:         $(CORE_DIR)/%.so
-+	$(install-file)
-+$(EXPORT_CORE_DIR)/64/%.so:      $(CORE_DIR)/%.so
-+	$(install-file)
- endif
- 
- # Jar file (sa-jdi.jar)
-@@ -296,7 +326,7 @@
- 	$(install-file)
- 
- # Xusage file
--$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE)
-+$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt $(EXPORT_CORE_DIR)/Xusage.txt: $(XUSAGE)
- 	$(prep-target)
- 	$(RM) $@.temp
- 	$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
 diff -u openjdk.orig/hotspot/build/linux/makefiles/defs.make openjdk/hotspot/build/linux/makefiles/defs.make
 --- openjdk.orig/hotspot/build/linux/makefiles/defs.make	2008-01-31 14:19:00.000000000 +0000
 +++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-02-01 15:57:40.000000000 +0000
@@ -123,26 +33,10 @@
      endif
  endif
 +endif
-diff -ru openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp openjdk/hotspot/src/share/vm/runtime/vm_version.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp	2007-10-12 08:46:18.000000000 +0100
-+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2007-11-08 09:40:57.000000000 +0000
-@@ -92,8 +92,12 @@
- #ifdef TIERED
-   #define VMTYPE "Server"
- #else
-+#if defined(COMPILER1) || defined(COMPILER2)
-   #define VMTYPE COMPILER1_PRESENT("Client")   \
-                  COMPILER2_PRESENT("Server")
-+#else
-+  #define VMTYPE "Core"
-+#endif // COMPILER1 || COMPILER2
- #endif // TIERED
- #endif // KERNEL
- 
 diff -ru openjdk.orig/jdk/make/common/shared/Defs-linux.gmk openjdk/jdk/make/common/shared/Defs-linux.gmk
 --- openjdk.orig/jdk/make/common/shared/Defs-linux.gmk	2008-01-31 14:20:37.000000000 +0000
 +++ openjdk/jdk/make/common/shared/Defs-linux.gmk	2008-02-04 10:06:07.000000000 +0000
-@@ -177,3 +177,13 @@
+@@ -202,3 +202,13 @@
  endif
  HOTSPOT_SERVER_PATH:=$(call AltCheckValue,HOTSPOT_SERVER_PATH)
  
@@ -334,3 +228,107 @@
  JVMLIB          = -L$(BOOTDIR)/jre/lib/$(LIBARCH)/$(VM_NAME) -ljvm
  JAVALIB         = -L$(BOOTDIR)/jre/lib/$(LIBARCH) -ljava $(JVMLIB)
  
+--- penjdk6//hotspot/make/Makefile	2008-02-12 04:14:16.000000000 -0500
++++ openjdk/hotspot/make/Makefile	2008-02-14 17:37:48.000000000 -0500
+@@ -90,6 +90,15 @@
+ all_debug:     jvmg jvmg1 docs export_debug
+ all_optimized: optimized optimized1 docs export_optimized
+ 
++# Core (non-compiler) targets made available with this Makefile
++CORE_VM_TARGETS=productcore fastdebugcore optimizedcore jvmgcore
++
++allcore:           all_productcore all_fastdebugcore
++all_productcore:   productcore docs export_product
++all_fastdebugcore: fastdebugcore docs export_fastdebug
++all_debugcore:     jvmgcore docs export_debug
++all_optimizedcore: optimizedcore docs export_optimized
++
+ # Do everything
+ world:         all create_jdk
+ 
+@@ -112,6 +121,10 @@
+ 	$(CD) $(GAMMADIR)/make; \
+ 	$(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT)
+ 
++$(CORE_VM_TARGETS):
++	$(CD) $(GAMMADIR)/make; \
++	$(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT)
++
+ # Build compiler1 (client) rule, different for platforms
+ generic_build1:
+ 	$(MKDIR) -p $(OUTPUTDIR)
+@@ -154,6 +167,12 @@
+ 		      $(MAKE_ARGS) $(VM_TARGET)
+ endif
+ 
++generic_buildcore:
++	$(MKDIR) -p $(OUTPUTDIR)
++	$(CD) $(OUTPUTDIR); \
++		$(MAKE) -f $(ABS_OS_MAKEFILE) \
++			$(MAKE_ARGS) $(VM_TARGET)
++
+ # Export file rule
+ generic_export: $(EXPORT_LIST)
+ export_product:
+@@ -183,10 +202,16 @@
+ DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs
+ C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1
+ C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2
++CORE_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core
+ C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
+ C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
++CORE_DIR=$(CORE_BASE_DIR)/$(VM_SUBDIR)
+ 
+-# Misc files and generated files need to come from C1 or C2 area
++# Misc files and generated files need to come from the correct area
++ifdef ICEDTEA_CORE_BUILD
++  MISC_DIR=$(CORE_DIR)
++  GEN_DIR=$(CORE_BASE_DIR)/generated
++else
+ ifeq ($(ARCH_DATA_MODEL), 32)
+   MISC_DIR=$(C1_DIR)
+   GEN_DIR=$(C1_BASE_DIR)/generated
+@@ -194,6 +219,7 @@
+   MISC_DIR=$(C2_DIR)
+   GEN_DIR=$(C2_BASE_DIR)/generated
+ endif
++endif
+ 
+ # Bin files (windows)
+ ifeq ($(OSNAME),windows)
+@@ -231,6 +257,10 @@
+ ifneq ($(OSNAME),windows)
+ $(EXPORT_JRE_LIB_ARCH_DIR)/%.so: $(C2_DIR)/%.so
+ 	$(install-file)
++$(EXPORT_CORE_DIR)/%.so:         $(CORE_DIR)/%.so
++	$(install-file)
++$(EXPORT_CORE_DIR)/64/%.so:      $(CORE_DIR)/%.so
++	$(install-file)
+ $(EXPORT_CLIENT_DIR)/%.so:       $(C1_DIR)/%.so
+ 	$(install-file)
+ $(EXPORT_CLIENT_DIR)/64/%.so:    $(C1_DIR)/%.so
+@@ -264,6 +294,7 @@
+ 
+ # Xusage file
+ $(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt: $(XUSAGE)
++$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt $(EXPORT_CORE_DIR)/Xusage.txt: $(XUSAGE)
+ 	$(prep-target)
+ 	$(RM) $@.temp
+ 	$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
+--- penjdk6/hotspot/src/share/vm/runtime/vm_version.cpp	2008-02-12 04:14:24.000000000 -0500
++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2008-02-14 17:39:45.000000000 -0500
+@@ -92,8 +92,12 @@
+ #ifdef TIERED
+   #define VMTYPE "Server"
+ #else
+-  #define VMTYPE COMPILER1_PRESENT("Client")   \
+-                 COMPILER2_PRESENT("Server")   
++#if defined(COMPILER1) || defined(COMPILER2)
++   #define VMTYPE COMPILER1_PRESENT("Client")   \
++                  COMPILER2_PRESENT("Server")
++#else
++  #define VMTYPE "Core"
++#endif // COMPILER1 || COMPILER2
+ #endif // TIERED
+ 
+ #ifndef HOTSPOT_VM_DISTRO
--- a/patches/icedtea-ecj.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-ecj.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -52,45 +52,6 @@
  all build::
  	$(SUBDIRS-loop)
  
---- openijdk/jdk/make/sun/xawt/Makefile	2007-10-12 03:54:08.000000000 -0400
-+++ openjdk-ecj/jdk/make/sun/xawt/Makefile	2007-10-19 15:58:04.000000000 -0400
-@@ -275,11 +275,7 @@
- 
- TEMPDIR_CLASSES = $(TEMPDIR)/classes
- 
--$(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class: ToBin.java
--	@$(prep-target)
--	$(BOOT_JAVAC_CMD) -d $(TEMPDIR_CLASSES) $<
--
--$(TEMPDIR)/.gen_icons: $(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class $(ICONS)
-+$(TEMPDIR)/.gen_icons: $(ICONS)
- 	$(prep-target)
- 	for i in $(ICONS); do \
-             filename=`basename $$i`; \
-@@ -289,20 +285,14 @@
- 	    $(ECHO) "package sun.awt.X11;" >> $$classname ; \
- 	    $(ECHO) "public class XAWTIcon32_$$name {" >> $$classname; \
- 	    $(ECHO) "public static int[] $$name = { " >> $$classname;  \
--	    $(CAT) $$i | \
--	      $(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES)  \
--		-Djava.awt.headless=true \
--		sun.awt.X11.ToBin >> $$classname; \
-+	    $(ECHO) "0,0" >> $$classname ;  \
- 	    $(ECHO) "}; }" >> $$classname;  \
--            classname=$(GEN_DIR)/XAWTIcon64_$$name.java; \
-+              classname=$(GEN_DIR)/XAWTIcon64_$$name.java; \
- 	    $(RM) $$classname; \
- 	    $(ECHO) "package sun.awt.X11;" >> $$classname ; \
- 	    $(ECHO) "public class XAWTIcon64_$$name {" >> $$classname; \
- 	    $(ECHO) "public static long[] $$name = { " >> $$classname;  \
--	    $(CAT) $$i | \
--	      $(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES)  \
--		-Djava.awt.headless=true \
--		sun.awt.X11.ToBin >> $$classname; \
-+	    $(ECHO) "0,0" >> $$classname ; \
- 	    $(ECHO) "}; }" >> $$classname;  \
- 	done
- 	$(TOUCH) $@
 --- openjdk.old/corba/make/org/omg/sources/Makefile	2007-10-12 03:49:14.000000000 -0400
 +++ openjdk-ecj/corba/make/org/omg/sources/Makefile	2007-10-30 11:57:03.000000000 -0400
 @@ -93,8 +93,6 @@
@@ -242,17 +203,6 @@
  		-o $(TEXT_CLASSDIR) \
  		-spec $(UNICODEDATA)/UnicodeData.txt
  	@$(java-vm-cleanup)
---- openjdk.old/corba/make/common/Defs-linux.gmk	2007-10-12 03:49:13.000000000 -0400
-+++ openjdk-ecj/corba/make/common/Defs-linux.gmk	2007-10-31 13:57:35.000000000 -0400
-@@ -260,7 +260,7 @@
-   VM_NAME       = server
- endif
- JVMLIB          = -L$(BOOTDIR)/jre/lib/$(LIBARCH)/$(VM_NAME) -ljvm
--JAVALIB         = -L$(BOOTDIR)/jre/lib/$(LIBARCH) -ljava $(JVMLIB)
-+JAVALIB         = -L$(BOOTDIR)/jre/lib/$(LIBARCH) -lgcj $(JVMLIB)
- 
- #
- # We want to privatize JVM symbols on Solaris. This is so the user can
 --- openjdk.old/jdk/make/java/nio/Makefile	2007-10-12 03:54:05.000000000 -0400
 +++ openjdk-ecj/jdk/make/java/nio/Makefile	2007-10-31 16:55:26.000000000 -0400
 @@ -31,7 +31,7 @@
@@ -659,19 +609,8 @@
  
  # JVM memory size
  javac.memoryInitialSize = 128m
---- opeinjdk/corba/make/common/shared/Defs-java.gmk     2007-10-12 03:49:14.000000000 -0400
-+++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk  2007-11-07 11:57:07.000000000 -0500
-@@ -117,7 +117,7 @@
- JAVACFLAGS  += $(OTHER_JAVACFLAGS)
-
- # Needed for javah
--JAVAHFLAGS += -bootclasspath $(CLASSBINDIR)
-+JAVAHFLAGS += -bootclasspath $(CLASSBINDIR):$(ICEDTEA_RT):$(ICEDTEA_JCE):$(CLASSDESTDIR)
-
- # Langtools
- ifdef LANGTOOLS_DIST
 --- oipenjdk/make/jdk-rules.gmk	2007-10-30 04:00:10.000000000 -0400
-+++ openjdk-ecj/make/jdk-rules.gmk	2007-11-13 14:54:50.000000000 -0500
++++ openjdk-ecj/control/make/make/jdk-rules.gmk	2007-11-13 14:54:50.000000000 -0500
 @@ -63,7 +63,7 @@
  endif
  
@@ -983,3 +922,104 @@
  endif
  
  ifdef ALT_OUTPUTDIR
+--- openjdk6/hotspot/build/linux/makefiles/sa.make	2008-02-12 04:14:13.000000000 -0500
++++ openjdk-ecj/hotspot/build/linux/makefiles/sa.make	2008-02-15 09:23:58.000000000 -0500
+@@ -72,7 +72,7 @@
+ 	$(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \
+ 	  mkdir -p $(SA_CLASSDIR);        \
+ 	fi
+-	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -g -d $(SA_CLASSDIR) $(AGENT_ALLFILES)
++	$(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -g -d $(SA_CLASSDIR) $(AGENT_ALLFILES)
+ 	$(QUIETLY) $(REMOTE) $(COMPILE.RMIC)  -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
+ 	$(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES)
+ 	$(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ .
+--- openoldjdk/jdk/make/sun/xawt/Makefile	2008-02-12 04:04:04.000000000 -0500
++++ openjdk-ecj/jdk/make/sun/xawt/Makefile	2008-02-15 09:48:16.000000000 -0500
+@@ -278,11 +278,7 @@
+ 
+ TEMPDIR_CLASSES = $(TEMPDIR)/classes
+ 
+-$(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class: ToBin.java
+-	@$(prep-target)
+-	$(BOOT_JAVAC_CMD) -d $(TEMPDIR_CLASSES) $<
+-
+-$(TEMPDIR)/.gen_icons: $(TEMPDIR_CLASSES)/sun/awt/X11/ToBin.class $(ICONS)
++$(TEMPDIR)/.gen_icons: $(ICONS)
+ 	$(prep-target)
+ 	for i in $(ICONS); do \
+             filename=`basename $$i`; \
+@@ -292,22 +288,14 @@
+ 	    $(ECHO) "package sun.awt.X11;" >> $$classname ; \
+ 	    $(ECHO) "public class XAWTIcon32_$$name {" >> $$classname; \
+ 	    $(ECHO) "public static int[] $$name = { " >> $$classname;  \
+-	    $(CAT) $$i | \
+-	      $(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES)  \
+-		-Dawt.toolkit=sun.awt.motif.MToolkit \
+-		-Djava.awt.headless=true \
+-		sun.awt.X11.ToBin >> $$classname; \
++	    $(ECHO) "0,0" >> $$classname ;  \
+ 	    $(ECHO) "}; }" >> $$classname;  \
+-            classname=$(GEN_DIR)/XAWTIcon64_$$name.java; \
++	    classname=$(GEN_DIR)/XAWTIcon64_$$name.java; \
+ 	    $(RM) $$classname; \
+ 	    $(ECHO) "package sun.awt.X11;" >> $$classname ; \
+ 	    $(ECHO) "public class XAWTIcon64_$$name {" >> $$classname; \
+ 	    $(ECHO) "public static long[] $$name = { " >> $$classname;  \
+-	    $(CAT) $$i | \
+-	      $(BOOT_JAVA_CMD) -cp $(TEMPDIR_CLASSES)  \
+-		-Dawt.toolkit=sun.awt.motif.MToolkit \
+-		-Djava.awt.headless=true \
+-		sun.awt.X11.ToBin >> $$classname; \
++	    $(ECHO) "0,0" >> $$classname ; \
+ 	    $(ECHO) "}; }" >> $$classname;  \
+ 	done
+ 	$(TOUCH) $@
+--- oldopenjdk/corba/make/common/shared/Defs-java.gmk	2008-02-12 04:15:10.000000000 -0500
++++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk	2008-02-15 11:01:50.000000000 -0500
+@@ -117,31 +117,13 @@
+ JAVACFLAGS  += $(OTHER_JAVACFLAGS)
+ 
+ # Needed for javah
+-JAVAHFLAGS += -bootclasspath $(CLASSBINDIR)
++JAVAHFLAGS += -bootclasspath $(CLASSBINDIR):$(ICEDTEA_RT):$(ICEDTEA_JCE):$(CLASSDESTDIR)
+ 
+-# Langtools
+-ifdef LANGTOOLS_DIST
+-  JAVAC_JAR   = $(LANGTOOLS_DIST)/bootstrap/lib/javac.jar
+-  JAVAH_JAR   = $(LANGTOOLS_DIST)/bootstrap/lib/javah.jar
+-  JAVADOC_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javadoc.jar
+-  DOCLETS_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/doclets.jar
+-  JAVAC_CMD   = $(BOOT_JAVA_CMD) \
+-		"-Xbootclasspath/p:$(JAVAC_JAR)" \
+-		-jar $(JAVAC_JAR) $(JAVACFLAGS)
+-  JAVAH_CMD   = $(BOOT_JAVA_CMD) \
+-		"-Xbootclasspath/p:$(JAVAH_JAR)$(CLASSPATH_SEPARATOR)$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)"  \
+-		-jar $(JAVAH_JAR) $(JAVAHFLAGS)
+-  JAVADOC_CMD = $(BOOT_JAVA_CMD) \
+-		"-Xbootclasspath/p:$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)$(CLASSPATH_SEPARATOR)$(DOCLETS_JAR)" \
+-		-jar $(JAVADOC_JAR)
+-else
+-  # If no explicit tools, use boot tools (add VM flags in this case)
+-  JAVAC_CMD     = $(JAVA_TOOLS_DIR)/javac $(JAVAC_JVM_FLAGS) \
++# If no explicit tools, use boot tools (add VM flags in this case)
++JAVAC_CMD     = $(JAVA_TOOLS_DIR)/javac $(JAVAC_JVM_FLAGS) \
+ 		  $(JAVACFLAGS)
+-  JAVAH_CMD     = $(JAVA_TOOLS_DIR)/javah \
++JAVAH_CMD     = $(JAVA_TOOLS_DIR)/javah \
+ 		  $(JAVAHFLAGS)
+-  JAVADOC_CMD   = $(JAVA_TOOLS_DIR)/javadoc $(JAVA_TOOLS_FLAGS:%=-J%)
+-endif
+ 
+ # Override of what javac to use (see deploy workspace)
+ ifdef JAVAC
+--- oldopenjdk/corba/make/common/Defs-linux.gmk	2008-02-15 11:02:45.000000000 -0500
++++ openjdk-ecj/corba/make/common/Defs-linux.gmk	2008-02-15 11:05:09.000000000 -0500
+@@ -261,7 +261,7 @@
+ 		    fi; \
+ 		  done)
+ JVMLIB          = -L$(BOOTDIR)/jre/lib/$(LIBARCH)/$(VM_NAME) -ljvm
+-JAVALIB         = -L$(BOOTDIR)/jre/lib/$(LIBARCH) -ljava $(JVMLIB)
++JAVALIB         = -L$(BOOTDIR)/jre/lib/$(LIBARCH) -lgcj $(JVMLIB)
+ 
+ #
+ # We want to privatize JVM symbols on Solaris. This is so the user can
--- a/patches/icedtea-gcc-4.3.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-gcc-4.3.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,6 +1,6 @@
 --- openjdk/hotspot/src/share/vm/adlc/adlc.hpp.ark	2008-01-11 14:15:41.000000000 +0000
 +++ openjdk/hotspot/src/share/vm/adlc/adlc.hpp	2008-01-11 14:16:14.000000000 +0000
-@@ -29,7 +29,7 @@
+@@ -32,7 +32,7 @@
  // standard library constants
  #include "stdio.h"
  #include "stdlib.h"
@@ -11,7 +11,7 @@
  #include <iostream.h>
 --- openjdk/hotspot/src/share/vm/adlc/filebuff.cpp.ark	2008-01-11 14:17:17.000000000 +0000
 +++ openjdk/hotspot/src/share/vm/adlc/filebuff.cpp	2008-01-11 14:17:34.000000000 +0000
-@@ -25,6 +25,8 @@
+@@ -28,6 +28,8 @@
  // FILEBUFF.CPP - Routines for handling a parser file buffer
  #include "adlc.hpp"
  
@@ -22,7 +22,7 @@
  FileBuff::FileBuff( BufferedFile *fptr, ArchDesc& archDesc) : _fp(fptr), _AD(archDesc) {
 --- openjdk/hotspot/src/share/vm/adlc/filebuff.hpp.ark	2008-01-11 14:14:45.000000000 +0000
 +++ openjdk/hotspot/src/share/vm/adlc/filebuff.hpp	2008-01-11 14:15:34.000000000 +0000
-@@ -24,7 +24,7 @@
+@@ -27,7 +27,7 @@
  
  // FILEBUFF.HPP - Definitions for parser file buffering routines
  
--- a/patches/icedtea-headers.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-headers.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,6 +1,6 @@
 --- ../openjdk-b20/openjdk/hotspot/build/linux/makefiles/jvmti.make     2007-09-13 03:46:41.000000000 -0400
 +++ openjdk/hotspot/build/linux/makefiles/jvmti.make        2007-09-14 12:03:41.000000000 -0400
-@@ -59,7 +59,7 @@
+@@ -57,7 +57,7 @@
 
  JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)
 
--- a/patches/icedtea-lib64.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-lib64.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,6 +1,6 @@
 --- origopenjdk/hotspot/src/os/linux/vm/os_linux.cpp	2008-01-04 18:11:53.000000000 -0500
 +++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2008-01-11 11:15:24.000000000 -0500
-@@ -268,7 +268,12 @@
+@@ -265,7 +265,12 @@
   *        ...
   *        7: The default directories, normally /lib and /usr/lib.
   */
--- a/patches/icedtea-libraries.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-libraries.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -9,20 +9,6 @@
  #
  # Add to ambient vpath to get files in a subdirectory
  #
---- oldopenjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2007-10-12 04:03:44.000000000 -0400
-+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2007-11-02 15:48:45.000000000 -0400
-@@ -87,11 +87,7 @@
- // bytes and byte arrays
- 
- typedef unsigned int uint;
--#ifdef _LP64
--typedef unsigned int uLong; // Historical zlib, should be 32-bit.
--#else
- typedef unsigned long uLong;
--#endif
- #ifdef _MSC_VER 
- typedef LONGLONG 	jlong;
- typedef DWORDLONG 	julong;
 --- openjdk.old/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2007-10-12 04:03:51.000000000 -0400
 +++ openjdk/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c	2007-10-22 12:50:36.000000000 -0400
 @@ -25,7 +25,7 @@
@@ -144,51 +130,6 @@
 -	infutil.c \
 -	inffast.c \
  	zip_util.c
---- openjdk.old/jdk/make/java/jli/Makefile	2007-10-12 03:54:05.000000000 -0400
-+++ openjdk/jdk/make/java/jli/Makefile	2007-10-22 14:36:25.000000000 -0400
-@@ -44,8 +44,6 @@
- 
- include $(BUILDDIR)/common/Defs.gmk
- 
--ZLIB_VERSION = 1.1.3
--ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
- LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
- LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin
- 
-@@ -66,15 +64,7 @@
- 	parse_manifest.c \
- 	version_comp.c \
- 	wildcard.c \
--	jli_util.c \
--	inflate.c \
--	infblock.c \
--	inftrees.c \
--	infcodes.c \
--	inffast.c \
--	infutil.c \
--	zadler32.c \
--	zutil.c
-+	jli_util.c
- 
- ifneq ($(PLATFORM), windows)
- 
-@@ -99,7 +89,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
--	LDLIBS = -ldl -lc
-+	LDLIBS = -lz -ldl -lc
- ifeq ($(USE_PTHREADS),true)
- 	LDLIBS += -lpthread
- endif # USE_PTHREADS 
-@@ -121,7 +111,6 @@
- 
- OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)
- OTHER_INCLUDES += -I$(LAUNCHER_PLATFORM_SRC)
--OTHER_INCLUDES += -I$(ZIP_SRC)
- 
- #
- # Library to compile.
 --- openjdk.old/jdk/src/share/native/java/util/zip/Inflater.c	2007-10-12 04:03:46.000000000 -0400
 +++ openjdk/jdk/src/share/native/java/util/zip/Inflater.c	2007-10-22 15:21:32.000000000 -0400
 @@ -35,7 +35,7 @@
@@ -24998,8 +24939,73 @@
  
    /* After finish_decompress, we can close the input file.
     * Here we postpone it until after no more JPEG errors are possible,
---- origopenjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2008-01-04 18:21:02.000000000 -0500
-+++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2008-01-13 23:53:42.000000000 -0500
+--- penjdk6/jdk/make/java/jli/Makefile	2008-02-12 04:03:55.000000000 -0500
++++ openjdk/jdk/make/java/jli/Makefile	2008-02-14 16:40:45.000000000 -0500
+@@ -44,8 +44,6 @@
+ 
+ include $(BUILDDIR)/common/Defs.gmk
+ 
+-ZLIB_VERSION = 1.1.3
+-ZIP_SRC = $(SHARE_SRC)/native/java/util/zip/zlib-$(ZLIB_VERSION)
+ LAUNCHER_SHARE_SRC = $(SHARE_SRC)/bin
+ LAUNCHER_PLATFORM_SRC = $(PLATFORM_SRC)/bin
+ 
+@@ -56,22 +54,14 @@
+ 	parse_manifest.c \
+ 	version_comp.c \
+ 	wildcard.c \
+-	jli_util.c \
+-	inflate.c \
+-	infblock.c \
+-	inftrees.c \
+-	infcodes.c \
+-	inffast.c \
+-	infutil.c \
+-	zadler32.c \
+-	zutil.c
++	jli_util.c
+ 
+ OTHER_CPPFLAGS += -DEXPAND_CLASSPATH_WILDCARDS
+ 
+ ifneq (,$(findstring $(PLATFORM), linux solaris))	# UNIX systems
+ 	LIB_LOCATION = $(LIBDIR)/$(LIBARCH)/jli
+ 	# Guarantee very limited dependencies
+-	LDLIBS = -lc
++	LDLIBS = -lz -lc 
+ endif
+ 
+ ifeq ($(PLATFORM), windows)
+@@ -98,7 +88,6 @@
+ 
+ OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)
+ OTHER_INCLUDES += -I$(LAUNCHER_PLATFORM_SRC)
+-OTHER_INCLUDES += -I$(ZIP_SRC)
+ 
+ #
+ # Library to compile.
+@@ -139,5 +128,5 @@
+ #
+ # Add to ambient vpath so we pick up the library files
+ #
+-vpath %.c $(LAUNCHER_SHARE_SRC) $(ZIP_SRC)
++vpath %.c $(LAUNCHER_SHARE_SRC)
+ 
+--- openjdk6/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2008-02-12 04:08:07.000000000 -0500
++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h	2008-02-14 16:57:24.000000000 -0500
+@@ -87,11 +87,7 @@
+ // bytes and byte arrays
+ 
+ typedef unsigned int uint;
+-#ifdef _LP64
+-typedef unsigned int uLong; // Historical zlib, should be 32-bit.
+-#else
+ typedef unsigned long uLong;
+-#endif
+ #ifdef _MSC_VER
+ typedef LONGLONG        jlong;
+ typedef DWORDLONG       julong;
+--- openjdk6/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2008-02-12 04:08:13.000000000 -0500
++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c	2008-02-14 22:45:27.000000000 -0500
 @@ -51,7 +51,9 @@
  
  /* headers from the JPEG library */
@@ -25074,7 +25080,7 @@
  /*
   * Defined in jpegdecoder.c.  Copy code from there if and
   * when that disappears. */
-@@ -606,7 +664,7 @@
+@@ -615,7 +673,7 @@
          return;
      }
  
@@ -25083,7 +25089,7 @@
  
  }
  
-@@ -631,7 +689,7 @@
+@@ -640,7 +698,7 @@
          return;
      }
  
@@ -25092,7 +25098,7 @@
  
  }
  
-@@ -649,7 +707,7 @@
+@@ -658,7 +716,7 @@
              free(cinfo->dest);
              cinfo->dest = NULL;
          }
@@ -25101,7 +25107,7 @@
          free(info);
      }
  }
-@@ -685,14 +743,14 @@
+@@ -694,14 +752,14 @@
              decomp = (j_decompress_ptr) cinfo;
              if (decomp->quant_tbl_ptrs[i] == NULL) {
                  decomp->quant_tbl_ptrs[i] =
@@ -25118,7 +25124,7 @@
              }
              quant_ptr = comp->quant_tbl_ptrs[i];
          }
-@@ -768,14 +826,14 @@
+@@ -777,14 +835,14 @@
              decomp = (j_decompress_ptr) cinfo;
              if (decomp->dc_huff_tbl_ptrs[i] == NULL) {
                  decomp->dc_huff_tbl_ptrs[i] =
@@ -25135,7 +25141,7 @@
              }
              huff_ptr = comp->dc_huff_tbl_ptrs[i];
          }
-@@ -789,14 +847,14 @@
+@@ -798,14 +856,14 @@
              decomp = (j_decompress_ptr) cinfo;
              if (decomp->ac_huff_tbl_ptrs[i] == NULL) {
                  decomp->ac_huff_tbl_ptrs[i] =
@@ -25152,7 +25158,7 @@
              }
              huff_ptr = comp->ac_huff_tbl_ptrs[i];
          }
-@@ -1337,6 +1395,8 @@
+@@ -1346,6 +1404,8 @@
       jclass ImageInputStreamClass,
       jclass qTableClass,
       jclass huffClass) {
@@ -25161,7 +25167,7 @@
  
      ImageInputStream_readID = (*env)->GetMethodID(env,
                                                    ImageInputStreamClass,
-@@ -1422,7 +1482,7 @@
+@@ -1431,7 +1491,7 @@
      }
  
      /* We set up the normal JPEG error routines, then override error_exit. */
@@ -25170,7 +25176,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;
-@@ -1439,11 +1499,11 @@
+@@ -1448,11 +1508,11 @@
      }
  
      /* Perform library initialization */
@@ -25184,7 +25190,7 @@
  
      /*
       * Now set up our source.
-@@ -1461,7 +1521,7 @@
+@@ -1470,7 +1530,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;
@@ -25193,7 +25199,7 @@
      cinfo->src->term_source = imageio_term_source;
  
      /* set up the association to persist for future calls */
-@@ -1579,7 +1639,7 @@
+@@ -1588,7 +1648,7 @@
          src->bytes_in_buffer = 0;
      }
  
@@ -25202,7 +25208,7 @@
  
      if (ret == JPEG_HEADER_TABLES_ONLY) {
          retval = JNI_TRUE;
-@@ -1700,7 +1760,7 @@
+@@ -1709,7 +1769,7 @@
                                 cinfo->num_components,
                                 read_icc_profile(env, cinfo));
          if (reset) {
@@ -25211,7 +25217,7 @@
          }
      }
  
-@@ -1896,7 +1956,7 @@
+@@ -1933,7 +1993,7 @@
                     TRUE);
      }
  
@@ -25220,7 +25226,7 @@
      if (progressive) {
          cinfo->buffered_image = TRUE;
          cinfo->input_scan_number = minProgressivePass+1; // Java count from 0
-@@ -1908,7 +1968,7 @@
+@@ -1945,7 +2005,7 @@
  
      data->streamBuf.suspendable = FALSE;
  
@@ -25229,7 +25235,7 @@
  
      // loop over progressive passes
      done = FALSE;
-@@ -1916,7 +1976,7 @@
+@@ -1953,7 +2013,7 @@
          if (progressive) {
              // initialize the next pass.  Note that this skips up to
              // the first interesting pass.
@@ -25238,7 +25244,7 @@
              if (wantUpdates) {
                  (*env)->CallVoidMethod(env, this,
                                         JPEGImageReader_passStartedID,
-@@ -1932,7 +1992,7 @@
+@@ -1969,7 +2029,7 @@
          // Skip until the first interesting line
          while ((data->abortFlag == JNI_FALSE)
                 && ((jint)cinfo->output_scanline < sourceYStart)) {
@@ -25247,7 +25253,7 @@
          }
  
          scanlineLimit = sourceYStart+sourceHeight;
-@@ -1945,7 +2005,7 @@
+@@ -1982,7 +2042,7 @@
          while ((data->abortFlag == JNI_FALSE)
                 && ((jint)cinfo->output_scanline < scanlineLimit)) {
  
@@ -25256,7 +25262,7 @@
  
              // Now mangle it into our buffer
              out = data->pixelBuf.buf.bp;
-@@ -1993,13 +2053,13 @@
+@@ -2037,13 +2097,13 @@
                  skipLines = linesLeft;
              }
              for(i = 0; i < skipLines; i++) {
@@ -25273,7 +25279,7 @@
                  || (cinfo->input_scan_number > maxProgressivePass)) {
                  done = TRUE;
              }
-@@ -2019,9 +2079,9 @@
+@@ -2063,9 +2123,9 @@
      if (cinfo->output_scanline == cinfo->output_height) {
          //    if ((cinfo->output_scanline == cinfo->output_height) &&
          //(jpeg_input_complete(cinfo))) {  // We read the whole file
@@ -25285,7 +25291,7 @@
      }
  
      free(scanLinePtr);
-@@ -2067,7 +2127,7 @@
+@@ -2111,7 +2171,7 @@
  
      cinfo = (j_decompress_ptr) data->jpegObj;
  
@@ -25294,7 +25300,7 @@
  }
  
  
-@@ -2273,6 +2333,143 @@
+@@ -2317,6 +2377,143 @@
  
  /********************** end of destination manager ************/
  
@@ -25438,7 +25444,7 @@
  /********************** Writer JNI calls **********************/
  
  
-@@ -2284,6 +2481,8 @@
+@@ -2328,6 +2525,8 @@
       jclass qTableClass,
       jclass huffClass) {
  
@@ -25447,7 +25453,7 @@
      ImageOutputStream_writeID = (*env)->GetMethodID(env,
                                                      IOSClass,
                                                      "write",
-@@ -2357,7 +2556,7 @@
+@@ -2401,7 +2600,7 @@
      }
  
      /* We set up the normal JPEG error routines, then override error_exit. */
@@ -25456,7 +25462,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;
-@@ -2374,7 +2573,7 @@
+@@ -2418,7 +2617,7 @@
      }
  
      /* Perform library initialization */
@@ -25465,7 +25471,7 @@
  
      /* Now set up the destination  */
      dest = malloc(sizeof(struct jpeg_destination_mgr));
-@@ -2483,7 +2682,7 @@
+@@ -2527,7 +2726,7 @@
          return;
      }
  
@@ -25474,7 +25480,7 @@
  
      data->streamBuf.suspendable = FALSE;
      if (qtables != NULL) {
-@@ -2498,7 +2697,7 @@
+@@ -2542,7 +2741,7 @@
                     DCHuffmanTables, ACHuffmanTables, TRUE);
      }
  
@@ -25483,7 +25489,7 @@
      RELEASE_ARRAYS(env, data, NULL);
  }
  
-@@ -2662,9 +2861,9 @@
+@@ -2698,9 +2897,9 @@
      cinfo->input_components = numBands;
      cinfo->in_color_space = inCs;
  
@@ -25495,7 +25501,7 @@
  
      cinfo->optimize_coding = optimize;
  
-@@ -2701,7 +2900,7 @@
+@@ -2737,7 +2936,7 @@
      (*env)->ReleaseIntArrayElements(env, QtableSelectors,
                                      qsels, JNI_ABORT);
  
@@ -25504,7 +25510,7 @@
  
      qlen = setQTables(env, (j_common_ptr) cinfo, qtables, writeDQT);
  
-@@ -2726,7 +2925,7 @@
+@@ -2762,7 +2961,7 @@
  
      if (progressive) {
          if (numScans == 0) { // then use default scans
@@ -25513,7 +25519,7 @@
          } else {
              cinfo->num_scans = numScans;
              // Copy the scanInfo to a local array
-@@ -2768,7 +2967,7 @@
+@@ -2804,7 +3003,7 @@
  #endif
  
      // start the compressor; tables must already be set
@@ -25522,7 +25528,7 @@
  
      if (haveMetadata) {
          // Flush the buffer
-@@ -2829,7 +3028,7 @@
+@@ -2868,7 +3067,7 @@
              }
          }
          // write it out
@@ -25531,7 +25537,7 @@
          targetLine += stepY;
      }
  
-@@ -2838,9 +3037,9 @@
+@@ -2877,9 +3076,9 @@
       * so use jpeg_abort instead of jpeg_finish_compress.
       */
      if (cinfo->next_scanline == cinfo->image_height) {
@@ -25541,5 +25547,5 @@
 -        jpeg_abort((j_common_ptr)cinfo);
 +        jpegabort((j_common_ptr)cinfo);
      }
- 
-     if (scale != NULL) {
+     free(scanLinePtr);
+     RELEASE_ARRAYS(env, data, NULL);
--- a/patches/icedtea-linker-options.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-linker-options.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -22,18 +22,6 @@
  LDFLAGS_COMMON  += $(LDFLAGS_DEFS_OPTION)
  
  #
-diff -ru openjdk.orig/jdk/make/common/Program.gmk openjdk/jdk/make/common/Program.gmk
---- openjdk.orig/jdk/make/common/Program.gmk	2007-11-08 13:45:46.000000000 +0000
-+++ openjdk/jdk/make/common/Program.gmk	2007-11-08 13:42:44.000000000 +0000
-@@ -85,7 +85,7 @@
- 	endif
-     endif
-     ifeq ($(PLATFORM), linux)
--	LDFLAGS += -lz -z origin
-+	LDFLAGS += -lz -Wl,-z -Wl,origin
- 	LDFLAGS += -Wl,--allow-shlib-undefined
- 	LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
- 	LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
 diff -ru openjdk.orig/jdk/make/java/instrument/Makefile openjdk/jdk/make/java/instrument/Makefile
 --- openjdk.orig/jdk/make/java/instrument/Makefile	2007-11-08 13:45:46.000000000 +0000
 +++ openjdk/jdk/make/java/instrument/Makefile	2007-11-08 13:42:25.000000000 +0000
--- a/patches/icedtea-memory-limits.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-memory-limits.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,18 +1,16 @@
-diff -urN openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
---- openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp	2007-10-12 03:45:58.000000000 -0400
-+++ openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp	2007-10-12 17:32:54.000000000 -0400
-@@ -98,7 +98,7 @@
+--- penjdk6/hotspot/src/cpu/i486/vm/c2_globals_i486.hpp	2008-02-12 04:14:17.000000000 -0500
++++ openjdk/hotspot/src/cpu/i486/vm/c2_globals_i486.hpp	2008-02-14 16:32:33.000000000 -0500
+@@ -79,6 +79,6 @@
+ define_pd_global(uintx,CodeCacheMinBlockLength,      4);
  
- // Heap related flags
  define_pd_global(uintx, PermSize,    ScaleForWordSize(16*M));
 -define_pd_global(uintx, MaxPermSize, ScaleForWordSize(64*M));
 +define_pd_global(uintx, MaxPermSize, ScaleForWordSize(128*M));
  
- // Ergonomics related flags
  define_pd_global(bool, NeverActAsServerClassMachine, false);
---- ../openijdkb23/openjdk/hotspot/src/share/vm/runtime/globals.hpp	2007-10-30 04:46:35.000000000 -0400
-+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp	2007-11-13 13:40:39.000000000 -0500
-@@ -2612,7 +2612,7 @@
+--- penjdk6/hotspot/src/share/vm/runtime/globals.hpp	2008-02-12 04:14:24.000000000 -0500
++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp	2008-02-14 16:34:00.000000000 -0500
+@@ -2606,7 +2606,7 @@
            "an OS lock")                                                     \
                                                                              \
    /* gc parameters */                                                       \
@@ -20,4 +18,4 @@
 +  product(uintx, MaxHeapSize, ScaleForWordSize(512*M),                       \
            "Default maximum size for object heap (in bytes)")                \
                                                                              \
-   product_pd(uintx, NewSize,                                                \
+   product_pd(uintx, NewSize, 						    \
--- a/patches/icedtea-plugin.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-plugin.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,7 +1,7 @@
 diff -urN openjdk.orig/jdk/make/sun/Makefile openjdk/jdk/make/sun/Makefile
 --- openjdk.orig/jdk/make/sun/Makefile	2007-10-12 03:54:06.000000000 -0400
 +++ openjdk/jdk/make/sun/Makefile	2007-10-12 17:39:04.000000000 -0400
-@@ -63,6 +63,7 @@
+@@ -66,6 +66,7 @@
            $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \
  	  font jpeg cmm applet rmi beans $(JDBC_SUBDIR) \
  	  jawt text nio launcher management $(ORG_SUBDIR) \
--- a/patches/icedtea-ports.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-ports.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,7 +1,7 @@
 diff -ru openjdk.orig/hotspot/build/linux/makefiles/buildtree.make openjdk/hotspot/build/linux/makefiles/buildtree.make
 --- openjdk.orig/hotspot/build/linux/makefiles/buildtree.make	2007-11-08 11:34:54.000000000 +0000
 +++ openjdk/hotspot/build/linux/makefiles/buildtree.make	2007-11-08 11:36:15.000000000 +0000
-@@ -317,6 +317,8 @@
+@@ -277,6 +277,8 @@
  DATA_MODE/sparcv9 = 64
  DATA_MODE/amd64   = 64
  DATA_MODE/ia64    = 64
@@ -10,33 +10,6 @@
  
  JAVA_FLAG/32 = -d32
  JAVA_FLAG/64 = -d64
-diff -ru openjdk.orig/hotspot/build/linux/makefiles/defs.make openjdk/hotspot/build/linux/makefiles/defs.make
---- openjdk.orig/hotspot/build/linux/makefiles/defs.make	2007-11-08 11:34:54.000000000 +0000
-+++ openjdk/hotspot/build/linux/makefiles/defs.make	2007-11-08 11:36:15.000000000 +0000
-@@ -87,6 +87,23 @@
-   HS_ARCH          = x86
- endif
- 
-+# ppc
-+ifeq ($(ARCH), ppc)
-+  ARCH_DATA_MODEL  = 32
-+  PLATFORM         = linux-ppc
-+  VM_PLATFORM      = linux_ppc
-+  HS_ARCH          = zero
-+endif
-+
-+# ppc64
-+ifeq ($(ARCH), ppc64)
-+  ARCH_DATA_MODEL  = 64
-+  MAKE_ARGS        += LP64=1
-+  PLATFORM         = linux-ppc64
-+  VM_PLATFORM      = linux_ppc64
-+  HS_ARCH          = zero
-+endif
-+
- JDK_INCLUDE_SUBDIR=linux
- 
- # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
 diff -ru openjdk.orig/hotspot/build/linux/makefiles/gcc.make openjdk/hotspot/build/linux/makefiles/gcc.make
 --- openjdk.orig/hotspot/build/linux/makefiles/gcc.make	2007-11-08 11:34:54.000000000 +0000
 +++ openjdk/hotspot/build/linux/makefiles/gcc.make	2007-11-08 11:36:15.000000000 +0000
@@ -81,67 +54,6 @@
  	   $(MAKE) -f vm.make $(LIBSAPROC); \
  	fi
  
-diff -ru openjdk.orig/hotspot/make/defs.make openjdk/hotspot/make/defs.make
---- openjdk.orig/hotspot/make/defs.make	2007-11-08 11:34:54.000000000 +0000
-+++ openjdk/hotspot/make/defs.make	2007-11-08 11:36:15.000000000 +0000
-@@ -191,15 +191,17 @@
- 
-   # Use uname output for SRCARCH, but deal with platform differences. If ARCH
-   # is not explicitly listed below, it is treated as x86. 
--  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64,$(ARCH)))
-+  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc ppc64,$(ARCH)))
-   ARCH/       = x86
-   ARCH/sparc  = sparc
-   ARCH/sparc64= sparc
-   ARCH/ia64   = ia64
-   ARCH/amd64  = x86
-   ARCH/x86_64 = x86
-+  ARCH/ppc    = zero
-+  ARCH/ppc64  = zero
- 
--  # BUILDARCH is usually the same as SRCARCH, except for sparcv9
-+  # BUILDARCH is usually the same as SRCARCH, except for sparcv9 and zero
-   BUILDARCH = $(SRCARCH)
-   ifeq ($(BUILDARCH), x86)
-     ifdef LP64
-@@ -213,6 +215,9 @@
-       BUILDARCH = sparcv9
-     endif
-   endif
-+  ifeq ($(BUILDARCH), zero)
-+    BUILDARCH = $(ARCH)
-+  endif
- 
-   # LIBARCH is 1:1 mapping from BUILDARCH
-   LIBARCH         = $(LIBARCH/$(BUILDARCH))
-@@ -221,8 +226,10 @@
-   LIBARCH/sparc   = sparc
-   LIBARCH/sparcv9 = sparcv9
-   LIBARCH/ia64    = ia64
-+  LIBARCH/ppc     = ppc
-+  LIBARCH/ppc64   = ppc64
- 
--  LP64_ARCH = sparcv9 amd64 ia64
-+  LP64_ARCH = sparcv9 amd64 ia64 ppc64
- endif
- 
- # Required make macro settings for all platforms
-diff -r e95eb2395f60 openjdk-ecj/hotspot/build/linux/makefiles/vm.make
---- openjdk/hotspot/build/linux/makefiles/vm.make	Fri Nov 09 16:35:08 2007 +0000
-+++ openjdk/hotspot/build/linux/makefiles/vm.make	Mon Nov 12 09:09:28 2007 +0000
-@@ -122,7 +122,11 @@ mapfile_reorder : mapfile $(REORDERFILE)
- 	rm -f $@
- 	cat $^ > $@
- 
--STATIC_CXX = true
-+ifeq ($(BUILDARCH), ppc64)
-+  STATIC_CXX = false
-+else
-+  STATIC_CXX = true
-+endif
- 
- ifeq ($(LINK_INTO),AOUT)
-   LIBJVM.o                 =
 diff -ru 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	2007-11-08 11:34:54.000000000 +0000
 +++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2007-11-08 11:36:15.000000000 +0000
@@ -168,31 +80,6 @@
  
      FILE *fp = fopen("/proc/meminfo", "r");
      if (fp) {
-diff -ru openjdk.orig/hotspot/src/share/vm/runtime/mutex.hpp openjdk/hotspot/src/share/vm/runtime/mutex.hpp
---- openjdk.orig/hotspot/src/share/vm/runtime/mutex.hpp	2007-11-08 11:34:54.000000000 +0000
-+++ openjdk/hotspot/src/share/vm/runtime/mutex.hpp	2007-11-08 11:36:15.000000000 +0000
-@@ -61,19 +61,15 @@
- } ; 
- 
- // Endian-ness ... index of least-significant byte in SplitWord.Bytes[]
--#ifdef AMD64        // little
-+#if defined(IA32) || defined(AMD64) || defined(IA64) // little
-  #define _LSBINDEX 0
- #else
--#if IA32            // little
-- #define _LSBINDEX 0
--#else
--#ifdef SPARC        // big
-+#if defined(SPARC) || defined(PPC) // big
-  #define _LSBINDEX (sizeof(intptr_t)-1)
- #else
-  #error "unknown architecture"
- #endif
- #endif
--#endif
- 
- class ParkEvent ;  
- 
 diff -ru openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp openjdk/hotspot/src/share/vm/runtime/vm_version.cpp
 --- openjdk.orig/hotspot/src/share/vm/runtime/vm_version.cpp	2007-11-08 11:34:54.000000000 +0000
 +++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2007-11-08 11:36:15.000000000 +0000
@@ -319,21 +206,6 @@
          ARCH_DATA_MODEL=32
        else
          ARCH_DATA_MODEL=64
-diff -r 29c822b7c8b2 openjdk-ecj/jdk/make/java/jli/Makefile
---- openjdk/jdk/make/java/jli/Makefile	Mon Nov 12 09:19:31 2007 +0000
-+++ openjdk/jdk/make/java/jli/Makefile	Mon Nov 12 09:24:13 2007 +0000
-@@ -50,7 +50,11 @@ ifeq ($(ARCH_FAMILY), amd64)
- ifeq ($(ARCH_FAMILY), amd64)
- ERGO_FAMILY=i586
- else
-+ifeq ($(ARCH_FAMILY), ppc64)
-+ERGO_FAMILY=ppc
-+else
- ERGO_FAMILY=$(ARCH_FAMILY)
-+endif
- endif
- 
- 
 diff -r 37a05a11f281 make/javax/sound/SoundDefs.gmk
 --- a/jdk/make/javax/sound/SoundDefs.gmk    Sat Dec 01 00:00:00 2007 +0000
 +++ openjdk/jdk/make/javax/sound/SoundDefs.gmk    Wed Jan 23 14:39:17 2008 +0100
@@ -482,3 +354,77 @@
          ARCH_DATA_MODEL=32
        else
          ARCH_DATA_MODEL=64
+--- openjdk6/hotspot/make/defs.make	2008-02-12 04:14:16.000000000 -0500
++++ openjdk/hotspot/make/defs.make	2008-02-14 22:18:56.000000000 -0500
+@@ -199,26 +199,31 @@
+   # Use uname output for SRCARCH, but deal with platform differences. If ARCH
+   # is not explicitly listed below, it is treated as i486. Also note amd64 is
+   # a separate src arch, so LP64 && i486 ==> amd64.
+-  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64,$(ARCH)))
++  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc ppc64,$(ARCH)))
+   ARCH/       = i486
+   ARCH/sparc  = sparc
+   ARCH/sparc64= sparc
+   ARCH/ia64   = ia64
+   ARCH/amd64  = amd64
+   ARCH/x86_64 = amd64
++  ARCH/ppc    = zero
++  ARCH/ppc64  = zero
+   ifdef LP64
+     ifeq ($(SRCARCH), i486)
+       SRCARCH = amd64
+     endif
+   endif
+ 
+-  # BUILDARCH is usually the same as SRCARCH, except for sparcv9
++  # BUILDARCH is usually the same as SRCARCH, except for sparcv9 and zero
+   BUILDARCH = $(SRCARCH)
+   ifdef LP64
+     ifeq ($(BUILDARCH), sparc)
+       BUILDARCH = sparcv9
+     endif
+   endif
++  ifeq ($(BUILDARCH), zero)
++    BUILDARCH = $(ARCH)
++  endif
+ 
+   # LIBARCH is 1:1 mapping from BUILDARCH
+   LIBARCH         = $(LIBARCH/$(BUILDARCH))
+@@ -227,8 +232,10 @@
+   LIBARCH/sparc   = sparc
+   LIBARCH/sparcv9 = sparcv9
+   LIBARCH/ia64    = ia64
++  LIBARCH/ppc     = ppc
++  LIBARCH/ppc64   = ppc64
+ 
+-  LP64_ARCH = sparcv9 amd64 ia64
++  LP64_ARCH = sparcv9 amd64 ia64 ppc64
+ endif
+ 
+ # Required make macro settings for all platforms
+--- defs.make	2008-02-14 22:26:27.000000000 -0500
++++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-02-14 22:26:58.000000000 -0500
+@@ -87,6 +87,23 @@
+   HS_ARCH          = i486
+ endif
+ 
++# ppc
++ifeq ($(ARCH), ppc)
++  ARCH_DATA_MODEL  = 32
++  PLATFORM         = linux-ppc
++  VM_PLATFORM      = linux_ppc
++  HS_ARCH          = zero
++endif
++
++# ppc64
++ifeq ($(ARCH), ppc64)
++  ARCH_DATA_MODEL  = 64
++  MAKE_ARGS        += LP64=1
++  PLATFORM         = linux-ppc64
++  VM_PLATFORM      = linux_ppc64
++  HS_ARCH          = zero
++endif
++
+ JDK_INCLUDE_SUBDIR=linux
+ 
+ # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
--- a/patches/icedtea-signature-iterator.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-signature-iterator.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,7 +1,7 @@
 diff -r ee6af95bc459 openjdk/hotspot/src/share/vm/interpreter/oopMapCache.cpp
 --- openjdk/hotspot/src/share/vm/interpreter/oopMapCache.cpp	Fri Nov 02 09:42:25 2007 +0000
 +++ openjdk/hotspot/src/share/vm/interpreter/oopMapCache.cpp	Fri Nov 02 09:44:37 2007 +0000
-@@ -281,7 +281,7 @@ class MaskFillerForNative: public Native
+@@ -284,7 +284,7 @@ class MaskFillerForNative: public Native
   public:
    void pass_int()                                { /* ignore */ }
    void pass_long()                               { /* ignore */ }
@@ -13,7 +13,7 @@
 diff -r ee6af95bc459 openjdk/hotspot/src/share/vm/runtime/signature.hpp
 --- openjdk/hotspot/src/share/vm/runtime/signature.hpp	Fri Nov 02 09:42:25 2007 +0000
 +++ openjdk/hotspot/src/share/vm/runtime/signature.hpp	Fri Nov 02 09:48:28 2007 +0000
-@@ -275,11 +275,14 @@ class NativeSignatureIterator: public Si
+@@ -278,11 +278,14 @@ class NativeSignatureIterator: public Si
  
    void do_bool  ()                     { pass_int();    _jni_offset++; _offset++;       }
    void do_char  ()                     { pass_int();    _jni_offset++; _offset++;       }
@@ -30,7 +30,7 @@
    void do_double()                     { pass_double(); _jni_offset += 2; _offset += 2; }
  #endif
    void do_byte  ()                     { pass_int();    _jni_offset++; _offset++;       }
-@@ -303,8 +306,10 @@ class NativeSignatureIterator: public Si
+@@ -306,8 +309,10 @@ class NativeSignatureIterator: public Si
    virtual void pass_int()              = 0;
    virtual void pass_long()             = 0;
    virtual void pass_object()           = 0;
--- a/patches/icedtea-signed-types.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-signed-types.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,7 +1,7 @@
 diff -r 9523b5ae0184 openjdk/hotspot/src/share/vm/asm/codeBuffer.hpp
 --- openjdk/hotspot/src/share/vm/asm/codeBuffer.hpp	Fri Nov 02 09:26:45 2007 +0000
 +++ openjdk/hotspot/src/share/vm/asm/codeBuffer.hpp	Fri Nov 02 09:39:12 2007 +0000
-@@ -81,7 +81,7 @@ class CodeSection VALUE_OBJ_CLASS_SPEC {
+@@ -84,7 +84,7 @@ class CodeSection VALUE_OBJ_CLASS_SPEC {
    address     _locs_point;      // last relocated position (grows upward)
    bool        _locs_own;        // did I allocate the locs myself?
    bool        _frozen;          // no more expansion of this section
@@ -10,15 +10,3 @@
    CodeBuffer* _outer;           // enclosing CodeBuffer
  
    // (Note:  _locs_point used to be called _last_reloc_offset.)
-diff -r 9523b5ae0184 openjdk/hotspot/src/share/vm/utilities/ostream.cpp
---- openjdk/hotspot/src/share/vm/utilities/ostream.cpp	Fri Nov 02 09:26:45 2007 +0000
-+++ openjdk/hotspot/src/share/vm/utilities/ostream.cpp	Fri Nov 02 09:37:53 2007 +0000
-@@ -829,7 +829,7 @@ bool networkStream::connect(const char *
-   server.sin_port = htons(port);
- 
-   server.sin_addr.s_addr = inet_addr(ip);
--  if (server.sin_addr.s_addr == (unsigned long)-1) {
-+  if (server.sin_addr.s_addr == (in_addr_t)-1) {
- #ifdef _WINDOWS
-     struct hostent* host = hpi::get_host_by_name((char*)ip);
- #else
--- a/patches/icedtea-ssl.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-ssl.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -8,7 +8,7 @@
  
  import javax.crypto.*;
  import javax.crypto.spec.*;
-@@ -685,8 +686,8 @@
+@@ -688,8 +683,8 @@
          SecretKey masterSecret;
          try {
              KeyGenerator kg = JsseJce.getKeyGenerator("SunTlsMasterSecret");
--- a/patches/icedtea-test-atomic-operations.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-test-atomic-operations.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,7 +1,7 @@
 diff -r d384f5a5bd0c hotspot/src/share/vm/prims/jni.cpp
 --- openjdk/hotspot/src/share/vm/prims/jni.cpp	Mon Aug 06 13:11:51 2007 +0100
 +++ openjdk/hotspot/src/share/vm/prims/jni.cpp	Fri Sep 14 09:58:33 2007 +0100
-@@ -3209,6 +3209,21 @@ _JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_
+@@ -3206,6 +3206,21 @@ _JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_
    jint result = JNI_ERR;
    DT_RETURN_MARK(CreateJavaVM, jint, (const jint&)result);
  
--- a/patches/icedtea-use-system-tzdata.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-use-system-tzdata.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,7 +1,7 @@
 diff -urN 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	2007-10-12 18:25:55.000000000 -0400
 +++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2007-10-12 18:26:02.000000000 -0400
-@@ -387,6 +387,10 @@
+@@ -390,6 +390,10 @@
  			       "javax.net.ssl.trustStorePassword",
  			       "");
  
--- a/patches/icedtea-version.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-version.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,6 +1,6 @@
 --- openjdk.old/jdk/make/common/shared/Defs.gmk	2007-09-13 03:52:42.000000000 -0400
 +++ openjdk/jdk/make/common/shared/Defs.gmk	2007-09-18 16:24:59.000000000 -0400
-@@ -186,13 +186,13 @@
+@@ -194,13 +194,13 @@
  
  # Default names
  LAUNCHER_NAME = java
@@ -17,7 +17,7 @@
    PRODUCT_SUFFIX = Runtime Environment
    COMPANY_NAME =
  endif
-@@ -250,12 +250,7 @@
+@@ -258,12 +258,7 @@
  JDK_UNDERSCORE_VERSION =  $(subst .,_,$(JDK_VERSION))
  JDK_MKTG_UNDERSCORE_VERSION =  $(subst .,_,$(JDK_MKTG_VERSION))
  
@@ -31,20 +31,9 @@
  
  # FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set
  ifdef BUILD_NUMBER
---- openjdk.old/hotspot/build/hotspot_distro	2007-09-27 22:30:19.000000000 -0400
-+++ openjdk/hotspot/build/hotspot_distro	2007-09-28 11:07:28.000000000 -0400
-@@ -27,6 +27,6 @@
- #
- 
- # Don't put quotes (fail windows build).
--HOTSPOT_VM_DISTRO=OpenJDK
-+HOTSPOT_VM_DISTRO=IcedTea
- COMPANY_NAME=
--PRODUCT_NAME=OpenJDK
-+PRODUCT_NAME=IcedTea
 --- openjdk.old/hotspot/build/windows/projectfiles/common/Makefile	2007-09-27 22:30:19.000000000 -0400
 +++ openjdk/hotspot/build/windows/projectfiles/common/Makefile	2007-09-28 11:07:50.000000000 -0400
-@@ -125,7 +125,7 @@
+@@ -123,7 +123,7 @@
  !if exists($(HOTSPOTWORKSPACE)\src\closed)
  HOTSPOT_VM_DISTRO="Java HotSpot(TM)"
  !else
@@ -55,7 +44,7 @@
  
 --- openjdk.old/hotspot/src/share/vm/runtime/arguments.cpp	2007-12-10 15:46:40.000000000 -0500
 +++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp	2007-12-19 09:41:41.000000000 -0500
-@@ -25,7 +25,7 @@
+@@ -28,7 +28,7 @@
  #include "incls/_precompiled.incl"
  #include "incls/_arguments.cpp.incl"
  
--- a/patches/icedtea-zero.patch	Fri Feb 15 11:13:14 2008 -0500
+++ b/patches/icedtea-zero.patch	Fri Feb 15 11:58:44 2008 -0500
@@ -1,16 +1,3 @@
-diff -ru openjdk-ecj/hotspot/build/linux/makefiles/vm.make openjdk-ecj.new/hotspot/build/linux/makefiles/vm.make
---- openjdk/hotspot/build/linux/makefiles/vm.make	2008-01-24 13:17:20.000000000 +0000
-+++ openjdk/hotspot/build/linux/makefiles/vm.make	2008-01-21 15:18:48.000000000 +0000
-@@ -150,6 +150,9 @@
- 
-   LIBS_VM                  += $(LIBS)
- endif
-+ifeq ($(SRCARCH), zero)
-+LIBS_VM += -lffi
-+endif
- 
- LINK_VM = $(LINK_LIB.c)
- 
 diff -ru openjdk/hotspot/src/share/vm/runtime/icache.cpp openjdk/hotspot/src/share/vm/runtime/icache.cpp
 --- openjdk/hotspot/src/share/vm/runtime/icache.cpp	2007-10-30 08:46:35.000000000 +0000
 +++ openjdk/hotspot/src/share/vm/runtime/icache.cpp	2008-01-21 15:18:48.000000000 +0000
@@ -99,3 +86,16 @@
       }
  
    STEP(140, "(printing VM operation)" )
+--- vm.make	2008-02-14 22:30:03.000000000 -0500
++++ openjdk/hotspot/build/linux/makefiles/vm.make	2008-02-14 22:30:11.000000000 -0500
+@@ -165,6 +165,10 @@
+   LFLAGS_VM                += $(STATIC_LIBGCC)
+   LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
+ endif
++ifeq ($(SRCARCH), zero)
++LIBS_VM += -lffi
++endif
++
+ 
+ LINK_VM = $(LINK_LIB.c)
+ 
--- a/rt/java/io/PushbackReader.java	Fri Feb 15 11:13:14 2008 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/* PushbackReader.java -- 
-   Copyright (C) 2007 Free Software Foundation, Inc.
-
-   This file is part of GNU Classpath.
-
-   GNU Classpath is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   GNU Classpath is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GNU Classpath; see the file COPYING.  If not, write to the
-   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-   02110-1301 USA.
-
-   Linking this library statically or dynamically with other modules is
-   making a combined work based on this library.  Thus, the terms and
-   conditions of the GNU General Public License cover the whole
-   combination.
-
-   As a special exception, the copyright holders of this library give you
-   permission to link this library with independent modules to produce an
-   executable, regardless of the license terms of these independent
-   modules, and to copy and distribute the resulting executable under
-   terms of your choice, provided that you also meet, for each linked
-   independent module, the terms and conditions of the license of that
-   module.  An independent module is a module which is not derived from
-   or based on this library.  If you modify this library, you may extend
-   this exception to your version of the library, but you are not
-   obligated to do so.  If you do not wish to do so, delete this
-   exception statement from your version. */
-
-package java.io;
-
-import java.io.Reader;
-
-public class PushbackReader
-{
-	public PushbackReader(Reader r, int i)
-	{
-	}
-
-	public int read()
-	{
-		return 0;
-	}
-
-	public int unread(char[] cbuf, int off, int len)
-	{
-		return 0;
-	}
-
-	public int read(char[] c)
-	{
-		return 0;
-	}
-}