From andrew at icedtea.classpath.org Sun Nov 1 11:09:54 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sun, 01 Nov 2009 19:09:54 +0000 Subject: /hg/icedtea: Bump to b75 with upstream Zero and make Shark build. Message-ID: changeset d3256a5c9afe in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=d3256a5c9afe author: Andrew John Hughes date: Sun Nov 01 19:13:55 2009 +0000 Bump to b75 with upstream Zero and make Shark build. 2009-11-01 Andrew John Hughes * patches/icedtea-float-double-trailing-zeros.patch: Dropped, in b75. * Makefile.am: Bump to b75. * patches/boot/icedtea-hotspot-default.patch, * patches/boot/icedtea.patch: Regenerated. * patches/hotspot/default/icedtea-shark-build.patch: Use VARIANTARCH not BUILDARCH. Use platform_zero directly and pass VARIANTARCH through to subbuild. Add rule for SHARK_DIR. * patches/icedtea-shark-build.patch: Put ICEDTEA_SHARK_BUILD prior to ZERO_BUILD test. * ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp: Rename encoding to constant_encoding inline with upstream. * ports/hotspot/src/share/vm/shark/sharkConstant.cpp: Use should_be_constant instead of has_encoding inline with upstream. diffstat: 9 files changed, 239 insertions(+), 227 deletions(-) ChangeLog | 19 + Makefile.am | 35 +-- patches/boot/icedtea-hotspot-default.patch | 20 - patches/boot/icedtea.patch | 188 +++++++++--------- patches/hotspot/default/icedtea-shark-build.patch | 152 ++++++++------ patches/icedtea-float-double-trailing-zeros.patch | 29 -- patches/icedtea-shark-build.patch | 19 + ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp | 2 ports/hotspot/src/share/vm/shark/sharkConstant.cpp | 2 diffs (truncated from 888 to 500 lines): diff -r 7100c9f14ffa -r d3256a5c9afe ChangeLog --- a/ChangeLog Thu Oct 29 15:00:12 2009 +0000 +++ b/ChangeLog Sun Nov 01 19:13:55 2009 +0000 @@ -1,3 +1,22 @@ 2009-10-28 Andrew John Hughes + + * patches/icedtea-float-double-trailing-zeros.patch: + Dropped, in b75. + * Makefile.am: Bump to b75. + * patches/boot/icedtea-hotspot-default.patch, + * patches/boot/icedtea.patch: + Regenerated. + * patches/hotspot/default/icedtea-shark-build.patch: + Use VARIANTARCH not BUILDARCH. Use platform_zero + directly and pass VARIANTARCH through to subbuild. + Add rule for SHARK_DIR. + * patches/icedtea-shark-build.patch: + Put ICEDTEA_SHARK_BUILD prior to ZERO_BUILD test. + * ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp: + Rename encoding to constant_encoding inline with upstream. + * ports/hotspot/src/share/vm/shark/sharkConstant.cpp: + Use should_be_constant instead of has_encoding inline with upstream. + 2009-10-28 Andrew John Hughes Fix build failures with Shark. diff -r 7100c9f14ffa -r d3256a5c9afe Makefile.am --- a/Makefile.am Thu Oct 29 15:00:12 2009 +0000 +++ b/Makefile.am Sun Nov 01 19:13:55 2009 +0000 @@ -1,22 +1,22 @@ # Dependencies -OPENJDK_VERSION = b74 - -CORBA_CHANGESET = ddc6504bb4f3 -HOTSPOT_CHANGESET = 4aad6284518e -JAXP_CHANGESET = 1da2b57e4825 -JAXWS_CHANGESET = b176d7a1d9e9 -JDK_CHANGESET = 6d6f38ba8a03 -LANGTOOLS_CHANGESET = 27f109855e7f -OPENJDK_CHANGESET = f8e6c40ffac8 - -CORBA_MD5SUM = 1e931327890c8951d98e27bdfb54021b -HOTSPOT_MD5SUM = 99e631c28819d643cbf1dcca0d3f4a99 -JAXP_MD5SUM = f1bef1d655513d450e0a57db6bf2e87c -JAXWS_MD5SUM = 4524646c2cb4e21f80bd17408485588e -JDK_MD5SUM = 62599b14fbf2352c5cc1cb23ccbef683 -LANGTOOLS_MD5SUM = c04a42138a860df67a396de51fcf11b6 -OPENJDK_MD5SUM = bad6c4ca26dfc18aa719dc9636a5c353 +OPENJDK_VERSION = b75 + +CORBA_CHANGESET = d4f1f79e9231 +HOTSPOT_CHANGESET = 0c593310a62c +JAXP_CHANGESET = 1ff97e23727b +JAXWS_CHANGESET = 7a525c434bc9 +JDK_CHANGESET = 70b5a4c7b35d +LANGTOOLS_CHANGESET = 4b3ebc896806 +OPENJDK_CHANGESET = aeb73b347f3a + +CORBA_MD5SUM = cbdf4c993b0617ccddcb01a649e2eb05 +HOTSPOT_MD5SUM = 4508ff8d599b5ae3b094eaa3f8dfd494 +JAXP_MD5SUM = 2055c0ab13fea8c2597d7f3367905faa +JAXWS_MD5SUM = 50ba89fa406b179e2ac20dd11cf37c5d +JDK_MD5SUM = e98d4f2f0a74cc96ff7fa7838166d2dd +LANGTOOLS_MD5SUM = 672ed2024d4d8787eefbbdebd1266c07 +OPENJDK_MD5SUM = fd027dba070b73a164a32a30f8807470 CACAO_VERSION = 0.99.4 CACAO_MD5SUM = 63220327925ace13756ae334c55a3baa @@ -268,7 +268,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-gcc-suffix.patch \ patches/hotspot/$(HSBUILD)/icedtea-gcc-suffix.patch \ patches/icedtea-bytebuffer-compact.patch \ - patches/icedtea-float-double-trailing-zeros.patch \ patches/hotspot/$(HSBUILD)/icedtea-memory-limits.patch \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ diff -r 7100c9f14ffa -r d3256a5c9afe patches/boot/icedtea-hotspot-default.patch --- a/patches/boot/icedtea-hotspot-default.patch Thu Oct 29 15:00:12 2009 +0000 +++ b/patches/boot/icedtea-hotspot-default.patch Sun Nov 01 19:13:55 2009 +0000 @@ -1,7 +1,7 @@ diff -Nru openjdk-boot.orig/hotspot/make -diff -Nru openjdk-boot.orig/hotspot/make/linux/Makefile openjdk-boot/hotspot/make/linux/Makefile ---- openjdk-boot.orig/hotspot/make/linux/Makefile 2009-09-28 13:20:29.000000000 +0100 -+++ openjdk-boot/hotspot/make/linux/Makefile 2009-09-28 16:06:27.000000000 +0100 -@@ -280,35 +280,30 @@ +diff -Nru ../openjdk.orig/openjdk-boot/hotspot/make/linux/Makefile openjdk-boot/hotspot/make/linux/Makefile +--- ../openjdk.orig/openjdk-boot/hotspot/make/linux/Makefile 2009-10-30 17:37:07.000000000 +0000 ++++ openjdk-boot/hotspot/make/linux/Makefile 2009-10-30 17:45:40.000000000 +0000 +@@ -287,35 +287,30 @@ $(TARGETS_C2): $(SUBDIRS_C2) cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) @@ -32,14 +32,14 @@ diff -Nru openjdk-boot.orig/hotspot/make endif $(TARGETS_ZERO): $(SUBDIRS_ZERO) - cd $(OSNAME)_$(BUILDARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_zero/$(patsubst %zero,%,$@) && ./test_gamma + cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && ./test_gamma ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install + cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install endif -diff -Nru openjdk-boot.orig/hotspot/make/linux/makefiles/sa.make openjdk-boot/hotspot/make/linux/makefiles/sa.make ---- openjdk-boot.orig/hotspot/make/linux/makefiles/sa.make 2009-09-22 20:05:24.000000000 +0100 -+++ openjdk-boot/hotspot/make/linux/makefiles/sa.make 2009-09-28 16:06:18.000000000 +0100 +diff -Nru ../openjdk.orig/openjdk-boot/hotspot/make/linux/makefiles/sa.make openjdk-boot/hotspot/make/linux/makefiles/sa.make +--- ../openjdk.orig/openjdk-boot/hotspot/make/linux/makefiles/sa.make 2009-10-30 15:58:31.000000000 +0000 ++++ openjdk-boot/hotspot/make/linux/makefiles/sa.make 2009-10-30 17:44:58.000000000 +0000 @@ -38,7 +38,9 @@ GENERATED = $(TOPDIR)/../generated diff -r 7100c9f14ffa -r d3256a5c9afe patches/boot/icedtea.patch --- a/patches/boot/icedtea.patch Thu Oct 29 15:00:12 2009 +0000 +++ b/patches/boot/icedtea.patch Sun Nov 01 19:13:55 2009 +0000 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/corba/make/c -diff -Nru openjdk-boot.orig/corba/make/com/sun/corba/se/Makefile openjdk-boot/corba/make/com/sun/corba/se/Makefile ---- openjdk-boot.orig/corba/make/com/sun/corba/se/Makefile 2009-03-30 17:13:01.000000000 +0100 -+++ openjdk-boot/corba/make/com/sun/corba/se/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/corba/make/com/sun/corba/se/Makefile openjdk-boot/corba/make/com/sun/corba/se/Makefile +--- ../openjdk.orig/openjdk-boot/corba/make/com/sun/corba/se/Makefile 2009-03-30 17:13:01.000000000 +0100 ++++ openjdk-boot/corba/make/com/sun/corba/se/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -42,7 +42,7 @@ # the rmic iiop backend needs some classes that are part of the impl/util # package. These classes use log wrappers, so they must be built after @@ -10,9 +10,9 @@ diff -Nru openjdk-boot.orig/corba/make/c all build clean clobber:: $(SUBDIRS-loop) -diff -Nru openjdk-boot.orig/corba/make/com/sun/corba/se/org/Makefile openjdk-boot/corba/make/com/sun/corba/se/org/Makefile ---- openjdk-boot.orig/corba/make/com/sun/corba/se/org/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ openjdk-boot/corba/make/com/sun/corba/se/org/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/corba/make/com/sun/corba/se/org/Makefile openjdk-boot/corba/make/com/sun/corba/se/org/Makefile +--- ../openjdk.orig/openjdk-boot/corba/make/com/sun/corba/se/org/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ openjdk-boot/corba/make/com/sun/corba/se/org/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -0,0 +1,38 @@ +# +# Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved. @@ -52,9 +52,9 @@ diff -Nru openjdk-boot.orig/corba/make/c +# Include +# +include $(BUILDDIR)/common/Classes.gmk -diff -Nru openjdk-boot.orig/corba/make/common/Defs.gmk openjdk-boot/corba/make/common/Defs.gmk ---- openjdk-boot.orig/corba/make/common/Defs.gmk 2009-10-03 00:02:43.000000000 +0100 -+++ openjdk-boot/corba/make/common/Defs.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/corba/make/common/Defs.gmk openjdk-boot/corba/make/common/Defs.gmk +--- ../openjdk.orig/openjdk-boot/corba/make/common/Defs.gmk 2009-10-03 00:02:43.000000000 +0100 ++++ openjdk-boot/corba/make/common/Defs.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -53,6 +53,13 @@ _OUTPUTDIR=$(TOPDIR)/build/$(PLATFORM)-$(ARCH) @@ -87,9 +87,9 @@ diff -Nru openjdk-boot.orig/corba/make/c VPATH.java = $(VPATH0.java) vpath %.java $(VPATH.java) vpath %.class $(CLASSBINDIR) -diff -Nru openjdk-boot.orig/corba/make/common/Defs-linux.gmk openjdk-boot/corba/make/common/Defs-linux.gmk ---- openjdk-boot.orig/corba/make/common/Defs-linux.gmk 2009-10-23 15:59:16.000000000 +0100 -+++ openjdk-boot/corba/make/common/Defs-linux.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/corba/make/common/Defs-linux.gmk openjdk-boot/corba/make/common/Defs-linux.gmk +--- ../openjdk.orig/openjdk-boot/corba/make/common/Defs-linux.gmk 2009-10-30 16:49:36.000000000 +0000 ++++ openjdk-boot/corba/make/common/Defs-linux.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -276,7 +276,7 @@ fi; \ done) @@ -99,9 +99,9 @@ diff -Nru openjdk-boot.orig/corba/make/c # # We want to privatize JVM symbols on Solaris. This is so the user can -diff -Nru openjdk-boot.orig/corba/make/common/Rules.gmk openjdk-boot/corba/make/common/Rules.gmk ---- openjdk-boot.orig/corba/make/common/Rules.gmk 2009-10-03 00:02:43.000000000 +0100 -+++ openjdk-boot/corba/make/common/Rules.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/corba/make/common/Rules.gmk openjdk-boot/corba/make/common/Rules.gmk +--- ../openjdk.orig/openjdk-boot/corba/make/common/Rules.gmk 2009-10-03 00:02:43.000000000 +0100 ++++ openjdk-boot/corba/make/common/Rules.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -187,7 +187,10 @@ @$(MKDIR) -p $(CLASSDESTDIR) if [ -s $(JAVA_SOURCE_LIST) ] ; then \ @@ -114,9 +114,9 @@ diff -Nru openjdk-boot.orig/corba/make/c fi @$(java-vm-cleanup) -diff -Nru openjdk-boot.orig/corba/make/common/shared/Defs-java.gmk openjdk-boot/corba/make/common/shared/Defs-java.gmk ---- openjdk-boot.orig/corba/make/common/shared/Defs-java.gmk 2009-09-04 02:41:12.000000000 +0100 -+++ openjdk-boot/corba/make/common/shared/Defs-java.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/corba/make/common/shared/Defs-java.gmk openjdk-boot/corba/make/common/shared/Defs-java.gmk +--- ../openjdk.orig/openjdk-boot/corba/make/common/shared/Defs-java.gmk 2009-09-04 02:41:12.000000000 +0100 ++++ openjdk-boot/corba/make/common/shared/Defs-java.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -135,31 +135,14 @@ JAVACFLAGS += $(OTHER_JAVACFLAGS) @@ -155,9 +155,9 @@ diff -Nru openjdk-boot.orig/corba/make/c # Override of what javac to use (see deploy workspace) ifdef JAVAC -diff -Nru openjdk-boot.orig/corba/make/org/omg/sources/Makefile openjdk-boot/corba/make/org/omg/sources/Makefile ---- openjdk-boot.orig/corba/make/org/omg/sources/Makefile 2009-03-30 17:13:01.000000000 +0100 -+++ openjdk-boot/corba/make/org/omg/sources/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/corba/make/org/omg/sources/Makefile openjdk-boot/corba/make/org/omg/sources/Makefile +--- ../openjdk.orig/openjdk-boot/corba/make/org/omg/sources/Makefile 2009-03-30 17:13:01.000000000 +0100 ++++ openjdk-boot/corba/make/org/omg/sources/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -93,8 +93,6 @@ POAHELHOLFILES = $(POA_GENERATED_HELP_HOL_java:%=$(GENSRCDIR)/%) @@ -234,9 +234,9 @@ diff -Nru openjdk-boot.orig/corba/make/o pi.compile: $(PIGENERATEDFILES) -diff -Nru openjdk-boot.orig/corba/make/sun/rmi/corbalogsources/Makefile openjdk-boot/corba/make/sun/rmi/corbalogsources/Makefile ---- openjdk-boot.orig/corba/make/sun/rmi/corbalogsources/Makefile 2009-03-30 23:07:09.000000000 +0100 -+++ openjdk-boot/corba/make/sun/rmi/corbalogsources/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/corba/make/sun/rmi/corbalogsources/Makefile openjdk-boot/corba/make/sun/rmi/corbalogsources/Makefile +--- ../openjdk.orig/openjdk-boot/corba/make/sun/rmi/corbalogsources/Makefile 2009-03-30 23:07:09.000000000 +0100 ++++ openjdk-boot/corba/make/sun/rmi/corbalogsources/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -172,7 +172,6 @@ ACTIVATIONFILES = $(com_sun_corba_se_spi_activation_java:%=$(GENSRCDIR)/%) @@ -253,9 +253,9 @@ diff -Nru openjdk-boot.orig/corba/make/s portableactivation.idl.compile: $(PORTABLEACTIVATIONFILES) -diff -Nru openjdk-boot.orig/jaxp/build.xml openjdk-boot/jaxp/build.xml ---- openjdk-boot.orig/jaxp/build.xml 2009-10-03 00:22:23.000000000 +0100 -+++ openjdk-boot/jaxp/build.xml 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jaxp/build.xml openjdk-boot/jaxp/build.xml +--- ../openjdk.orig/openjdk-boot/jaxp/build.xml 2009-10-03 00:22:23.000000000 +0100 ++++ openjdk-boot/jaxp/build.xml 2009-10-30 16:59:16.000000000 +0000 @@ -112,7 +112,8 @@ memoryMaximumSize="${javac.memoryMaximumSize}" source="${javac.source}" @@ -266,9 +266,9 @@ diff -Nru openjdk-boot.orig/jaxp/build.x -diff -Nru openjdk-boot.orig/jaxp/make/Makefile openjdk-boot/jaxp/make/Makefile ---- openjdk-boot.orig/jaxp/make/Makefile 2009-10-23 15:59:16.000000000 +0100 -+++ openjdk-boot/jaxp/make/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jaxp/make/Makefile openjdk-boot/jaxp/make/Makefile +--- ../openjdk.orig/openjdk-boot/jaxp/make/Makefile 2009-10-30 16:49:36.000000000 +0000 ++++ openjdk-boot/jaxp/make/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -110,6 +110,7 @@ ifdef ALT_LANGTOOLS_DIST ifdef ALT_BOOTDIR @@ -277,9 +277,9 @@ diff -Nru openjdk-boot.orig/jaxp/make/Ma endif ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap else -diff -Nru openjdk-boot.orig/jaxws/build.xml openjdk-boot/jaxws/build.xml ---- openjdk-boot.orig/jaxws/build.xml 2009-10-03 00:57:53.000000000 +0100 -+++ openjdk-boot/jaxws/build.xml 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jaxws/build.xml openjdk-boot/jaxws/build.xml +--- ../openjdk.orig/openjdk-boot/jaxws/build.xml 2009-10-03 00:57:53.000000000 +0100 ++++ openjdk-boot/jaxws/build.xml 2009-10-30 16:59:16.000000000 +0000 @@ -112,7 +112,8 @@ memoryMaximumSize="${javac.memoryMaximumSize}" source="${javac.source}" @@ -290,9 +290,9 @@ diff -Nru openjdk-boot.orig/jaxws/build. -diff -Nru openjdk-boot.orig/jaxws/make/Makefile openjdk-boot/jaxws/make/Makefile ---- openjdk-boot.orig/jaxws/make/Makefile 2009-10-23 15:59:16.000000000 +0100 -+++ openjdk-boot/jaxws/make/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jaxws/make/Makefile openjdk-boot/jaxws/make/Makefile +--- ../openjdk.orig/openjdk-boot/jaxws/make/Makefile 2009-10-30 16:49:36.000000000 +0000 ++++ openjdk-boot/jaxws/make/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -111,6 +111,7 @@ ifdef ALT_BOOTDIR ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) @@ -301,9 +301,9 @@ diff -Nru openjdk-boot.orig/jaxws/make/M endif ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap else -diff -Nru openjdk-boot.orig/jdk/make/common/BuildToolJar.gmk openjdk-boot/jdk/make/common/BuildToolJar.gmk ---- openjdk-boot.orig/jdk/make/common/BuildToolJar.gmk 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-boot/jdk/make/common/BuildToolJar.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/common/BuildToolJar.gmk openjdk-boot/jdk/make/common/BuildToolJar.gmk +--- ../openjdk.orig/openjdk-boot/jdk/make/common/BuildToolJar.gmk 2009-03-30 17:23:03.000000000 +0100 ++++ openjdk-boot/jdk/make/common/BuildToolJar.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -43,7 +43,8 @@ @$(prep-target) @$(MKDIR) -p $(BUILDTOOLCLASSDIR) @@ -314,9 +314,9 @@ diff -Nru openjdk-boot.orig/jdk/make/com $(BOOT_JAR_CMD) cfm $@ $(BUILDTOOL_MANIFEST_FILE) \ -C $(BUILDTOOLCLASSDIR) $(PKGDIR) \ $(BOOT_JAR_JFLAGS) || $(RM) $@ -diff -Nru openjdk-boot.orig/jdk/make/common/Release.gmk openjdk-boot/jdk/make/common/Release.gmk ---- openjdk-boot.orig/jdk/make/common/Release.gmk 2009-10-23 15:59:17.000000000 +0100 -+++ openjdk-boot/jdk/make/common/Release.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/common/Release.gmk openjdk-boot/jdk/make/common/Release.gmk +--- ../openjdk.orig/openjdk-boot/jdk/make/common/Release.gmk 2009-10-30 16:49:37.000000000 +0000 ++++ openjdk-boot/jdk/make/common/Release.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -650,10 +650,21 @@ RESOURCES_JAR=$(ABS_TEMPDIR)/resources-orig.jar $(RESOURCES_JAR): $(RES_JAR_FILELIST) $(JAR_MANIFEST_FILE) @@ -377,9 +377,9 @@ diff -Nru openjdk-boot.orig/jdk/make/com ifneq ($(PLATFORM), windows) $(call copy-man-pages,$(JDK_IMAGE_DIR),$(JDK_MAN_PAGES)) endif # !windows -diff -Nru openjdk-boot.orig/jdk/make/common/Rules.gmk openjdk-boot/jdk/make/common/Rules.gmk ---- openjdk-boot.orig/jdk/make/common/Rules.gmk 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-boot/jdk/make/common/Rules.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/common/Rules.gmk openjdk-boot/jdk/make/common/Rules.gmk +--- ../openjdk.orig/openjdk-boot/jdk/make/common/Rules.gmk 2009-03-30 17:23:03.000000000 +0100 ++++ openjdk-boot/jdk/make/common/Rules.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -237,8 +237,9 @@ $(ECHO) "# Java sources to be compiled: (listed in file $<)"; \ $(CAT) $<.filtered; \ @@ -405,9 +405,9 @@ diff -Nru openjdk-boot.orig/jdk/make/com @$(java-vm-cleanup) @$(TOUCH) $@ -diff -Nru openjdk-boot.orig/jdk/make/common/shared/Defs-java.gmk openjdk-boot/jdk/make/common/shared/Defs-java.gmk ---- openjdk-boot.orig/jdk/make/common/shared/Defs-java.gmk 2009-10-23 15:59:16.000000000 +0100 -+++ openjdk-boot/jdk/make/common/shared/Defs-java.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/common/shared/Defs-java.gmk openjdk-boot/jdk/make/common/shared/Defs-java.gmk +--- ../openjdk.orig/openjdk-boot/jdk/make/common/shared/Defs-java.gmk 2009-10-30 16:49:36.000000000 +0000 ++++ openjdk-boot/jdk/make/common/shared/Defs-java.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -136,33 +136,22 @@ JAVACFLAGS += $(OTHER_JAVACFLAGS) @@ -442,10 +442,10 @@ diff -Nru openjdk-boot.orig/jdk/make/com - JAVADOC_CMD = $(JAVA_TOOLS_DIR)/javadoc $(JAVA_TOOLS_FLAGS:%=-J%) endif - #always use the bootstrap javah until bug-ID 6889255 is fixed. These -diff -Nru openjdk-boot.orig/jdk/make/java/nio/Makefile openjdk-boot/jdk/make/java/nio/Makefile ---- openjdk-boot.orig/jdk/make/java/nio/Makefile 2009-10-23 15:59:17.000000000 +0100 -+++ openjdk-boot/jdk/make/java/nio/Makefile 2009-10-26 13:38:03.000000000 +0000 + # Override of what javac to use (see deploy workspace) +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/java/nio/Makefile openjdk-boot/jdk/make/java/nio/Makefile +--- ../openjdk.orig/openjdk-boot/jdk/make/java/nio/Makefile 2009-10-30 16:49:37.000000000 +0000 ++++ openjdk-boot/jdk/make/java/nio/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -31,7 +31,7 @@ PACKAGE = java.nio LIBRARY = nio @@ -455,9 +455,9 @@ diff -Nru openjdk-boot.orig/jdk/make/jav include $(BUILDDIR)/common/Defs.gmk NIO_SRC = $(SHARE_SRC)/classes/java/nio -diff -Nru openjdk-boot.orig/jdk/make/java/text/Makefile openjdk-boot/jdk/make/java/text/Makefile ---- openjdk-boot.orig/jdk/make/java/text/Makefile 2009-05-08 16:10:43.000000000 +0100 -+++ openjdk-boot/jdk/make/java/text/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/java/text/Makefile openjdk-boot/jdk/make/java/text/Makefile +--- ../openjdk.orig/openjdk-boot/jdk/make/java/text/Makefile 2009-05-08 16:10:43.000000000 +0100 ++++ openjdk-boot/jdk/make/java/text/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -81,8 +81,8 @@ -sourcepath $(TEXT_SRCDIR) \ $(TEXT_SOURCES) @@ -469,9 +469,9 @@ diff -Nru openjdk-boot.orig/jdk/make/jav -o $(TEXT_CLASSDIR) \ -spec $(UNICODEDATA)/UnicodeData.txt @$(java-vm-cleanup) -diff -Nru openjdk-boot.orig/jdk/make/Makefile openjdk-boot/jdk/make/Makefile ---- openjdk-boot.orig/jdk/make/Makefile 2009-05-08 16:10:43.000000000 +0100 -+++ openjdk-boot/jdk/make/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/Makefile openjdk-boot/jdk/make/Makefile +--- ../openjdk.orig/openjdk-boot/jdk/make/Makefile 2009-05-08 16:10:43.000000000 +0100 ++++ openjdk-boot/jdk/make/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -239,7 +239,7 @@ all build:: sanity-all post-sanity-all @@ -481,18 +481,18 @@ diff -Nru openjdk-boot.orig/jdk/make/Mak all build:: $(SUBDIRS-loop) -diff -Nru openjdk-boot.orig/jdk/make/sun/awt/FILES_export_unix.gmk openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk ---- openjdk-boot.orig/jdk/make/sun/awt/FILES_export_unix.gmk 2009-05-08 16:10:44.000000000 +0100 -+++ openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk +--- ../openjdk.orig/openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk 2009-05-08 16:10:44.000000000 +0100 ++++ openjdk-boot/jdk/make/sun/awt/FILES_export_unix.gmk 2009-10-30 16:59:16.000000000 +0000 @@ -189,3 +189,5 @@ java/awt/dnd/DnDConstants.java \ sun/awt/CausedFocusEvent.java +EXPORTED_inner = \ + sun.java2d.opengl.OGLContext$$OGLContextCaps -diff -Nru openjdk-boot.orig/jdk/make/sun/awt/Makefile openjdk-boot/jdk/make/sun/awt/Makefile ---- openjdk-boot.orig/jdk/make/sun/awt/Makefile 2009-05-08 16:10:44.000000000 +0100 -+++ openjdk-boot/jdk/make/sun/awt/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/sun/awt/Makefile openjdk-boot/jdk/make/sun/awt/Makefile +--- ../openjdk.orig/openjdk-boot/jdk/make/sun/awt/Makefile 2009-05-08 16:10:44.000000000 +0100 ++++ openjdk-boot/jdk/make/sun/awt/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -401,10 +401,9 @@ COMPILEFONTCONFIG_JARFILE = $(BUILDTOOLJARDIR)/compilefontconfig.jar @@ -507,9 +507,9 @@ diff -Nru openjdk-boot.orig/jdk/make/sun @$(java-vm-cleanup) fontconfigs.clean : -diff -Nru openjdk-boot.orig/jdk/make/sun/javazic/Makefile openjdk-boot/jdk/make/sun/javazic/Makefile ---- openjdk-boot.orig/jdk/make/sun/javazic/Makefile 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-boot/jdk/make/sun/javazic/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/sun/javazic/Makefile openjdk-boot/jdk/make/sun/javazic/Makefile +--- ../openjdk.orig/openjdk-boot/jdk/make/sun/javazic/Makefile 2009-03-30 17:23:03.000000000 +0100 ++++ openjdk-boot/jdk/make/sun/javazic/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -62,7 +62,8 @@ $(WORKDIR)/$(MAPFILE): $(BUILDTOOLJARDIR)/javazic.jar $(TZFILES) $(RM) -r $(@D) @@ -520,9 +520,9 @@ diff -Nru openjdk-boot.orig/jdk/make/sun @$(java-vm-cleanup) $(INSTALLDIR)/$(MAPFILE): $(WORKDIR)/$(MAPFILE) -diff -Nru openjdk-boot.orig/jdk/make/sun/text/Makefile openjdk-boot/jdk/make/sun/text/Makefile ---- openjdk-boot.orig/jdk/make/sun/text/Makefile 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk-boot/jdk/make/sun/text/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/sun/text/Makefile openjdk-boot/jdk/make/sun/text/Makefile +--- ../openjdk.orig/openjdk-boot/jdk/make/sun/text/Makefile 2009-03-30 17:23:03.000000000 +0100 ++++ openjdk-boot/jdk/make/sun/text/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -85,8 +85,9 @@ $(BOOT_JAVAC_CMD) -d $(TEXT_CLASSES) \ -sourcepath $(TEXT_SRCDIR) \ @@ -535,9 +535,9 @@ diff -Nru openjdk-boot.orig/jdk/make/sun -o $(CLASSDESTDIR)/sun/text/resources \ -spec $(UNICODEDATA)/UnicodeData.txt \ -language th -diff -Nru openjdk-boot.orig/jdk/make/sun/xawt/Makefile openjdk-boot/jdk/make/sun/xawt/Makefile ---- openjdk-boot.orig/jdk/make/sun/xawt/Makefile 2009-10-23 15:59:17.000000000 +0100 -+++ openjdk-boot/jdk/make/sun/xawt/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/sun/xawt/Makefile openjdk-boot/jdk/make/sun/xawt/Makefile +--- ../openjdk.orig/openjdk-boot/jdk/make/sun/xawt/Makefile 2009-10-30 16:49:39.000000000 +0000 ++++ openjdk-boot/jdk/make/sun/xawt/Makefile 2009-10-30 16:59:16.000000000 +0000 @@ -294,11 +294,7 @@ TEMPDIR_CLASSES = $(TEMPDIR)/classes @@ -574,9 +574,9 @@ diff -Nru openjdk-boot.orig/jdk/make/sun $(ECHO) "}; }" >> $$classname; \ done $(TOUCH) $@ -diff -Nru openjdk-boot.orig/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java openjdk-boot/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java ---- openjdk-boot.orig/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java 2009-10-23 15:58:41.000000000 +0100 -+++ openjdk-boot/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java openjdk-boot/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java +--- ../openjdk.orig/openjdk-boot/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java 2009-10-30 16:49:08.000000000 +0000 ++++ openjdk-boot/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java 2009-10-30 16:59:16.000000000 +0000 @@ -647,9 +647,6 @@ throws FileNotFoundException, IOException { BufferedReader in = new BufferedReader(new FileReader(theTemplateFileName)); @@ -595,9 +595,9 @@ diff -Nru openjdk-boot.orig/jdk/make/too if (plane == 0 && bLatin1 == false) { genCaseMapTableDeclaration(result); -diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Double.java openjdk-boot/jdk/src/share/classes/java/lang/Double.java ---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Double.java 2009-10-23 15:58:32.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/java/lang/Double.java 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/src/share/classes/java/lang/Double.java openjdk-boot/jdk/src/share/classes/java/lang/Double.java +--- ../openjdk.orig/openjdk-boot/jdk/src/share/classes/java/lang/Double.java 2009-10-30 16:49:00.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/java/lang/Double.java 2009-10-30 16:59:16.000000000 +0000 @@ -76,7 +76,7 @@ * {@code 0x1.fffffffffffffP+1023} and also equal to * {@code Double.longBitsToDouble(0x7fefffffffffffffL)}. @@ -625,9 +625,9 @@ diff -Nru openjdk-boot.orig/jdk/src/shar /** * Maximum exponent a finite {@code double} variable may have. -diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/Float.java openjdk-boot/jdk/src/share/classes/java/lang/Float.java ---- openjdk-boot.orig/jdk/src/share/classes/java/lang/Float.java 2009-10-23 15:58:32.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/java/lang/Float.java 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/src/share/classes/java/lang/Float.java openjdk-boot/jdk/src/share/classes/java/lang/Float.java +--- ../openjdk.orig/openjdk-boot/jdk/src/share/classes/java/lang/Float.java 2009-10-30 16:49:00.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/java/lang/Float.java 2009-10-30 16:59:16.000000000 +0000 @@ -76,7 +76,7 @@ * {@code 0x1.fffffeP+127f} and also equal to * {@code Float.intBitsToFloat(0x7f7fffff)}. @@ -655,9 +655,9 @@ diff -Nru openjdk-boot.orig/jdk/src/shar /** * Maximum exponent a finite {@code float} variable may have. It -diff -Nru openjdk-boot.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h ---- openjdk-boot.orig/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-03-30 17:23:07.000000000 +0100 -+++ openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h +--- ../openjdk.orig/openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-03-30 17:23:07.000000000 +0100 ++++ openjdk-boot/jdk/src/share/native/sun/java2d/opengl/OGLContext.h 2009-10-30 16:59:16.000000000 +0000 @@ -27,6 +27,7 @@ #define OGLContext_h_Included @@ -722,9 +722,9 @@ diff -Nru openjdk-boot.orig/jdk/src/shar /** * Evaluates to true if the given capability bitmask is present for the -diff -Nru openjdk-boot.orig/langtools/make/build.xml openjdk-boot/langtools/make/build.xml ---- openjdk-boot.orig/langtools/make/build.xml 2009-10-21 16:40:37.000000000 +0100 -+++ openjdk-boot/langtools/make/build.xml 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/langtools/make/build.xml openjdk-boot/langtools/make/build.xml +--- ../openjdk.orig/openjdk-boot/langtools/make/build.xml 2009-10-21 16:40:37.000000000 +0100 ++++ openjdk-boot/langtools/make/build.xml 2009-10-30 16:59:16.000000000 +0000 @@ -524,6 +524,7 @@ includeAntRuntime="no" source="@{javac.source}" @@ -741,9 +741,9 @@ diff -Nru openjdk-boot.orig/langtools/ma -diff -Nru openjdk-boot.orig/langtools/make/Makefile openjdk-boot/langtools/make/Makefile ---- openjdk-boot.orig/langtools/make/Makefile 2009-10-23 15:59:16.000000000 +0100 -+++ openjdk-boot/langtools/make/Makefile 2009-10-26 13:38:03.000000000 +0000 +diff -Nru ../openjdk.orig/openjdk-boot/langtools/make/Makefile openjdk-boot/langtools/make/Makefile +--- ../openjdk.orig/openjdk-boot/langtools/make/Makefile 2009-10-30 16:49:36.000000000 +0000 From bugzilla-daemon at icedtea.classpath.org Sun Nov 1 20:01:12 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Nov 2009 04:01:12 +0000 Subject: [Bug 397] New: SIGSEGV while running Vuze with icedtea6-1.6.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=397 Summary: SIGSEGV while running Vuze with icedtea6-1.6.1 Product: IcedTea Version: unspecified Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: paul at pmarks.net Whenever I run Vuze 4.2.0.8 (and lots of previous versions), it crashes within a day or so. I decided to run it in a console to see the output, and the Java Runtime produced an error log. (I will attach the error log as soon as I figure out how.) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Nov 1 20:01:52 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Nov 2009 04:01:52 +0000 Subject: [Bug 397] SIGSEGV while running Vuze with icedtea6-1.6.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=397 ------- Comment #1 from paul at pmarks.net 2009-11-02 04:01 ------- Created an attachment (id=270) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=270&action=view) Error log file -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Nov 1 20:02:43 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Nov 2009 04:02:43 +0000 Subject: [Bug 397] SIGSEGV while running Vuze with icedtea6-1.6.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=397 paul at pmarks.net changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #270|text/x-log |text/plain mime type| | Attachment #270|hs_err_pid914.log |hs_err_pid914.log.txt filename| | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sun Nov 1 20:06:42 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Nov 2009 04:06:42 +0000 Subject: [Bug 397] SIGSEGV while running Vuze with icedtea6-1.6.1 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=397 ------- Comment #2 from paul at pmarks.net 2009-11-02 04:06 ------- This may also be relevant. The following IOError appeared on the console before the SIGSEGV, but I'm unsure how much time had elapsed. The machine I'm running this on does have a fully-functioning IPv6 connection. java.io.IOException: Address family not supported by protocol at java.net.PlainDatagramSocketImpl.send(Native Method) at java.net.DatagramSocket.send(DatagramSocket.java:616) at com.aelitis.net.udp.uc.impl.PRUDPPacketHandlerImpl.send(PRUDPPacketHandlerImpl.java:1292) at com.aelitis.azureus.core.dht.transport.udp.impl.packethandler.DHTUDPPacketHandler.send(DHTUDPPacketHandler.java:250) at com.aelitis.azureus.core.dht.transport.udp.impl.DHTTransportUDPImpl.process(DHTTransportUDPImpl.java:3533) at com.aelitis.azureus.core.dht.transport.udp.impl.packethandler.DHTUDPPacketHandler.receive(DHTUDPPacketHandler.java:290) at com.aelitis.azureus.core.dht.transport.udp.impl.packethandler.DHTUDPPacketHandlerFactory.process(DHTUDPPacketHandlerFactory.java:176) at com.aelitis.azureus.core.dht.transport.udp.impl.packethandler.DHTUDPPacketNetworkHandler.process(DHTUDPPacketNetworkHandler.java:75) at com.aelitis.net.udp.uc.impl.PRUDPPacketHandlerImpl$4.runSupport(PRUDPPacketHandlerImpl.java:767) at org.gudy.azureus2.core3.util.AEThread.run(AEThread.java:74) [net] PRUDPPacketHandler: send to /2002:c349:771b:0:0:0:c349:771b:37636 failed: Address family not supported by protocol -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Mon Nov 2 02:17:57 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Nov 2009 10:17:57 +0000 Subject: [Bug 398] New: hotspot hs16 / 6b17 build failure on sparc Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=398 Summary: hotspot hs16 / 6b17 build failure on sparc Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: doko at ubuntu.com g++-4.4 -DLINUX -D_GNU_SOURCE -DSPARC -DPRODUCT -I. -I../generated/adfiles -I../generated/jvmtifiles -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/asm -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/c1 -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/ci -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/classfile -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/code -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/compiler -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/gc_implementation -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/gc_implementation/g1 -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parNew -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/gc_implementation/parallelScavenge -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/gc_implementation/shared -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/gc_interface -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/interpreter -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/libadt -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/memory -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/oops -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/opto -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/prims -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/runtime -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/services -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/shark -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/share/vm/utilities -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/os/linux/vm -I/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/os_cpu/linux_sparc/vm -I../generated -DHOTSPOT_RELEASE_VERSION="\"16.0-b10\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"buildd\"" -DHOTSPOT_LIB_ARCH=\"sparc\" -DJRE_RELEASE_VERSION="\"1.6.0_0-b17\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -m32 -mcpu=v9 -pipe -g -O3 -fno-strict-aliasing -Werror -Wpointer-arith -Wsign-compare -c -x c++-header -c ../generated/incls/_precompiled.incl -o incls/_precompiled.incl.gch In file included from ../generated/incls/_precompiled.incl:255: /build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp: In member function 'void MacroAssembler::set_oop(_jobject*, RegisterImpl*)': /build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp:690: error: no matching function for call to 'MacroAssembler::set_oop(AddressLiteral, RegisterImpl*&)' /build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp:689: note: candidates are: void MacroAssembler::set_oop(_jobject*, RegisterImpl*) /build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:2239: note: void MacroAssembler::set_oop(AddressLiteral&, RegisterImpl*) /build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp: In member function 'void MacroAssembler::set_oop_constant(_jobject*, RegisterImpl*)': /build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp:695: error: no matching function for call to 'MacroAssembler::set_oop(AddressLiteral, RegisterImpl*&)' /build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm/assembler_sparc.inline.hpp:689: note: candidates are: void MacroAssembler::set_oop(_jobject*, RegisterImpl*) /build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/hotspot/src/cpu/sparc/vm/assembler_sparc.hpp:2239: note: void MacroAssembler::set_oop(AddressLiteral&, RegisterImpl*) make[7]: *** [incls/_precompiled.incl.gch] Error 1 make[7]: Leaving directory `/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/build/linux-sparc/hotspot/outputdir/linux_sparc_compiler2/product' make[6]: *** [the_vm] Error 2 make[6]: Leaving directory `/build/buildd/openjdk-6-6b17~pre2/build/openjdk-ecj/build/linux-sparc/hotspot/outputdir/linux_sparc_compiler2/product' make[5]: *** [product] Error 2 -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From mjw at redhat.com Mon Nov 2 06:03:21 2009 From: mjw at redhat.com (Mark Wielaard) Date: Mon, 02 Nov 2009 15:03:21 +0100 Subject: [patch] Allow compiling against newer X11 headers Message-ID: <1257170602.3265.47.camel@springer.wildebeest.org> Hi, Recent X11 headers have reorganized some shm related constants and structs making it necessary to patch around how awt_GraphicsEnv.h does some things. Fedora has included this patch for some time now, and recently several people on this list asked about it. I added a configure check to see whether or not it is necessary to apply the patch. This makes icedtea6 build out of the box on older (fedora 11) and newer (fedora 12/rawhide) systems. 2009-11-02 Mark Wielaard * configure.ac: Check whether the new X11/extensions/shmproto.h header is available. * Makefile.am: Add patches/icedtea-xshm.patch if new header detected. * patches/icedtea-xshm.patch: New patch. Let me know if it looks sane and I will update Hacking and the wiki with the info. Thanks, Mark -------------- next part -------------- A non-text attachment was scrubbed... Name: shm.patch Type: text/x-patch Size: 2192 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091102/81464513/attachment.bin From caster at gentoo.org Mon Nov 2 08:14:38 2009 From: caster at gentoo.org (Vlastimil Babka) Date: Mon, 02 Nov 2009 17:14:38 +0100 Subject: [patch] Allow compiling against newer X11 headers In-Reply-To: <1257170602.3265.47.camel@springer.wildebeest.org> References: <1257170602.3265.47.camel@springer.wildebeest.org> Message-ID: <4AEF056E.9080704@gentoo.org> Mark Wielaard wrote: > I added a configure check to see whether or not it is necessary to apply > the patch. This makes icedtea6 build out of the box on older (fedora 11) > and newer (fedora 12/rawhide) systems. > > Let me know if it looks sane and I will update Hacking and the wiki with > the info. Hi, I was solving this problem in gentoo recently and I found the fedora patch a bit dangerous as it defines a structure from XShm.h manually. I've created another patch that is applied not to awt_GraphicsEnv.h but awt_GraphicsEnv.c (where the missing constant is actually used) and it just includes Xmd.h and shmproto.h to get the constant (surrounded by a MITSHM ifdef, as is the place of the actual constant usage). The awt_GraphicsEnv.h still includes Xshm.h with the struct that Fedora patch defines manually. But I have to admit I'm not an expert on this, maybe there were reasons behind the Fedora patch I don't know, but this one seems to work. I'm attaching it. I however didn't create configure check (mostly for lack of skills there :), we apply the patch conditionally in the gentoo ebuild for now. But I believe the logic of the check should go like this: - check if libXext (xext in pkg-config) is of version >= 1.1.1 - if it is, we know that we need also the shmproto.h - if yes, check that shmproto.h is present (or that xextproto is of version >=7.1.1), fail if it isn't If we check just for the existence of shmproto.h, it will fail in case libXext is of the new version (and the constant is no longer in XShm.h) but there is no xextproto and thus shmproto.h (it's only a build dep AFAIK so might not be present on all systems?). Hope it helps, Vlastimil -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: 1.6.1-shmproto.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091102/1fb21f87/attachment.ksh From gnu_andrew at member.fsf.org Mon Nov 2 11:40:48 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 2 Nov 2009 19:40:48 +0000 Subject: [patch] Allow compiling against newer X11 headers In-Reply-To: <4AEF056E.9080704@gentoo.org> References: <1257170602.3265.47.camel@springer.wildebeest.org> <4AEF056E.9080704@gentoo.org> Message-ID: <17c6771e0911021140u84f8316q61cd213c94a74ef5@mail.gmail.com> 2009/11/2 Vlastimil Babka : > Mark Wielaard wrote: >> I added a configure check to see whether or not it is necessary to apply >> the patch. This makes icedtea6 build out of the box on older (fedora 11) >> and newer (fedora 12/rawhide) systems. >> >> Let me know if it looks sane and I will update Hacking and the wiki with >> the info. > > Hi, > > I was solving this problem in gentoo recently and I found the fedora > patch a bit dangerous as it defines a structure from XShm.h manually. > I've created another patch that is applied not to awt_GraphicsEnv.h but > awt_GraphicsEnv.c (where the missing constant is actually used) and it > just includes Xmd.h and shmproto.h to get the constant (surrounded by a > MITSHM ifdef, as is the place of the actual constant usage). The > awt_GraphicsEnv.h still includes Xshm.h with the struct that Fedora > patch defines manually. > But I have to admit I'm not an expert on this, maybe there were reasons > behind the Fedora patch I don't know, but this one seems to work. I'm > attaching it. > > I however didn't create configure check (mostly for lack of skills there > :), we apply the patch conditionally in the gentoo ebuild for now. > But I believe the logic of the check should go like this: > - check if libXext (xext in pkg-config) is of version >= 1.1.1 - if it > is, we know that we need also the shmproto.h > - if yes, check that shmproto.h is present (or that xextproto is of > version >=7.1.1), fail if it isn't > > If we check just for the existence of shmproto.h, it will fail in case > libXext is of the new version (and the constant is no longer in XShm.h) > but there is no xextproto and thus shmproto.h (it's only a build dep > AFAIK so might not be present on all systems?). > > Hope it helps, > Vlastimil > > --- /dev/null ? 2009-10-29 20:00:29.463258316 +0100 > +++ patches/icedtea-shmproto.patch ? ? ?2009-10-29 21:02:36.000000000 +0100 > @@ -0,0 +1,13 @@ > +--- openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c.orig ? ? ?2009-10-29 21:01:01.000000000 +0100 > ++++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c ? 2009-10-29 21:01:56.000000000 +0100 > +@@ -45,6 +45,10 @@ > + #include > + > + #include "awt_GraphicsEnv.h" > ++#ifdef MITSHM > ++#include > ++#include > ++#endif > + #include "awt_Window.h" > + #include "awt_util.h" > + #include "gdefs.h" > --- Makefile.am.orig ? ?2009-10-29 21:35:23.000000000 +0100 > +++ Makefile.am 2009-10-29 21:35:50.000000000 +0100 > @@ -708,6 +708,7 @@ > ? ? ? ?patches/icedtea-explicit-target-arch.patch \ > ? ? ? ?patches/openjdk/6648816.patch \ > ? ? ? ?patches/openjdk/oj100103-debugger-socket-overflow.patch \ > + ? ? ? patches/icedtea-shmproto.patch \ > ? ? ? ?$(DISTRIBUTION_PATCHES) > > ?stamps/extract.stamp: stamps/download.stamp > > Hi Mark, Vlastimil, Having seen both patches before, I'd personally prefer we just added the necessary headers if that works, rather than the additional cruft we have in the Fedora patch. We should do that in awt_GraphicsEnv.h though, as in the Fedora patch, which would also remove the need for the #ifdef MITSHM (it's in awt_GraphicsEnv.h already). So basically the Fedora patch but without the removal of the XShm.h include and the additional structs. Though I've been aware of this for a while, I deliberately haven't upgraded my own build systems to the new version because it will break OpenJDK builds for which we don't yet have a solution. Does anyone know of some versioning defines in the X headers that would avoid us having to use a configure check, and thus allow the patch to be submitted upstream? I believe the change (http://lists.x.org/archives/xorg-devel/2009-June/001242.html) appears in libXext 1.1.1 as Vlastimil says, but is there a way of detecting that other than with autoconf? -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From caster at gentoo.org Mon Nov 2 13:06:23 2009 From: caster at gentoo.org (Vlastimil Babka) Date: Mon, 02 Nov 2009 22:06:23 +0100 Subject: [patch] Allow compiling against newer X11 headers In-Reply-To: <17c6771e0911021140u84f8316q61cd213c94a74ef5@mail.gmail.com> References: <1257170602.3265.47.camel@springer.wildebeest.org> <4AEF056E.9080704@gentoo.org> <17c6771e0911021140u84f8316q61cd213c94a74ef5@mail.gmail.com> Message-ID: <4AEF49CF.3060002@gentoo.org> Andrew John Hughes wrote: > Hi Mark, Vlastimil, Hi Andrew, > Having seen both patches before, I'd personally prefer we just added > the necessary headers if that works, rather than the additional cruft > we have in the Fedora patch. We should do that in awt_GraphicsEnv.h > though, as in the Fedora patch, which would also remove the need for > the #ifdef MITSHM (it's in awt_GraphicsEnv.h already). So basically > the Fedora patch but without the removal of the XShm.h include and the > additional structs. Sure, why not. I just included it in the .c file because the .h file didn't use the constant and I hoped to minimize potential symbol collisions or something (suspected something like that could be the reason for the weird Fedora patch). > Though I've been aware of this for a while, I deliberately haven't > upgraded my own build systems to the new version because it will break > OpenJDK builds for which we don't yet have a solution. Does anyone > know of some versioning defines in the X headers that would avoid us > having to use a configure check, and thus allow the patch to be > submitted upstream? I believe the change > (http://lists.x.org/archives/xorg-devel/2009-June/001242.html) appears > in libXext 1.1.1 as Vlastimil says, but is there a way of detecting > that other than with autoconf? I don't know about versioning defines, but maybe the simple test Diego suggested on our IRC channel could work in this case? #include #ifndef X_ShmAttach #include #include #endif Vlastimil From andrew at icedtea.classpath.org Mon Nov 2 13:39:23 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 02 Nov 2009 21:39:23 +0000 Subject: /hg/icedtea: 4 new changesets Message-ID: changeset 864e5903d8e2 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=864e5903d8e2 author: Andrew John Hughes date: Mon Nov 02 19:00:19 2009 +0000 Cleanup the existing clean targets and add missing ones. 2009-11-02 Andrew John Hughes * Makefile.am: (clean-local): New target which removes all but the downloaded tarballs. (distclean- local): Now depends on clean-local, and removes the tarballs. (stamps/download.stamp): Changed to be a top-level target for all downloads. (clean-download): Changed to remove all downloads. (stamps/download-openjdk.stamp): Renamed from stamps/download.stamp. Downloads OpenJDK tarballs. (clean-download-openjdk): Now removes all OpenJDK tarballs if not using the alternate zip option. (stamps/extract.stamp): Changed to be a top-level target for all extraction. (clean-extract): Changed to remove all extracted directories. (stamps/extract- visualvm.stamp): Depend on the tarball having being downloaded. (clean-extract-visualvm): Renamed from clean- extract-visualvm.stamp (stamps/extract-cacao.stamp): Rename dependency to match changes above. (clean-extract- cacao): Simply depend on clean-cacao and remove the stamp. (stamps/ports.stamp): Depend on general extraction target. (clean-ports): New target to invert stamps/ports.stamp (clean-generated): Likewise for stamps/generated.stamp (clean-patch-fsg): Only revert patches if they've been applied. (clean-patch): Likewise. (stamps/versioning.stamp): Backup Defs.gmk prior to altering. (clean-versioning): Restore original Defs.gmk. (clean-overlay): New target to remove stamps/overlay.stamp (clean-native-ecj): New target to remove the native-ecj binary and stamp. (stamps/icedtea.stamp): Reduce dependencies where implied by others. (clean-plugin): New target depending on two conditional plugin targets. (clean-liveconnect): New target to revert stamps/liveconnect.stamp. (clean-netx): Likewise for stamps/netx.stamp and stamps/netx-dist.stamp (clean): Removed; provided by automake. changeset dd437ca5fa4a in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=dd437ca5fa4a author: Andrew John Hughes date: Mon Nov 02 19:25:07 2009 +0000 Create separate targets for downloading CACAO and VisualVM. 2009-11-02 Andrew John Hughes * Makefile.am: Replace explicit touch stamps/ invocations with touch $@. Reorganise aliases alphabetically and add missing ones. (stamps/download- openjdk.stamp): Move CACAO and VisualVM downloads to separate target. (stamps/download-cacao.stamp): New target for downloading CACAO. (clean-download-cacao): Inverse of download-cacao. (stamps/download-visualvm.stamp): New target for downloading VisualVM. (clean-download-visualvm): Inverse of download-visualvm. (stamps/extract-cacao.stamp): Depend on download-cacao. (stamps/extract-visualvm.stamp): Depend on download-visualvm. (clean-patch-boot): Check that patches have been applied. (stamps/pulse-java.stamp): Move native code generation to its own target, making this a top-level dependency target. (stamps/pulse-java-native-code.stamp): New target for native code generation for PulseAudio plugin. (clean-pulse-java): Always remove stamps. changeset 73b1d535e19b in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=73b1d535e19b author: Andrew John Hughes date: Mon Nov 02 19:55:03 2009 +0000 Ensure all downloading and extracting happens before building OpenJDK. 2009-11-02 Andrew John Hughes * Makefile.am: Make sure all downloading and extracting occurs before building OpenJDK. changeset 9c96175dae62 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=9c96175dae62 author: Andrew John Hughes date: Mon Nov 02 21:43:32 2009 +0000 Add missing plugin target and turn icedtea-*-stage2 into stamps. 2009-11-02 Andrew John Hughes * Makefile.am: (stamps/plugin.stamp): Added to unify two plugin targets. (stamps/icedtea-stage2.stamp): Renamed from icedtea-stage2 so we can mark when its done. (stamps/icedtea-debug-stage2.stamp): Likewise with icedtea- debug-stage2. (clean-icedtea-stage2): Inverse target for icedtea-stage2. (clean-icedtea-debug-stage2): Same for icedtea-debug-stage2. diffstat: 2 files changed, 507 insertions(+), 296 deletions(-) ChangeLog | 86 +++++++ Makefile.am | 717 ++++++++++++++++++++++++++++++++++------------------------- diffs (truncated from 1192 to 500 lines): diff -r d3256a5c9afe -r 9c96175dae62 ChangeLog --- a/ChangeLog Sun Nov 01 19:13:55 2009 +0000 +++ b/ChangeLog Mon Nov 02 21:43:32 2009 +0000 @@ -1,3 +1,89 @@ 2009-11-01 Andrew John Hughes + + * Makefile.am: + (stamps/plugin.stamp): Added to unify + two plugin targets. + (stamps/icedtea-stage2.stamp): Renamed + from icedtea-stage2 so we can mark when + its done. + (stamps/icedtea-debug-stage2.stamp): Likewise + with icedtea-debug-stage2. + (clean-icedtea-stage2): Inverse target for + icedtea-stage2. + (clean-icedtea-debug-stage2): Same for + icedtea-debug-stage2. + +2009-11-02 Andrew John Hughes + + * Makefile.am: + Make sure all downloading and extracting + occurs before building OpenJDK. + +2009-11-02 Andrew John Hughes + + * Makefile.am: + Replace explicit touch stamps/ + invocations with touch $@. Reorganise + aliases alphabetically and add missing ones. + (stamps/download-openjdk.stamp): Move + CACAO and VisualVM downloads to separate target. + (stamps/download-cacao.stamp): New target + for downloading CACAO. + (clean-download-cacao): Inverse of download-cacao. + (stamps/download-visualvm.stamp): New target + for downloading VisualVM. + (clean-download-visualvm): Inverse of download-visualvm. + (stamps/extract-cacao.stamp): Depend on download-cacao. + (stamps/extract-visualvm.stamp): Depend on download-visualvm. + (clean-patch-boot): Check that patches have been applied. + (stamps/pulse-java.stamp): Move native code generation to its + own target, making this a top-level dependency target. + (stamps/pulse-java-native-code.stamp): New target for native + code generation for PulseAudio plugin. + (clean-pulse-java): Always remove stamps. + +2009-11-02 Andrew John Hughes + + * Makefile.am: + (clean-local): New target which removes all + but the downloaded tarballs. + (distclean-local): Now depends on clean-local, + and removes the tarballs. + (stamps/download.stamp): Changed to be a top-level + target for all downloads. + (clean-download): Changed to remove all downloads. + (stamps/download-openjdk.stamp): Renamed from + stamps/download.stamp. Downloads OpenJDK tarballs. + (clean-download-openjdk): Now removes all OpenJDK + tarballs if not using the alternate zip option. + (stamps/extract.stamp): Changed to be a top-level + target for all extraction. + (clean-extract): Changed to remove all extracted + directories. + (stamps/extract-visualvm.stamp): Depend on the tarball + having being downloaded. + (clean-extract-visualvm): Renamed from clean-extract-visualvm.stamp + (stamps/extract-cacao.stamp): Rename dependency to + match changes above. + (clean-extract-cacao): Simply depend on clean-cacao and + remove the stamp. + (stamps/ports.stamp): Depend on general extraction target. + (clean-ports): New target to invert stamps/ports.stamp + (clean-generated): Likewise for stamps/generated.stamp + (clean-patch-fsg): Only revert patches if they've been applied. + (clean-patch): Likewise. + (stamps/versioning.stamp): Backup Defs.gmk prior to altering. + (clean-versioning): Restore original Defs.gmk. + (clean-overlay): New target to remove stamps/overlay.stamp + (clean-native-ecj): New target to remove the native-ecj binary + and stamp. + (stamps/icedtea.stamp): Reduce dependencies where implied by + others. + (clean-plugin): New target depending on two conditional plugin targets. + (clean-liveconnect): New target to revert stamps/liveconnect.stamp. + (clean-netx): Likewise for stamps/netx.stamp and stamps/netx-dist.stamp + (clean): Removed; provided by automake. + 2009-11-01 Andrew John Hughes * patches/icedtea-float-double-trailing-zeros.patch: diff -r d3256a5c9afe -r 9c96175dae62 Makefile.am --- a/Makefile.am Sun Nov 01 19:13:55 2009 +0000 +++ b/Makefile.am Mon Nov 02 21:43:32 2009 +0000 @@ -165,6 +165,12 @@ endif endif endif +if USE_ALT_CACAO_SRC_ZIP + CACAO_SRC_ZIP = $(ALT_CACAO_SRC_ZIP) +else + CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 +endif + if WITH_ALT_HSBUILD HS_MD5SUM = "`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" HS_CHANGESET = "`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" @@ -173,12 +179,6 @@ else HS_MD5SUM = $(HOTSPOT_MD5SUM) HS_CHANGESET = $(HOTSPOT_CHANGESET) HS_URL = $(HOTSPOT_URL) -endif - -if USE_ALT_CACAO_SRC_ZIP - CACAO_SRC_ZIP = $(ALT_CACAO_SRC_ZIP) -else - CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.bz2 endif if ENABLE_NPPLUGIN @@ -695,38 +695,28 @@ all-local: icedtea-stage2 check-local: jtregcheck -distclean-local: clean-jtreg clean-jtreg-reports clean-pulse-java \ - clean-clone clean-clone-boot clean-download - rm -rf stamps - rm -rf drops - rm -f rt-source-files.txt \ - extra-source-files.txt \ - netx-source-files.txt - rm -rf bootstrap - rm -rf lib - rm -rf extra-lib +clean-local: clean-jtreg clean-jtreg-reports clean-pulse-java \ + clean-clone clean-clone-boot clean-plugs clean-extra clean-netx \ + clean-visualvm clean-nbplatform clean-bootstrap-directory-stage1 \ + clean-bootstrap-directory-stage2 clean-bootstrap-directory-symlink-stage1 \ + clean-bootstrap-directory-symlink-stage2 clean-extract clean-generated \ + clean-plugin clean-liveconnect clean-native-ecj clean-hgforest \ + clean-icedtea-stage2 clean-icedtea-debug-stage2 + if [ -e bootstrap ]; then \ + rmdir bootstrap ; \ + fi + if [ -e lib ]; then \ + rmdir lib ; \ + fi rm -rf rt/netscape - rm -rf visualvm - rm -rf netbeans - rm -rf netx.build -if ENABLE_PLUGIN - rm -f IcedTeaPlugin.o IcedTeaPlugin.so -endif -if ENABLE_NPPLUGIN - rm -f $(NPPLUGIN_DIR)/*.o $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so -endif -if BUILD_CACAO - rm -rf cacao -endif rm -f jni-common.o if ADD_ZERO_BUILD rm -rf zerovm endif -if BUILD_NATIVE_ECJ - rm -f native-ecj -endif - if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ - rm -rf $(abs_top_builddir)/generated ; \ + +distclean-local: clean-local clean-download + if [ -e stamps ] ; then \ + rmdir stamps ; \ fi install: @@ -738,9 +728,8 @@ install: clean-bootstrap-directory-symlink-stage1 icedtea icedtea-debug \ clean-icedtea icedtea-stage2 clean-icedtea-boot clean-plugs \ clean-tools-jar clean-visualvm clean-nbplatform \ - clean-rt $(ICEDTEAPLUGIN_CLEAN) \ - $(ICEDTEANPPLUGIN_CLEAN) hotspot hotspot-helper clean-extra clean-jtreg \ - clean-jtreg-reports + clean-rt clean-plugin hotspot hotspot-helper clean-extra clean-jtreg \ + clean-jtreg-reports clean-netx clean-drops env: @echo 'unset JAVA_HOME' @@ -766,7 +755,39 @@ dist-openjdk-fsg: stamps/patch-fsg.stamp # OpenJDK Source Preparation Targets # ================================== +# Check for forest support + +stamps/hgforest.stamp: +if OPENJDK_SRC_DIR_FOUND +else +if USE_ALT_OPENJDK_SRC_ZIP +else +if !USE_HG +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; +endif +endif +endif + mkdir -p stamps + touch $@ + +clean-hgforest: + rm -f stamps/hgforest.stamp + # Download OpenJDK sources. + +stamps/download.stamp: stamps/download-drops.stamp stamps/download-openjdk.stamp \ + stamps/download-cacao.stamp stamps/download-visualvm.stamp + mkdir -p stamps + touch $@ + +clean-download: clean-drops clean-download-openjdk + rm -f stamps/download.stamp stamps/download-jaxp-drop.stamp: mkdir -p drops @@ -787,7 +808,11 @@ endif fi; \ fi ; mkdir -p stamps - touch stamps/download-jaxp-drop.stamp + touch $@ + +clean-download-jaxp-drop: + rm -f drops/$(JAXP_DROP_ZIP) + rm -f stamps/download-jaxp-drop.stamp stamps/download-jaf-drop.stamp: mkdir -p drops @@ -808,7 +833,11 @@ endif fi; \ fi ; mkdir -p stamps - touch stamps/download-jaf-drop.stamp + touch $@ + +clean-download-jaf-drop: + rm -f drops/$(JAF_DROP_ZIP) + rm -f stamps/download-jaf-drop.stamp stamps/download-jaxws-drop.stamp: mkdir -p drops @@ -829,14 +858,25 @@ endif fi; \ fi ; mkdir -p stamps - touch stamps/download-jaxws-drop.stamp + touch $@ + +clean-download-jaxws-drop: + rm -f drops/$(JAXWS_DROP_ZIP) + rm -f stamps/download-jaxws-drop.stamp stamps/download-drops.stamp: stamps/download-jaxp-drop.stamp \ stamps/download-jaxws-drop.stamp stamps/download-jaf-drop.stamp mkdir -p stamps - touch stamps/download-drops.stamp - -stamps/download.stamp: stamps/hgforest.stamp stamps/download-drops.stamp + touch $@ + +clean-drops: clean-download-jaxp-drop clean-download-jaf-drop \ + clean-download-jaxws-drop + if [ -e drops ] ; then \ + rmdir drops ; \ + fi + rm -f stamps/download-drops.stamp + +stamps/download-openjdk.stamp: stamps/hgforest.stamp if !OPENJDK_SRC_DIR_FOUND if USE_ALT_OPENJDK_SRC_ZIP else @@ -965,6 +1005,48 @@ endif endif endif endif + mkdir -p stamps + touch $@ + +clean-download-openjdk: +if !USE_ALT_OPENJDK_SRC_ZIP + if [ ! -z $(OPENJDK_SRC_ZIP) ] ; then \ + rm -f $(OPENJDK_SRC_ZIP) ; \ + fi +endif +if !USE_ALT_CORBA_SRC_ZIP + if [ ! -z $(CORBA_SRC_ZIP) ] ; then \ + rm -f $(CORBA_SRC_ZIP) ; \ + fi +endif +if !USE_ALT_JAXP_SRC_ZIP + if [ ! -z $(JAXP_SRC_ZIP) ] ; then \ + rm -f $(JAXP_SRC_ZIP) ; \ + fi +endif +if !USE_ALT_JAXWS_SRC_ZIP + if [ ! -z $(JAXWS_SRC_ZIP) ] ; then \ + rm -f $(JAXWS_SRC_ZIP) ; \ + fi +endif +if !USE_ALT_JDK_SRC_ZIP + if [ ! -z $(JDK_SRC_ZIP) ] ; then \ + rm -f $(JDK_SRC_ZIP) ; \ + fi +endif +if !USE_ALT_LANGTOOLS_SRC_ZIP + if [ ! -z $(LANGTOOLS_SRC_ZIP) ] ; then \ + rm -f $(LANGTOOLS_SRC_ZIP) ; \ + fi +endif +if !USE_ALT_HOTSPOT_SRC_ZIP + if [ ! -z $(HOTSPOT_SRC_ZIP) ] ; then \ + rm -f $(HOTSPOT_SRC_ZIP) ; \ + fi +endif + rm -f stamps/download-openjdk.stamp + +stamps/download-cacao.stamp: if BUILD_CACAO if !USE_SYSTEM_CACAO if USE_ALT_CACAO_SRC_ZIP @@ -985,6 +1067,18 @@ endif endif endif endif + mkdir -p stamps + touch $@ + +clean-download-cacao: +if BUILD_CACAO +if !USE_ALT_CACAO_SRC_ZIP + rm -f $(CACAO_SRC_ZIP) +endif +endif + rm -f stamps/download-cacao.stamp + +stamps/download-visualvm.stamp: if WITH_VISUALVM if ! echo "$(NETBEANS_PROFILER_MD5SUM) $(NETBEANS_PROFILER_SRC_ZIP)" \ | $(MD5SUM) --check ; \ @@ -1017,62 +1111,25 @@ if WITH_VISUALVM fi endif mkdir -p stamps - touch stamps/download.stamp - -clean-download-jaxp-drop: - rm -f drops/$(JAXP_DROP_ZIP) - rm -f stamps/download-jaxp-drop.stamp - -clean-download-jaf-drop: - rm -f drops/$(JAF_DROP_ZIP) - rm -f stamps/download-jaf-drop.stamp - -clean-download-jaxws-drop: - rm -f drops/$(JAXWS_DROP_ZIP) - rm -f stamps/download-jaxws-drop.stamp - -clean-drops: clean-download-jaxp-drop clean-download-jaf-drop \ - clean-download-jaxws-drop - rm -f stamps/download-drops.stamp - -clean-download: clean-drops - rm -f $(OPENJDK_SRC_ZIP) -if BUILD_CACAO - rm -f $(CACAO_SRC_ZIP) -endif + touch $@ + +clean-download-visualvm: if WITH_VISUALVM rm -f $(VISUALVM_SRC_ZIP) rm -f $(NETBEANS_PROFILER_SRC_ZIP) endif -if WITH_VISUALVM - rm -f $(VISUALVM_SRC_ZIP) - rm -f $(NETBEANS_PROFILER_SRC_ZIP) -endif - rm -f stamps/download.stamp - -stamps/hgforest.stamp: -if OPENJDK_SRC_DIR_FOUND -else -if USE_ALT_OPENJDK_SRC_ZIP -else -if !USE_HG -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; -endif -endif -endif - mkdir -p stamps - touch stamps/hgforest.stamp - -clean-hgforest: - rm -f stamps/hgforest.stamp - -stamps/extract.stamp: stamps/download.stamp + rm -f stamps/download-visualvm.stamp + +stamps/extract.stamp: stamps/extract-openjdk.stamp \ + stamps/extract-visualvm.stamp stamps/extract-cacao.stamp + mkdir -p stamps + touch $@ + +clean-extract: clean-extract-openjdk clean-extract-visualvm \ + clean-extract-cacao + rm -f stamps/extract.stamp + +stamps/extract-openjdk.stamp: stamps/download-openjdk.stamp if OPENJDK_SRC_DIR_FOUND cp -a $(OPENJDK_SRC_DIR) openjdk else @@ -1175,13 +1232,14 @@ endif find openjdk -name '*.java' \ -exec sed -i 's/^[[:space:]]*@Override//' {} + ; \ mkdir -p stamps - touch stamps/extract.stamp - -clean-extract: - rm -f stamps/extract.stamp + touch $@ + +clean-extract-openjdk: clean-overlay clean-versioning \ + clean-ports clean-patch-fsg rm -rf openjdk - -stamps/extract-visualvm.stamp: + rm -f stamps/extract-openjdk.stamp + +stamps/extract-visualvm.stamp: stamps/download-visualvm.stamp if WITH_VISUALVM if ! test -d netbeans ; \ then \ @@ -1197,16 +1255,16 @@ endif mkdir -p stamps touch $@ -clean-extract-visualvm.stamp: +clean-extract-visualvm: if WITH_VISUALVM rm -rf netbeans visualvm endif rm -f stamps/extract-visualvm.stamp -stamps/extract-cacao.stamp: stamps/extract.stamp +stamps/extract-cacao.stamp: stamps/download-cacao.stamp if BUILD_CACAO if !USE_SYSTEM_CACAO - if ! test -d cacao ; \ + if ! test -d cacao/cacao ; \ then \ mkdir cacao ; \ $(TAR) xjf $(CACAO_SRC_ZIP) -C cacao ; \ @@ -1218,18 +1276,13 @@ endif endif endif mkdir -p stamps - touch stamps/extract-cacao.stamp - -clean-extract-cacao: -if BUILD_CACAO -if !USE_SYSTEM_CACAO - rm -rf cacao -endif -endif + touch $@ + +clean-extract-cacao: clean-cacao rm -f stamps/extract-cacao.stamp # Link ports sources into tree -stamps/ports.stamp: stamps/extract-cacao.stamp +stamps/ports.stamp: stamps/extract.stamp for target in $(abs_top_srcdir)/ports/hotspot/make/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/cpu/zero/vm/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ @@ -1247,7 +1300,18 @@ stamps/ports.stamp: stamps/extract-cacao openjdk/jdk/src/solaris/bin/ergo_$(BUILD_ARCH_DIR).c; \ fi mkdir -p stamps From gnu_andrew at member.fsf.org Mon Nov 2 14:47:40 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 2 Nov 2009 22:47:40 +0000 Subject: [patch] Allow compiling against newer X11 headers In-Reply-To: <4AEF49CF.3060002@gentoo.org> References: <1257170602.3265.47.camel@springer.wildebeest.org> <4AEF056E.9080704@gentoo.org> <17c6771e0911021140u84f8316q61cd213c94a74ef5@mail.gmail.com> <4AEF49CF.3060002@gentoo.org> Message-ID: <17c6771e0911021447i7323e409y3fda3b7fcd7d4600@mail.gmail.com> 2009/11/2 Vlastimil Babka : > Andrew John Hughes wrote: > ?> Hi Mark, Vlastimil, > > Hi Andrew, > >> Having seen both patches before, I'd personally prefer we just added >> the necessary headers if that works, rather than the additional cruft >> we have in the Fedora patch. ?We should do that in awt_GraphicsEnv.h >> though, as in the Fedora patch, which would also remove the need for >> the #ifdef MITSHM (it's in awt_GraphicsEnv.h already). ?So basically >> the Fedora patch but without the removal of the XShm.h include and the >> additional structs. > > Sure, why not. I just included it in the .c file because the .h file > didn't use the constant and I hoped to minimize potential symbol > collisions or something (suspected something like that could be the > reason for the weird Fedora patch). > >> Though I've been aware of this for a while, I deliberately haven't >> upgraded my own build systems to the new version because it will break >> OpenJDK builds for which we don't yet have a solution. ?Does anyone >> know of some versioning defines in the X headers that would avoid us >> having to use a configure check, and thus allow the patch to be >> submitted upstream? I believe the change >> (http://lists.x.org/archives/xorg-devel/2009-June/001242.html) appears >> in libXext 1.1.1 as Vlastimil says, but is there a way of detecting >> that other than with autoconf? > > I don't know about versioning defines, but maybe the simple test Diego > suggested on our IRC channel could work in this case? > > #include > #ifndef X_ShmAttach > #include > #include > #endif > > Vlastimil > Applying that to OpenJDk6 works here without shmproto.h: http://cr.openjdk.java.net/~andrew/xshm/webrev.01/ Does it work for those with the new version? If so, we can send it upstream. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From mjw at redhat.com Tue Nov 3 03:51:15 2009 From: mjw at redhat.com (Mark Wielaard) Date: Tue, 03 Nov 2009 12:51:15 +0100 Subject: [patch] Allow compiling against newer X11 headers In-Reply-To: <4AEF49CF.3060002@gentoo.org> References: <1257170602.3265.47.camel@springer.wildebeest.org> <4AEF056E.9080704@gentoo.org> <17c6771e0911021140u84f8316q61cd213c94a74ef5@mail.gmail.com> <4AEF49CF.3060002@gentoo.org> Message-ID: <1257249075.14171.140.camel@springer.wildebeest.org> Hi Vlastimil, On Mon, 2009-11-02 at 22:06 +0100, Vlastimil Babka wrote: > Sure, why not. I just included it in the .c file because the .h file > didn't use the constant and I hoped to minimize potential symbol > collisions or something (suspected something like that could be the > reason for the weird Fedora patch). I also couldn't find a reason to define these directly instead of through including both headers if necessary. > I don't know about versioning defines, but maybe the simple test Diego > suggested on our IRC channel could work in this case? > > #include > #ifndef X_ShmAttach > #include > #include > #endif That is much nicer and simpler than my approach. And it works fine for my setups (Fedora 11 and rawhide) Thanks. I committed it as: 2009-11-02 Mark Wielaard Vlastimil Babka * Makefile.am (ICEDTEA_PATCHES): Add patches/icedtea-xshm.patch * patches/icedtea-xshm.patch: New patch. * HACKING: Document new patch. Cheers, Mark -------------- next part -------------- A non-text attachment was scrubbed... Name: shm.patch Type: text/x-patch Size: 992 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091103/08b44162/attachment-0001.bin From mjw at icedtea.classpath.org Tue Nov 3 03:46:56 2009 From: mjw at icedtea.classpath.org (mjw at icedtea.classpath.org) Date: Tue, 03 Nov 2009 11:46:56 +0000 Subject: /hg/icedtea6: Support newer X11 headers for awt_GraphicsEnv.h. Message-ID: changeset c75348f9db6a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c75348f9db6a author: Mark Wielaard date: Tue Nov 03 12:50:30 2009 +0100 Support newer X11 headers for awt_GraphicsEnv.h. 2009-11-02 Mark Wielaard Vlastimil Babka * Makefile.am (ICEDTEA_PATCHES): Add patches/icedtea-xshm.patch * patches/icedtea-xshm.patch: New patch. * HACKING: Document new patch. diffstat: 4 files changed, 22 insertions(+) ChangeLog | 7 +++++++ HACKING | 1 + Makefile.am | 1 + patches/icedtea-xshm.patch | 13 +++++++++++++ diffs (53 lines): diff -r 547923046557 -r c75348f9db6a ChangeLog --- a/ChangeLog Fri Oct 30 13:35:54 2009 +0000 +++ b/ChangeLog Tue Nov 03 12:50:30 2009 +0100 @@ -1,3 +1,10 @@ 2009-10-30 Edward Nevill + Vlastimil Babka + + * Makefile.am (ICEDTEA_PATCHES): Add patches/icedtea-xshm.patch + * patches/icedtea-xshm.patch: New patch. + * HACKING: Document new patch. + 2009-10-30 Edward Nevill * move mkbc.c to hotspot/tools diff -r 547923046557 -r c75348f9db6a HACKING --- a/HACKING Fri Oct 30 13:35:54 2009 +0000 +++ b/HACKING Tue Nov 03 12:50:30 2009 +0100 @@ -107,6 +107,7 @@ The following patches are currently appl * icedtea-zero.patch: Generalise architecture support, add ARM and #ifdef out non-zero applicable parts. * icedtea-shark.patch: Add support for the Shark JIT. * icedtea-s390-serialize.patch: Correctly detect serialization segfaults on s390. +* icedtea-xshm.patch: Support newer X11 headers for awt_GraphicsEnv.h. The following patches are only applied to OpenJDK6 in IcedTea6: diff -r 547923046557 -r c75348f9db6a Makefile.am --- a/Makefile.am Fri Oct 30 13:35:54 2009 +0000 +++ b/Makefile.am Tue Nov 03 12:50:30 2009 +0100 @@ -664,6 +664,7 @@ ICEDTEA_PATCHES += \ patches/icedtea-s390-serialize.patch \ patches/openjdk/6879689-hotspot_warning_fix.patch \ patches/icedtea-no-precompiled.patch \ + patches/icedtea-xshm.patch \ $(DISTRIBUTION_PATCHES) stamps/extract.stamp: stamps/download.stamp diff -r 547923046557 -r c75348f9db6a patches/icedtea-xshm.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-xshm.patch Tue Nov 03 12:50:30 2009 +0100 @@ -0,0 +1,13 @@ +--- old/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.h 2009-07-17 10:36:09.000000000 -0400 ++++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.h 2009-07-30 13:25:52.000000000 -0400 +@@ -42,6 +42,10 @@ + #include + #include + #include ++#ifndef X_ShmAttach ++#include ++#include ++#endif + + extern int XShmQueryExtension(); + From mmatejov at icedtea.classpath.org Tue Nov 3 05:05:28 2009 From: mmatejov at icedtea.classpath.org (mmatejov at icedtea.classpath.org) Date: Tue, 03 Nov 2009 13:05:28 +0000 Subject: /hg/icedtea6: Add latest security patches Message-ID: changeset cda20a4144b7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cda20a4144b7 author: Martin Matejovic date: Tue Nov 03 14:08:22 2009 +0100 Add latest security patches 2009-11-03 Martin Matejovic * patches/security/icedtea-6862968.patch * patches/security/icedtea-6863503.patch * patches/security/icedtea-6864911.patch * patches/security/icedtea-6872357.patch * patches/security/icedtea-6874643.patch * Makefile.am: apply the above diffstat: 7 files changed, 562 insertions(+), 1 deletion(-) ChangeLog | 8 Makefile.am | 7 patches/security/icedtea-6862968.patch | 60 ++++ patches/security/icedtea-6863503.patch | 33 ++ patches/security/icedtea-6864911.patch | 422 ++++++++++++++++++++++++++++++++ patches/security/icedtea-6872357.patch | 17 + patches/security/icedtea-6874643.patch | 16 + diffs (truncated from 600 to 500 lines): diff -r c75348f9db6a -r cda20a4144b7 ChangeLog --- a/ChangeLog Tue Nov 03 12:50:30 2009 +0100 +++ b/ChangeLog Tue Nov 03 14:08:22 2009 +0100 @@ -1,3 +1,11 @@ 2009-11-02 Mark Wielaard + * patches/security/icedtea-6862968.patch + * patches/security/icedtea-6863503.patch + * patches/security/icedtea-6864911.patch + * patches/security/icedtea-6872357.patch + * patches/security/icedtea-6874643.patch + * Makefile.am: apply the above + 2009-11-02 Mark Wielaard Vlastimil Babka diff -r c75348f9db6a -r cda20a4144b7 Makefile.am --- a/Makefile.am Tue Nov 03 12:50:30 2009 +0100 +++ b/Makefile.am Tue Nov 03 14:08:22 2009 +0100 @@ -589,7 +589,12 @@ ICEDTEA_PATCHES = \ patches/icedtea-sparc-buildfixes.patch \ patches/icedtea-sparc64-linux.patch \ patches/icedtea-sparc-ptracefix.patch \ - patches/icedtea-sparc-trapsfix.patch + patches/icedtea-sparc-trapsfix.patch \ + patches/security/icedtea-6862968.patch \ + patches/security/icedtea-6863503.patch \ + patches/security/icedtea-6864911.patch \ + patches/security/icedtea-6872357.patch \ + patches/security/icedtea-6874643.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r c75348f9db6a -r cda20a4144b7 patches/security/icedtea-6862968.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6862968.patch Tue Nov 03 14:08:22 2009 +0100 @@ -0,0 +1,60 @@ +--- old/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-07-29 13:28:11.272200000 +0400 ++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-07-29 13:28:10.710600000 +0400 +@@ -685,6 +685,10 @@ + #ifdef DEBUG + printf("in setQTables, qlen = %d, write is %d\n", qlen, write); + #endif ++ if (qlen > NUM_QUANT_TBLS) { ++ /* Ignore extra qunterization tables. */ ++ qlen = NUM_QUANT_TBLS; ++ } + for (i = 0; i < qlen; i++) { + table = (*env)->GetObjectArrayElement(env, qtables, i); + qdata = (*env)->GetObjectField(env, table, JPEGQTable_tableID); +@@ -736,6 +740,11 @@ + hlensBody = (*env)->GetShortArrayElements(env, + huffLens, + NULL); ++ if (hlensLen > 16) { ++ /* Ignore extra elements of bits array. Only 16 elements can be ++ stored. 0-th element is not used. (see jpeglib.h, line 107) */ ++ hlensLen = 16; ++ } + for (i = 1; i <= hlensLen; i++) { + huff_ptr->bits[i] = (UINT8)hlensBody[i-1]; + } +@@ -752,6 +761,11 @@ + huffValues, + NULL); + ++ if (hvalsLen > 256) { ++ /* Ignore extra elements of hufval array. Only 256 elements ++ can be stored. (see jpeglib.h, line 109) */ ++ hlensLen = 256; ++ } + for (i = 0; i < hvalsLen; i++) { + huff_ptr->huffval[i] = (UINT8)hvalsBody[i]; + } +@@ -772,6 +786,11 @@ + j_compress_ptr comp; + j_decompress_ptr decomp; + jsize hlen = (*env)->GetArrayLength(env, DCHuffmanTables); ++ ++ if (hlen > NUM_HUFF_TBLS) { ++ /* Ignore extra DC huffman tables. */ ++ hlen = NUM_HUFF_TBLS; ++ } + for (i = 0; i < hlen; i++) { + if (cinfo->is_decompressor) { + decomp = (j_decompress_ptr) cinfo; +@@ -793,6 +812,10 @@ + huff_ptr->sent_table = !write; + } + hlen = (*env)->GetArrayLength(env, ACHuffmanTables); ++ if (hlen > NUM_HUFF_TBLS) { ++ /* Ignore extra AC huffman tables. */ ++ hlen = NUM_HUFF_TBLS; ++ } + for (i = 0; i < hlen; i++) { + if (cinfo->is_decompressor) { + decomp = (j_decompress_ptr) cinfo; diff -r c75348f9db6a -r cda20a4144b7 patches/security/icedtea-6863503.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6863503.patch Tue Nov 03 14:08:22 2009 +0100 @@ -0,0 +1,33 @@ +--- old/src/share/classes/java/security/MessageDigest.java Thu Sep 24 22:22:15 2009 ++++ openjdk/jdk/src/share/classes/java/security/MessageDigest.java Thu Sep 24 22:22:15 2009 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -414,16 +414,17 @@ + * + * @return true if the digests are equal, false otherwise. + */ +- public static boolean isEqual(byte digesta[], byte digestb[]) { +- if (digesta.length != digestb.length) ++ public static boolean isEqual(byte[] digesta, byte[] digestb) { ++ if (digesta.length != digestb.length) { + return false; ++ } + ++ int result = 0; ++ // time-constant comparison + for (int i = 0; i < digesta.length; i++) { +- if (digesta[i] != digestb[i]) { +- return false; +- } ++ result |= digesta[i] ^ digestb[i]; + } +- return true; ++ return result == 0; + } + + /** diff -r c75348f9db6a -r cda20a4144b7 patches/security/icedtea-6864911.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6864911.patch Tue Nov 03 14:08:22 2009 +0100 @@ -0,0 +1,422 @@ +--- old/src/share/classes/com/sun/jndi/ldap/Connection.java 2009-08-18 09:35:56.595709900 +0800 ++++ openjdk/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java 2009-08-18 09:35:56.087195700 +0800 +@@ -32,12 +32,8 @@ + import java.io.OutputStream; + import java.io.InputStream; + import java.net.Socket; +-import java.util.Vector; +-import java.util.Hashtable; + + import javax.naming.CommunicationException; +-import javax.naming.AuthenticationException; +-import javax.naming.AuthenticationNotSupportedException; + import javax.naming.ServiceUnavailableException; + import javax.naming.NamingException; + import javax.naming.InterruptedNamingException; +@@ -47,6 +43,8 @@ + import java.lang.reflect.Method; + import java.lang.reflect.Constructor; + import java.lang.reflect.InvocationTargetException; ++import java.util.Arrays; ++import sun.misc.IOUtils; + //import javax.net.SocketFactory; + + /** +@@ -799,7 +797,6 @@ + byte inbuf[]; // Buffer for reading incoming bytes + int inMsgId; // Message id of incoming response + int bytesread; // Number of bytes in inbuf +- int bytesleft; // Number of bytes that need to read for completing resp + int br; // Temp; number of bytes read from stream + int offset; // Offset of where to store bytes in inbuf + int seqlen; // Length of ASN sequence +@@ -811,7 +808,7 @@ + try { + while (true) { + try { +- inbuf = new byte[2048]; ++ inbuf = new byte[10]; + + offset = 0; + seqlen = 0; +@@ -871,19 +868,10 @@ + } + + // read in seqlen bytes +- bytesleft = seqlen; +- if ((offset + bytesleft) > inbuf.length) { +- byte nbuf[] = new byte[offset + bytesleft]; +- System.arraycopy(inbuf, 0, nbuf, 0, offset); +- inbuf = nbuf; +- } +- while (bytesleft > 0) { +- bytesread = in.read(inbuf, offset, bytesleft); +- if (bytesread < 0) +- break; // EOF +- offset += bytesread; +- bytesleft -= bytesread; +- } ++ byte[] left = IOUtils.readFully(in, seqlen, false); ++ inbuf = Arrays.copyOf(inbuf, offset + left.length); ++ System.arraycopy(left, 0, inbuf, offset, left.length); ++ offset += left.length; + /* + if (dump > 0) { + System.err.println("seqlen: " + seqlen); +--- old/src/share/classes/sun/applet/AppletClassLoader.java 2009-08-18 09:36:00.901075900 +0800 ++++ openjdk/jdk/src/share/classes/sun/applet/AppletClassLoader.java 2009-08-18 09:35:59.999916100 +0800 +@@ -51,6 +51,7 @@ + import java.security.PermissionCollection; + import sun.awt.AppContext; + import sun.awt.SunToolkit; ++import sun.misc.IOUtils; + import sun.net.www.ParseUtil; + import sun.security.util.SecurityConstants; + +@@ -314,36 +315,7 @@ + + byte[] b; + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = in.read(b, b.length - len, len); +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; +- } +- } else { +- // Read until end of stream is reached - use 8K buffer +- // to speed up performance [stanleyh] +- b = new byte[8192]; +- int total = 0; +- while ((len = in.read(b, total, b.length - total)) != -1) { +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } ++ b = IOUtils.readFully(in, len, true); + } finally { + in.close(); + } +--- old/src/share/classes/sun/misc/Resource.java 2009-08-18 09:36:03.965921700 +0800 ++++ openjdk/jdk/src/share/classes/sun/misc/Resource.java 2009-08-18 09:36:03.449689900 +0800 +@@ -25,14 +25,15 @@ + + package sun.misc; + ++import java.io.EOFException; + import java.net.URL; + import java.io.IOException; + import java.io.InterruptedIOException; + import java.io.InputStream; + import java.security.CodeSigner; + import java.util.jar.Manifest; +-import java.util.jar.Attributes; + import java.nio.ByteBuffer; ++import java.util.Arrays; + import sun.nio.ByteBuffered; + + /** +@@ -105,49 +106,37 @@ + } + + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = 0; +- try { +- n = in.read(b, b.length - len, len); +- } catch (InterruptedIOException iioe) { +- Thread.interrupted(); +- isInterrupted = true; ++ b = new byte[0]; ++ if (len == -1) len = Integer.MAX_VALUE; ++ int pos = 0; ++ while (pos < len) { ++ int bytesToRead; ++ if (pos >= b.length) { // Only expand when there's no room ++ bytesToRead = Math.min(len - pos, b.length + 1024); ++ if (b.length < pos + bytesToRead) { ++ b = Arrays.copyOf(b, pos + bytesToRead); + } +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; ++ } else { ++ bytesToRead = b.length - pos; + } +- } else { +- // Read until end of stream is reached +- b = new byte[1024]; +- int total = 0; +- for (;;) { +- len = 0; +- try { +- len = in.read(b, total, b.length - total); +- if (len == -1) +- break; +- } catch (InterruptedIOException iioe) { +- Thread.interrupted(); +- isInterrupted = true; +- } +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } ++ int cc = 0; ++ try { ++ cc = in.read(b, pos, bytesToRead); ++ } catch (InterruptedIOException iioe) { ++ Thread.interrupted(); ++ isInterrupted = true; + } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; ++ if (cc < 0) { ++ if (len != Integer.MAX_VALUE) { ++ throw new EOFException("Detect premature EOF"); ++ } else { ++ if (b.length != pos) { ++ b = Arrays.copyOf(b, pos); ++ } ++ break; ++ } + } ++ pos += cc; + } + } finally { + try { +--- old/src/share/classes/sun/reflect/misc/MethodUtil.java 2009-08-18 09:36:07.067128400 +0800 ++++ openjdk/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java 2009-08-18 09:36:06.464179700 +0800 +@@ -44,6 +44,7 @@ + import java.util.Collection; + import java.util.HashMap; + import java.util.Map; ++import sun.misc.IOUtils; + import sun.net.www.ParseUtil; + import sun.security.util.SecurityConstants; + +@@ -375,34 +376,7 @@ + + byte[] b; + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = in.read(b, b.length - len, len); +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; +- } +- } else { +- b = new byte[8192]; +- int total = 0; +- while ((len = in.read(b, total, b.length - total)) != -1) { +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } ++ b = IOUtils.readFully(in, len, true); + } finally { + in.close(); + } +--- old/src/share/classes/sun/security/provider/certpath/OCSPChecker.java 2009-08-18 09:36:10.684391400 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/provider/certpath/OCSPChecker.java 2009-08-18 09:36:10.088986300 +0800 +@@ -36,6 +36,7 @@ + import java.net.*; + import javax.security.auth.x500.X500Principal; + ++import sun.misc.IOUtils; + import sun.security.util.*; + import sun.security.x509.*; + +@@ -344,17 +345,7 @@ + in = con.getInputStream(); + + int contentLength = con.getContentLength(); +- if (contentLength == -1) { +- contentLength = Integer.MAX_VALUE; +- } +- +- byte[] response = new byte[contentLength]; +- int total = 0; +- int count = 0; +- while (count != -1 && total < contentLength) { +- count = in.read(response, total, response.length - total); +- total += count; +- } ++ byte[] response = IOUtils.readFully(in, contentLength, false); + + OCSPResponse ocspResponse = new OCSPResponse(response, pkixParams, + responderCert); +--- old/src/share/classes/sun/security/timestamp/HttpTimestamper.java 2009-08-18 09:36:13.859436200 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/timestamp/HttpTimestamper.java 2009-08-18 09:36:13.165978900 +0800 +@@ -33,6 +33,7 @@ + import java.util.Iterator; + import java.util.Set; + ++import sun.misc.IOUtils; + import sun.security.pkcs.*; + + /** +@@ -138,19 +139,9 @@ + System.out.println(); + } + int contentLength = connection.getContentLength(); +- if (contentLength == -1) { +- contentLength = Integer.MAX_VALUE; +- } + verifyMimeType(connection.getContentType()); ++ replyBuffer = IOUtils.readFully(input, contentLength, false); + +- replyBuffer = new byte[contentLength]; +- int total = 0; +- int count = 0; +- while (count != -1 && total < contentLength) { +- count = input.read(replyBuffer, total, +- replyBuffer.length - total); +- total += count; +- } + if (DEBUG) { + System.out.println("received timestamp response (length=" + + replyBuffer.length + ")"); +--- old/src/share/classes/sun/security/util/DerValue.java 2009-08-18 09:36:18.392602400 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/util/DerValue.java 2009-08-18 09:36:17.617711400 +0800 +@@ -28,6 +28,7 @@ + import java.io.*; + import java.math.BigInteger; + import java.util.Date; ++import sun.misc.IOUtils; + + /** + * Represents a single DER-encoded value. DER encoding rules are a subset +@@ -384,12 +385,8 @@ + if (fullyBuffered && in.available() != length) + throw new IOException("extra data given to DerValue constructor"); + +- byte[] bytes = new byte[length]; ++ byte[] bytes = IOUtils.readFully(in, length, true); + +- // n.b. readFully not needed in normal fullyBuffered case +- DataInputStream dis = new DataInputStream(in); +- +- dis.readFully(bytes); + buffer = new DerInputBuffer(bytes); + return new DerInputStream(buffer); + } +--- /dev/null 2009-07-23 00:25:50.000000000 +0800 ++++ openjdk/jdk/src/share/classes/sun/misc/IOUtils.java 2009-08-18 09:36:21.385422200 +0800 +@@ -0,0 +1,80 @@ ++/* ++ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. Sun designates this ++ * particular file as subject to the "Classpath" exception as provided ++ * by Sun in the LICENSE file that accompanied this code. ++ * ++ * This code 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 ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, From bugzilla-daemon at icedtea.classpath.org Tue Nov 3 05:12:57 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Nov 2009 13:12:57 +0000 Subject: [Bug 400] New: SPECjvm98 javac test fails with LLVM 2.6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=400 Summary: SPECjvm98 javac test fails with LLVM 2.6 Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: gbenson at redhat.com icedtea6-f2b2f87f120a Test fails with ***NOT VALID*** -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Nov 3 05:13:11 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Nov 2009 13:13:11 +0000 Subject: [Bug 400] SPECjvm98 javac test fails with LLVM 2.6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=400 gbenson at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gbenson at redhat.com |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From mmatejov at icedtea.classpath.org Tue Nov 3 08:39:45 2009 From: mmatejov at icedtea.classpath.org (mmatejov at icedtea.classpath.org) Date: Tue, 03 Nov 2009 16:39:45 +0000 Subject: /hg/release/icedtea6-1.5: Add latest security patches Message-ID: changeset 662422897e63 in /hg/release/icedtea6-1.5 details: http://icedtea.classpath.org/hg/release/icedtea6-1.5?cmd=changeset;node=662422897e63 author: Martin Matejovic date: Tue Nov 03 17:44:08 2009 +0100 Add latest security patches 2009-11-03 Martin Matejovic * patches/security/icedtea-6862968.patch * patches/security/icedtea-6863503.patch * patches/security/icedtea-6864911.patch * patches/security/icedtea-6872357.patch * patches/security/icedtea-6874643.patch * Makefile.am: apply the above diffstat: 7 files changed, 564 insertions(+), 3 deletions(-) ChangeLog | 8 Makefile.am | 11 patches/security/icedtea-6862968.patch | 60 ++++ patches/security/icedtea-6863503.patch | 33 ++ patches/security/icedtea-6864911.patch | 422 ++++++++++++++++++++++++++++++++ patches/security/icedtea-6872357.patch | 17 + patches/security/icedtea-6874643.patch | 16 + diffs (truncated from 604 to 500 lines): diff -r 7ea6d4f11077 -r 662422897e63 ChangeLog --- a/ChangeLog Fri Sep 04 10:05:08 2009 -0400 +++ b/ChangeLog Tue Nov 03 17:44:08 2009 +0100 @@ -1,3 +1,11 @@ 2009-09-04 Lillian Angel + * patches/security/icedtea-6862968.patch + * patches/security/icedtea-6863503.patch + * patches/security/icedtea-6864911.patch + * patches/security/icedtea-6872357.patch + * patches/security/icedtea-6874643.patch + * Makefile.am: apply the above + 2009-09-04 Lillian Angel * NEWS: Updated for 1.5.2 release. diff -r 7ea6d4f11077 -r 662422897e63 Makefile.am --- a/Makefile.am Fri Sep 04 10:05:08 2009 -0400 +++ b/Makefile.am Tue Nov 03 17:44:08 2009 +0100 @@ -608,9 +608,14 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6824440.patch \ patches/security/icedtea-6830335.patch \ patches/security/icedtea-6845701.patch \ - patches/security/icedtea-6813167.patch - -if WITH_ALT_HSBUILD + patches/security/icedtea-6813167.patch \ + patches/security/icedtea-6862968.patch \ + patches/security/icedtea-6863503.patch \ + patches/security/icedtea-6864911.patch \ + patches/security/icedtea-6872357.patch \ + patches/security/icedtea-6874643.patch + +f WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ patches/icedtea-format-warnings.patch \ patches/icedtea-fortify-source.patch \ diff -r 7ea6d4f11077 -r 662422897e63 patches/security/icedtea-6862968.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6862968.patch Tue Nov 03 17:44:08 2009 +0100 @@ -0,0 +1,60 @@ +--- old/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-07-29 13:28:11.272200000 +0400 ++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-07-29 13:28:10.710600000 +0400 +@@ -685,6 +685,10 @@ + #ifdef DEBUG + printf("in setQTables, qlen = %d, write is %d\n", qlen, write); + #endif ++ if (qlen > NUM_QUANT_TBLS) { ++ /* Ignore extra qunterization tables. */ ++ qlen = NUM_QUANT_TBLS; ++ } + for (i = 0; i < qlen; i++) { + table = (*env)->GetObjectArrayElement(env, qtables, i); + qdata = (*env)->GetObjectField(env, table, JPEGQTable_tableID); +@@ -736,6 +740,11 @@ + hlensBody = (*env)->GetShortArrayElements(env, + huffLens, + NULL); ++ if (hlensLen > 16) { ++ /* Ignore extra elements of bits array. Only 16 elements can be ++ stored. 0-th element is not used. (see jpeglib.h, line 107) */ ++ hlensLen = 16; ++ } + for (i = 1; i <= hlensLen; i++) { + huff_ptr->bits[i] = (UINT8)hlensBody[i-1]; + } +@@ -752,6 +761,11 @@ + huffValues, + NULL); + ++ if (hvalsLen > 256) { ++ /* Ignore extra elements of hufval array. Only 256 elements ++ can be stored. (see jpeglib.h, line 109) */ ++ hlensLen = 256; ++ } + for (i = 0; i < hvalsLen; i++) { + huff_ptr->huffval[i] = (UINT8)hvalsBody[i]; + } +@@ -772,6 +786,11 @@ + j_compress_ptr comp; + j_decompress_ptr decomp; + jsize hlen = (*env)->GetArrayLength(env, DCHuffmanTables); ++ ++ if (hlen > NUM_HUFF_TBLS) { ++ /* Ignore extra DC huffman tables. */ ++ hlen = NUM_HUFF_TBLS; ++ } + for (i = 0; i < hlen; i++) { + if (cinfo->is_decompressor) { + decomp = (j_decompress_ptr) cinfo; +@@ -793,6 +812,10 @@ + huff_ptr->sent_table = !write; + } + hlen = (*env)->GetArrayLength(env, ACHuffmanTables); ++ if (hlen > NUM_HUFF_TBLS) { ++ /* Ignore extra AC huffman tables. */ ++ hlen = NUM_HUFF_TBLS; ++ } + for (i = 0; i < hlen; i++) { + if (cinfo->is_decompressor) { + decomp = (j_decompress_ptr) cinfo; diff -r 7ea6d4f11077 -r 662422897e63 patches/security/icedtea-6863503.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6863503.patch Tue Nov 03 17:44:08 2009 +0100 @@ -0,0 +1,33 @@ +--- old/src/share/classes/java/security/MessageDigest.java Thu Sep 24 22:22:15 2009 ++++ openjdk/jdk/src/share/classes/java/security/MessageDigest.java Thu Sep 24 22:22:15 2009 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -414,16 +414,17 @@ + * + * @return true if the digests are equal, false otherwise. + */ +- public static boolean isEqual(byte digesta[], byte digestb[]) { +- if (digesta.length != digestb.length) ++ public static boolean isEqual(byte[] digesta, byte[] digestb) { ++ if (digesta.length != digestb.length) { + return false; ++ } + ++ int result = 0; ++ // time-constant comparison + for (int i = 0; i < digesta.length; i++) { +- if (digesta[i] != digestb[i]) { +- return false; +- } ++ result |= digesta[i] ^ digestb[i]; + } +- return true; ++ return result == 0; + } + + /** diff -r 7ea6d4f11077 -r 662422897e63 patches/security/icedtea-6864911.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6864911.patch Tue Nov 03 17:44:08 2009 +0100 @@ -0,0 +1,422 @@ +--- old/src/share/classes/com/sun/jndi/ldap/Connection.java 2009-08-18 09:35:56.595709900 +0800 ++++ openjdk/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java 2009-08-18 09:35:56.087195700 +0800 +@@ -32,12 +32,8 @@ + import java.io.OutputStream; + import java.io.InputStream; + import java.net.Socket; +-import java.util.Vector; +-import java.util.Hashtable; + + import javax.naming.CommunicationException; +-import javax.naming.AuthenticationException; +-import javax.naming.AuthenticationNotSupportedException; + import javax.naming.ServiceUnavailableException; + import javax.naming.NamingException; + import javax.naming.InterruptedNamingException; +@@ -47,6 +43,8 @@ + import java.lang.reflect.Method; + import java.lang.reflect.Constructor; + import java.lang.reflect.InvocationTargetException; ++import java.util.Arrays; ++import sun.misc.IOUtils; + //import javax.net.SocketFactory; + + /** +@@ -799,7 +797,6 @@ + byte inbuf[]; // Buffer for reading incoming bytes + int inMsgId; // Message id of incoming response + int bytesread; // Number of bytes in inbuf +- int bytesleft; // Number of bytes that need to read for completing resp + int br; // Temp; number of bytes read from stream + int offset; // Offset of where to store bytes in inbuf + int seqlen; // Length of ASN sequence +@@ -811,7 +808,7 @@ + try { + while (true) { + try { +- inbuf = new byte[2048]; ++ inbuf = new byte[10]; + + offset = 0; + seqlen = 0; +@@ -871,19 +868,10 @@ + } + + // read in seqlen bytes +- bytesleft = seqlen; +- if ((offset + bytesleft) > inbuf.length) { +- byte nbuf[] = new byte[offset + bytesleft]; +- System.arraycopy(inbuf, 0, nbuf, 0, offset); +- inbuf = nbuf; +- } +- while (bytesleft > 0) { +- bytesread = in.read(inbuf, offset, bytesleft); +- if (bytesread < 0) +- break; // EOF +- offset += bytesread; +- bytesleft -= bytesread; +- } ++ byte[] left = IOUtils.readFully(in, seqlen, false); ++ inbuf = Arrays.copyOf(inbuf, offset + left.length); ++ System.arraycopy(left, 0, inbuf, offset, left.length); ++ offset += left.length; + /* + if (dump > 0) { + System.err.println("seqlen: " + seqlen); +--- old/src/share/classes/sun/applet/AppletClassLoader.java 2009-08-18 09:36:00.901075900 +0800 ++++ openjdk/jdk/src/share/classes/sun/applet/AppletClassLoader.java 2009-08-18 09:35:59.999916100 +0800 +@@ -51,6 +51,7 @@ + import java.security.PermissionCollection; + import sun.awt.AppContext; + import sun.awt.SunToolkit; ++import sun.misc.IOUtils; + import sun.net.www.ParseUtil; + import sun.security.util.SecurityConstants; + +@@ -314,36 +315,7 @@ + + byte[] b; + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = in.read(b, b.length - len, len); +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; +- } +- } else { +- // Read until end of stream is reached - use 8K buffer +- // to speed up performance [stanleyh] +- b = new byte[8192]; +- int total = 0; +- while ((len = in.read(b, total, b.length - total)) != -1) { +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } ++ b = IOUtils.readFully(in, len, true); + } finally { + in.close(); + } +--- old/src/share/classes/sun/misc/Resource.java 2009-08-18 09:36:03.965921700 +0800 ++++ openjdk/jdk/src/share/classes/sun/misc/Resource.java 2009-08-18 09:36:03.449689900 +0800 +@@ -25,14 +25,15 @@ + + package sun.misc; + ++import java.io.EOFException; + import java.net.URL; + import java.io.IOException; + import java.io.InterruptedIOException; + import java.io.InputStream; + import java.security.CodeSigner; + import java.util.jar.Manifest; +-import java.util.jar.Attributes; + import java.nio.ByteBuffer; ++import java.util.Arrays; + import sun.nio.ByteBuffered; + + /** +@@ -105,49 +106,37 @@ + } + + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = 0; +- try { +- n = in.read(b, b.length - len, len); +- } catch (InterruptedIOException iioe) { +- Thread.interrupted(); +- isInterrupted = true; ++ b = new byte[0]; ++ if (len == -1) len = Integer.MAX_VALUE; ++ int pos = 0; ++ while (pos < len) { ++ int bytesToRead; ++ if (pos >= b.length) { // Only expand when there's no room ++ bytesToRead = Math.min(len - pos, b.length + 1024); ++ if (b.length < pos + bytesToRead) { ++ b = Arrays.copyOf(b, pos + bytesToRead); + } +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; ++ } else { ++ bytesToRead = b.length - pos; + } +- } else { +- // Read until end of stream is reached +- b = new byte[1024]; +- int total = 0; +- for (;;) { +- len = 0; +- try { +- len = in.read(b, total, b.length - total); +- if (len == -1) +- break; +- } catch (InterruptedIOException iioe) { +- Thread.interrupted(); +- isInterrupted = true; +- } +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } ++ int cc = 0; ++ try { ++ cc = in.read(b, pos, bytesToRead); ++ } catch (InterruptedIOException iioe) { ++ Thread.interrupted(); ++ isInterrupted = true; + } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; ++ if (cc < 0) { ++ if (len != Integer.MAX_VALUE) { ++ throw new EOFException("Detect premature EOF"); ++ } else { ++ if (b.length != pos) { ++ b = Arrays.copyOf(b, pos); ++ } ++ break; ++ } + } ++ pos += cc; + } + } finally { + try { +--- old/src/share/classes/sun/reflect/misc/MethodUtil.java 2009-08-18 09:36:07.067128400 +0800 ++++ openjdk/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java 2009-08-18 09:36:06.464179700 +0800 +@@ -44,6 +44,7 @@ + import java.util.Collection; + import java.util.HashMap; + import java.util.Map; ++import sun.misc.IOUtils; + import sun.net.www.ParseUtil; + import sun.security.util.SecurityConstants; + +@@ -375,34 +376,7 @@ + + byte[] b; + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = in.read(b, b.length - len, len); +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; +- } +- } else { +- b = new byte[8192]; +- int total = 0; +- while ((len = in.read(b, total, b.length - total)) != -1) { +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } ++ b = IOUtils.readFully(in, len, true); + } finally { + in.close(); + } +--- old/src/share/classes/sun/security/provider/certpath/OCSPChecker.java 2009-08-18 09:36:10.684391400 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/provider/certpath/OCSPChecker.java 2009-08-18 09:36:10.088986300 +0800 +@@ -36,6 +36,7 @@ + import java.net.*; + import javax.security.auth.x500.X500Principal; + ++import sun.misc.IOUtils; + import sun.security.util.*; + import sun.security.x509.*; + +@@ -344,17 +345,7 @@ + in = con.getInputStream(); + + int contentLength = con.getContentLength(); +- if (contentLength == -1) { +- contentLength = Integer.MAX_VALUE; +- } +- +- byte[] response = new byte[contentLength]; +- int total = 0; +- int count = 0; +- while (count != -1 && total < contentLength) { +- count = in.read(response, total, response.length - total); +- total += count; +- } ++ byte[] response = IOUtils.readFully(in, contentLength, false); + + OCSPResponse ocspResponse = new OCSPResponse(response, pkixParams, + responderCert); +--- old/src/share/classes/sun/security/timestamp/HttpTimestamper.java 2009-08-18 09:36:13.859436200 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/timestamp/HttpTimestamper.java 2009-08-18 09:36:13.165978900 +0800 +@@ -33,6 +33,7 @@ + import java.util.Iterator; + import java.util.Set; + ++import sun.misc.IOUtils; + import sun.security.pkcs.*; + + /** +@@ -138,19 +139,9 @@ + System.out.println(); + } + int contentLength = connection.getContentLength(); +- if (contentLength == -1) { +- contentLength = Integer.MAX_VALUE; +- } + verifyMimeType(connection.getContentType()); ++ replyBuffer = IOUtils.readFully(input, contentLength, false); + +- replyBuffer = new byte[contentLength]; +- int total = 0; +- int count = 0; +- while (count != -1 && total < contentLength) { +- count = input.read(replyBuffer, total, +- replyBuffer.length - total); +- total += count; +- } + if (DEBUG) { + System.out.println("received timestamp response (length=" + + replyBuffer.length + ")"); +--- old/src/share/classes/sun/security/util/DerValue.java 2009-08-18 09:36:18.392602400 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/util/DerValue.java 2009-08-18 09:36:17.617711400 +0800 +@@ -28,6 +28,7 @@ + import java.io.*; + import java.math.BigInteger; + import java.util.Date; ++import sun.misc.IOUtils; + + /** + * Represents a single DER-encoded value. DER encoding rules are a subset +@@ -384,12 +385,8 @@ + if (fullyBuffered && in.available() != length) + throw new IOException("extra data given to DerValue constructor"); + +- byte[] bytes = new byte[length]; ++ byte[] bytes = IOUtils.readFully(in, length, true); + +- // n.b. readFully not needed in normal fullyBuffered case +- DataInputStream dis = new DataInputStream(in); +- +- dis.readFully(bytes); + buffer = new DerInputBuffer(bytes); + return new DerInputStream(buffer); + } +--- /dev/null 2009-07-23 00:25:50.000000000 +0800 ++++ openjdk/jdk/src/share/classes/sun/misc/IOUtils.java 2009-08-18 09:36:21.385422200 +0800 +@@ -0,0 +1,80 @@ ++/* ++ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. Sun designates this ++ * particular file as subject to the "Classpath" exception as provided ++ * by Sun in the LICENSE file that accompanied this code. ++ * ++ * This code 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 ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version From mmatejov at icedtea.classpath.org Tue Nov 3 08:46:03 2009 From: mmatejov at icedtea.classpath.org (mmatejov at icedtea.classpath.org) Date: Tue, 03 Nov 2009 16:46:03 +0000 Subject: /hg/release/icedtea6-1.6: Add latest security patches Message-ID: changeset 2c854193cc9d in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=2c854193cc9d author: Martin Matejovic date: Tue Nov 03 17:50:20 2009 +0100 Add latest security patches 2009-11-03 Martin Matejovic * patches/security/icedtea-6862968.patch * patches/security/icedtea-6863503.patch * patches/security/icedtea-6864911.patch * patches/security/icedtea-6872357.patch * patches/security/icedtea-6874643.patch * Makefile.am: apply the above diffstat: 7 files changed, 561 insertions(+) ChangeLog | 8 Makefile.am | 5 patches/security/icedtea-6862968.patch | 60 ++++ patches/security/icedtea-6863503.patch | 33 ++ patches/security/icedtea-6864911.patch | 422 ++++++++++++++++++++++++++++++++ patches/security/icedtea-6872357.patch | 17 + patches/security/icedtea-6874643.patch | 16 + diffs (truncated from 598 to 500 lines): diff -r 7c131a5e1ccf -r 2c854193cc9d ChangeLog --- a/ChangeLog Mon Sep 14 17:40:46 2009 +0100 +++ b/ChangeLog Tue Nov 03 17:50:20 2009 +0100 @@ -1,3 +1,11 @@ 2009-09-14 Andrew Haley + * patches/security/icedtea-6862968.patch + * patches/security/icedtea-6863503.patch + * patches/security/icedtea-6864911.patch + * patches/security/icedtea-6872357.patch + * patches/security/icedtea-6874643.patch + * Makefile.am: apply the above + 2009-09-14 Andrew Haley * NEWS: Update. diff -r 7c131a5e1ccf -r 2c854193cc9d Makefile.am --- a/Makefile.am Mon Sep 14 17:40:46 2009 +0100 +++ b/Makefile.am Tue Nov 03 17:50:20 2009 +0100 @@ -626,6 +626,11 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6830335.patch \ patches/security/icedtea-6845701.patch \ patches/security/icedtea-6813167.patch \ + patches/security/icedtea-6862968.patch \ + patches/security/icedtea-6863503.patch \ + patches/security/icedtea-6864911.patch \ + patches/security/icedtea-6872357.patch \ + patches/security/icedtea-6874643.patch \ patches/icedtea-jar-misc.patch if WITH_ALT_HSBUILD diff -r 7c131a5e1ccf -r 2c854193cc9d patches/security/icedtea-6862968.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6862968.patch Tue Nov 03 17:50:20 2009 +0100 @@ -0,0 +1,60 @@ +--- old/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-07-29 13:28:11.272200000 +0400 ++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-07-29 13:28:10.710600000 +0400 +@@ -685,6 +685,10 @@ + #ifdef DEBUG + printf("in setQTables, qlen = %d, write is %d\n", qlen, write); + #endif ++ if (qlen > NUM_QUANT_TBLS) { ++ /* Ignore extra qunterization tables. */ ++ qlen = NUM_QUANT_TBLS; ++ } + for (i = 0; i < qlen; i++) { + table = (*env)->GetObjectArrayElement(env, qtables, i); + qdata = (*env)->GetObjectField(env, table, JPEGQTable_tableID); +@@ -736,6 +740,11 @@ + hlensBody = (*env)->GetShortArrayElements(env, + huffLens, + NULL); ++ if (hlensLen > 16) { ++ /* Ignore extra elements of bits array. Only 16 elements can be ++ stored. 0-th element is not used. (see jpeglib.h, line 107) */ ++ hlensLen = 16; ++ } + for (i = 1; i <= hlensLen; i++) { + huff_ptr->bits[i] = (UINT8)hlensBody[i-1]; + } +@@ -752,6 +761,11 @@ + huffValues, + NULL); + ++ if (hvalsLen > 256) { ++ /* Ignore extra elements of hufval array. Only 256 elements ++ can be stored. (see jpeglib.h, line 109) */ ++ hlensLen = 256; ++ } + for (i = 0; i < hvalsLen; i++) { + huff_ptr->huffval[i] = (UINT8)hvalsBody[i]; + } +@@ -772,6 +786,11 @@ + j_compress_ptr comp; + j_decompress_ptr decomp; + jsize hlen = (*env)->GetArrayLength(env, DCHuffmanTables); ++ ++ if (hlen > NUM_HUFF_TBLS) { ++ /* Ignore extra DC huffman tables. */ ++ hlen = NUM_HUFF_TBLS; ++ } + for (i = 0; i < hlen; i++) { + if (cinfo->is_decompressor) { + decomp = (j_decompress_ptr) cinfo; +@@ -793,6 +812,10 @@ + huff_ptr->sent_table = !write; + } + hlen = (*env)->GetArrayLength(env, ACHuffmanTables); ++ if (hlen > NUM_HUFF_TBLS) { ++ /* Ignore extra AC huffman tables. */ ++ hlen = NUM_HUFF_TBLS; ++ } + for (i = 0; i < hlen; i++) { + if (cinfo->is_decompressor) { + decomp = (j_decompress_ptr) cinfo; diff -r 7c131a5e1ccf -r 2c854193cc9d patches/security/icedtea-6863503.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6863503.patch Tue Nov 03 17:50:20 2009 +0100 @@ -0,0 +1,33 @@ +--- old/src/share/classes/java/security/MessageDigest.java Thu Sep 24 22:22:15 2009 ++++ openjdk/jdk/src/share/classes/java/security/MessageDigest.java Thu Sep 24 22:22:15 2009 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1996-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -414,16 +414,17 @@ + * + * @return true if the digests are equal, false otherwise. + */ +- public static boolean isEqual(byte digesta[], byte digestb[]) { +- if (digesta.length != digestb.length) ++ public static boolean isEqual(byte[] digesta, byte[] digestb) { ++ if (digesta.length != digestb.length) { + return false; ++ } + ++ int result = 0; ++ // time-constant comparison + for (int i = 0; i < digesta.length; i++) { +- if (digesta[i] != digestb[i]) { +- return false; +- } ++ result |= digesta[i] ^ digestb[i]; + } +- return true; ++ return result == 0; + } + + /** diff -r 7c131a5e1ccf -r 2c854193cc9d patches/security/icedtea-6864911.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6864911.patch Tue Nov 03 17:50:20 2009 +0100 @@ -0,0 +1,422 @@ +--- old/src/share/classes/com/sun/jndi/ldap/Connection.java 2009-08-18 09:35:56.595709900 +0800 ++++ openjdk/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java 2009-08-18 09:35:56.087195700 +0800 +@@ -32,12 +32,8 @@ + import java.io.OutputStream; + import java.io.InputStream; + import java.net.Socket; +-import java.util.Vector; +-import java.util.Hashtable; + + import javax.naming.CommunicationException; +-import javax.naming.AuthenticationException; +-import javax.naming.AuthenticationNotSupportedException; + import javax.naming.ServiceUnavailableException; + import javax.naming.NamingException; + import javax.naming.InterruptedNamingException; +@@ -47,6 +43,8 @@ + import java.lang.reflect.Method; + import java.lang.reflect.Constructor; + import java.lang.reflect.InvocationTargetException; ++import java.util.Arrays; ++import sun.misc.IOUtils; + //import javax.net.SocketFactory; + + /** +@@ -799,7 +797,6 @@ + byte inbuf[]; // Buffer for reading incoming bytes + int inMsgId; // Message id of incoming response + int bytesread; // Number of bytes in inbuf +- int bytesleft; // Number of bytes that need to read for completing resp + int br; // Temp; number of bytes read from stream + int offset; // Offset of where to store bytes in inbuf + int seqlen; // Length of ASN sequence +@@ -811,7 +808,7 @@ + try { + while (true) { + try { +- inbuf = new byte[2048]; ++ inbuf = new byte[10]; + + offset = 0; + seqlen = 0; +@@ -871,19 +868,10 @@ + } + + // read in seqlen bytes +- bytesleft = seqlen; +- if ((offset + bytesleft) > inbuf.length) { +- byte nbuf[] = new byte[offset + bytesleft]; +- System.arraycopy(inbuf, 0, nbuf, 0, offset); +- inbuf = nbuf; +- } +- while (bytesleft > 0) { +- bytesread = in.read(inbuf, offset, bytesleft); +- if (bytesread < 0) +- break; // EOF +- offset += bytesread; +- bytesleft -= bytesread; +- } ++ byte[] left = IOUtils.readFully(in, seqlen, false); ++ inbuf = Arrays.copyOf(inbuf, offset + left.length); ++ System.arraycopy(left, 0, inbuf, offset, left.length); ++ offset += left.length; + /* + if (dump > 0) { + System.err.println("seqlen: " + seqlen); +--- old/src/share/classes/sun/applet/AppletClassLoader.java 2009-08-18 09:36:00.901075900 +0800 ++++ openjdk/jdk/src/share/classes/sun/applet/AppletClassLoader.java 2009-08-18 09:35:59.999916100 +0800 +@@ -51,6 +51,7 @@ + import java.security.PermissionCollection; + import sun.awt.AppContext; + import sun.awt.SunToolkit; ++import sun.misc.IOUtils; + import sun.net.www.ParseUtil; + import sun.security.util.SecurityConstants; + +@@ -314,36 +315,7 @@ + + byte[] b; + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = in.read(b, b.length - len, len); +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; +- } +- } else { +- // Read until end of stream is reached - use 8K buffer +- // to speed up performance [stanleyh] +- b = new byte[8192]; +- int total = 0; +- while ((len = in.read(b, total, b.length - total)) != -1) { +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } ++ b = IOUtils.readFully(in, len, true); + } finally { + in.close(); + } +--- old/src/share/classes/sun/misc/Resource.java 2009-08-18 09:36:03.965921700 +0800 ++++ openjdk/jdk/src/share/classes/sun/misc/Resource.java 2009-08-18 09:36:03.449689900 +0800 +@@ -25,14 +25,15 @@ + + package sun.misc; + ++import java.io.EOFException; + import java.net.URL; + import java.io.IOException; + import java.io.InterruptedIOException; + import java.io.InputStream; + import java.security.CodeSigner; + import java.util.jar.Manifest; +-import java.util.jar.Attributes; + import java.nio.ByteBuffer; ++import java.util.Arrays; + import sun.nio.ByteBuffered; + + /** +@@ -105,49 +106,37 @@ + } + + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = 0; +- try { +- n = in.read(b, b.length - len, len); +- } catch (InterruptedIOException iioe) { +- Thread.interrupted(); +- isInterrupted = true; ++ b = new byte[0]; ++ if (len == -1) len = Integer.MAX_VALUE; ++ int pos = 0; ++ while (pos < len) { ++ int bytesToRead; ++ if (pos >= b.length) { // Only expand when there's no room ++ bytesToRead = Math.min(len - pos, b.length + 1024); ++ if (b.length < pos + bytesToRead) { ++ b = Arrays.copyOf(b, pos + bytesToRead); + } +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; ++ } else { ++ bytesToRead = b.length - pos; + } +- } else { +- // Read until end of stream is reached +- b = new byte[1024]; +- int total = 0; +- for (;;) { +- len = 0; +- try { +- len = in.read(b, total, b.length - total); +- if (len == -1) +- break; +- } catch (InterruptedIOException iioe) { +- Thread.interrupted(); +- isInterrupted = true; +- } +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } ++ int cc = 0; ++ try { ++ cc = in.read(b, pos, bytesToRead); ++ } catch (InterruptedIOException iioe) { ++ Thread.interrupted(); ++ isInterrupted = true; + } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; ++ if (cc < 0) { ++ if (len != Integer.MAX_VALUE) { ++ throw new EOFException("Detect premature EOF"); ++ } else { ++ if (b.length != pos) { ++ b = Arrays.copyOf(b, pos); ++ } ++ break; ++ } + } ++ pos += cc; + } + } finally { + try { +--- old/src/share/classes/sun/reflect/misc/MethodUtil.java 2009-08-18 09:36:07.067128400 +0800 ++++ openjdk/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java 2009-08-18 09:36:06.464179700 +0800 +@@ -44,6 +44,7 @@ + import java.util.Collection; + import java.util.HashMap; + import java.util.Map; ++import sun.misc.IOUtils; + import sun.net.www.ParseUtil; + import sun.security.util.SecurityConstants; + +@@ -375,34 +376,7 @@ + + byte[] b; + try { +- if (len != -1) { +- // Read exactly len bytes from the input stream +- b = new byte[len]; +- while (len > 0) { +- int n = in.read(b, b.length - len, len); +- if (n == -1) { +- throw new IOException("unexpected EOF"); +- } +- len -= n; +- } +- } else { +- b = new byte[8192]; +- int total = 0; +- while ((len = in.read(b, total, b.length - total)) != -1) { +- total += len; +- if (total >= b.length) { +- byte[] tmp = new byte[total * 2]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } +- // Trim array to correct size, if necessary +- if (total != b.length) { +- byte[] tmp = new byte[total]; +- System.arraycopy(b, 0, tmp, 0, total); +- b = tmp; +- } +- } ++ b = IOUtils.readFully(in, len, true); + } finally { + in.close(); + } +--- old/src/share/classes/sun/security/provider/certpath/OCSPChecker.java 2009-08-18 09:36:10.684391400 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/provider/certpath/OCSPChecker.java 2009-08-18 09:36:10.088986300 +0800 +@@ -36,6 +36,7 @@ + import java.net.*; + import javax.security.auth.x500.X500Principal; + ++import sun.misc.IOUtils; + import sun.security.util.*; + import sun.security.x509.*; + +@@ -344,17 +345,7 @@ + in = con.getInputStream(); + + int contentLength = con.getContentLength(); +- if (contentLength == -1) { +- contentLength = Integer.MAX_VALUE; +- } +- +- byte[] response = new byte[contentLength]; +- int total = 0; +- int count = 0; +- while (count != -1 && total < contentLength) { +- count = in.read(response, total, response.length - total); +- total += count; +- } ++ byte[] response = IOUtils.readFully(in, contentLength, false); + + OCSPResponse ocspResponse = new OCSPResponse(response, pkixParams, + responderCert); +--- old/src/share/classes/sun/security/timestamp/HttpTimestamper.java 2009-08-18 09:36:13.859436200 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/timestamp/HttpTimestamper.java 2009-08-18 09:36:13.165978900 +0800 +@@ -33,6 +33,7 @@ + import java.util.Iterator; + import java.util.Set; + ++import sun.misc.IOUtils; + import sun.security.pkcs.*; + + /** +@@ -138,19 +139,9 @@ + System.out.println(); + } + int contentLength = connection.getContentLength(); +- if (contentLength == -1) { +- contentLength = Integer.MAX_VALUE; +- } + verifyMimeType(connection.getContentType()); ++ replyBuffer = IOUtils.readFully(input, contentLength, false); + +- replyBuffer = new byte[contentLength]; +- int total = 0; +- int count = 0; +- while (count != -1 && total < contentLength) { +- count = input.read(replyBuffer, total, +- replyBuffer.length - total); +- total += count; +- } + if (DEBUG) { + System.out.println("received timestamp response (length=" + + replyBuffer.length + ")"); +--- old/src/share/classes/sun/security/util/DerValue.java 2009-08-18 09:36:18.392602400 +0800 ++++ openjdk/jdk/src/share/classes/sun/security/util/DerValue.java 2009-08-18 09:36:17.617711400 +0800 +@@ -28,6 +28,7 @@ + import java.io.*; + import java.math.BigInteger; + import java.util.Date; ++import sun.misc.IOUtils; + + /** + * Represents a single DER-encoded value. DER encoding rules are a subset +@@ -384,12 +385,8 @@ + if (fullyBuffered && in.available() != length) + throw new IOException("extra data given to DerValue constructor"); + +- byte[] bytes = new byte[length]; ++ byte[] bytes = IOUtils.readFully(in, length, true); + +- // n.b. readFully not needed in normal fullyBuffered case +- DataInputStream dis = new DataInputStream(in); +- +- dis.readFully(bytes); + buffer = new DerInputBuffer(bytes); + return new DerInputStream(buffer); + } +--- /dev/null 2009-07-23 00:25:50.000000000 +0800 ++++ openjdk/jdk/src/share/classes/sun/misc/IOUtils.java 2009-08-18 09:36:21.385422200 +0800 +@@ -0,0 +1,80 @@ ++/* ++ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. Sun designates this ++ * particular file as subject to the "Classpath" exception as provided ++ * by Sun in the LICENSE file that accompanied this code. ++ * ++ * This code 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 ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. From ed at camswl.com Wed Nov 4 04:47:34 2009 From: ed at camswl.com (Edward Nevill) Date: Wed, 4 Nov 2009 12:47:34 GMT Subject: Request to commit: HS16 + OSR changes for ARM Message-ID: <200911041247.nA4ClYdC017324@parsley.camswl.com> Hi Folks, The following changes make hs16 work for ARM and add OSR support for Shark. The files affected are - asm_helper.cpp - bytecodes_arm.def - cppInterpreter_arm.S - sharkCacheDecache.cpp The last change (sharkCacheDecache.cpp) is to fix an 'Unimplemented()' error when a method with multiple monitors is OSRed. I have discussed this change with Gary. Gary? Are you happy with the change to sharkCacheDecache.cpp? It has been suggested by Gary that if the changes are purely to ARM code then I should just commit. Andrew has said that he would prefer such changes were posted for discussion. Would it be a reasonable comproise to say that if the changes are posted, and there are no objections within 24 hours then I can just go ahead and commit the changes (this would only apply to files which are ARM only). In the above case the 1st 3 files would not need approval, since they are ARM only. The last would need Gary's approval. Regards, Ed. --- CUT HERE ------------------------------------------------------------------------------- diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp new/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2009-11-04 11:33:19.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp 2009-11-04 11:41:06.000000000 +0000 @@ -110,6 +110,7 @@ print_def("METHOD_NATIVEHANDLER", sizeof(methodOopDesc)); print_def("METHOD_SIGNATUREHANDLER", sizeof(methodOopDesc)+4); nl(); + print_def("CONSTMETHOD_CODESIZE", offset_of(constMethodOopDesc, _code_size)); print_def("CONSTMETHOD_CODEOFFSET", sizeof(constMethodOopDesc)); nl(); print_def("JNIHANDLEBLOCK_TOP", offset_of(JNIHandleBlock, _top)); @@ -124,6 +125,14 @@ nl(); print_def("CONSTANTPOOL_TAGS", offset_of(constantPoolOopDesc, _tags)); print_def("CONSTANTPOOL_CACHE", offset_of(constantPoolOopDesc, _cache)); + print_def("CONSTANTPOOL_BASE", sizeof(constantPoolOopDesc)); + nl(); + print_def("CP_OFFSET", in_bytes(constantPoolCacheOopDesc::base_offset())); + nl(); + print_def("BASE_OFFSET_BYTE", arrayOopDesc::base_offset_in_bytes(T_BYTE)); + print_def("BASE_OFFSET_SHORT", arrayOopDesc::base_offset_in_bytes(T_SHORT)); + print_def("BASE_OFFSET_WORD", arrayOopDesc::base_offset_in_bytes(T_INT)); + print_def("BASE_OFFSET_LONG", arrayOopDesc::base_offset_in_bytes(T_LONG)); nl(); print_def("SIZEOF_HANDLEMARK", sizeof(HandleMark)); } diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def new/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2009-11-04 11:33:19.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def 2009-11-04 11:41:01.000000000 +0000 @@ -521,7 +521,7 @@ DISPATCH_NEXT add r3, r3, r2, lsl #2 DISPATCH_NEXT - ldr tmp1, [r3, #12] + ldr tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_NEXT PUT_STACK 0, tmp1 DISPATCH_FINISH @@ -541,7 +541,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #3 - ldr tmp2, [r3, #16] + ldr tmp2, [r3, #BASE_OFFSET_LONG] DISPATCH_NEXT ldr tmp1, [r3, #20] DISPATCH_NEXT @@ -565,7 +565,7 @@ DISPATCH_NEXT add r3, r3, r2 DISPATCH_NEXT - ldrsb tmp1, [r3, #12] + ldrsb tmp1, [r3, #BASE_OFFSET_BYTE] DISPATCH_NEXT PUT_STACK 0, tmp1 DISPATCH_FINISH @@ -586,7 +586,7 @@ DISPATCH_NEXT add r3, r3, r2, lsl #1 DISPATCH_NEXT - ldrh tmp1, [r3, #12] + ldrh tmp1, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUT_STACK 0, tmp1 DISPATCH_FINISH @@ -607,7 +607,7 @@ DISPATCH_NEXT add r3, r3, r2, lsl #1 DISPATCH_NEXT - ldrsh tmp1, [r3, #12] + ldrsh tmp1, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUT_STACK 0, tmp1 DISPATCH_FINISH @@ -742,7 +742,7 @@ DISPATCH_NEXT add tmp1, tmp1, tmp2, lsl #2 DISPATCH_NEXT - str r3, [tmp1, #12] + str r3, [tmp1, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -758,7 +758,7 @@ bcs array_bound_exception_jpc_1_tmp2 DISPATCH_NEXT add tmp2, tmp1, tmp2, lsl #3 - str r1, [tmp2, #16] + str r1, [tmp2, #BASE_OFFSET_LONG] DISPATCH_NEXT DISPATCH_NEXT str r3, [tmp2, #20] @@ -778,7 +778,7 @@ DISPATCH_NEXT add tmp1, tmp1, tmp2 DISPATCH_NEXT - strb r3, [tmp1, #12] + strb r3, [tmp1, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -795,7 +795,7 @@ DISPATCH_NEXT add tmp1, tmp1, tmp2, lsl #1 DISPATCH_NEXT - strh r3, [tmp1, #12] + strh r3, [tmp1, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -1994,7 +1994,7 @@ ldr r3, [istate, #ISTATE_METHOD] @ method ldrb lr, [jpc, #1] - ldr tmp1, [r3, #12] @ constants + ldr tmp1, [r3, #METHOD_CONSTANTS] @ constants DISPATCH_START \seq_len @@ -2012,14 +2012,14 @@ bne 1f add r3, tmp1, lr, lsl #2 - ldr r3, [r3, #32] + ldr r3, [r3, #CONSTANTPOOL_BASE] DISPATCH_NEXT PUSH r3 DISPATCH_FINISH 1: cmp r3, #JVM_CONSTANT_Class bne 2f - add r0, tmp1, #32 + add r0, tmp1, #CONSTANTPOOL_BASE ldr r0, [r0, lr, lsl #2] ldr r1, [r0, #60] PUSH r1 @@ -2051,7 +2051,7 @@ ldr r3, [istate, #ISTATE_METHOD] @ method ldrb ip, [jpc, #2] - ldr r2, [r3, #12] @ constants + ldr r2, [r3, #METHOD_CONSTANTS] @ constants DISPATCH_START \seq_len @@ -2069,7 +2069,7 @@ bne 1f add r3, r2, lr, lsl #2 - ldr r3, [r3, #32] + ldr r3, [r3, #CONSTANTPOOL_BASE] DISPATCH_NEXT DISPATCH_NEXT PUSH r3 @@ -2077,7 +2077,7 @@ 1: cmp r3, #JVM_CONSTANT_Class bne 2f - add r0, r2, #32 + add r0, r2, #CONSTANTPOOL_BASE ldr r0, [r0, lr, lsl #2] ldr r1, [r0, #60] PUSH r1 @@ -2109,7 +2109,7 @@ ldr tmp1, [istate, #ISTATE_METHOD] @ method ldrb lr, [jpc, #2] - ldr r2, [tmp1, #12] @ constants + ldr r2, [tmp1, #METHOD_CONSTANTS] @ constants DISPATCH_START \seq_len @@ -2126,8 +2126,8 @@ bne vm_fatal_error add tmp1, r2, r3, lsl #2 - ldr r3, [tmp1, #32] - ldr tmp1, [tmp1, #36] + ldr r3, [tmp1, #CONSTANTPOOL_BASE] + ldr tmp1, [tmp1, #CONSTANTPOOL_BASE+4] DISPATCH_NEXT DISPATCH_NEXT PUSH r3, tmp1 @@ -3126,7 +3126,7 @@ cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #2 - ldr lr, [r3, #12] + ldr lr, [r3, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3145,7 +3145,7 @@ cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #2 - ldr lr, [r3, #12] + ldr lr, [r3, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3166,7 +3166,7 @@ cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2 - ldrsb lr, [r3, #12] + ldrsb lr, [r3, #BASE_OFFSET_BYTE] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3187,7 +3187,7 @@ cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #1 - ldrh lr, [r3, #12] + ldrh lr, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3208,7 +3208,7 @@ cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #1 - ldrsh lr, [r3, #12] + ldrsh lr, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3227,7 +3227,7 @@ cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2 - ldrsb lr, [r3, #12] + ldrsb lr, [r3, #BASE_OFFSET_BYTE] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3246,7 +3246,7 @@ cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #1 - ldrh lr, [r3, #12] + ldrh lr, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3265,7 +3265,7 @@ cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #1 - ldrsh lr, [r3, #12] + ldrsh lr, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3289,7 +3289,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -3309,7 +3309,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2 - strb tmp1, [r3, #12] + strb tmp1, [r3, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -3329,7 +3329,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #1 - strh tmp1, [r3, #12] + strh tmp1, [r3, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -3346,7 +3346,7 @@ bcs array_bound_exception_jpc_1_r3 DISPATCH_NEXT add tmp1, tmp1, r3, lsl #2 - str r2, [tmp1, #12] + str r2, [tmp1, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -3363,7 +3363,7 @@ bcs array_bound_exception_jpc_1_r3 DISPATCH_NEXT add tmp1, tmp1, r3 - strb r2, [tmp1, #12] + strb r2, [tmp1, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -3380,7 +3380,7 @@ bcs array_bound_exception_jpc_1_r3 DISPATCH_NEXT add tmp1, tmp1, r3, lsl #1 - strh r2, [tmp1, #12] + strh r2, [tmp1, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -4754,7 +4754,7 @@ cmp r3, tmp1 bcs array_bound_exception_jpc_3_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH r2, r3 DISPATCH_FINISH @@ -4775,7 +4775,7 @@ cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH r2, r3 DISPATCH_FINISH @@ -4796,7 +4796,7 @@ cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH r2, r3 DISPATCH_FINISH @@ -4814,7 +4814,7 @@ bcs array_bound_exception_jpc_2 add r3, r3, r2, lsl #2 POP lr @ r2 = index, lr = arrayref - ldr r2, [r3, #12] + ldr r2, [r3, #BASE_OFFSET_WORD] SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry44: @@ -4823,7 +4823,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_1 add lr, lr, r2, lsl #2 - ldr r2, [lr, #12] + ldr r2, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH r2 DISPATCH_FINISH @@ -4841,7 +4841,7 @@ cmp r3, tmp1 bcs array_bound_exception_jpc_3_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT str r3, [locals, -r2, lsl #2] DISPATCH_FINISH @@ -4860,7 +4860,7 @@ cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT str r3, [locals, r2, lsl #2] DISPATCH_FINISH @@ -4876,7 +4876,7 @@ cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] POP r2, r3 @ tmp1 = value, r2 = index, r3 = arrayref SW_NPC cmp r3, #0 @@ -4888,7 +4888,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -4902,7 +4902,7 @@ cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] POP r2, r3 @ tmp1 = value, r2 = index, r3 = arrayref SW_NPC cmp r3, #0 @@ -4914,7 +4914,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2 - strb tmp1, [r3, #12] + strb tmp1, [r3, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -4928,7 +4928,7 @@ cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] POP r2, r3 @ tmp1 = value, r2 = index, r3 = arrayref SW_NPC cmp r3, #0 @@ -4940,7 +4940,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #1 - strh tmp1, [r3, #12] + strh tmp1, [r3, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -4955,7 +4955,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_2 add r3, r3, r2, lsl #2 - ldr tmp1, [r3, #12] @ tmp1 = tos + ldr tmp1, [r3, #BASE_OFFSET_WORD] @ tmp1 = tos POP r2 @ r2 = tosm1 DISPATCH_NEXT and tmp1, r2, tmp1 @ tosm1 tos @@ -4974,7 +4974,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_2 add r3, r3, r2, lsl #2 - ldr tmp1, [r3, #12] @ tmp1 = tos + ldr tmp1, [r3, #BASE_OFFSET_WORD] @ tmp1 = tos POP r2 @ r2 = tosm1 DISPATCH_NEXT orr tmp1, r2, tmp1 @ tosm1 tos @@ -4993,7 +4993,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_2 add r3, r3, r2, lsl #2 - ldr tmp1, [r3, #12] @ tmp1 = tos + ldr tmp1, [r3, #BASE_OFFSET_WORD] @ tmp1 = tos POP r2 @ r2 = tosm1 DISPATCH_NEXT eor tmp1, r2, tmp1 @ tosm1 tos @@ -5012,7 +5012,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5035,7 +5035,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5058,7 +5058,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5081,7 +5081,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5104,7 +5104,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5127,7 +5127,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5150,7 +5150,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r2, [r3, #12] @ r1 = tos + ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos POP r3 ldrsb r1, [jpc, #2] @@ -5174,7 +5174,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r2, [r3, #12] @ r1 = tos + ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos POP r3 ldrsb r1, [jpc, #2] @@ -5198,7 +5198,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r2, [r3, #12] @ r1 = tos + ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos POP r3 ldrsb r1, [jpc, #2] @@ -5222,7 +5222,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r2, [r3, #12] @ r1 = tos + ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos POP r3 ldrsb r1, [jpc, #2] @@ -5246,7 +5246,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r2, [r3, #12] @ r1 = tos + ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos POP r3 ldrsb r1, [jpc, #2] @@ -5270,7 +5270,7 @@ cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r2, [r3, #12] @ r1 = tos + ldr r2, [r3, #BASE_OFFSET_WORD] @ r1 = tos POP r3 ldrsb r1, [jpc, #2] @@ -5332,7 +5332,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_1 add lr, lr, r2, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH tmp1 DISPATCH_FINISH @@ -5365,7 +5365,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -5698,7 +5698,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_1 add lr, lr, r2, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH tmp1 DISPATCH_FINISH @@ -5731,7 +5731,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -6064,7 +6064,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_1 add lr, lr, r2, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH tmp1 DISPATCH_FINISH @@ -6097,7 +6097,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -6430,7 +6430,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_1 add lr, lr, r2, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH tmp1 DISPATCH_FINISH @@ -6463,7 +6463,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -6797,7 +6797,7 @@ cmp r2, tmp1 bcs array_bound_exception_jpc_1 add lr, lr, r2, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH tmp1 DISPATCH_FINISH @@ -6830,7 +6830,7 @@ bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -10032,7 +10032,7 @@ DISPATCH_NEXT add tmp2, tmp1, tmp2, lsl #3 fmacd d2, d1, d0 - vstr d2, [tmp2, #16] + vstr d2, [tmp2, #BASE_OFFSET_LONG] DISPATCH_NEXT DISPATCH_NEXT add stack, stack, #32 diff -ruNE old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S --- old/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2009-11-04 11:33:19.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2009-11-04 11:40:55.000000000 +0000 @@ -17,12 +17,28 @@ #ifdef HOTSPOT_ASM +#define ARMv4 + #ifdef SHARK #define USE_COMPILER #define DISABLE_NOTICE_SAFEPOINTS #endif -#define ARMv4 +#ifdef USE_COMPILER + +#define MP_COMPILE_THRESHOLD 0x10000 // 65536 - must be a single MOV constant +#define UP_COMPILE_THRESHOLD 0x30000 // 196608 - must be a single MOV constant + +#define MAX_FG_METHOD_SIZE 500 + +#ifndef DISABLE_ON_STACK_REPLACEMENT +#define ON_STACK_REPLACEMENT +#endif +#ifndef ENABLE_BG_COMP_ON_NON_MP +#define DISABLE_BG_COMP_ON_NON_MP +#endif + +#endif // USE_COMPILER #ifndef DISABLE_NOTICE_SAFEPOINTS #define NOTICE_SAFEPOINTS @@ -51,8 +67,6 @@ #define constpool r9 #define arm_sp r13 -#define CP_OFFSET 16 - #define tmp_xxx r7 #define tmp_yyy r5 #define tmp_vvv r9 @@ -238,6 +252,25 @@ #endif .endm + at ------------------------------------------------ +@ On stack replacement macro +@ Usage: +@ OSR + at ------------------------------------------------ + .macro OSR p1, p2, p3, p4 +#ifdef ON_STACK_REPLACEMENT + .ifnes "\p4", "" + \p1 \p2, \p3, \p4 + .else + .ifnes "\p3", "" + \p1 \p2, \p3 + .else + \p1 \p2 + .endif + .endif +#endif + .endm + .macro Opcode label ALIGN_OPCODE do_\label: @@ -2582,42 +2615,39 @@ PUSH tmp2 DISPATCH_FINISH -@ ip = branch offset -@ r0 = 1st bytecode -@ jpc has been updated Opcode goto ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] +branch_taken: orr tmp1, tmp1, r1, lsl #8 DISPATCH_START_REG tmp1 -branch_taken: - ldr r2, [dispatch, #SafePointSynchronize_state_Address-XXX] cmp tmp1, #0 + ble do_backedge + DISPATCH_FINISH + +do_backedge: USEC ldr tmp2, [istate, #ISTATE_METHOD] - ldr r1, [r2] - bgt branch_no_check + OSR ldr lr, [dispatch, #InterpreterInvocationLimit_Address-XXX] + USEC ldr r1, [tmp2, #METHOD_BACKEDGECOUNTER] + USEC ldr ip, [tmp2, #METHOD_INVOCATIONCOUNTER] + USEC add r1, r1, #INVOCATIONCOUNTER_COUNTINCREMENT + OSR ldr lr, [lr] + USEC add ip, ip, #INVOCATIONCOUNTER_COUNTINCREMENT + USEC str r1, [tmp2, #METHOD_BACKEDGECOUNTER] + OSR cmp r1, lr, lsl #2 + USEC str ip, [tmp2, #METHOD_INVOCATIONCOUNTER] + OSR bcs do_osr -@ ECN: The C code does... -@ if (UseCompiler && UseLoopCounter) { -@ BACKEDGE_COUNT->increment(); -@ ... -@ } -@ However, I just increment the counter because the check is actually -@ more expensive than the increment. I don't believe this matters -@ semantically, since is UseCompiler or UseLoopCounter is false then -@ we shouldn't even be looking at the backedge counter. -@ -@ ECN: Concerns about counter overflowing -@ - USEC ldr r3, [tmp2, #METHOD_BACKEDGECOUNTER] +osr_continue: + ldr ip, [dispatch, #SafePointSynchronize_state_Address-XXX] + ldr r1, [ip] cmp r1, #1 - USEC add r3, r3, #INVOCATIONCOUNTER_COUNTINCREMENT - USEC str r3, [tmp2, #METHOD_BACKEDGECOUNTER] - - bne branch_no_check + beq do_synchronize + DISPATCH_STATE 1 + DISPATCH_FINISH - sub jpc, jpc, tmp1 @ Point jpc back at the branch!!! +do_synchronize: add r0, istate, #ISTATE_THREAD bl HandleMarkCleanerD ldr r0, [istate, #ISTATE_THREAD] @@ -2632,16 +2662,103 @@ CACHE_JPC cmp r3, #0 bne handle_exception + DISPATCH 0 + +#ifdef ON_STACK_REPLACEMENT +do_osr: + ldr ip, [dispatch, #UseOnStackReplacement_Address-XXX] + ldrb ip, [ip] + cmp ip, #0 + beq osr_continue + + ldr r3, [tmp2, #METHOD_CONSTMETHOD] + DECACHE_JPC + ldrh r3, [r3, #CONSTMETHOD_CODESIZE] + DECACHE_STACK + ldr r0, [istate, #ISTATE_THREAD] + sub r1, jpc, tmp1 + cmp r3, #MAX_FG_METHOD_SIZE + bcc 1f + ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + mov r3, #1 + ldr r5, [tmp2] + str r3, [tmp2] + bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh + str r5, [tmp2] + b 2f +1: + bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh +2: + ldr r3, [istate, #ISTATE_THREAD] + ASSERT_LOCALS_CACHED + ASSERT_STACK_CACHED + CACHE_CP + ldr r1, [r3, #THREAD_PENDING_EXC] + CACHE_JPC + cmp r1, #0 + bne handle_exception + cmp r0, #0 + beq 1f + ldr r1, [r0, #56] + cmn r1, #2 + bne osr_migrate +1: + DISPATCH_START 0 + b osr_continue +#endif + +#ifdef ON_STACK_REPLACEMENT +osr_migrate: + ldr tmp1, [r0, #128] @ osr_method->osr_entry() + ldr tmp2, [istate, #ISTATE_ADVANCE_PC] +@ ldr istate, [istate, #ISTATE_NEXT_FRAME] + mov r0, r3 + bl _ZN13SharedRuntime19OSR_migration_beginEP10JavaThread + mov r1, r0 + ldr r0, [istate, #ISTATE_METHOD] + ldrh lr, [r0, #METHOD_MAXLOCALS] + ldrh ip, [r0, #METHOD_SIZEOFPARAMETERS] + ldr r3, [istate, #ISTATE_THREAD] + sub lr, lr, ip + ldr r2, [r3, #THREAD_TOP_ZERO_FRAME] + add ip, r2, #4 + ldr r2, [r2] + add ip, ip, lr, lsl #2 + str r2, [r3, #THREAD_TOP_ZERO_FRAME] + str ip, [r3, #THREAD_JAVA_SP] + mov r2, tmp1 +; r0 = method +; r1 = osr_buf +; r2 = osr_entry + mov lr, pc + ldr pc, [tmp1] + + cmp tmp2, #0 + ldmeqfd arm_sp!, {regset, pc} - DISPATCH_START_REG tmp1 @ Refetch opcode and update jpc again -branch_no_check: -@ ECN: There is no protection against INVOCATIONCOUNTER overflowing!!! - USEC ldr r3, [tmp2, #METHOD_INVOCATIONCOUNTER] + ldr istate, [istate, #ISTATE_NEXT_FRAME] + ldr lr, [istate, #-ISTATE_NEXT_FRAME+ISTATE_THREAD]! + CACHE_JPC + ldr stack, [lr, #THREAD_JAVA_SP] + ldr r2, [istate, #ISTATE_STACK_LIMIT] + sub stack, stack, #4 + + ldr r1, [lr, #THREAD_TOP_ZERO_FRAME] + add r2, r2, #4 + str r2, [lr, #THREAD_JAVA_SP] + str r1, [lr, #THREAD_LAST_JAVA_SP] + ldr r3, [lr, #THREAD_PENDING_EXC] + DISPATCH_START_REG tmp2 + CACHE_LOCALS DISPATCH_NEXT - USEC add r3, r3, #INVOCATIONCOUNTER_COUNTINCREMENT DISPATCH_NEXT - USEC str r3, [tmp2, #METHOD_INVOCATIONCOUNTER] + cmp r3, #0 + DISPATCH_NEXT + bne return_exception + DISPATCH_NEXT + CACHE_CP DISPATCH_FINISH +#endif Opcode ifeq Opcode ifnull @@ -2649,11 +2766,8 @@ ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, #0 - orreq tmp1, tmp1, r1, lsl #8 - ldreqb r0, [jpc, tmp1]! - ldrneb r0, [jpc, #3]! beq branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode ifne Opcode ifnonnull @@ -2661,55 +2775,40 @@ ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, #0 - orrne tmp1, tmp1, r1, lsl #8 - ldrneb r0, [jpc, tmp1]! - ldreqb r0, [jpc, #3]! bne branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode iflt POP r3 ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, #0 - orrlt tmp1, tmp1, r1, lsl #8 - ldrltb r0, [jpc, tmp1]! - ldrgeb r0, [jpc, #3]! blt branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode ifge POP r3 ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, #0 - orrge tmp1, tmp1, r1, lsl #8 - ldrgeb r0, [jpc, tmp1]! - ldrltb r0, [jpc, #3]! bge branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode ifgt POP r3 ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, #0 - orrgt tmp1, tmp1, r1, lsl #8 - ldrgtb r0, [jpc, tmp1]! - ldrleb r0, [jpc, #3]! bgt branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode ifle POP r3 ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, #0 - orrle tmp1, tmp1, r1, lsl #8 - ldrleb r0, [jpc, tmp1]! - ldrgtb r0, [jpc, #3]! ble branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode if_icmpeq Opcode if_acmpeq @@ -2717,11 +2816,8 @@ ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, r2 - orreq tmp1, tmp1, r1, lsl #8 - ldreqb r0, [jpc, tmp1]! - ldrneb r0, [jpc, #3]! beq branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode if_icmpne Opcode if_acmpne @@ -2729,55 +2825,40 @@ ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, r2 - orrne tmp1, tmp1, r1, lsl #8 - ldrneb r0, [jpc, tmp1]! - ldreqb r0, [jpc, #3]! bne branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode if_icmplt POP r2, r3 ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, r2 - orrlt tmp1, tmp1, r1, lsl #8 - ldrltb r0, [jpc, tmp1]! - ldrgeb r0, [jpc, #3]! blt branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode if_icmpge POP r2, r3 ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, r2 - orrge tmp1, tmp1, r1, lsl #8 - ldrgeb r0, [jpc, tmp1]! - ldrltb r0, [jpc, #3]! bge branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode if_icmpgt POP r2, r3 ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, r2 - orrgt tmp1, tmp1, r1, lsl #8 - ldrgtb r0, [jpc, tmp1]! - ldrleb r0, [jpc, #3]! bgt branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode if_icmple POP r2, r3 ldrsb r1, [jpc, #1] ldrb tmp1, [jpc, #2] cmp r3, r2 - orrle tmp1, tmp1, r1, lsl #8 - ldrleb r0, [jpc, tmp1]! - ldrgtb r0, [jpc, #3]! ble branch_taken - DISPATCH_BYTECODE + DISPATCH 3 Opcode ireturn Opcode freturn @@ -3122,7 +3203,7 @@ cmpne r3, #JVM_CONSTANT_UnresolvedClass beq .new_slow_case - add r3, lr, #32 + add r3, lr, #CONSTANTPOOL_BASE ldr k_entry, [r3, r2, lsl #2] add r1, k_entry, #KLASS_PART @@ -3308,7 +3389,7 @@ 4: ldr r0, [r0, #4] add r3, r3, tmp2, lsl #2 - ldr tmp1, [r3, #32] + ldr tmp1, [r3, #CONSTANTPOOL_BASE] cmp tmp1, r0 beq .checkcast_exit @@ -3401,7 +3482,7 @@ cmp r0, #0 ldr ip, [r3, #CONSTANTPOOL_TAGS] beq .instanceof_not_instance - add ip, ip, #12 + add ip, ip, #BASE_OFFSET_BYTE orr tmp2, r1, r2, lsl #8 ldrb r2, [ip, tmp2] cmp r2, #JVM_CONSTANT_UnresolvedClassInError @@ -3411,7 +3492,7 @@ 1: ldr r0, [r0, #4] add r3, r3, tmp2, lsl #2 - ldr tmp1, [r3, #32] + ldr tmp1, [r3, #CONSTANTPOOL_BASE] cmp tmp1, r0 beq .instanceof_is_instance @@ -3685,7 +3766,7 @@ beq raise_exception .aastore_exit: ldr r2, [dispatch, #Universe_collectedHeap_Address-XXX] - add r1, tmp1, #12 + add r1, tmp1, #BASE_OFFSET_WORD str sl, [r1, tmp_vvv, asl #2]! ldr r3, [r2] mov lr, #0 @@ -4010,9 +4091,22 @@ #ifdef USE_COMPILER sync_method_entry_freq_count_overflow: + ldr r3, [r0, #METHOD_CONSTMETHOD] + ldrh r3, [r3, #CONSTMETHOD_CODESIZE] mov r1, #0 mov r0, tmp1 + cmp r3, #MAX_FG_METHOD_SIZE + bcc 1f + ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + mov r3, #1 + ldr r5, [tmp2] + str r3, [tmp2] + bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh + str r5, [tmp2] + b 2f +1: bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh +2: ldr r0, [istate, #ISTATE_METHOD] CACHE_JPC ldr r3, [r0, #METHOD_ACCESSFLAGS] @@ -4401,12 +4495,16 @@ add r0, r0, ip add dispatch, r1, r0 + USEC ldr r2, [r10, #METHOD_INVOCATIONCOUNTER] + ldr stack, [tmp1, #THREAD_JAVA_SP] ldr r0, [tmp1, #THREAD_STACK_SIZE] + USEC add r2, r2, #INVOCATIONCOUNTER_COUNTINCREMENT * 4 ldr r3, [tmp1, #THREAD_STACK_BASE] rsb r3, r0, r3 rsb r3, r3, arm_sp + USEC str r2, [tmp2, #METHOD_INVOCATIONCOUNTER] cmp r3, #32768 bge fast_normal_entry_with_len @@ -4596,11 +4694,24 @@ DISPATCH_FINISH #ifdef USE_COMPILER method_entry_freq_count_overflow: + ldr r3, [r10, #METHOD_CONSTMETHOD] DECACHE_JPC + ldrh r3, [r3, #CONSTMETHOD_CODESIZE] str r10, [istate, #ISTATE_METHOD] mov r1, #0 mov r0, tmp1 + cmp r3, #MAX_FG_METHOD_SIZE + bcc 1f + ldr tmp2, [dispatch, #BackgroundCompilation_Address-XXX] + mov r3, #1 + ldr r5, [tmp2] + str r3, [tmp2] + bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh + str r5, [tmp2] + b 2f +1: bl _ZN18InterpreterRuntime26frequency_counter_overflowEP10JavaThreadPh +2: CACHE_JPC CACHE_CP DISPATCH 0 @@ -6230,12 +6341,14 @@ ALIGN_CODE bci_init: + stmfd sp!, {r4, lr} + adrl r3, dispatch_init_adcon ldm r3, {r0, r1} add r0, r0, r3 - add r1, r1, r0 + add r4, r1, r0 adrl r2, adcon_init_table - mov r3, r1 + mov r1, r4 1: ldr ip, [r2], #4 cmp ip, #0 @@ -6244,12 +6357,37 @@ bne 1b adrl r2, main_dispatch_table mov r1, #256 + mov r3, r4 2: ldr ip, [r2], #4 str ip, [r3], #4 subs r1, r1, #1 bne 2b +#ifdef USE_COMPILER + +#define NPROCESSORS_CONF 83 + + mov r0, #NPROCESSORS_CONF + bl sysconf + cmp r0, #2 + +#ifdef DISABLE_BG_COMP_ON_NON_MP + movcc r0, #0 + ldrcc r1, [r4, #BackgroundCompilation_Address-XXX] + strccb r0, [r1] +#endif + + movcs r0, #MP_COMPILE_THRESHOLD + movcc r0, #UP_COMPILE_THRESHOLD + ldr r1, [r4, #CompileThreshold_Address-XXX] + str r0, [r1] + + +#endif // USE_COMPILER + + ldmfd sp!, {r4, lr} + #ifdef HW_FP vfp_init: stmfd sp!, {r4, r5, lr} @@ -6349,6 +6487,9 @@ .word _ZN11JvmtiExport28_can_post_interpreter_eventsE(GOT) .word UseCompiler(GOT) .word _ZN17InvocationCounter26InterpreterInvocationLimitE(GOT) + .word CompileThreshold(GOT) + .word BackgroundCompilation(GOT) + .word UseOnStackReplacement(GOT) .word 0 ALIGN_DATA @@ -6628,9 +6769,14 @@ CodeTrace_Buffer_Base: .space CODETRACE_BUFFER_SIZE #endif + .word 0, 0, 0, 0, 0, 0, 0, 0 + .word 0, 0, 0, 0, 0 DispatchBreakPoint: .word 0 VFP_Flag: .word 0 CodeTrace_Idx: .word 0 +UseOnStackReplacement_Address: .word 0 +BackgroundCompilation_Address: .word 0 +CompileThreshold_Address: .word 0 InterpreterInvocationLimit_Address: .word 0 UseCompiler_Address: .word 0 can_post_interpreter_events: .word 0 diff -ruNE old/icedtea6/ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp new/icedtea6/ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp --- old/icedtea6/ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp 2009-11-04 11:33:19.000000000 +0000 +++ new/icedtea6/ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp 2009-11-04 11:42:26.000000000 +0000 @@ -189,9 +189,6 @@ int box_offset, int obj_offset) { - if (max_monitors() > 1) - Unimplemented(); // XXX which order will they be in? - // Copy the monitor from the OSR buffer to the frame int src_offset = max_locals() + index * 2; builder()->CreateStore( From aph at redhat.com Wed Nov 4 04:44:45 2009 From: aph at redhat.com (Andrew Haley) Date: Wed, 04 Nov 2009 12:44:45 +0000 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <200911041247.nA4ClYdC017324@parsley.camswl.com> References: <200911041247.nA4ClYdC017324@parsley.camswl.com> Message-ID: <4AF1773D.5000600@redhat.com> Edward Nevill wrote: > Hi Folks, > > The following changes make hs16 work for ARM and add OSR support for Shark. The files > affected are > > - asm_helper.cpp > - bytecodes_arm.def > - cppInterpreter_arm.S > - sharkCacheDecache.cpp > > The last change (sharkCacheDecache.cpp) is to fix an 'Unimplemented()' error when a > method with multiple monitors is OSRed. I have discussed this change with Gary. > > Gary? Are you happy with the change to sharkCacheDecache.cpp? > > It has been suggested by Gary that if the changes are purely to ARM code then I should > just commit. Andrew has said that he would prefer such changes were posted for > discussion. Would it be a reasonable comproise to say that if the changes are posted, > and there are no objections within 24 hours then I can just go ahead and commit the changes > (this would only apply to files which are ARM only). That seems reasonable. Andrew. From Ivan.Krylov at Sun.COM Wed Nov 4 06:34:00 2009 From: Ivan.Krylov at Sun.COM (Ivan Krylov) Date: Wed, 04 Nov 2009 17:34:00 +0300 Subject: [patch] add missing include in nativeInst_.cpp In-Reply-To: <4AEAC862.6050504@ubuntu.com> References: <4AEAC862.6050504@ubuntu.com> Message-ID: <4AF190D8.1030200@Sun.COM> Hello Matthias, Can you say why do you want to change default option to precompiled=off ? Precompilation helps to build hotspot *a lot* faster. If you need not to use pch just call make USE_PRECOMPILED_HEADER= For debugging purposes you may also want to use HOTSPOT_BUILD_JOBS=1 to disable parallel build. Thanks, Ivan Matthias Klose wrote: > unsure if this is related to zero/shark, but at least that's in the > upstream sources for OpenJDK6. > > These include failures are usually seen, when not using precompiled > headers (which is a useful thing to track down compiler bugs). > > attached are two patches to fix the include problem, and one to > disable the use of precompiled headers setting an envvar. This way > release builds could be built with and without precompiled headers. > > Matthias From volker.simonis at gmail.com Wed Nov 4 07:32:12 2009 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 4 Nov 2009 16:32:12 +0100 Subject: [patch] add missing include in nativeInst_.cpp In-Reply-To: <4AF190D8.1030200@Sun.COM> References: <4AEAC862.6050504@ubuntu.com> <4AF190D8.1030200@Sun.COM> Message-ID: Using precompiled headers can hide missing include dependecies - that's a fact and has already been discussed several times on this list. Just because building with precompiled headers is *so much* faster, most developers don't build without precompiled headers and eventually submit changes which introduce dependencies which are not reflected in the corresponding includeDB files and only compile by chance (and precompiled headers:) I would threfore strongly suggest to run a compilation *WITHOUT* precompiled headers as preintegration test so prevent such problems in the future. Regards, Volker PS: there still exist compilers which don't support precomiled headers... On 11/4/09, Ivan Krylov wrote: > Hello Matthias, > > Can you say why do you want to change default option to precompiled=off ? > Precompilation helps to build hotspot *a lot* faster. > If you need not to use pch just call > make USE_PRECOMPILED_HEADER= > For debugging purposes you may also want to use HOTSPOT_BUILD_JOBS=1 to > disable parallel build. > > Thanks, > > Ivan > > > Matthias Klose wrote: > > > unsure if this is related to zero/shark, but at least that's in the > upstream sources for OpenJDK6. > > > > These include failures are usually seen, when not using precompiled > headers (which is a useful thing to track down compiler bugs). > > > > attached are two patches to fix the include problem, and one to disable > the use of precompiled headers setting an envvar. This way release builds > could be built with and without precompiled headers. > > > > Matthias > > > > From Ivan.Krylov at Sun.COM Wed Nov 4 07:45:08 2009 From: Ivan.Krylov at Sun.COM (Ivan Krylov) Date: Wed, 04 Nov 2009 18:45:08 +0300 Subject: [patch] add missing include in nativeInst_.cpp In-Reply-To: References: <4AEAC862.6050504@ubuntu.com> <4AF190D8.1030200@Sun.COM> Message-ID: <4AF1A184.6000808@Sun.COM> > I would threfore strongly suggest to run a compilation *WITHOUT* > precompiled headers as preintegration test This sounds like a very good suggestion to me. Thanks, Ivan Volker Simonis wrote: > Using precompiled headers can hide missing include dependecies - > that's a fact and has already been discussed several times on this > list. Just because building with precompiled headers is *so much* > faster, most developers don't build without precompiled headers and > eventually submit changes which introduce dependencies which are not > reflected in the corresponding includeDB files and only compile by > chance (and precompiled headers:) > > I would threfore strongly suggest to run a compilation *WITHOUT* > precompiled headers as preintegration test so prevent such problems in > the future. > > Regards, > Volker > > PS: there still exist compilers which don't support precomiled headers... > > On 11/4/09, Ivan Krylov wrote: > >> Hello Matthias, >> >> Can you say why do you want to change default option to precompiled=off ? >> Precompilation helps to build hotspot *a lot* faster. >> If you need not to use pch just call >> make USE_PRECOMPILED_HEADER= >> For debugging purposes you may also want to use HOTSPOT_BUILD_JOBS=1 to >> disable parallel build. >> >> Thanks, >> >> Ivan >> >> >> Matthias Klose wrote: >> >> >>> unsure if this is related to zero/shark, but at least that's in the >>> >> upstream sources for OpenJDK6. >> >>> These include failures are usually seen, when not using precompiled >>> >> headers (which is a useful thing to track down compiler bugs). >> >>> attached are two patches to fix the include problem, and one to disable >>> >> the use of precompiled headers setting an envvar. This way release builds >> could be built with and without precompiled headers. >> >>> Matthias >>> >>> >> From gnu_andrew at member.fsf.org Wed Nov 4 08:13:18 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 4 Nov 2009 16:13:18 +0000 Subject: [patch] add missing include in nativeInst_.cpp In-Reply-To: <4AF190D8.1030200@Sun.COM> References: <4AEAC862.6050504@ubuntu.com> <4AF190D8.1030200@Sun.COM> Message-ID: <17c6771e0911040813j6231a680h5c4ea42a39bf4fd3@mail.gmail.com> 2009/11/4 Ivan Krylov : > Hello Matthias, > > Can you say why do you want to change default option to precompiled=off ? > Precompilation helps to build hotspot *a lot* faster. > If you need not to use pch just call > make USE_PRECOMPILED_HEADER= Won't gcc.make still set it to 1 during the build? i.e. isn't USE_PRECOMPILED_HEADER= the default anyway? I presume the other include fix can be pushed without problem? > For debugging purposes you may also want to use HOTSPOT_BUILD_JOBS=1 to > disable parallel build. > > Thanks, > > Ivan > > Matthias Klose wrote: >> >> unsure if this is related to zero/shark, but at least that's in the >> upstream sources for OpenJDK6. >> >> These include failures are usually seen, when not using precompiled >> headers (which is a useful thing to track down compiler bugs). >> >> attached are two patches to fix the include problem, and one to disable >> the use of precompiled headers setting an envvar. This way release builds >> could be built with and without precompiled headers. >> >> ?Matthias > > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From gbenson at redhat.com Wed Nov 4 08:17:49 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 4 Nov 2009 16:17:49 +0000 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <200911041247.nA4ClYdC017324@parsley.camswl.com> References: <200911041247.nA4ClYdC017324@parsley.camswl.com> Message-ID: <20091104161748.GA3635@redhat.com> Edward Nevill wrote: > The following changes make hs16 work for ARM and add OSR support for > Shark. The files affected are > > - asm_helper.cpp > - bytecodes_arm.def > - cppInterpreter_arm.S > - sharkCacheDecache.cpp > > The last change (sharkCacheDecache.cpp) is to fix an > 'Unimplemented()' error when a method with multiple monitors is > OSRed. I have discussed this change with Gary. > > Gary? Are you happy with the change to sharkCacheDecache.cpp? I'm happy with the change -- I suggested it after all :) -- but what's your status with the SCA? Are your contributions covered? Cheers, Gary -- http://gbenson.net/ From andrew at icedtea.classpath.org Wed Nov 4 13:25:05 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Nov 2009 21:25:05 +0000 Subject: /hg/icedtea: Update to latest changesets, including m5 changes a... Message-ID: changeset ce2937846cc0 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=ce2937846cc0 author: Andrew John Hughes date: Wed Nov 04 21:27:26 2009 +0000 Update to latest changesets, including m5 changes and new timezone data patch. 2009-11-04 Andrew John Hughes * patches/icedtea-use-system-tzdata.patch: Dropped, updated version included in upstream IcedTea forest. * Makefile.am: Update to latest changesets (m5), remove above patch, copy tz.properties into jre/lib. * NEWS: List new features in OpenJDK7 (Project Coin, JSR166y, Zero). * acinclude.m4: (AC_CHECK_WITH_TZDATA_DIR): New macro providing the --with-tzdata-dir option for specifying the location of Java timezone data. Defaults to /usr/share/javazi as before. * configure.ac: Add above macro. * patches/icedtea-libraries.patch: Recreated. * patches/icedtea-liveconnect.patch: Fix quoting of JAVA_ARGS. * patches/icedtea-version.patch: Fix path to version template (changed upstream). * tz.properties.in: New generated file used to specify the timezone data directory. diffstat: 10 files changed, 156 insertions(+), 134 deletions(-) ChangeLog | 28 ++++++++ Makefile.am | 39 ++++++----- NEWS | 17 ++++ acinclude.m4 | 31 ++++++++ configure.ac | 1 patches/icedtea-libraries.patch | 108 +++++++++++++++---------------- patches/icedtea-liveconnect.patch | 2 patches/icedtea-use-system-tzdata.patch | 59 ---------------- patches/icedtea-version.patch | 4 - tz.properties.in | 1 diffs (truncated from 727 to 500 lines): diff -r 9c96175dae62 -r ce2937846cc0 ChangeLog --- a/ChangeLog Mon Nov 02 21:43:32 2009 +0000 +++ b/ChangeLog Wed Nov 04 21:27:26 2009 +0000 @@ -1,3 +1,31 @@ 2009-11-02 Andrew John Hughes + + * patches/icedtea-use-system-tzdata.patch: + Dropped, updated version included in upstream + IcedTea forest. + * Makefile.am: + Update to latest changesets (m5), remove + above patch, copy tz.properties into jre/lib. + * NEWS: + List new features in OpenJDK7 (Project Coin, + JSR166y, Zero). + * acinclude.m4: + (AC_CHECK_WITH_TZDATA_DIR): New macro providing + the --with-tzdata-dir option for specifying the + location of Java timezone data. Defaults to + /usr/share/javazi as before. + * configure.ac: + Add above macro. + * patches/icedtea-libraries.patch: + Recreated. + * patches/icedtea-liveconnect.patch: + Fix quoting of JAVA_ARGS. + * patches/icedtea-version.patch: + Fix path to version template (changed upstream). + * tz.properties.in: + New generated file used to specify the timezone + data directory. + 2009-11-02 Andrew John Hughes * Makefile.am: diff -r 9c96175dae62 -r ce2937846cc0 Makefile.am --- a/Makefile.am Mon Nov 02 21:43:32 2009 +0000 +++ b/Makefile.am Wed Nov 04 21:27:26 2009 +0000 @@ -2,21 +2,21 @@ OPENJDK_VERSION = b75 -CORBA_CHANGESET = d4f1f79e9231 -HOTSPOT_CHANGESET = 0c593310a62c -JAXP_CHANGESET = 1ff97e23727b -JAXWS_CHANGESET = 7a525c434bc9 -JDK_CHANGESET = 70b5a4c7b35d -LANGTOOLS_CHANGESET = 4b3ebc896806 -OPENJDK_CHANGESET = aeb73b347f3a - -CORBA_MD5SUM = cbdf4c993b0617ccddcb01a649e2eb05 -HOTSPOT_MD5SUM = 4508ff8d599b5ae3b094eaa3f8dfd494 -JAXP_MD5SUM = 2055c0ab13fea8c2597d7f3367905faa -JAXWS_MD5SUM = 50ba89fa406b179e2ac20dd11cf37c5d -JDK_MD5SUM = e98d4f2f0a74cc96ff7fa7838166d2dd -LANGTOOLS_MD5SUM = 672ed2024d4d8787eefbbdebd1266c07 -OPENJDK_MD5SUM = fd027dba070b73a164a32a30f8807470 +CORBA_CHANGESET = a12dac8f71dc +HOTSPOT_CHANGESET = e004313753cc +JAXP_CHANGESET = 45da06168568 +JAXWS_CHANGESET = 14446af481e9 +JDK_CHANGESET = d03acee39d3b +LANGTOOLS_CHANGESET = 83367f01297b +OPENJDK_CHANGESET = a8bc38cb80ef + +CORBA_MD5SUM = 455cfaad689717ab542685dd9ed2d876 +HOTSPOT_MD5SUM = 6c711e43b7f6db9d2299f71b8987d446 +JAXP_MD5SUM = bd6ae928afdecf5356c8ecd56a1c39ed +JAXWS_MD5SUM = 3e2d558e91adcc8630953b1b3a37e269 +JDK_MD5SUM = b811728173a6e554f43a39e84c7f555a +LANGTOOLS_MD5SUM = 1102b019cd3a734f77bb804228d1727d +OPENJDK_MD5SUM = 6121a71424fd81df8a34a8b9666fabfd CACAO_VERSION = 0.99.4 CACAO_MD5SUM = 63220327925ace13756ae334c55a3baa @@ -261,7 +261,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-rmi_amd64.patch \ patches/icedtea-tools.patch \ patches/icedtea-demos.patch \ - patches/icedtea-use-system-tzdata.patch \ patches/icedtea-headers.patch \ patches/hotspot/$(HSBUILD)/icedtea-headers.patch \ patches/icedtea-ant.patch \ @@ -1759,6 +1758,10 @@ if ENABLE_NSS cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; endif +if WITH_TZDATA_DIR + cp $(abs_top_builddir)/tz.properties \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib; +endif @echo "IcedTea is served:" $(BUILD_OUTPUT_DIR) mkdir -p stamps touch $@ @@ -1829,6 +1832,10 @@ if ENABLE_NSS if ENABLE_NSS cp $(abs_top_builddir)/nss.cfg \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/security; +endif +if WITH_TZDATA_DIR + cp $(abs_top_builddir)/tz.properties \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib; endif @echo "IcedTea (debug build) is served:" \ $(BUILD_OUTPUT_DIR)-debug diff -r 9c96175dae62 -r ce2937846cc0 NEWS --- a/NEWS Mon Nov 02 21:43:32 2009 +0000 +++ b/NEWS Wed Nov 04 21:27:26 2009 +0000 @@ -1,7 +1,20 @@ New in release 1.12 (2009-XX-XX) New in release 1.12 (2009-XX-XX) -- Updated Zero with Gary's latest revisions -- JIBX is no longer required to build Nimbus. +- Updated to OpenJDK7 milestone 5; includes: + - From Project Coin: + - 6860965: Support for binary literals (e.g. 2 can be written 0b10) + - 6860965: Support for underscored literals (e.g. 123456 can be + written 123_456) + - 6827009: Support for strings in switch statements (e.g. case "a") + - 6840638: Improved inferencing with generics, e.g. + Map map = new HashMap<>(); + - jsr166y from http://gee.cs.oswego.edu/dl/concurrency-interest/: + - 6865571: Add a lightweight task framework known as ForkJoin + - 6445158: Phaser - an improved CyclicBarrier + - 6865579: Add TransferQueue/LinkedTransferQueue + - The Zero assembler port + - JIBX is no longer required to build Nimbus. + - Many bug fixes - The NSS crypto. provider may be turned on with --enable-nss if the NSS libraries and headers are available via pkg-config. - Makefile reorganisation: diff -r 9c96175dae62 -r ce2937846cc0 acinclude.m4 --- a/acinclude.m4 Mon Nov 02 21:43:32 2009 +0000 +++ b/acinclude.m4 Wed Nov 04 21:27:26 2009 +0000 @@ -1528,3 +1528,34 @@ AC_DEFUN([IT_CHECK_ENABLE_WARNINGS], AM_CONDITIONAL(ENABLE_WARNINGS, test x"${ENABLE_WARNINGS}" = "xyes") AC_SUBST(ENABLE_WARNINGS) ]) + +AC_DEFUN([AC_CHECK_WITH_TZDATA_DIR], +[ + DEFAULT="/usr/share/javazi" + AC_MSG_CHECKING([which Java timezone data directory to use]) + AC_ARG_WITH([tzdata-dir], + [AS_HELP_STRING(--with-tzdata-dir,set the Java timezone data directory [[default=${DEFAULT}]])], + [ + if test "x${withval}" = x || test "x${withval}" = xyes; then + TZDATA_DIR_SET=yes + TZDATA_DIR="${DEFAULT}" + else + if test "x${withval}" = xno; then + TZDATA_DIR_SET=no + AC_MSG_RESULT([no]) + else + TZDATA_DIR_SET=yes + TZDATA_DIR="${withval}" + fi + fi + ], + [ + TZDATA_DIR="${DEFAULT}" + ]) + if test "x${TZDATA_DIR}" != "x"; then + AC_MSG_RESULT([${TZDATA_DIR}]) + fi + AC_SUBST([TZDATA_DIR]) + AM_CONDITIONAL(WITH_TZDATA_DIR, test "x${TZDATA_DIR}" != "x") + AC_CONFIG_FILES([tz.properties]) +]) diff -r 9c96175dae62 -r ce2937846cc0 configure.ac --- a/configure.ac Mon Nov 02 21:43:32 2009 +0000 +++ b/configure.ac Wed Nov 04 21:27:26 2009 +0000 @@ -239,6 +239,7 @@ WITH_PROJECT WITH_PROJECT ENABLE_HG IT_CHECK_ADDITIONAL_VMS +AC_CHECK_WITH_TZDATA_DIR AC_PATH_TOOL([HG],[hg]) if test "x${enable_hg}" = "xyes"; then diff -r 9c96175dae62 -r ce2937846cc0 patches/icedtea-libraries.patch --- a/patches/icedtea-libraries.patch Mon Nov 02 21:43:32 2009 +0000 +++ b/patches/icedtea-libraries.patch Wed Nov 04 21:27:26 2009 +0000 @@ -1,6 +1,6 @@ diff -Nru openjdk.orig/jdk/make/com/sun/ diff -Nru openjdk.orig/jdk/make/com/sun/java/pack/Makefile openjdk/jdk/make/com/sun/java/pack/Makefile --- openjdk.orig/jdk/make/com/sun/java/pack/Makefile 2009-09-21 17:09:41.000000000 +0100 -+++ openjdk/jdk/make/com/sun/java/pack/Makefile 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/make/com/sun/java/pack/Makefile 2009-11-04 01:18:41.000000000 +0000 @@ -74,12 +74,10 @@ $(ZIPOBJDIR)/inftrees.$(OBJECT_SUFFIX) \ $(ZIPOBJDIR)/inffast.$(OBJECT_SUFFIX) @@ -32,8 +32,8 @@ diff -Nru openjdk.orig/jdk/make/com/sun/ endif #LINUX endif #PLATFORM diff -Nru openjdk.orig/jdk/make/common/Program.gmk openjdk/jdk/make/common/Program.gmk ---- openjdk.orig/jdk/make/common/Program.gmk 2009-08-20 00:00:43.000000000 +0100 -+++ openjdk/jdk/make/common/Program.gmk 2009-09-21 22:50:31.000000000 +0100 +--- openjdk.orig/jdk/make/common/Program.gmk 2009-11-04 00:40:21.000000000 +0000 ++++ openjdk/jdk/make/common/Program.gmk 2009-11-04 01:18:41.000000000 +0000 @@ -85,7 +85,7 @@ endif endif @@ -49,11 +49,11 @@ diff -Nru openjdk.orig/jdk/make/common/P OTHER_INCLUDES += -I$(LAUNCHER_SHARE_SRC)/bin -I$(LAUNCHER_PLATFORM_SRC)/bin -OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 - # this may not be necessary... - ifeq ($(PLATFORM), windows) + OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"' + VERSION_DEFINES += -DFULL_VERSION='"$(FULL_VERSION)"' diff -Nru openjdk.orig/jdk/make/java/jli/Makefile openjdk/jdk/make/java/jli/Makefile ---- openjdk.orig/jdk/make/java/jli/Makefile 2009-09-21 17:09:41.000000000 +0100 -+++ openjdk/jdk/make/java/jli/Makefile 2009-09-21 22:51:00.000000000 +0100 +--- openjdk.orig/jdk/make/java/jli/Makefile 2009-11-04 00:40:21.000000000 +0000 ++++ openjdk/jdk/make/java/jli/Makefile 2009-11-04 01:18:41.000000000 +0000 @@ -44,7 +44,6 @@ include $(BUILDDIR)/common/Defs.gmk @@ -102,7 +102,7 @@ diff -Nru openjdk.orig/jdk/make/java/jli +vpath %.c $(LAUNCHER_SHARE_SRC) $(LAUNCHER_PLATFORM_SRC) diff -Nru openjdk.orig/jdk/make/java/zip/FILES_c.gmk openjdk/jdk/make/java/zip/FILES_c.gmk --- openjdk.orig/jdk/make/java/zip/FILES_c.gmk 2009-09-21 17:09:41.000000000 +0100 -+++ openjdk/jdk/make/java/zip/FILES_c.gmk 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/make/java/zip/FILES_c.gmk 2009-11-04 01:18:41.000000000 +0000 @@ -29,16 +29,4 @@ Deflater.c \ Inflater.c \ @@ -123,7 +123,7 @@ diff -Nru openjdk.orig/jdk/make/java/zip + zip_util.c diff -Nru openjdk.orig/jdk/make/java/zip/Makefile openjdk/jdk/make/java/zip/Makefile --- openjdk.orig/jdk/make/java/zip/Makefile 2009-09-21 17:09:41.000000000 +0100 -+++ openjdk/jdk/make/java/zip/Makefile 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/make/java/zip/Makefile 2009-11-04 01:18:41.000000000 +0000 @@ -71,16 +71,10 @@ CPPFLAGS += -UDEBUG endif @@ -144,7 +144,7 @@ diff -Nru openjdk.orig/jdk/make/java/zip +OTHER_LDLIBS = $(JVMLIB) -lz diff -Nru openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk openjdk/jdk/make/sun/jpeg/FILES_c.gmk --- openjdk.orig/jdk/make/sun/jpeg/FILES_c.gmk 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk/jdk/make/sun/jpeg/FILES_c.gmk 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/make/sun/jpeg/FILES_c.gmk 2009-11-04 01:18:41.000000000 +0000 @@ -25,51 +25,7 @@ FILES_c = \ @@ -200,7 +200,7 @@ diff -Nru openjdk.orig/jdk/make/sun/jpeg FILES_c += \ diff -Nru openjdk.orig/jdk/make/sun/jpeg/Makefile openjdk/jdk/make/sun/jpeg/Makefile --- openjdk.orig/jdk/make/sun/jpeg/Makefile 2009-03-30 17:23:03.000000000 +0100 -+++ openjdk/jdk/make/sun/jpeg/Makefile 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/make/sun/jpeg/Makefile 2009-11-04 01:18:41.000000000 +0000 @@ -67,6 +67,8 @@ include $(BUILDDIR)/common/Mapfile-vers.gmk include $(BUILDDIR)/common/Library.gmk @@ -212,7 +212,7 @@ diff -Nru openjdk.orig/jdk/make/sun/jpeg # diff -Nru openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk openjdk/jdk/make/sun/splashscreen/FILES_c.gmk --- openjdk.orig/jdk/make/sun/splashscreen/FILES_c.gmk 2009-09-21 17:09:42.000000000 +0100 -+++ openjdk/jdk/make/sun/splashscreen/FILES_c.gmk 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/make/sun/splashscreen/FILES_c.gmk 2009-11-04 01:18:41.000000000 +0000 @@ -30,79 +30,5 @@ splashscreen_impl.c \ splashscreen_jpeg.c \ @@ -296,7 +296,7 @@ diff -Nru openjdk.orig/jdk/make/sun/spla diff -Nru openjdk.orig/jdk/make/sun/splashscreen/Makefile openjdk/jdk/make/sun/splashscreen/Makefile --- openjdk.orig/jdk/make/sun/splashscreen/Makefile 2009-09-21 17:09:42.000000000 +0100 -+++ openjdk/jdk/make/sun/splashscreen/Makefile 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/make/sun/splashscreen/Makefile 2009-11-04 01:18:41.000000000 +0000 @@ -59,12 +59,12 @@ # C Flags # @@ -329,7 +329,7 @@ diff -Nru openjdk.orig/jdk/make/sun/spla # and use alternative implementations in C. diff -Nru openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h --- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2009-08-20 00:00:45.000000000 +0100 -+++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/defines.h 2009-11-04 01:18:41.000000000 +0000 @@ -89,11 +89,7 @@ // bytes and byte arrays @@ -344,7 +344,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat typedef DWORDLONG julong; diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c openjdk/jdk/src/share/native/java/util/zip/Adler32.c --- openjdk.orig/jdk/src/share/native/java/util/zip/Adler32.c 2009-03-30 17:23:07.000000000 +0100 -+++ openjdk/jdk/src/share/native/java/util/zip/Adler32.c 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/src/share/native/java/util/zip/Adler32.c 2009-11-04 01:18:41.000000000 +0000 @@ -29,7 +29,7 @@ #include "jni.h" @@ -356,7 +356,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c openjdk/jdk/src/share/native/java/util/zip/CRC32.c --- openjdk.orig/jdk/src/share/native/java/util/zip/CRC32.c 2009-03-30 17:23:07.000000000 +0100 -+++ openjdk/jdk/src/share/native/java/util/zip/CRC32.c 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/src/share/native/java/util/zip/CRC32.c 2009-11-04 01:18:41.000000000 +0000 @@ -29,7 +29,7 @@ #include "jni.h" @@ -368,7 +368,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c openjdk/jdk/src/share/native/java/util/zip/Deflater.c --- openjdk.orig/jdk/src/share/native/java/util/zip/Deflater.c 2009-06-30 14:05:51.000000000 +0100 -+++ openjdk/jdk/src/share/native/java/util/zip/Deflater.c 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/src/share/native/java/util/zip/Deflater.c 2009-11-04 01:18:41.000000000 +0000 @@ -32,7 +32,7 @@ #include "jlong.h" #include "jni.h" @@ -380,7 +380,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c openjdk/jdk/src/share/native/java/util/zip/Inflater.c --- openjdk.orig/jdk/src/share/native/java/util/zip/Inflater.c 2009-06-30 14:05:51.000000000 +0100 -+++ openjdk/jdk/src/share/native/java/util/zip/Inflater.c 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/src/share/native/java/util/zip/Inflater.c 2009-11-04 01:18:41.000000000 +0000 @@ -35,7 +35,7 @@ #include "jni.h" #include "jvm.h" @@ -392,7 +392,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat #define ThrowDataFormatException(env, msg) \ diff -Nru openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c openjdk/jdk/src/share/native/java/util/zip/zip_util.c --- openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c 2009-07-14 09:14:42.000000000 +0100 -+++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c 2009-09-21 22:50:31.000000000 +0100 ++++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c 2009-11-04 01:18:41.000000000 +0000 @@ -44,7 +44,8 @@ #include "io_util.h" #include "io_util_md.h" @@ -404,8 +404,8 @@ diff -Nru openjdk.orig/jdk/src/share/nat /* USE_MMAP means mmap the CEN & ENDHDR part of the zip file. */ #ifdef USE_MMAP diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c ---- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-07-06 14:52:43.000000000 +0100 -+++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-09-21 22:50:31.000000000 +0100 +--- openjdk.orig/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-11-03 23:40:31.000000000 +0000 ++++ openjdk/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c 2009-11-04 01:18:41.000000000 +0000 @@ -51,7 +51,9 @@ /* headers from the JPEG library */ @@ -507,7 +507,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat free(info); } } -@@ -685,14 +743,14 @@ +@@ -689,14 +747,14 @@ decomp = (j_decompress_ptr) cinfo; if (decomp->quant_tbl_ptrs[i] == NULL) { decomp->quant_tbl_ptrs[i] = @@ -524,7 +524,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat } quant_ptr = comp->quant_tbl_ptrs[i]; } -@@ -768,14 +826,14 @@ +@@ -787,14 +845,14 @@ decomp = (j_decompress_ptr) cinfo; if (decomp->dc_huff_tbl_ptrs[i] == NULL) { decomp->dc_huff_tbl_ptrs[i] = @@ -541,7 +541,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat } huff_ptr = comp->dc_huff_tbl_ptrs[i]; } -@@ -789,14 +847,14 @@ +@@ -812,14 +870,14 @@ decomp = (j_decompress_ptr) cinfo; if (decomp->ac_huff_tbl_ptrs[i] == NULL) { decomp->ac_huff_tbl_ptrs[i] = @@ -558,7 +558,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat } huff_ptr = comp->ac_huff_tbl_ptrs[i]; } -@@ -1356,6 +1414,8 @@ +@@ -1379,6 +1437,8 @@ jclass ImageInputStreamClass, jclass qTableClass, jclass huffClass) { @@ -567,7 +567,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat ImageInputStream_readID = (*env)->GetMethodID(env, ImageInputStreamClass, -@@ -1441,7 +1501,7 @@ +@@ -1464,7 +1524,7 @@ } /* We set up the normal JPEG error routines, then override error_exit. */ @@ -576,7 +576,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat jerr->pub.error_exit = sun_jpeg_error_exit; /* We need to setup our own print routines */ jerr->pub.output_message = sun_jpeg_output_message; -@@ -1458,11 +1518,11 @@ +@@ -1481,11 +1541,11 @@ } /* Perform library initialization */ @@ -590,7 +590,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat /* * Now set up our source. -@@ -1480,7 +1540,7 @@ +@@ -1503,7 +1563,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; @@ -599,7 +599,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat cinfo->src->term_source = imageio_term_source; /* set up the association to persist for future calls */ -@@ -1599,7 +1659,7 @@ +@@ -1622,7 +1682,7 @@ src->bytes_in_buffer = 0; } @@ -608,7 +608,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat if (ret == JPEG_HEADER_TABLES_ONLY) { retval = JNI_TRUE; -@@ -1728,7 +1788,7 @@ +@@ -1751,7 +1811,7 @@ cinfo->num_components, profileData); if (reset) { @@ -617,7 +617,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat } } -@@ -1917,7 +1977,7 @@ +@@ -1947,7 +2007,7 @@ TRUE); } @@ -626,7 +626,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat if (progressive) { cinfo->buffered_image = TRUE; cinfo->input_scan_number = minProgressivePass+1; // Java count from 0 -@@ -1929,7 +1989,7 @@ +@@ -1959,7 +2019,7 @@ data->streamBuf.suspendable = FALSE; @@ -635,7 +635,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat if (numBands != cinfo->output_components) { JNU_ThrowByName(env, "javax/imageio/IIOException", -@@ -1954,7 +2014,7 @@ +@@ -1984,7 +2044,7 @@ if (progressive) { // initialize the next pass. Note that this skips up to // the first interesting pass. @@ -644,7 +644,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat if (wantUpdates) { (*env)->CallVoidMethod(env, this, JPEGImageReader_passStartedID, -@@ -1970,7 +2030,7 @@ +@@ -2000,7 +2060,7 @@ // Skip until the first interesting line while ((data->abortFlag == JNI_FALSE) && ((jint)cinfo->output_scanline < sourceYStart)) { @@ -653,7 +653,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat } scanlineLimit = sourceYStart+sourceHeight; -@@ -1983,7 +2043,7 @@ +@@ -2013,7 +2073,7 @@ while ((data->abortFlag == JNI_FALSE) && ((jint)cinfo->output_scanline < scanlineLimit)) { @@ -662,7 +662,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat // Now mangle it into our buffer out = data->pixelBuf.buf.bp; -@@ -2031,13 +2091,13 @@ +@@ -2061,13 +2121,13 @@ skipLines = linesLeft; } for(i = 0; i < skipLines; i++) { @@ -679,7 +679,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat || (cinfo->input_scan_number > maxProgressivePass)) { done = TRUE; } -@@ -2057,9 +2117,9 @@ +@@ -2087,9 +2147,9 @@ if (cinfo->output_scanline == cinfo->output_height) { // if ((cinfo->output_scanline == cinfo->output_height) && //(jpeg_input_complete(cinfo))) { // We read the whole file @@ -691,7 +691,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat } free(scanLinePtr); -@@ -2105,7 +2165,7 @@ +@@ -2135,7 +2195,7 @@ cinfo = (j_decompress_ptr) data->jpegObj; @@ -700,7 +700,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat } -@@ -2311,6 +2371,142 @@ +@@ -2341,6 +2401,142 @@ /********************** end of destination manager ************/ @@ -843,7 +843,7 @@ diff -Nru openjdk.orig/jdk/src/share/nat From andrew at icedtea.classpath.org Wed Nov 4 14:03:29 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Nov 2009 22:03:29 +0000 Subject: /hg/icedtea: Delete bootstrap/jdk1.7.0 on clean. Message-ID: changeset 9eb43c172d5b in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=9eb43c172d5b author: Andrew John Hughes date: Wed Nov 04 22:07:39 2009 +0000 Delete bootstrap/jdk1.7.0 on clean. 2009-11-04 Andrew John Hughes * Makefile.am: Make sure bootstrap/jdk1.7.0 gets deleted on clean. diffstat: 2 files changed, 7 insertions(+) ChangeLog | 6 ++++++ Makefile.am | 1 + diffs (24 lines): diff -r ce2937846cc0 -r 9eb43c172d5b ChangeLog --- a/ChangeLog Wed Nov 04 21:27:26 2009 +0000 +++ b/ChangeLog Wed Nov 04 22:07:39 2009 +0000 @@ -1,3 +1,9 @@ 2009-11-04 Andrew John Hughes + + * Makefile.am: + Make sure bootstrap/jdk1.7.0 gets deleted + on clean. + 2009-11-04 Andrew John Hughes * patches/icedtea-use-system-tzdata.patch: diff -r ce2937846cc0 -r 9eb43c172d5b Makefile.am --- a/Makefile.am Wed Nov 04 21:27:26 2009 +0000 +++ b/Makefile.am Wed Nov 04 22:07:39 2009 +0000 @@ -2506,6 +2506,7 @@ clean-plugs: clean-tools-jar clean-rt clean-plugs: clean-tools-jar clean-rt rm -f stamps/plugs.stamp rm -f bootstrap/jdk1.7.0/jre/lib/rt-closed.jar + rm -rf bootstrap/jdk1.7.0 # Target Aliases # =============== From xerxes at zafena.se Thu Nov 5 00:38:15 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 05 Nov 2009 09:38:15 +0100 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <200911041247.nA4ClYdC017324@parsley.camswl.com> References: <200911041247.nA4ClYdC017324@parsley.camswl.com> Message-ID: <4AF28EF7.9030308@zafena.se> Edward Nevill skrev: > Hi Folks, > > The following changes make hs16 work for ARM and add OSR support for Shark. The files > affected are > > - asm_helper.cpp > - bytecodes_arm.def > - cppInterpreter_arm.S > - sharkCacheDecache.cpp > > Regards, > Ed. > > > +#ifdef ON_STACK_REPLACEMENT > +osr_migrate: > + ldr tmp1, [r0, #128] @ osr_method->osr_entry() > + ldr tmp2, [istate, #ISTATE_ADVANCE_PC] > +@ ldr istate, [istate, #ISTATE_NEXT_FRAME] > + mov r0, r3 > + bl _ZN13SharedRuntime19OSR_migration_beginEP10JavaThread > + mov r1, r0 > + ldr r0, [istate, #ISTATE_METHOD] > + ldrh lr, [r0, #METHOD_MAXLOCALS] > + ldrh ip, [r0, #METHOD_SIZEOFPARAMETERS] > + ldr r3, [istate, #ISTATE_THREAD] > + sub lr, lr, ip > + ldr r2, [r3, #THREAD_TOP_ZERO_FRAME] > + add ip, r2, #4 > + ldr r2, [r2] > + add ip, ip, lr, lsl #2 > + str r2, [r3, #THREAD_TOP_ZERO_FRAME] > + str ip, [r3, #THREAD_JAVA_SP] > + mov r2, tmp1 > +; r0 = method > +; r1 = osr_buf > +; r2 = osr_entry > + mov lr, pc > + ldr pc, [tmp1] > + > + cmp tmp2, #0 > + ldmeqfd arm_sp!, {regset, pc} > Hi Edward! I tried to build the regular hs14 with your patch applied and hit this error while linking launcher. Linking launcher... /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: undefined reference to `osr_buf' /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: undefined reference to `osr_entry' /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: undefined reference to `method' collect2: ld returned 1 exit status make[6]: *** [gamma] Error 1 make[6]: Leaving directory ` are the three lines +; r0 = method +; r1 = osr_buf +; r2 = osr_entry meant to be comments? Cheers Xerxes From xerxes at zafena.se Thu Nov 5 01:27:13 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 05 Nov 2009 10:27:13 +0100 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <4AF28EF7.9030308@zafena.se> References: <200911041247.nA4ClYdC017324@parsley.camswl.com> <4AF28EF7.9030308@zafena.se> Message-ID: <4AF29A71.6000901@zafena.se> Xerxes R?nby skrev: > Edward Nevill skrev: > >> Hi Folks, >> >> The following changes make hs16 work for ARM and add OSR support for Shark. The files >> affected are >> >> - asm_helper.cpp >> - bytecodes_arm.def >> - cppInterpreter_arm.S >> - sharkCacheDecache.cpp >> >> Regards, >> Ed. >> >> >> +#ifdef ON_STACK_REPLACEMENT >> +osr_migrate: >> + ldr tmp1, [r0, #128] @ osr_method->osr_entry() >> + ldr tmp2, [istate, #ISTATE_ADVANCE_PC] >> +@ ldr istate, [istate, #ISTATE_NEXT_FRAME] >> + mov r0, r3 >> + bl _ZN13SharedRuntime19OSR_migration_beginEP10JavaThread >> + mov r1, r0 >> + ldr r0, [istate, #ISTATE_METHOD] >> + ldrh lr, [r0, #METHOD_MAXLOCALS] >> + ldrh ip, [r0, #METHOD_SIZEOFPARAMETERS] >> + ldr r3, [istate, #ISTATE_THREAD] >> + sub lr, lr, ip >> + ldr r2, [r3, #THREAD_TOP_ZERO_FRAME] >> + add ip, r2, #4 >> + ldr r2, [r2] >> + add ip, ip, lr, lsl #2 >> + str r2, [r3, #THREAD_TOP_ZERO_FRAME] >> + str ip, [r3, #THREAD_JAVA_SP] >> + mov r2, tmp1 >> +; r0 = method >> +; r1 = osr_buf >> +; r2 = osr_entry >> + mov lr, pc >> + ldr pc, [tmp1] >> + >> + cmp tmp2, #0 >> + ldmeqfd arm_sp!, {regset, pc} >> >> > Hi Edward! > > I tried to build the regular hs14 with your patch applied and hit this > error while linking launcher. > > Linking launcher... > /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: > undefined reference to `osr_buf' > /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: > undefined reference to `osr_entry' > /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: > undefined reference to `method' > collect2: ld returned 1 exit status > make[6]: *** [gamma] Error 1 > make[6]: Leaving directory ` > > are the three lines > > +; r0 = method > +; r1 = osr_buf > +; r2 = osr_entry > > meant to be comments? > > > Cheers > Xerxes > My build linked sucessfully when i changed those three lines to @ comments Xerxes ============= cut here Index: icedtea6-tot/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S =================================================================== --- icedtea6-tot.orig/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2009-11-05 08:40:18.000000000 +0000 +++ icedtea6-tot/ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S 2009-11-05 08:41:24.000000000 +0000 @@ -2727,9 +2727,9 @@ str r2, [r3, #THREAD_TOP_ZERO_FRAME] str ip, [r3, #THREAD_JAVA_SP] mov r2, tmp1 -; r0 = method -; r1 = osr_buf -; r2 = osr_entry +@ r0 = method +@ r1 = osr_buf +@ r2 = osr_entry mov lr, pc ldr pc, [tmp1] From ed at camswl.com Thu Nov 5 02:10:19 2009 From: ed at camswl.com (Edward Nevill) Date: Thu, 5 Nov 2009 10:10:19 GMT Subject: Request to commit: HS16 + OSR changes for ARM Message-ID: <200911051010.nA5AAJ71023167@parsley.camswl.com> >> +; r0 = method >> +; r1 = osr_buf >> +; r2 = osr_entry >> + mov lr, pc >> + ldr pc, [tmp1] >> + >> + cmp tmp2, #0 >> + ldmeqfd arm_sp!, {regset, pc} >> >Hi Edward! > >I tried to build the regular hs14 with your patch applied and hit this >error while linking launcher. > >Linking launcher... >/ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: >undefined reference to `osr_buf' >/ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: >undefined reference to `osr_entry' >/ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: >undefined reference to `method' >collect2: ld returned 1 exit status >make[6]: *** [gamma] Error 1 >make[6]: Leaving directory ` > >are the three lines > >+; r0 = method >+; r1 = osr_buf >+; r2 = osr_entry > Yes, thanks for spotting this. A merge problem. Other than this are you happy with the changes? I have successfully built hs14, hs16 & hs16 with Shark (with the above change applied). Regards, Ed. From a.radke at arcor.de Thu Nov 5 02:10:07 2009 From: a.radke at arcor.de (Andreas Radke) Date: Thu, 5 Nov 2009 11:10:07 +0100 (CET) Subject: npplugin build fails with recent xulrunner Message-ID: Either the xulrunner version check doesn't work well here some more changes are needed: [andyrtr at workstation64 trunk]$ grep -i xulrunner openjdk6-hg-6.b17_hg_20091105-1-x86_64-build.log.4 checking for XULRUNNER... yes checking for xulrunner version... 1090104 [andyrtr at workstation64 trunk]$ pacman -Q xulrunner xulrunner 1.9.1.4-1 running ArchLinux In Datei, eingef?gt von IcedTeaNPPlugin.cc:75: IcedTeaScriptablePluginObject.h:43:19: Fehler: npupp.h: Datei oder Verzeichnis nicht gefunden In file included from IcedTeaNPPlugin.h:61, from IcedTeaJavaRequestProcessor.h:46, from IcedTeaScriptablePluginObject.h:49, from IcedTeaNPPlugin.cc:75: IcedTeaPluginUtils.h:204: Fehler: expected ?;? before ?(? token IcedTeaPluginUtils.h:206: Fehler: ?NPVariant? has not been declared IcedTeaPluginUtils.h:208: Fehler: expected ?;? before ?(? token In file included from IcedTeaNPPlugin.h:62, from IcedTeaJavaRequestProcessor.h:46, from IcedTeaScriptablePluginObject.h:49, from IcedTeaNPPlugin.cc:75: IcedTeaPluginRequestProcessor.h:86: Fehler: ?NPVariant? has not been declared IcedTeaPluginRequestProcessor.h:125: Fehler: ?NPVariant? has not been declared In file included from IcedTeaJavaRequestProcessor.h:46, from IcedTeaScriptablePluginObject.h:49, from IcedTeaNPPlugin.cc:75: IcedTeaNPPlugin.h:103: Fehler: ?NPNetscapeFuncs? does not name a type IcedTeaNPPlugin.h:130: Fehler: expected constructor, destructor, or type conversion before ?*? token IcedTeaNPPlugin.h:133: Fehler: expected constructor, destructor, or type conversion before ?*? token In file included from IcedTeaScriptablePluginObject.h:49, from IcedTeaNPPlugin.cc:75: and more... -Andy From xerxes at zafena.se Thu Nov 5 02:33:08 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 05 Nov 2009 11:33:08 +0100 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <200911051010.nA5AAJ71023167@parsley.camswl.com> References: <200911051010.nA5AAJ71023167@parsley.camswl.com> Message-ID: <4AF2A9E4.4080301@zafena.se> Edward Nevill skrev: >>> +; r0 = method >>> +; r1 = osr_buf >>> +; r2 = osr_entry >>> + mov lr, pc >>> + ldr pc, [tmp1] >>> + >>> + cmp tmp2, #0 >>> + ldmeqfd arm_sp!, {regset, pc} >>> >>> >> Hi Edward! >> >> I tried to build the regular hs14 with your patch applied and hit this >> error while linking launcher. >> >> Linking launcher... >> /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: >> undefined reference to `osr_buf' >> /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: >> undefined reference to `osr_entry' >> /ssd/icedtea6-tot-asm-shark/openjdk-ecj/build/linux-arm/hotspot/outputdir/linux_zero_shark/product/libjvm.so: >> undefined reference to `method' >> collect2: ld returned 1 exit status >> make[6]: *** [gamma] Error 1 >> make[6]: Leaving directory ` >> >> are the three lines >> >> +; r0 = method >> +; r1 = osr_buf >> +; r2 = osr_entry >> >> > > Yes, thanks for spotting this. A merge problem. > > Other than this are you happy with the changes? I have successfully built hs14, hs16 & hs16 with Shark (with the above change applied). > > Regards, > Ed. > I am very happy with the changes, it solves all issues that I currently know! I would like to see it all commited into the icedtea6 trunk. With best regards, Xerxes From gbenson at redhat.com Thu Nov 5 02:51:08 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 5 Nov 2009 10:51:08 +0000 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <4AF2A9E4.4080301@zafena.se> References: <200911051010.nA5AAJ71023167@parsley.camswl.com> <4AF2A9E4.4080301@zafena.se> Message-ID: <20091105105108.GA3634@redhat.com> Xerxes R?nby wrote: > Edward Nevill skrev: > > Other than this are you happy with the changes? I have > > successfully built hs14, hs16 & hs16 with Shark (with the above > > change applied). > > I am very happy with the changes, it solves all issues that I > currently know! > I would like to see it all commited into the icedtea6 trunk. Please do not commit the Shark change unless your contributions are covered by the SCA. Cheers, Gary -- http://gbenson.net/ From doko at ubuntu.com Thu Nov 5 03:05:05 2009 From: doko at ubuntu.com (Matthias Klose) Date: Thu, 05 Nov 2009 12:05:05 +0100 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <20091105105108.GA3634@redhat.com> References: <200911051010.nA5AAJ71023167@parsley.camswl.com> <4AF2A9E4.4080301@zafena.se> <20091105105108.GA3634@redhat.com> Message-ID: <4AF2B161.3070103@ubuntu.com> On 05.11.2009 11:51, Gary Benson wrote: > Please do not commit the Shark change unless your contributions > are covered by the SCA. why not? commits to IcedTea never had the precondition of SCA coverage. Is this a policy change that I did miss? Matthias From xerxes at zafena.se Thu Nov 5 03:18:37 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Thu, 05 Nov 2009 12:18:37 +0100 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <20091105105108.GA3634@redhat.com> References: <200911051010.nA5AAJ71023167@parsley.camswl.com> <4AF2A9E4.4080301@zafena.se> <20091105105108.GA3634@redhat.com> Message-ID: <4AF2B48D.10001@zafena.se> Gary Benson skrev: > Xerxes R?nby wrote: > >> Edward Nevill skrev: >> >>> Other than this are you happy with the changes? I have >>> successfully built hs14, hs16 & hs16 with Shark (with the above >>> change applied). >>> >> >> I am very happy with the changes, it solves all issues that I >> currently know! >> I would like to see it all commited into the icedtea6 trunk. >> > > Please do not commit the Shark change unless your contributions > are covered by the SCA. > > Cheers, > Gary > > -- > http://gbenson.net/ > I assumed Ed's statement from http://mail.openjdk.java.net/pipermail/zero-dev/2009-July/000176.html are still valid for these changes, Ed have anything changed reguarding this matter? " BTW: I have signed the SCA so it is OK for any of these changes to be checked into OpenJDK. ARM has disclaimed copyright interest as per GPLv2 (although I have yet to get this in writing:-(). I have also requested the JCK from Sun so hopefully should be in a positions to verify it as Java Compliant. Best Regards, Ed. " At least i see no issues for you Gary to push these Shark changes upstream. Cheers Xerxes From mark at klomp.org Thu Nov 5 03:25:44 2009 From: mark at klomp.org (Mark Wielaard) Date: Thu, 05 Nov 2009 12:25:44 +0100 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <4AF2B161.3070103@ubuntu.com> References: <200911051010.nA5AAJ71023167@parsley.camswl.com> <4AF2A9E4.4080301@zafena.se> <20091105105108.GA3634@redhat.com> <4AF2B161.3070103@ubuntu.com> Message-ID: <1257420344.3379.2.camel@springer.wildebeest.org> On Thu, 2009-11-05 at 12:05 +0100, Matthias Klose wrote: > commits to IcedTea never had the precondition of SCA coverage. Is this > a policy change that I did miss? Not that I know. IcedTea was specifically setup to be able to work on code without legal politics (except for making sure the licenses used are Free and compatible). From gbenson at redhat.com Thu Nov 5 03:30:21 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 5 Nov 2009 11:30:21 +0000 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <4AF2B161.3070103@ubuntu.com> References: <200911051010.nA5AAJ71023167@parsley.camswl.com> <4AF2A9E4.4080301@zafena.se> <20091105105108.GA3634@redhat.com> <4AF2B161.3070103@ubuntu.com> Message-ID: <20091105113021.GC3634@redhat.com> Matthias Klose wrote: > On 05.11.2009 11:51, Gary Benson wrote: > > Please do not commit the Shark change unless your contributions > > are covered by the SCA. > > why not? commits to IcedTea never had the precondition of SCA > coverage. Is this a policy change that I did miss? It's not an IcedTea policy, but ultimately the goal for Shark is to get it upstream in much the same way as Zero now is, and I won't be able to do that unless Shark is SCA clean. Cheers, Gary -- http://gbenson.net/ From gbenson at redhat.com Thu Nov 5 03:32:06 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 5 Nov 2009 11:32:06 +0000 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <4AF2B48D.10001@zafena.se> References: <200911051010.nA5AAJ71023167@parsley.camswl.com> <4AF2A9E4.4080301@zafena.se> <20091105105108.GA3634@redhat.com> <4AF2B48D.10001@zafena.se> Message-ID: <20091105113206.GD3634@redhat.com> Xerxes R?nby wrote: > I assumed Ed's statement from > http://mail.openjdk.java.net/pipermail/zero-dev/2009-July/000176.html > are still valid for these changes, Ed have anything changed reguarding > this matter? > > "BTW: I have signed the SCA so it is OK for any of these changes to > be checked into OpenJDK. ARM has disclaimed copyright interest as > per GPLv2 (although I have yet to get this in writing:-()." Did you ever get it in writing Ed? Cheers, Gary -- http://gbenson.net/ From ed at camswl.com Thu Nov 5 05:28:10 2009 From: ed at camswl.com (Edward Nevill) Date: Thu, 5 Nov 2009 13:28:10 GMT Subject: Request to commit: HS16 + OSR changes for ARM Message-ID: <200911051328.nA5DSAoZ024065@parsley.camswl.com> >Xerxes R?nby wrote: >> I assumed Ed's statement from >> http://mail.openjdk.java.net/pipermail/zero-dev/2009-July/000176.html >> are still valid for these changes, Ed have anything changed reguarding >> this matter? >> >> "BTW: I have signed the SCA so it is OK for any of these changes to >> be checked into OpenJDK. ARM has disclaimed copyright interest as >> per GPLv2 (although I have yet to get this in writing:-()." > >Did you ever get it in writing Ed? > >Cheers, >Gary No, Regards, Ed. From gbenson at redhat.com Thu Nov 5 05:45:20 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 5 Nov 2009 13:45:20 +0000 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <200911051328.nA5DSAoZ024065@parsley.camswl.com> References: <20091105113206.GD3634@redhat.com> <200911051328.nA5DSAoZ024065@parsley.camswl.com> Message-ID: <20091105134520.GE3634@redhat.com> Edward Nevill wrote: > >Xerxes R?nby wrote: > > > I assumed Ed's statement from > > > http://mail.openjdk.java.net/pipermail/zero-dev/2009-July/000176.html > > > are still valid for these changes, Ed have anything changed > > > reguarding this matter? > > > > > > "BTW: I have signed the SCA so it is OK for any of these changes > > > to be checked into OpenJDK. ARM has disclaimed copyright > > > interest as per GPLv2 (although I have yet to get this in > > > writing:-()." > > > > Did you ever get it in writing Ed? > > No, Ok. I'm thinking that it shouldn't be an issue for this particular Shark change, because you made it at my instruction. I'm going to ask that aph confirm my logic on that though, I'm not 100% sure how all this works. If it's not ok then I can always recreate it and commit it myself. Cheers, Gary -- http://gbenson.net/ From bugzilla-daemon at icedtea.classpath.org Thu Nov 5 06:37:40 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Nov 2009 14:37:40 +0000 Subject: [Bug 401] New: OpenJDK 1.6 crashes on CentOS 5.4 x86_64 when running Eclipse 3.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=401 Summary: OpenJDK 1.6 crashes on CentOS 5.4 x86_64 when running Eclipse 3.5 Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: mbaudier at argeo.org When running Eclipse 3.5 (Galileo SR1) on a Linux CentOS 5.4 x86_64 (up to date), the JVM systematically crashes, either directly or after a few minutes. The JVM used is the OpenJDK 1.6 from the standard CentOS repositories: 1.6.0-b09 mixed mode linux-amd64. Please also note that I am running nvidia proprietary X driver packaged by elrepo.org. I will attach an hs_err_pid*.log I will also try to install the Sun JDK from their website to see if I get the same kind of issue. Please tell me if you need more information or if I can help (I should be able to rebuild the JDK from the source repository if needed) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Nov 5 06:38:47 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Nov 2009 14:38:47 +0000 Subject: [Bug 401] OpenJDK 1.6 crashes on CentOS 5.4 x86_64 when running Eclipse 3.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=401 ------- Comment #1 from mbaudier at argeo.org 2009-11-05 14:38 ------- Created an attachment (id=272) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=272&action=view) Crash log (hs_err_pid*.log) -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From gbenson at redhat.com Thu Nov 5 07:16:00 2009 From: gbenson at redhat.com (Gary Benson) Date: Thu, 5 Nov 2009 15:16:00 +0000 Subject: Request to commit: HS16 + OSR changes for ARM In-Reply-To: <20091105134520.GE3634@redhat.com> References: <20091105113206.GD3634@redhat.com> <200911051328.nA5DSAoZ024065@parsley.camswl.com> <20091105134520.GE3634@redhat.com> Message-ID: <20091105151600.GI3634@redhat.com> Gary Benson wrote: > Edward Nevill wrote: > > > Xerxes R?nby wrote: > > > > I assumed Ed's statement from > > > > http://mail.openjdk.java.net/pipermail/zero-dev/2009-July/000176.html > > > > are still valid for these changes, Ed have anything changed > > > > reguarding this matter? > > > > > > > > "BTW: I have signed the SCA so it is OK for any of these > > > > changes to be checked into OpenJDK. ARM has disclaimed > > > > copyright interest as per GPLv2 (although I have yet to get > > > > this in writing:-()." > > > > > > Did you ever get it in writing Ed? > > > > No, > > Ok. I'm thinking that it shouldn't be an issue for this particular > Shark change, because you made it at my instruction. I'm going to > ask that aph confirm my logic on that though, I'm not 100% sure how > all this works. If it's not ok then I can always recreate it and > commit it myself. It's not an issue for this change. Ed, you have my approval. Cheers, Gary -- http://gbenson.net/ From bugzilla-daemon at icedtea.classpath.org Thu Nov 5 07:19:01 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Nov 2009 15:19:01 +0000 Subject: [Bug 401] OpenJDK 1.6 crashes on CentOS 5.4 x86_64 when running Eclipse 3.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=401 ------- Comment #2 from mark at klomp.org 2009-11-05 15:19 ------- This part of the log looks suspicious: C2:673 org.eclipse.core.internal.dtree.DataTreeNode.forwardDeltaWith([Lorg/eclipse/core/internal/dtree/AbstractDataTreeNode;[Lorg/eclipse/core/internal/dtree/AbstractDataTreeNode;Lorg/eclipse/core/internal/dtree/IComparator;)[Lorg/eclipse/core/internal/dtree/AbstractDataTreeNode; (469 bytes) There was an old bug that caused that method to crash the jit compiler. It was fixed and backported a while ago: changeset: 888:e4b644655e78 user: Mark Wielaard date: Sun Jun 08 18:51:47 2008 +0200 files: ChangeLog Makefile.am Makefile.in patches/icedtea-eclipse-hotspot-6614100-6b06.patch patches/icedtea-eclipse-hotspot-6614100-7b24.patch description: Add hotspot eclipse crasher patch fix for sun bu #6614100. 2008-06-08 Mark Wielaard * Makefile.am (ZERO_PATCHES): Add patches/icedtea-eclipse-hotspot-6614100-7b24.patch. (NON_ZERO_PATCHES): New patch list. (ZERO_PATCHES_COND): Use new NON_ZERO_PATCHES list when necessary. * Makefile.in: Regenerate. * patches/icedtea-eclipse-hotspot-6614100-7b24.patch: New patch. * patches/icedtea-eclipse-hotspot-6614100-6b06.patch: New patch. So please make sure you upgrade your icedtea install to one that includes this fix. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Nov 5 07:24:46 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Nov 2009 15:24:46 +0000 Subject: [Bug 401] OpenJDK 1.6 crashes on CentOS 5.4 x86_64 when running Eclipse 3.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=401 ------- Comment #3 from mbaudier at argeo.org 2009-11-05 15:24 ------- Thanks for the quick feedback! Meanwhile I have installed and tested Sun's JDK and it works fine. I will rebuild IcedTea: the OpenJDK provided by RedHat seems to have quite a bad reputation... I'll let know here whether the latest version fixed this problem. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From enevill at icedtea.classpath.org Thu Nov 5 09:01:17 2009 From: enevill at icedtea.classpath.org (enevill at icedtea.classpath.org) Date: Thu, 05 Nov 2009 17:01:17 +0000 Subject: /hg/icedtea6: Edward Nevill Message-ID: changeset a88ccd40d4c0 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a88ccd40d4c0 author: "Edward Nevill (ed at camswl.com)" date: Thu Nov 05 17:05:39 2009 +0000 Edward Nevill diffstat: 5 files changed, 331 insertions(+), 170 deletions(-) ChangeLog | 9 ports/hotspot/src/cpu/zero/vm/asm_helper.cpp | 9 ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def | 142 +++--- ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S | 338 +++++++++++----- ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp | 3 diffs (truncated from 1276 to 500 lines): diff -r cda20a4144b7 -r a88ccd40d4c0 ChangeLog --- a/ChangeLog Tue Nov 03 14:08:22 2009 +0100 +++ b/ChangeLog Thu Nov 05 17:05:39 2009 +0000 @@ -1,3 +1,12 @@ 2009-11-03 Martin Matejovic + + * Make OSR work with Shark + * Fix hs16 build + * ports/hotspot/src/cpu/zero/vm/asm_helper.cpp + * ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp + 2009-11-03 Martin Matejovic * patches/security/icedtea-6862968.patch * patches/security/icedtea-6863503.patch diff -r cda20a4144b7 -r a88ccd40d4c0 ports/hotspot/src/cpu/zero/vm/asm_helper.cpp --- a/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp Tue Nov 03 14:08:22 2009 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/asm_helper.cpp Thu Nov 05 17:05:39 2009 +0000 @@ -110,6 +110,7 @@ void VMStructs::print_vm_offsets(void) print_def("METHOD_NATIVEHANDLER", sizeof(methodOopDesc)); print_def("METHOD_SIGNATUREHANDLER", sizeof(methodOopDesc)+4); nl(); + print_def("CONSTMETHOD_CODESIZE", offset_of(constMethodOopDesc, _code_size)); print_def("CONSTMETHOD_CODEOFFSET", sizeof(constMethodOopDesc)); nl(); print_def("JNIHANDLEBLOCK_TOP", offset_of(JNIHandleBlock, _top)); @@ -124,6 +125,14 @@ void VMStructs::print_vm_offsets(void) nl(); print_def("CONSTANTPOOL_TAGS", offset_of(constantPoolOopDesc, _tags)); print_def("CONSTANTPOOL_CACHE", offset_of(constantPoolOopDesc, _cache)); + print_def("CONSTANTPOOL_BASE", sizeof(constantPoolOopDesc)); + nl(); + print_def("CP_OFFSET", in_bytes(constantPoolCacheOopDesc::base_offset())); + nl(); + print_def("BASE_OFFSET_BYTE", arrayOopDesc::base_offset_in_bytes(T_BYTE)); + print_def("BASE_OFFSET_SHORT", arrayOopDesc::base_offset_in_bytes(T_SHORT)); + print_def("BASE_OFFSET_WORD", arrayOopDesc::base_offset_in_bytes(T_INT)); + print_def("BASE_OFFSET_LONG", arrayOopDesc::base_offset_in_bytes(T_LONG)); nl(); print_def("SIZEOF_HANDLEMARK", sizeof(HandleMark)); } diff -r cda20a4144b7 -r a88ccd40d4c0 ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def --- a/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def Tue Nov 03 14:08:22 2009 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/bytecodes_arm.def Thu Nov 05 17:05:39 2009 +0000 @@ -521,7 +521,7 @@ return_register_finalizer = 0xe5, 1 DISPATCH_NEXT add r3, r3, r2, lsl #2 DISPATCH_NEXT - ldr tmp1, [r3, #12] + ldr tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_NEXT PUT_STACK 0, tmp1 DISPATCH_FINISH @@ -541,7 +541,7 @@ return_register_finalizer = 0xe5, 1 bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #3 - ldr tmp2, [r3, #16] + ldr tmp2, [r3, #BASE_OFFSET_LONG] DISPATCH_NEXT ldr tmp1, [r3, #20] DISPATCH_NEXT @@ -565,7 +565,7 @@ return_register_finalizer = 0xe5, 1 DISPATCH_NEXT add r3, r3, r2 DISPATCH_NEXT - ldrsb tmp1, [r3, #12] + ldrsb tmp1, [r3, #BASE_OFFSET_BYTE] DISPATCH_NEXT PUT_STACK 0, tmp1 DISPATCH_FINISH @@ -586,7 +586,7 @@ return_register_finalizer = 0xe5, 1 DISPATCH_NEXT add r3, r3, r2, lsl #1 DISPATCH_NEXT - ldrh tmp1, [r3, #12] + ldrh tmp1, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUT_STACK 0, tmp1 DISPATCH_FINISH @@ -607,7 +607,7 @@ return_register_finalizer = 0xe5, 1 DISPATCH_NEXT add r3, r3, r2, lsl #1 DISPATCH_NEXT - ldrsh tmp1, [r3, #12] + ldrsh tmp1, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUT_STACK 0, tmp1 DISPATCH_FINISH @@ -742,7 +742,7 @@ return_register_finalizer = 0xe5, 1 DISPATCH_NEXT add tmp1, tmp1, tmp2, lsl #2 DISPATCH_NEXT - str r3, [tmp1, #12] + str r3, [tmp1, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -758,7 +758,7 @@ return_register_finalizer = 0xe5, 1 bcs array_bound_exception_jpc_1_tmp2 DISPATCH_NEXT add tmp2, tmp1, tmp2, lsl #3 - str r1, [tmp2, #16] + str r1, [tmp2, #BASE_OFFSET_LONG] DISPATCH_NEXT DISPATCH_NEXT str r3, [tmp2, #20] @@ -778,7 +778,7 @@ return_register_finalizer = 0xe5, 1 DISPATCH_NEXT add tmp1, tmp1, tmp2 DISPATCH_NEXT - strb r3, [tmp1, #12] + strb r3, [tmp1, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -795,7 +795,7 @@ return_register_finalizer = 0xe5, 1 DISPATCH_NEXT add tmp1, tmp1, tmp2, lsl #1 DISPATCH_NEXT - strh r3, [tmp1, #12] + strh r3, [tmp1, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -1994,7 +1994,7 @@ 1: ldr r3, [istate, #ISTATE_METHOD] @ method ldrb lr, [jpc, #1] - ldr tmp1, [r3, #12] @ constants + ldr tmp1, [r3, #METHOD_CONSTANTS] @ constants DISPATCH_START \seq_len @@ -2012,14 +2012,14 @@ 1: bne 1f add r3, tmp1, lr, lsl #2 - ldr r3, [r3, #32] + ldr r3, [r3, #CONSTANTPOOL_BASE] DISPATCH_NEXT PUSH r3 DISPATCH_FINISH 1: cmp r3, #JVM_CONSTANT_Class bne 2f - add r0, tmp1, #32 + add r0, tmp1, #CONSTANTPOOL_BASE ldr r0, [r0, lr, lsl #2] ldr r1, [r0, #60] PUSH r1 @@ -2051,7 +2051,7 @@ 2: ldr r3, [istate, #ISTATE_METHOD] @ method ldrb ip, [jpc, #2] - ldr r2, [r3, #12] @ constants + ldr r2, [r3, #METHOD_CONSTANTS] @ constants DISPATCH_START \seq_len @@ -2069,7 +2069,7 @@ 2: bne 1f add r3, r2, lr, lsl #2 - ldr r3, [r3, #32] + ldr r3, [r3, #CONSTANTPOOL_BASE] DISPATCH_NEXT DISPATCH_NEXT PUSH r3 @@ -2077,7 +2077,7 @@ 1: 1: cmp r3, #JVM_CONSTANT_Class bne 2f - add r0, r2, #32 + add r0, r2, #CONSTANTPOOL_BASE ldr r0, [r0, lr, lsl #2] ldr r1, [r0, #60] PUSH r1 @@ -2109,7 +2109,7 @@ 2: ldr tmp1, [istate, #ISTATE_METHOD] @ method ldrb lr, [jpc, #2] - ldr r2, [tmp1, #12] @ constants + ldr r2, [tmp1, #METHOD_CONSTANTS] @ constants DISPATCH_START \seq_len @@ -2126,8 +2126,8 @@ 2: bne vm_fatal_error add tmp1, r2, r3, lsl #2 - ldr r3, [tmp1, #32] - ldr tmp1, [tmp1, #36] + ldr r3, [tmp1, #CONSTANTPOOL_BASE] + ldr tmp1, [tmp1, #CONSTANTPOOL_BASE+4] DISPATCH_NEXT DISPATCH_NEXT PUSH r3, tmp1 @@ -3126,7 +3126,7 @@ 1: cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #2 - ldr lr, [r3, #12] + ldr lr, [r3, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3145,7 +3145,7 @@ 1: cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #2 - ldr lr, [r3, #12] + ldr lr, [r3, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3166,7 +3166,7 @@ 1: cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2 - ldrsb lr, [r3, #12] + ldrsb lr, [r3, #BASE_OFFSET_BYTE] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3187,7 +3187,7 @@ 1: cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #1 - ldrh lr, [r3, #12] + ldrh lr, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3208,7 +3208,7 @@ 1: cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #1 - ldrsh lr, [r3, #12] + ldrsh lr, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3227,7 +3227,7 @@ 1: cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2 - ldrsb lr, [r3, #12] + ldrsb lr, [r3, #BASE_OFFSET_BYTE] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3246,7 +3246,7 @@ 1: cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #1 - ldrh lr, [r3, #12] + ldrh lr, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3265,7 +3265,7 @@ 1: cmp r2, lr bcs array_bound_exception_jpc_1 add r3, r3, r2, lsl #1 - ldrsh lr, [r3, #12] + ldrsh lr, [r3, #BASE_OFFSET_SHORT] DISPATCH_NEXT PUSH lr DISPATCH_FINISH @@ -3289,7 +3289,7 @@ 1: bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -3309,7 +3309,7 @@ 1: bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2 - strb tmp1, [r3, #12] + strb tmp1, [r3, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -3329,7 +3329,7 @@ 1: bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #1 - strh tmp1, [r3, #12] + strh tmp1, [r3, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -3346,7 +3346,7 @@ 1: bcs array_bound_exception_jpc_1_r3 DISPATCH_NEXT add tmp1, tmp1, r3, lsl #2 - str r2, [tmp1, #12] + str r2, [tmp1, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -3363,7 +3363,7 @@ 1: bcs array_bound_exception_jpc_1_r3 DISPATCH_NEXT add tmp1, tmp1, r3 - strb r2, [tmp1, #12] + strb r2, [tmp1, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -3380,7 +3380,7 @@ 1: bcs array_bound_exception_jpc_1_r3 DISPATCH_NEXT add tmp1, tmp1, r3, lsl #1 - strh r2, [tmp1, #12] + strh r2, [tmp1, #BASE_OFFSET_SHORT] DISPATCH_FINISH } @@ -4754,7 +4754,7 @@ 1: cmp r3, tmp1 bcs array_bound_exception_jpc_3_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH r2, r3 DISPATCH_FINISH @@ -4775,7 +4775,7 @@ 1: cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH r2, r3 DISPATCH_FINISH @@ -4796,7 +4796,7 @@ 1: cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH r2, r3 DISPATCH_FINISH @@ -4814,7 +4814,7 @@ 1: bcs array_bound_exception_jpc_2 add r3, r3, r2, lsl #2 POP lr @ r2 = index, lr = arrayref - ldr r2, [r3, #12] + ldr r2, [r3, #BASE_OFFSET_WORD] SW_NPC cmp lr, #0 SW_NPC beq null_ptr_exception_jpc_1 .abortentry44: @@ -4823,7 +4823,7 @@ 1: cmp r2, tmp1 bcs array_bound_exception_jpc_1 add lr, lr, r2, lsl #2 - ldr r2, [lr, #12] + ldr r2, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT PUSH r2 DISPATCH_FINISH @@ -4841,7 +4841,7 @@ 1: cmp r3, tmp1 bcs array_bound_exception_jpc_3_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT str r3, [locals, -r2, lsl #2] DISPATCH_FINISH @@ -4860,7 +4860,7 @@ 1: cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr r3, [lr, #12] + ldr r3, [lr, #BASE_OFFSET_WORD] DISPATCH_NEXT str r3, [locals, r2, lsl #2] DISPATCH_FINISH @@ -4876,7 +4876,7 @@ 1: cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] POP r2, r3 @ tmp1 = value, r2 = index, r3 = arrayref SW_NPC cmp r3, #0 @@ -4888,7 +4888,7 @@ 1: bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #2 - str tmp1, [r3, #12] + str tmp1, [r3, #BASE_OFFSET_WORD] DISPATCH_FINISH } @@ -4902,7 +4902,7 @@ 1: cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] POP r2, r3 @ tmp1 = value, r2 = index, r3 = arrayref SW_NPC cmp r3, #0 @@ -4914,7 +4914,7 @@ 1: bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2 - strb tmp1, [r3, #12] + strb tmp1, [r3, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -4928,7 +4928,7 @@ 1: cmp r3, tmp1 bcs array_bound_exception_jpc_2_r3 add lr, lr, r3, lsl #2 - ldr tmp1, [lr, #12] + ldr tmp1, [lr, #BASE_OFFSET_WORD] POP r2, r3 @ tmp1 = value, r2 = index, r3 = arrayref SW_NPC cmp r3, #0 @@ -4940,7 +4940,7 @@ 1: bcs array_bound_exception_jpc_1 DISPATCH_NEXT add r3, r3, r2, lsl #1 - strh tmp1, [r3, #12] + strh tmp1, [r3, #BASE_OFFSET_BYTE] DISPATCH_FINISH } @@ -4955,7 +4955,7 @@ 1: cmp r2, tmp1 bcs array_bound_exception_jpc_2 add r3, r3, r2, lsl #2 - ldr tmp1, [r3, #12] @ tmp1 = tos + ldr tmp1, [r3, #BASE_OFFSET_WORD] @ tmp1 = tos POP r2 @ r2 = tosm1 DISPATCH_NEXT and tmp1, r2, tmp1 @ tosm1 tos @@ -4974,7 +4974,7 @@ 1: cmp r2, tmp1 bcs array_bound_exception_jpc_2 add r3, r3, r2, lsl #2 - ldr tmp1, [r3, #12] @ tmp1 = tos + ldr tmp1, [r3, #BASE_OFFSET_WORD] @ tmp1 = tos POP r2 @ r2 = tosm1 DISPATCH_NEXT orr tmp1, r2, tmp1 @ tosm1 tos @@ -4993,7 +4993,7 @@ 1: cmp r2, tmp1 bcs array_bound_exception_jpc_2 add r3, r3, r2, lsl #2 - ldr tmp1, [r3, #12] @ tmp1 = tos + ldr tmp1, [r3, #BASE_OFFSET_WORD] @ tmp1 = tos POP r2 @ r2 = tosm1 DISPATCH_NEXT eor tmp1, r2, tmp1 @ tosm1 tos @@ -5012,7 +5012,7 @@ 1: cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5035,7 +5035,7 @@ 1: cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5058,7 +5058,7 @@ 1: cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 - ldr r3, [r3, #12] @ r1 = tos + ldr r3, [r3, #BASE_OFFSET_WORD] @ r1 = tos ldrsb r1, [jpc, #2] ldrb ip, [jpc, #3] @@ -5081,7 +5081,7 @@ 1: cmp r2, r1 bcs array_bound_exception_jpc_0 add r3, r3, r2, lsl #2 From bugzilla-daemon at icedtea.classpath.org Thu Nov 5 09:21:18 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Nov 2009 17:21:18 +0000 Subject: [Bug 401] OpenJDK 1.6 crashes on CentOS 5.4 x86_64 when running Eclipse 3.5 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=401 mbaudier at argeo.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #4 from mbaudier at argeo.org 2009-11-05 17:21 ------- I confirm that after building locally the latest IcedTea release, I don't have the problem anymore: [mbaudier at alma icedtea6-1.6]$ ./openjdk/build/linux-amd64/bin/java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6.1-r2c854193cc9d) (build 1.6.0_0-b16) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode) Thanks for your help! -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Thu Nov 5 10:54:29 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Nov 2009 18:54:29 +0000 Subject: [Bug 368] Eclipse repeatedly crashes after changing C++ Project Properties Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=368 ------- Comment #3 from jon.vanalten at redhat.com 2009-11-05 18:54 ------- Hi, We recently had another report with the exact same stack trace. See http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=401 If you could try building a newer IcedTea and see if it resolves your issue that would be great. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From Ivan.Krylov at Sun.COM Thu Nov 5 11:06:39 2009 From: Ivan.Krylov at Sun.COM (Ivan Krylov) Date: Thu, 05 Nov 2009 22:06:39 +0300 Subject: [patch] add missing include in nativeInst_.cpp In-Reply-To: <17c6771e0911040813j6231a680h5c4ea42a39bf4fd3@mail.gmail.com> References: <4AEAC862.6050504@ubuntu.com> <4AF190D8.1030200@Sun.COM> <17c6771e0911040813j6231a680h5c4ea42a39bf4fd3@mail.gmail.com> Message-ID: <4AF3223F.7060101@sun.com> Andrew, >Won't gcc.make still set it to 1 during the build? i.e. isn't >USE_PRECOMPILED_HEADER= the default anyway? Apparently no. It is easy enough to try and see yourself. My understanding of how gmake works is that what is set in command line is passed down to the next makefile in a recursive call via MAKEFLAGS variable. And we do have recursive call call of make. However if the value was passed to make via environment variable - it does get overwritten by a makefile (unless -e option is given). Thanks, Ivan Andrew John Hughes wrote: > 2009/11/4 Ivan Krylov : > >> Hello Matthias, >> >> Can you say why do you want to change default option to precompiled=off ? >> Precompilation helps to build hotspot *a lot* faster. >> If you need not to use pch just call >> make USE_PRECOMPILED_HEADER= >> > > Won't gcc.make still set it to 1 during the build? i.e. isn't > USE_PRECOMPILED_HEADER= the default anyway? > > I presume the other include fix can be pushed without problem? > > >> For debugging purposes you may also want to use HOTSPOT_BUILD_JOBS=1 to >> disable parallel build. >> >> Thanks, >> >> Ivan >> >> Matthias Klose wrote: >> >>> unsure if this is related to zero/shark, but at least that's in the >>> upstream sources for OpenJDK6. >>> >>> These include failures are usually seen, when not using precompiled >>> headers (which is a useful thing to track down compiler bugs). >>> >>> attached are two patches to fix the include problem, and one to disable >>> the use of precompiled headers setting an envvar. This way release builds >>> could be built with and without precompiled headers. >>> >>> Matthias >>> >> > > > > From mmatejov at icedtea.classpath.org Thu Nov 5 14:20:37 2009 From: mmatejov at icedtea.classpath.org (mmatejov at icedtea.classpath.org) Date: Thu, 05 Nov 2009 22:20:37 +0000 Subject: /hg/icedtea6: Add latest security patches Message-ID: changeset d966ce93b58b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d966ce93b58b author: Martin Matejovic date: Thu Nov 05 23:24:59 2009 +0100 Add latest security patches 2009-11-05 Martin Matejovic * patches/security/icedtea-6631533.patch * patches/security/icedtea-6632445.patch * patches/security/icedtea-6636650.patch * patches/security/icedtea-6631533.patch * patches/security/icedtea-6657026.patch * patches/security/icedtea-6657138.patch * patches/security/icedtea-6822057.patch * patches/security/icedtea-6824265.patch * patches/security/icedtea-6861062.patch * patches/security/icedtea-6872358.patch * Makefile.am: apply the above diffstat: 11 files changed, 3484 insertions(+), 1 deletion(-) ChangeLog | 13 Makefile.am | 11 patches/security/icedtea-6631533.patch | 184 +++ patches/security/icedtea-6632445.patch | 103 ++ patches/security/icedtea-6636650.patch | 139 ++ patches/security/icedtea-6657026.patch | 1608 ++++++++++++++++++++++++++++++++ patches/security/icedtea-6657138.patch | 775 +++++++++++++++ patches/security/icedtea-6822057.patch | 32 patches/security/icedtea-6824265.patch | 119 ++ patches/security/icedtea-6861062.patch | 344 ++++++ patches/security/icedtea-6872358.patch | 157 +++ diffs (truncated from 3538 to 500 lines): diff -r a88ccd40d4c0 -r d966ce93b58b ChangeLog --- a/ChangeLog Thu Nov 05 17:05:39 2009 +0000 +++ b/ChangeLog Thu Nov 05 23:24:59 2009 +0100 @@ -1,3 +1,16 @@ 2009-11-05 Edward Nevill +2009-11-05 Martin Matejovic + * patches/security/icedtea-6631533.patch + * patches/security/icedtea-6632445.patch + * patches/security/icedtea-6636650.patch + * patches/security/icedtea-6631533.patch + * patches/security/icedtea-6657026.patch + * patches/security/icedtea-6657138.patch + * patches/security/icedtea-6822057.patch + * patches/security/icedtea-6824265.patch + * patches/security/icedtea-6861062.patch + * patches/security/icedtea-6872358.patch + * Makefile.am: apply the above + 2009-11-05 Edward Nevill * Make OSR work with Shark diff -r a88ccd40d4c0 -r d966ce93b58b Makefile.am --- a/Makefile.am Thu Nov 05 17:05:39 2009 +0000 +++ b/Makefile.am Thu Nov 05 23:24:59 2009 +0100 @@ -594,7 +594,16 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6863503.patch \ patches/security/icedtea-6864911.patch \ patches/security/icedtea-6872357.patch \ - patches/security/icedtea-6874643.patch + patches/security/icedtea-6874643.patch \ + patches/security/icedtea-6631533.patch \ + patches/security/icedtea-6632445.patch \ + patches/security/icedtea-6636650.patch \ + patches/security/icedtea-6657026.patch \ + patches/security/icedtea-6657138.patch \ + patches/security/icedtea-6822057.patch \ + patches/security/icedtea-6824265.patch \ + patches/security/icedtea-6861062.patch \ + patches/security/icedtea-6872358.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r a88ccd40d4c0 -r d966ce93b58b patches/security/icedtea-6631533.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6631533.patch Thu Nov 05 23:24:59 2009 +0100 @@ -0,0 +1,184 @@ +--- old/src/share/classes/java/awt/color/ICC_Profile.java 2009-07-29 13:31:14.948600000 +0400 ++++ openjdk/jdk/src/share/classes/java/awt/color/ICC_Profile.java 2009-07-29 13:31:14.153000000 +0400 +@@ -944,15 +944,15 @@ + * and it does not permit read access to the given file. + */ + public static ICC_Profile getInstance(String fileName) throws IOException { +- ICC_Profile thisProfile; +- FileInputStream fis; ++ ICC_Profile thisProfile; ++ FileInputStream fis = null; + +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkRead(fileName); +- } + +- if ((fis = openProfile(fileName)) == null) { ++ File f = getProfileFile(fileName); ++ if (f != null) { ++ fis = new FileInputStream(f); ++ } ++ if (fis == null) { + throw new IOException("Cannot open file " + fileName); + } + +@@ -1064,13 +1064,24 @@ + + + void activateDeferredProfile() { +- byte profileData[]; +- FileInputStream fis; +- String fileName = deferralInfo.filename; ++ byte profileData[]; ++ FileInputStream fis; ++ final String fileName = deferralInfo.filename; + + profileActivator = null; + deferralInfo = null; +- if ((fis = openProfile(fileName)) == null) { ++ PrivilegedAction pa = new PrivilegedAction() { ++ public FileInputStream run() { ++ File f = getStandardProfileFile(fileName); ++ if (f != null) { ++ try { ++ return new FileInputStream(f); ++ } catch (FileNotFoundException e) {} ++ } ++ return null; ++ } ++ }; ++ if ((fis = AccessController.doPrivileged(pa)) == null) { + throw new IllegalArgumentException("Cannot open file " + fileName); + } + try { +@@ -1765,66 +1776,88 @@ + * available, such as a profile for sRGB. Built-in profiles use .pf as + * the file name extension for profiles, e.g. sRGB.pf. + */ +- private static FileInputStream openProfile(final String fileName) { +- return (FileInputStream)java.security.AccessController.doPrivileged( +- new java.security.PrivilegedAction() { +- public Object run() { +- return privilegedOpenProfile(fileName); +- } +- }); +- } +- +- /* +- * this version is called from doPrivileged in privilegedOpenProfile. +- * the whole method is privileged! +- */ +- private static FileInputStream privilegedOpenProfile(String fileName) { +- FileInputStream fis = null; ++ private static File getProfileFile(String fileName) { + String path, dir, fullPath; + + File f = new File(fileName); /* try absolute file name */ +- ++ if (f.isAbsolute()) { ++ /* Rest of code has little sense for an absolute pathname, ++ so return here. */ ++ return f.isFile() ? f : null; ++ } + if ((!f.isFile()) && + ((path = System.getProperty("java.iccprofile.path")) != null)){ + /* try relative to java.iccprofile.path */ +- StringTokenizer st = +- new StringTokenizer(path, File.pathSeparator); +- while (st.hasMoreTokens() && (!f.isFile())) { +- dir = st.nextToken(); +- fullPath = dir + File.separatorChar + fileName; +- f = new File(fullPath); ++ StringTokenizer st = ++ new StringTokenizer(path, File.pathSeparator); ++ while (st.hasMoreTokens() && ((f == null) || (!f.isFile()))) { ++ dir = st.nextToken(); ++ fullPath = dir + File.separatorChar + fileName; ++ f = new File(fullPath); ++ if (!isChildOf(f, dir)) { ++ f = null; + } + } ++ } + +- if ((!f.isFile()) && ++ if (((f == null) || (!f.isFile())) && + ((path = System.getProperty("java.class.path")) != null)) { + /* try relative to java.class.path */ +- StringTokenizer st = +- new StringTokenizer(path, File.pathSeparator); +- while (st.hasMoreTokens() && (!f.isFile())) { +- dir = st.nextToken(); +- fullPath = dir + File.separatorChar + fileName; +- f = new File(fullPath); +- } +- } +- +- if (!f.isFile()) { /* try the directory of built-in profiles */ +- dir = System.getProperty("java.home") + +- File.separatorChar + "lib" + File.separatorChar + "cmm"; ++ StringTokenizer st = ++ new StringTokenizer(path, File.pathSeparator); ++ while (st.hasMoreTokens() && ((f == null) || (!f.isFile()))) { ++ dir = st.nextToken(); + fullPath = dir + File.separatorChar + fileName; + f = new File(fullPath); ++ if (!isChildOf(f, dir)) { ++ f = null; ++ } + } ++ } ++ if ((f == null) || (!f.isFile())) { ++ /* try the directory of built-in profiles */ ++ f = getStandardProfileFile(fileName); ++ } ++ if (f != null && f.isFile()) { ++ return f; ++ } ++ return null; ++ } + +- if (f.isFile()) { +- try { +- fis = new FileInputStream(f); +- } catch (FileNotFoundException e) { ++ /** ++ * Returns a file object corresponding to a built-in profile ++ * specified by fileName. ++ * If there is no built-in profile with such name, then the method ++ * returns null. ++ */ ++ private static File getStandardProfileFile(String fileName) { ++ String dir = System.getProperty("java.home") + ++ File.separatorChar + "lib" + File.separatorChar + "cmm"; ++ String fullPath = dir + File.separatorChar + fileName; ++ File f = new File(fullPath); ++ return (f.isFile() && isChildOf(f, dir)) ? f : null; ++ } ++ ++ /** ++ * Checks whether given file resides inside give directory. ++ */ ++ private static boolean isChildOf(File f, String dirName) { ++ try { ++ File dir = new File(dirName); ++ String canonicalDirName = dir.getCanonicalPath(); ++ if (!canonicalDirName.endsWith(File.separator)) { ++ canonicalDirName += File.separator; + } ++ String canonicalFileName = f.getCanonicalPath(); ++ return canonicalFileName.startsWith(canonicalDirName); ++ } catch (IOException e) { ++ /* we do not expect the IOException here, because invocation ++ * of this function is always preceeded by isFile() call. ++ */ ++ return false; + } +- return fis; + } + +- + /* + * Serialization support. + * diff -r a88ccd40d4c0 -r d966ce93b58b patches/security/icedtea-6632445.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6632445.patch Thu Nov 05 23:24:59 2009 +0100 @@ -0,0 +1,103 @@ +--- old/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2009-07-28 17:06:52.144000000 +0400 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2009-07-28 17:06:51.488000000 +0400 +@@ -62,6 +62,8 @@ + + import java.io.*; + import java.nio.*; ++import java.security.AccessController; ++import java.security.PrivilegedAction; + import java.util.ArrayList; + import java.util.Iterator; + import java.util.StringTokenizer; +@@ -502,12 +504,18 @@ + iis.reset(); + + try { +- if (metadata.colorSpace == PROFILE_LINKED) ++ if (metadata.colorSpace == PROFILE_LINKED && ++ isLinkedProfileAllowed() && ++ !isUncOrDevicePath(profile)) ++ { ++ String path = new String(profile, "windows-1252"); ++ + colorSpace = +- new ICC_ColorSpace(ICC_Profile.getInstance(new String(profile))); +- else ++ new ICC_ColorSpace(ICC_Profile.getInstance(path)); ++ } else { + colorSpace = + new ICC_ColorSpace(ICC_Profile.getInstance(profile)); ++ } + } catch (Exception e) { + colorSpace = ColorSpace.getInstance(ColorSpace.CS_sRGB); + } +@@ -1745,4 +1753,69 @@ + public void sequenceStarted(ImageReader src, int minIndex) {} + public void readAborted(ImageReader src) {} + } ++ ++ private static Boolean isLinkedProfileDisabled = null; ++ ++ private static boolean isLinkedProfileAllowed() { ++ if (isLinkedProfileDisabled == null) { ++ PrivilegedAction a = new PrivilegedAction() { ++ public Boolean run() { ++ return Boolean.getBoolean("sun.imageio.plugins.bmp.disableLinkedProfiles"); ++ } ++ }; ++ isLinkedProfileDisabled = AccessController.doPrivileged(a); ++ } ++ return !isLinkedProfileDisabled; ++ } ++ ++ private static Boolean isWindowsPlatform = null; ++ ++ /** ++ * Verifies whether the byte array contans a unc path. ++ * Non-UNC path examples: ++ * c:\path\to\file - simple notation ++ * \\?\c:\path\to\file - long notation ++ * ++ * UNC path examples: ++ * \\server\share - a UNC path in simple notation ++ * \\?\UNC\server\share - a UNC path in long notation ++ * \\.\some\device - a path to device. ++ */ ++ private static boolean isUncOrDevicePath(byte[] p) { ++ if (isWindowsPlatform == null) { ++ PrivilegedAction a = new PrivilegedAction() { ++ public Boolean run() { ++ String osname = System.getProperty("os.name"); ++ return (osname != null && ++ osname.toLowerCase().startsWith("win")); ++ } ++ }; ++ isWindowsPlatform = AccessController.doPrivileged(a); ++ } ++ ++ if (!isWindowsPlatform) { ++ /* no need for the check on platforms except windows */ ++ return false; ++ } ++ ++ /* normalize prefix of the path */ ++ if (p[0] == '/') p[0] = '\\'; ++ if (p[1] == '/') p[1] = '\\'; ++ if (p[3] == '/') p[3] = '\\'; ++ ++ ++ if ((p[0] == '\\') && (p[1] == '\\')) { ++ if ((p[2] == '?') && (p[3] == '\\')) { ++ // long path: whether unc or local ++ return ((p[4] == 'U' || p[4] == 'u') && ++ (p[5] == 'N' || p[5] == 'n') && ++ (p[6] == 'C' || p[6] == 'c')); ++ } else { ++ // device path or short unc notation ++ return true; ++ } ++ } else { ++ return false; ++ } ++ } + } diff -r a88ccd40d4c0 -r d966ce93b58b patches/security/icedtea-6636650.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6636650.patch Thu Nov 05 23:24:59 2009 +0100 @@ -0,0 +1,139 @@ +--- old/src/share/classes/java/lang/ClassLoader.java Fri Jul 31 15:59:47 2009 ++++ openjdk/jdk/src/share/classes/java/lang/ClassLoader.java Fri Jul 31 15:59:46 2009 +@@ -147,11 +147,6 @@ + registerNatives(); + } + +- // If initialization succeed this is set to true and security checks will +- // succeed. Otherwise the object is not initialized and the object is +- // useless. +- private boolean initialized = false; +- + // The parent class loader for delegation + private ClassLoader parent; + +@@ -177,6 +172,18 @@ + // to its corresponding Package object. + private HashMap packages = new HashMap(); + ++ private static Void checkCreateClassLoader() { ++ SecurityManager security = System.getSecurityManager(); ++ if (security != null) { ++ security.checkCreateClassLoader(); ++ } ++ return null; ++ } ++ ++ private ClassLoader(Void unused, ClassLoader parent) { ++ this.parent = parent; ++ } ++ + /** + * Creates a new class loader using the specified parent class loader for + * delegation. +@@ -197,12 +204,7 @@ + * @since 1.2 + */ + protected ClassLoader(ClassLoader parent) { +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkCreateClassLoader(); +- } +- this.parent = parent; +- initialized = true; ++ this(checkCreateClassLoader(), parent); + } + + /** +@@ -221,15 +223,9 @@ + * of a new class loader. + */ + protected ClassLoader() { +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkCreateClassLoader(); +- } +- this.parent = getSystemClassLoader(); +- initialized = true; ++ this(checkCreateClassLoader(), getSystemClassLoader()); + } + +- + // -- Class -- + + /** +@@ -611,7 +607,6 @@ + ProtectionDomain protectionDomain) + throws ClassFormatError + { +- check(); + protectionDomain = preDefineClass(name, protectionDomain); + + Class c = null; +@@ -693,8 +688,6 @@ + ProtectionDomain protectionDomain) + throws ClassFormatError + { +- check(); +- + int len = b.remaining(); + + // Use byte[] if not a direct ByteBufer: +@@ -842,7 +835,6 @@ + * @see #defineClass(String, byte[], int, int) + */ + protected final void resolveClass(Class c) { +- check(); + resolveClass0(c); + } + +@@ -873,7 +865,6 @@ + protected final Class findSystemClass(String name) + throws ClassNotFoundException + { +- check(); + ClassLoader system = getSystemClassLoader(); + if (system == null) { + if (!checkName(name)) +@@ -886,7 +877,6 @@ + private Class findBootstrapClass0(String name) + throws ClassNotFoundException + { +- check(); + if (!checkName(name)) + throw new ClassNotFoundException(name); + return findBootstrapClass(name); +@@ -895,13 +885,6 @@ + private native Class findBootstrapClass(String name) + throws ClassNotFoundException; + +- // Check to make sure the class loader has been initialized. +- private void check() { +- if (!initialized) { +- throw new SecurityException("ClassLoader object not initialized"); +- } +- } +- + /** + * Returns the class with the given binary name if this + * loader has been recorded by the Java virtual machine as an initiating +@@ -917,7 +900,6 @@ + * @since 1.1 + */ + protected final Class findLoadedClass(String name) { +- check(); + if (!checkName(name)) + return null; + return findLoadedClass0(name); +@@ -938,11 +920,9 @@ + * @since 1.1 + */ + protected final void setSigners(Class c, Object[] signers) { +- check(); + c.setSigners(signers); + } + +- + // -- Resource -- + + /** diff -r a88ccd40d4c0 -r d966ce93b58b patches/security/icedtea-6657026.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6657026.patch Thu Nov 05 23:24:59 2009 +0100 @@ -0,0 +1,1608 @@ +--- old/src/share/classes/javax/swing/ToolTipManager.java 2009-08-11 12:05:32.501050200 +0400 ++++ openjdk/jdk/src/share/classes/javax/swing/ToolTipManager.java 2009-08-11 12:05:31.670050200 +0400 +@@ -1,5 +1,5 @@ + /* +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -27,10 +27,7 @@ + package javax.swing; + + import java.awt.event.*; +-import java.applet.*; + import java.awt.*; +-import java.io.Serializable; +-import sun.swing.UIAction; From gbenson at redhat.com Fri Nov 6 03:39:38 2009 From: gbenson at redhat.com (Gary Benson) Date: Fri, 6 Nov 2009 11:39:38 +0000 Subject: [patch] rfc: shark overloaded intrinsic suffix fix In-Reply-To: <4ACB52C0.10609@zafena.se> References: <4ACB52C0.10609@zafena.se> Message-ID: <20091106113938.GA3745@redhat.com> Push away :) Cheers, Gary Xerxes R?nby wrote: > I was toying with adding some optimization passes and verify passes to > speed up and more runtime checks to shark, while doing so then one of > the verify passes found at least one oddity in the shark sourcecode. > The attached patch fixes this verifier issue. > > verifier output: > Overloaded intrinsic has incorrect suffix: '.i32'. It should be '.i32.p0i32' > i32 (i32*, i32, i32)* @llvm.atomic.cmp.swap.i32 > Broken module found, compilation aborted! > Stack dump: > 0. Running pass 'Module Verifier' on function > '@"java.io.BufferedReader::readLine"' > Avbruten (SIGABRT) > > http://llvm.org/docs/LangRef.html#int_atomics > > Ok to push? > > Cheers > Xerxes > > Index: icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp > =================================================================== > --- icedtea6.orig/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp 2009-10-06 12:37:23.000000000 +0200 > +++ icedtea6/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp 2009-10-06 12:54:11.000000000 +0200 > -402,7 +402,7 @@ > #ifdef ARM > (address) zero_cmpxchg_int, > #else > - "llvm.atomic.cmp.swap.i32", > + "llvm.atomic.cmp.swap.i32.p0i32", > #endif // ARM > "Iii", "i"); > } > -422,7 +422,7 @@ > #ifdef ARM > (address) zero_cmpxchg_ptr, > #else > - "llvm.atomic.cmp.swap.i" LP64_ONLY("64") NOT_LP64("32"), > + "llvm.atomic.cmp.swap.i" LP64_ONLY("64") NOT_LP64("32") ".p0i" LP64_ONLY("64") NOT_LP64("32"), > #endif // ARM > "Xxx", "x"); > } -- http://gbenson.net/ From xranby at icedtea.classpath.org Fri Nov 6 04:02:21 2009 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Fri, 06 Nov 2009 12:02:21 +0000 Subject: /hg/icedtea6: 2009-11-06 Xerxes R?nby Message-ID: changeset b7141f77eb4d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b7141f77eb4d author: Xerxes R?nby date: Fri Nov 06 13:03:15 2009 +0100 2009-11-06 Xerxes R?nby * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp (SharkBuilder::cmpxchg_int): Correct suffix for the llvm.atomic.cmp.swap intrinsic. (SharkBuilder::cmpxchg_ptr): Likewise. diffstat: 2 files changed, 9 insertions(+), 2 deletions(-) ChangeLog | 7 +++++++ ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 4 ++-- diffs (35 lines): diff -r d966ce93b58b -r b7141f77eb4d ChangeLog --- a/ChangeLog Thu Nov 05 23:24:59 2009 +0100 +++ b/ChangeLog Fri Nov 06 13:03:15 2009 +0100 @@ -1,3 +1,10 @@ 2009-11-05 Martin Matejovic + + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::cmpxchg_int): Correct suffix for the + llvm.atomic.cmp.swap intrinsic. + (SharkBuilder::cmpxchg_ptr): Likewise. + 2009-11-05 Martin Matejovic * patches/security/icedtea-6631533.patch * patches/security/icedtea-6632445.patch diff -r d966ce93b58b -r b7141f77eb4d ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Thu Nov 05 23:24:59 2009 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Fri Nov 06 13:03:15 2009 +0100 @@ -402,7 +402,7 @@ Value* SharkBuilder::cmpxchg_int() #ifdef ARM (address) zero_cmpxchg_int, #else - "llvm.atomic.cmp.swap.i32", + "llvm.atomic.cmp.swap.i32.p0i32", #endif // ARM "Iii", "i"); } @@ -422,7 +422,7 @@ Value* SharkBuilder::cmpxchg_ptr() #ifdef ARM (address) zero_cmpxchg_ptr, #else - "llvm.atomic.cmp.swap.i" LP64_ONLY("64") NOT_LP64("32"), + "llvm.atomic.cmp.swap.i" LP64_ONLY("64") NOT_LP64("32") ".p0i" LP64_ONLY("64") NOT_LP64("32"), #endif // ARM "Xxx", "x"); } From xerxes at zafena.se Fri Nov 6 04:45:17 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Fri, 06 Nov 2009 13:45:17 +0100 Subject: /hg/icedtea6: Add latest security patches In-Reply-To: References: Message-ID: <4AF41A5D.2030109@zafena.se> Hi Martin! the patch patches/security/icedtea-6822057.patch unfortunally breaks the build of icedtea6. cheers Xerxes mmatejov at icedtea.classpath.org skrev: > changeset d966ce93b58b in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d966ce93b58b > author: Martin Matejovic > date: Thu Nov 05 23:24:59 2009 +0100 > > Add latest security patches 2009-11-05 Martin Matejovic > > * patches/security/icedtea-6631533.patch > * patches/security/icedtea-6632445.patch > * patches/security/icedtea-6636650.patch > * patches/security/icedtea-6631533.patch > * patches/security/icedtea-6657026.patch > * patches/security/icedtea-6657138.patch > * patches/security/icedtea-6822057.patch > * patches/security/icedtea-6824265.patch > * patches/security/icedtea-6861062.patch > * patches/security/icedtea-6872358.patch > * Makefile.am: apply the above > > > > > diff -r a88ccd40d4c0 -r d966ce93b58b patches/security/icedtea-6657026.patch > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/patches/security/icedtea-6657026.patch Thu Nov 05 23:24:59 2009 +0100 > @@ -0,0 +1,1608 @@ > +--- old/src/share/classes/javax/swing/ToolTipManager.java 2009-08-11 12:05:32.501050200 +0400 > ++++ openjdk/jdk/src/share/classes/javax/swing/ToolTipManager.java 2009-08-11 12:05:31.670050200 +0400 > +@@ -1,5 +1,5 @@ > + /* > +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. > ++ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. > + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. > + * > + * This code is free software; you can redistribute it and/or modify it > +@@ -27,10 +27,7 @@ > + package javax.swing; > + > + import java.awt.event.*; > +-import java.applet.*; > + import java.awt.*; > +-import java.io.Serializable; > +-import sun.swing.UIAction; > Applying patches/security/icedtea-6636650.patch patching file openjdk/jdk/src/share/classes/java/lang/ClassLoader.java Hunk #1 succeeded at 163 (offset 16 lines). Hunk #2 succeeded at 188 (offset 16 lines). Hunk #3 succeeded at 220 (offset 16 lines). Hunk #4 succeeded at 239 (offset 16 lines). Hunk #5 succeeded at 623 (offset 16 lines). Hunk #6 succeeded at 704 (offset 16 lines). Hunk #7 succeeded at 851 (offset 16 lines). Hunk #8 succeeded at 881 (offset 16 lines). Hunk #9 succeeded at 893 (offset 16 lines). Hunk #10 succeeded at 901 (offset 16 lines). Hunk #11 succeeded at 916 (offset 16 lines). Hunk #12 succeeded at 936 (offset 16 lines). Checking patches/security/icedtea-6657026.patch misordered hunks! output would be garbled 9 out of 12 hunks FAILED -- saving rejects to file openjdk/jdk/src/share/classes/javax/swing/ToolTipManager.java.rej ERROR patch patches/security/icedtea-6657026.patch FAILED! WARNING make clean-patch before retrying a fix make: *** [stamps/patch.stamp] Fel 2 real 5m50.212s user 0m4.400s sys 0m4.260s From xerxes at zafena.se Fri Nov 6 04:46:46 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Fri, 06 Nov 2009 13:46:46 +0100 Subject: /hg/icedtea6: Add latest security patches In-Reply-To: <4AF41A5D.2030109@zafena.se> References: <4AF41A5D.2030109@zafena.se> Message-ID: <4AF41AB6.8090903@zafena.se> i mean patches/security/icedtea-6657026.patch breaks build. sorry for the copy n paste error. Xerxes R?nby skrev: > Hi Martin! > > the patch > > patches/security/icedtea-6822057.patch > > unfortunally breaks the build of icedtea6. > > cheers > Xerxes > > mmatejov at icedtea.classpath.org skrev: > >> changeset d966ce93b58b in /hg/icedtea6 >> details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d966ce93b58b >> author: Martin Matejovic >> date: Thu Nov 05 23:24:59 2009 +0100 >> >> Add latest security patches 2009-11-05 Martin Matejovic >> >> * patches/security/icedtea-6631533.patch >> * patches/security/icedtea-6632445.patch >> * patches/security/icedtea-6636650.patch >> * patches/security/icedtea-6631533.patch >> * patches/security/icedtea-6657026.patch >> * patches/security/icedtea-6657138.patch >> * patches/security/icedtea-6822057.patch >> * patches/security/icedtea-6824265.patch >> * patches/security/icedtea-6861062.patch >> * patches/security/icedtea-6872358.patch >> * Makefile.am: apply the above >> >> >> >> >> diff -r a88ccd40d4c0 -r d966ce93b58b patches/security/icedtea-6657026.patch >> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 >> +++ b/patches/security/icedtea-6657026.patch Thu Nov 05 23:24:59 2009 +0100 >> @@ -0,0 +1,1608 @@ >> +--- old/src/share/classes/javax/swing/ToolTipManager.java 2009-08-11 12:05:32.501050200 +0400 >> ++++ openjdk/jdk/src/share/classes/javax/swing/ToolTipManager.java 2009-08-11 12:05:31.670050200 +0400 >> +@@ -1,5 +1,5 @@ >> + /* >> +- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. >> ++ * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. >> + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. >> + * >> + * This code is free software; you can redistribute it and/or modify it >> +@@ -27,10 +27,7 @@ >> + package javax.swing; >> + >> + import java.awt.event.*; >> +-import java.applet.*; >> + import java.awt.*; >> +-import java.io.Serializable; >> +-import sun.swing.UIAction; >> >> > Applying patches/security/icedtea-6636650.patch > patching file openjdk/jdk/src/share/classes/java/lang/ClassLoader.java > Hunk #1 succeeded at 163 (offset 16 lines). > Hunk #2 succeeded at 188 (offset 16 lines). > Hunk #3 succeeded at 220 (offset 16 lines). > Hunk #4 succeeded at 239 (offset 16 lines). > Hunk #5 succeeded at 623 (offset 16 lines). > Hunk #6 succeeded at 704 (offset 16 lines). > Hunk #7 succeeded at 851 (offset 16 lines). > Hunk #8 succeeded at 881 (offset 16 lines). > Hunk #9 succeeded at 893 (offset 16 lines). > Hunk #10 succeeded at 901 (offset 16 lines). > Hunk #11 succeeded at 916 (offset 16 lines). > Hunk #12 succeeded at 936 (offset 16 lines). > Checking patches/security/icedtea-6657026.patch > misordered hunks! output would be garbled > 9 out of 12 hunks FAILED -- saving rejects to file > openjdk/jdk/src/share/classes/javax/swing/ToolTipManager.java.rej > ERROR patch patches/security/icedtea-6657026.patch FAILED! > WARNING make clean-patch before retrying a fix > make: *** [stamps/patch.stamp] Fel 2 > > real 5m50.212s > user 0m4.400s > sys 0m4.260s > > From doko at icedtea.classpath.org Fri Nov 6 05:58:56 2009 From: doko at icedtea.classpath.org (doko at icedtea.classpath.org) Date: Fri, 06 Nov 2009 13:58:56 +0000 Subject: /hg/icedtea6: Add missing context line in icedtea-6657026.patch Message-ID: changeset 0ab9e9de339b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0ab9e9de339b author: doko at ubuntu.com date: Fri Nov 06 15:03:12 2009 +0100 Add missing context line in icedtea-6657026.patch 2009-11-06 Matthias Klose * patches/security/icedtea-6657026.patch: Add missing context line. diffstat: 2 files changed, 7 insertions(+) ChangeLog | 6 ++++++ patches/security/icedtea-6657026.patch | 1 + diffs (38 lines): diff -r b7141f77eb4d -r 0ab9e9de339b ChangeLog --- a/ChangeLog Fri Nov 06 13:03:15 2009 +0100 +++ b/ChangeLog Fri Nov 06 15:03:12 2009 +0100 @@ -1,3 +1,7 @@ 2009-11-06 Xerxes R??nby + + * patches/security/icedtea-6657026.patch: Add missing context line. + 2009-11-06 Xerxes R??nby * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp @@ -6,6 +10,7 @@ 2009-11-06 Xerxes R??nby + * patches/security/icedtea-6631533.patch * patches/security/icedtea-6632445.patch * patches/security/icedtea-6636650.patch @@ -28,6 +33,7 @@ 2009-11-05 Edward Nevill * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp 2009-11-03 Martin Matejovic + * patches/security/icedtea-6862968.patch * patches/security/icedtea-6863503.patch * patches/security/icedtea-6864911.patch diff -r b7141f77eb4d -r 0ab9e9de339b patches/security/icedtea-6657026.patch --- a/patches/security/icedtea-6657026.patch Fri Nov 06 13:03:15 2009 +0100 +++ b/patches/security/icedtea-6657026.patch Fri Nov 06 15:03:12 2009 +0100 @@ -41,6 +41,7 @@ + return manager; } + // add keylistener here to trigger tip for access --- old/src/share/classes/javax/swing/UIManager.java 2009-08-11 12:05:43.423050200 +0400 +++ openjdk/jdk/src/share/classes/javax/swing/UIManager.java 2009-08-11 12:05:42.671050200 +0400 @@ -1,5 +1,5 @@ From doko at ubuntu.com Fri Nov 6 06:25:59 2009 From: doko at ubuntu.com (Matthias Klose) Date: Fri, 06 Nov 2009 15:25:59 +0100 Subject: /hg/icedtea6: Add latest security patches In-Reply-To: <4AF41AB6.8090903@zafena.se> References: <4AF41A5D.2030109@zafena.se> <4AF41AB6.8090903@zafena.se> Message-ID: <4AF431F7.7080602@ubuntu.com> On 06.11.2009 13:46, Xerxes R?nby wrote: > i mean > patches/security/icedtea-6657026.patch > > breaks build. fixed that one, but then the next one fails to apply as well. Didn't check the others. How were these tested? Matthias From xerxes at zafena.se Sat Nov 7 13:30:54 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Sat, 07 Nov 2009 22:30:54 +0100 Subject: [patch] rfc: shark llvm2.7 r84651 SharkMemoryManager fix. Message-ID: <4AF5E70E.7040501@zafena.se> The LLVM JITMemoryManager changed a little in r84651 and by using the attached patch re-enables Shark to be build-able using the latest LLVM svn trunk. http://llvm.org/viewvc/llvm-project?view=rev&revision=84651 Clear to push? Cheers and have a great day! Xerxes -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: shark-llvm2.7-r84651.patch Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091107/21c423cc/attachment.ksh From mvfranz at gmail.com Sat Nov 7 14:18:10 2009 From: mvfranz at gmail.com (Michael Franz) Date: Sat, 7 Nov 2009 17:18:10 -0500 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build Message-ID: I have hit this bug. Is there anyway to work around it during the build process? http://www.mail-archive.com/bug-classpath at gnu.org/msg06349.html -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091107/f3048c13/attachment.html From gnu_andrew at member.fsf.org Sat Nov 7 17:06:58 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 8 Nov 2009 01:06:58 +0000 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build In-Reply-To: References: Message-ID: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> 2009/11/7 Michael Franz : > I have hit this bug.? Is there anyway to work around it during the build > process? > > http://www.mail-archive.com/bug-classpath at gnu.org/msg06349.html > > There already is a workaround. If you check your build logs, you should notice that the IcedTea build already downloads these drops prior to the OpenJDK build commencing. The reason you hit a problem is because you're not building the IcedTea forest. You're (presumably) building the bsd-port forest and it doesn't yet have: http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/600bc3d048be http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/26b97fd0e595 That should appear when bsd-port gets b77. Prior to that, you could just apply the changeset to the bsd-port tree locally. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From mvfranz at gmail.com Sat Nov 7 17:45:46 2009 From: mvfranz at gmail.com (Michael Franz) Date: Sat, 7 Nov 2009 20:45:46 -0500 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build In-Reply-To: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> References: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> Message-ID: Actually, I am not using the bsd port. I just used the default configuration but enabled zero and shark. I will look into the patches. On Sat, Nov 7, 2009 at 8:06 PM, Andrew John Hughes < gnu_andrew at member.fsf.org> wrote: > 2009/11/7 Michael Franz : > > I have hit this bug. Is there anyway to work around it during the build > > process? > > > > http://www.mail-archive.com/bug-classpath at gnu.org/msg06349.html > > > > > > There already is a workaround. If you check your build logs, you > should notice that the IcedTea build already downloads these drops > prior to the OpenJDK build commencing. > > The reason you hit a problem is because you're not building the > IcedTea forest. You're (presumably) building the bsd-port forest and > it doesn't yet have: > > http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/600bc3d048be > http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/26b97fd0e595 > > That should appear when bsd-port gets b77. Prior to that, you could > just apply the changeset to the bsd-port tree locally. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091107/f47dda29/attachment.html From gnu_andrew at member.fsf.org Sat Nov 7 17:54:08 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 8 Nov 2009 01:54:08 +0000 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build In-Reply-To: References: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> Message-ID: <17c6771e0911071754w518e6963gc58b1433c423da3d@mail.gmail.com> 2009/11/8 Michael Franz : > Actually, I am not using the bsd port.? I just used the default > configuration but enabled zero and shark.? I will look into the patches. > > On Sat, Nov 7, 2009 at 8:06 PM, Andrew John Hughes > wrote: >> >> 2009/11/7 Michael Franz : >> > I have hit this bug.? Is there anyway to work around it during the build >> > process? >> > >> > http://www.mail-archive.com/bug-classpath at gnu.org/msg06349.html >> > >> > >> >> There already is a workaround. ?If you check your build logs, you >> should notice that the IcedTea build already downloads these drops >> prior to the OpenJDK build commencing. >> >> The reason you hit a problem is because you're not building the >> IcedTea forest. ?You're (presumably) building the bsd-port forest and >> it doesn't yet have: >> >> http://hg.openjdk.java.net/jdk7/tl/jaxws/rev/600bc3d048be >> http://hg.openjdk.java.net/jdk7/tl/jaxp/rev/26b97fd0e595 >> >> That should appear when bsd-port gets b77. ?Prior to that, you could >> just apply the changeset to the bsd-port tree locally. >> -- >> Andrew :-) >> >> Free Java Software Engineer >> Red Hat, Inc. (http://www.redhat.com) >> >> Support Free Java! >> Contribute to GNU Classpath and the OpenJDK >> http://www.gnu.org/software/classpath >> http://openjdk.java.net >> >> PGP Key: 94EFD9D8 (http://subkeys.pgp.net) >> Fingerprint: F8EF F1EA 401E 2E60 15FA ?7927 142C 2591 94EF D9D8 > > Then something is awry with your build. If you can mail me config.log and a full build.log I might have a better idea. The IcedTea build should download those files and put them in ${builddir}/drops. Then it sets ALT_DROPS_DIR=${builddir}/drops in the OpenJDK build and that should be printed by ant prior to the bit you posted. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From mvfranz at gmail.com Sun Nov 8 06:49:59 2009 From: mvfranz at gmail.com (Michael Franz) Date: Sun, 8 Nov 2009 09:49:59 -0500 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build In-Reply-To: <17c6771e0911071754w518e6963gc58b1433c423da3d@mail.gmail.com> References: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> <17c6771e0911071754w518e6963gc58b1433c423da3d@mail.gmail.com> Message-ID: Andrew, I sent you my logs directly, the message was too big for the list. This is what I have tried (for the list). I tried to build ppc with zero/shark - hit classpath bug I tried to build ppc no zero/no shark and get the same results. I tried the zero/shark configuration on intel and the build fails before it gets to the same location. The default build on intel works fine. Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091108/21266782/attachment.html From gnu_andrew at member.fsf.org Sun Nov 8 12:08:43 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 8 Nov 2009 20:08:43 +0000 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build In-Reply-To: References: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> <17c6771e0911071754w518e6963gc58b1433c423da3d@mail.gmail.com> Message-ID: <17c6771e0911081208k6bd09fecx73f77c63b9290d71@mail.gmail.com> 2009/11/8 Michael Franz : > Andrew, > > I sent you my logs directly, the message was too big for the list.? This is > what I have tried (for the list). > > I tried to build ppc with zero/shark - hit classpath bug > I tried to build ppc no zero/no shark and get the same results. > I tried the zero/shark configuration on intel and the build fails before it > gets to the same location. > The default build on intel works fine. > > Michael > > > You don't seem to be running the stamps/download-drops.stamp target at all during the build. Check that you have the latest tip: $ hg tip changeset: 2031:9eb43c172d5b tag: tip user: Andrew John Hughes date: Wed Nov 04 22:07:39 2009 +0000 summary: Delete bootstrap/jdk1.7.0 on clean. If you still have the build directory, try: $ make download-drops $ make -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From mvfranz at gmail.com Sun Nov 8 13:22:25 2009 From: mvfranz at gmail.com (Michael Franz) Date: Sun, 8 Nov 2009 16:22:25 -0500 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build In-Reply-To: <17c6771e0911081208k6bd09fecx73f77c63b9290d71@mail.gmail.com> References: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> <17c6771e0911071754w518e6963gc58b1433c423da3d@mail.gmail.com> <17c6771e0911081208k6bd09fecx73f77c63b9290d71@mail.gmail.com> Message-ID: On Sun, Nov 8, 2009 at 3:08 PM, Andrew John Hughes < gnu_andrew at member.fsf.org> wrote: > 2009/11/8 Michael Franz : > > Andrew, > > > > I sent you my logs directly, the message was too big for the list. This > is > > what I have tried (for the list). > > > > I tried to build ppc with zero/shark - hit classpath bug > > I tried to build ppc no zero/no shark and get the same results. > > I tried the zero/shark configuration on intel and the build fails before > it > > gets to the same location. > > The default build on intel works fine. > > > > Michael > > > > > > > > You don't seem to be running the stamps/download-drops.stamp target at > all during the build. > Check that you have the latest tip: > > $ hg tip > changeset: 2031:9eb43c172d5b > tag: tip > user: Andrew John Hughes > date: Wed Nov 04 22:07:39 2009 +0000 > summary: Delete bootstrap/jdk1.7.0 on clean. > > If you still have the build directory, try: > > $ make download-drops > $ make > > This is what I have: [mfranz at localhost icedtea]$ hg tip changeset: 2031:9eb43c172d5b tag: tip user: Andrew John Hughes date: Wed Nov 04 22:07:39 2009 +0000 summary: Delete bootstrap/jdk1.7.0 on clean. [mfranz at localhost icedtea]$ make download-drops make: Nothing to be done for `download-drops'. I was using TIP before and noticed that it was always downloading the jar files after I did a clean. It does not seem to be doing that now (I have pulled/updated since then). I noticed that the stamps/download-drops.stamp is still there after a clean, but there is no drops directory. So, I think the build process has changed while I was doing this. The drops directory is no-longer deleted and the stamps are not removed. However, I ended up with an empty drops directory but stamps indicating they were downloaded. I removed the stamps directory and tried again. The classpath error is no-longer an issue. Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091108/dcb97635/attachment.html From gnu_andrew at member.fsf.org Sun Nov 8 14:45:59 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 8 Nov 2009 22:45:59 +0000 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build In-Reply-To: References: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> <17c6771e0911071754w518e6963gc58b1433c423da3d@mail.gmail.com> <17c6771e0911081208k6bd09fecx73f77c63b9290d71@mail.gmail.com> Message-ID: <17c6771e0911081445w5de041f3j431be65709bce4ff@mail.gmail.com> 2009/11/8 Michael Franz : > > On Sun, Nov 8, 2009 at 3:08 PM, Andrew John Hughes > wrote: >> >> 2009/11/8 Michael Franz : >> > Andrew, >> > >> > I sent you my logs directly, the message was too big for the list.? This >> > is >> > what I have tried (for the list). >> > >> > I tried to build ppc with zero/shark - hit classpath bug >> > I tried to build ppc no zero/no shark and get the same results. >> > I tried the zero/shark configuration on intel and the build fails before >> > it >> > gets to the same location. >> > The default build on intel works fine. >> > >> > Michael >> > >> > >> > >> >> You don't seem to be running the stamps/download-drops.stamp target at >> all during the build. >> Check that you have the latest tip: >> >> $ hg tip >> changeset: ? 2031:9eb43c172d5b >> tag: ? ? ? ? tip >> user: ? ? ? ?Andrew John Hughes >> date: ? ? ? ?Wed Nov 04 22:07:39 2009 +0000 >> summary: ? ? Delete bootstrap/jdk1.7.0 on clean. >> >> If you still have the build directory, try: >> >> $ make download-drops >> $ make >> > This is what I have: > [mfranz at localhost icedtea]$ hg tip > changeset:?? 2031:9eb43c172d5b > tag:???????? tip > user:??????? Andrew John Hughes > date:??????? Wed Nov 04 22:07:39 2009 +0000 > summary:???? Delete bootstrap/jdk1.7.0 on clean. > > [mfranz at localhost icedtea]$ make download-drops > make: Nothing to be done for `download-drops'. > > I was using TIP before and noticed that it was always downloading the jar > files after I did a clean.? It does not seem to be doing that now (I have > pulled/updated since then). > Yes, that's correct; I've made the tarballs only be deleted on a full distclean (which gets rid of everything, including things like the Makefile generated by configure). > I noticed that the stamps/download-drops.stamp is still there after a clean, > but there is no drops directory. > > So, I think the build process has changed while I was doing this.? The drops > directory is no-longer deleted and the stamps are not removed.? However, I > ended up with an empty drops directory but stamps indicating they were > downloaded. > > I removed the stamps directory and tried again.? The classpath error is > no-longer an issue. > So sounds like just a case of things changing in later revisions and trying to use the same build directory. This happens with tracking hg and there's nothing we can really do to future-proof the build directory against unknown future changes. The easiest solution is to do what I do and build in a separate directory which can then simply be deleted when you start a fresh build. > Michael > -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From Tim.Bell at Sun.COM Sun Nov 8 14:49:52 2009 From: Tim.Bell at Sun.COM (Tim Bell) Date: Sun, 08 Nov 2009 14:49:52 -0800 Subject: classpath/41699 On Fedora 11 PowerPC IcedTea 7 Build In-Reply-To: <17c6771e0911081445w5de041f3j431be65709bce4ff@mail.gmail.com> References: <17c6771e0911071706r41cd9b51h89972f0c7fa62aae@mail.gmail.com> <17c6771e0911071754w518e6963gc58b1433c423da3d@mail.gmail.com> <17c6771e0911081208k6bd09fecx73f77c63b9290d71@mail.gmail.com> <17c6771e0911081445w5de041f3j431be65709bce4ff@mail.gmail.com> Message-ID: <4AF74B10.70000@sun.com> Andrew John Hughes wrote: (snip...) > So sounds like just a case of things changing in later revisions and > trying to use the same build directory. This happens with tracking hg > and there's nothing we can really do to future-proof the build > directory against unknown future changes. The easiest solution is to > do what I do and build in a separate directory which can then simply > be deleted when you start a fresh build. +1 -- When in doubt, rename or delete the previous build directory, then start a new build from scratch... Tim From mvfranz at gmail.com Sun Nov 8 15:46:24 2009 From: mvfranz at gmail.com (Michael Franz) Date: Sun, 8 Nov 2009 18:46:24 -0500 Subject: What is the status of Zero on OpenJDK 7 Message-ID: Hi, I notice that most of the documentation talks about OpenJDK 6, does Zero/Shark currently compile with OpenJDK 7? Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091108/86d8f175/attachment.html From gnu_andrew at member.fsf.org Sun Nov 8 15:49:46 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 8 Nov 2009 23:49:46 +0000 Subject: What is the status of Zero on OpenJDK 7 In-Reply-To: References: Message-ID: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> 2009/11/8 Michael Franz : > Hi, > > I notice that most of the documentation talks about OpenJDK 6, does > Zero/Shark currently compile with OpenJDK 7? > > Michael > Yes. In fact, Zero has been accepted upstream for OpenJDK7: http://gbenson.net/?p=166 http://blog.fuseyism.com/index.php/2009/10/15/zero-assembler-port-upstream/ http://blog.fuseyism.com/index.php/2009/11/01/halfway-there/ which means it should appear in the bsd-port repository when they update to b76/milestone 5, but will need some porting work to run on that platform. Shark builds but can't currently bootstrap itself. -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From mvfranz at gmail.com Sun Nov 8 15:55:30 2009 From: mvfranz at gmail.com (Michael Franz) Date: Sun, 8 Nov 2009 18:55:30 -0500 Subject: What is the status of Zero on OpenJDK 7 In-Reply-To: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> References: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> Message-ID: So, I should be able to build on Fedora 11? I am currently getting errors when NOT use bsd. g++ -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DPPC -DZERO_LIBARCH=\"ppc\" -DPRODUCT -I. -I../generated/adfiles -I../generated/jvmtifiles -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/asm -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/c1 -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/ci -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/classfile -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/code -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/compiler -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/g1 -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/parNew -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/parallelScavenge -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/shared -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_interface -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/interpreter -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/memory -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/prims -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/runtime -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/services -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/shark -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/utilities -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/cpu/zero/vm -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/os/linux/vm -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/os_cpu/linux_zero/vm -I../generated -DHOTSPOT_RELEASE_VERSION="\"17.0-b04\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"mfranz\"" -DHOTSPOT_LIB_ARCH=\"ppc\" -DJRE_RELEASE_VERSION="\"1.7.0_0-b75\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DDISTRIBUTION_ID="\"Built on Fedora release 11 (Leonidas)\"" -DSHARK -I/usr/lib/libffi-3.0.5/include -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fPIC -DSHARK_LLVM_VERSION=25 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -m32 -pipe -g -O3 -fno-strict-aliasing -D_LP64=1 -Werror -Wpointer-arith -Wsign-compare -c -x c++-header -c ../generated/incls/_precompiled.incl -o incls/_precompiled.incl.gch In file included from ../generated/incls/_precompiled.incl:52: /home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops/klassVtable.hpp:234:1: error: multi-line comment /home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops/klassVtable.hpp:237:1: error: multi-line comment /home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops/klassVtable.hpp:240:1: error: multi-line comment /home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops/klassVtable.hpp:243:1: error: multi-line comment Michael On Sun, Nov 8, 2009 at 6:49 PM, Andrew John Hughes < gnu_andrew at member.fsf.org> wrote: > 2009/11/8 Michael Franz : > > Hi, > > > > I notice that most of the documentation talks about OpenJDK 6, does > > Zero/Shark currently compile with OpenJDK 7? > > > > Michael > > > > Yes. In fact, Zero has been accepted upstream for OpenJDK7: > > http://gbenson.net/?p=166 > http://blog.fuseyism.com/index.php/2009/10/15/zero-assembler-port-upstream/ > http://blog.fuseyism.com/index.php/2009/11/01/halfway-there/ > > which means it should appear in the bsd-port repository when they > update to b76/milestone 5, but will need some porting work to run on > that platform. > > Shark builds but can't currently bootstrap itself. > -- > Andrew :-) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Support Free Java! > Contribute to GNU Classpath and the OpenJDK > http://www.gnu.org/software/classpath > http://openjdk.java.net > > PGP Key: 94EFD9D8 (http://subkeys.pgp.net) > Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091108/5b4ad611/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Sun Nov 8 17:53:05 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 09 Nov 2009 01:53:05 +0000 Subject: [Bug 303] qt-integration plugin in eclipse crashes while opening ui file Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=303 ravaleshb at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From andrew at icedtea.classpath.org Sun Nov 8 18:17:39 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 09 Nov 2009 02:17:39 +0000 Subject: /hg/icedtea6: 3 new changesets Message-ID: changeset 4f0b3652adee in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4f0b3652adee author: Andrew John Hughes date: Mon Nov 09 00:20:07 2009 +0000 Fix security patches that fail to apply. 2009-11-08 Andrew John Hughes * patches/security/icedtea-6657138.patch, * patches/security/icedtea-6824265.patch: Fix security patches which don't apply. changeset 1b34da20e2d1 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1b34da20e2d1 author: Andrew John Hughes date: Mon Nov 09 01:02:53 2009 +0000 Add missing security patch from OpenJDK repository. 2009-11-08 Andrew John Hughes * Makefile.am: Add missing security patch. * NEWS: List new security fixes with CVEs. * patches/security/icedtea-6664512.patch: Missing security patch from OpenJDK6 repository. changeset 4073d444623d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4073d444623d author: Andrew John Hughes date: Mon Nov 09 02:20:58 2009 +0000 List all mandatory patches together. Include bug ID for XShm patch. 2009-11-08 Andrew John Hughes * patches/icedtea-xshm.patch: Renamed to... * Makefile.am: List all mandatory patches together. Rename xshm patch to include bug ID. * patches/icedtea-6897844-xshm.patch: ...include bug ID. diffstat: 8 files changed, 1937 insertions(+), 679 deletions(-) ChangeLog | 22 Makefile.am | 112 +- NEWS | 16 patches/icedtea-6897844-xshm.patch | 13 patches/icedtea-xshm.patch | 13 patches/security/icedtea-6657138.patch | 1164 ++++++++++++++---------------- patches/security/icedtea-6664512.patch | 1227 ++++++++++++++++++++++++++++++++ patches/security/icedtea-6824265.patch | 49 - diffs (truncated from 2850 to 500 lines): diff -r 0ab9e9de339b -r 4073d444623d ChangeLog --- a/ChangeLog Fri Nov 06 15:03:12 2009 +0100 +++ b/ChangeLog Mon Nov 09 02:20:58 2009 +0000 @@ -1,3 +1,25 @@ 2009-11-06 Matthias Klose + + * patches/icedtea-xshm.patch: Renamed to... + * Makefile.am: + List all mandatory patches together. Rename + xshm patch to include bug ID. + * patches/icedtea-6897844-xshm.patch: + ...include bug ID. + +2009-11-08 Andrew John Hughes + + * Makefile.am: Add missing security patch. + * NEWS: List new security fixes with CVEs. + * patches/security/icedtea-6664512.patch: + Missing security patch from OpenJDK6 repository. + +2009-11-08 Andrew John Hughes + + * patches/security/icedtea-6657138.patch, + * patches/security/icedtea-6824265.patch: + Fix security patches which don't apply. + 2009-11-06 Matthias Klose * patches/security/icedtea-6657026.patch: Add missing context line. diff -r 0ab9e9de339b -r 4073d444623d Makefile.am --- a/Makefile.am Fri Nov 06 15:03:12 2009 +0100 +++ b/Makefile.am Mon Nov 09 02:20:58 2009 +0000 @@ -603,60 +603,8 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6822057.patch \ patches/security/icedtea-6824265.patch \ patches/security/icedtea-6861062.patch \ - patches/security/icedtea-6872358.patch - -if WITH_RHINO -ICEDTEA_PATCHES += \ - patches/icedtea-rhino.patch -endif - -if BUILD_CACAO -ICEDTEA_PATCHES += \ - patches/icedtea-cacao.patch \ - patches/icedtea-cacao-no-mmap-first-page.patch \ - patches/cacao/no-strict-aliasing.patch -endif -if WITH_CACAO -ICEDTEA_PATCHES += \ - patches/icedtea-cacao-ignore-jdi-tests.patch \ - patches/icedtea-cacao-ignore-tests.patch -endif - -if ENABLE_PULSE_JAVA -ICEDTEA_PATCHES += \ - patches/icedtea-pulse-soundproperties.patch -endif - -if ENABLE_XRENDER -XRENDER_PATCHES = patches/xrender/icedtea-???.patch -XRENDER_PATCH_FILES = $(sort $(wildcard $(abs_top_srcdir)/$(XRENDER_PATCHES))) -ICEDTEA_PATCHES += $(sort $(subst $(abs_top_srcdir)/,,$(XRENDER_PATCH_FILES))) -endif - -if ENABLE_NIO2 -ICEDTEA_PATCHES += patches/icedtea-nio2.patch -endif - -if ENABLE_SYSTEMTAP -ICEDTEA_PATCHES += patches/icedtea-systemtap.patch -endif - -if ENABLE_NSS -ICEDTEA_PATCHES += patches/icedtea-nss-config.patch \ - patches/icedtea-nss-6763530.patch -endif - -if WITH_ALT_HSBUILD -ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/openjdk-6886353-ignore_deoptimizealot.patch \ - patches/hotspot/$(HSBUILD)/zero.patch -else -ICEDTEA_PATCHES += patches/hotspot/original/icedtea-6778662-lib64.patch \ - patches/hotspot/original/icedtea-6778657-f2i-overflow.patch \ - patches/hotspot/original/icedtea-6791168.patch \ - patches/hotspot/original/icedtea-6793825-includedb.patch -endif - -ICEDTEA_PATCHES += \ + patches/security/icedtea-6872358.patch \ + patches/security/icedtea-6664512.patch \ patches/icedtea-demo-swingapplet.patch \ patches/icedtea-awt-window-size.patch \ patches/icedtea-java2d-dasher.patch \ @@ -678,8 +626,60 @@ ICEDTEA_PATCHES += \ patches/icedtea-s390-serialize.patch \ patches/openjdk/6879689-hotspot_warning_fix.patch \ patches/icedtea-no-precompiled.patch \ - patches/icedtea-xshm.patch \ - $(DISTRIBUTION_PATCHES) + patches/icedtea-6897844-xshm.patch + +if WITH_RHINO +ICEDTEA_PATCHES += \ + patches/icedtea-rhino.patch +endif + +if BUILD_CACAO +ICEDTEA_PATCHES += \ + patches/icedtea-cacao.patch \ + patches/icedtea-cacao-no-mmap-first-page.patch \ + patches/cacao/no-strict-aliasing.patch +endif +if WITH_CACAO +ICEDTEA_PATCHES += \ + patches/icedtea-cacao-ignore-jdi-tests.patch \ + patches/icedtea-cacao-ignore-tests.patch +endif + +if ENABLE_PULSE_JAVA +ICEDTEA_PATCHES += \ + patches/icedtea-pulse-soundproperties.patch +endif + +if ENABLE_XRENDER +XRENDER_PATCHES = patches/xrender/icedtea-???.patch +XRENDER_PATCH_FILES = $(sort $(wildcard $(abs_top_srcdir)/$(XRENDER_PATCHES))) +ICEDTEA_PATCHES += $(sort $(subst $(abs_top_srcdir)/,,$(XRENDER_PATCH_FILES))) +endif + +if ENABLE_NIO2 +ICEDTEA_PATCHES += patches/icedtea-nio2.patch +endif + +if ENABLE_SYSTEMTAP +ICEDTEA_PATCHES += patches/icedtea-systemtap.patch +endif + +if ENABLE_NSS +ICEDTEA_PATCHES += patches/icedtea-nss-config.patch \ + patches/icedtea-nss-6763530.patch +endif + +if WITH_ALT_HSBUILD +ICEDTEA_PATCHES += patches/hotspot/$(HSBUILD)/openjdk-6886353-ignore_deoptimizealot.patch \ + patches/hotspot/$(HSBUILD)/zero.patch +else +ICEDTEA_PATCHES += patches/hotspot/original/icedtea-6778662-lib64.patch \ + patches/hotspot/original/icedtea-6778657-f2i-overflow.patch \ + patches/hotspot/original/icedtea-6791168.patch \ + patches/hotspot/original/icedtea-6793825-includedb.patch +endif + +ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) stamps/extract.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND diff -r 0ab9e9de339b -r 4073d444623d NEWS --- a/NEWS Fri Nov 06 15:03:12 2009 +0100 +++ b/NEWS Mon Nov 09 02:20:58 2009 +0000 @@ -8,6 +8,22 @@ New in release 1.7 (XXXX-XX-XX): - libjpeg7 supported. - Added JNI call tracing using systemtap version 1.0+ when configuring with --enable-systemtap. See tapset/hotspot_jni.stp. +- Latest security updates: + - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) + - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) + - (CVE-2009-3881) resurrected classloaders can still have children (6636650) + - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) (6657026) + - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138) + - (CVE-2009-3880) UI logging information leakage (6664512) + - (CVE-2009-3879) GraphicsConfiguration information leak (6822057) + - (CVE-2009-3884) zoneinfo file existence information leak (6824265) + - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062) + - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968) + - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack vulnerabilities (6863503) + - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser denial of service (6864911) + - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) + - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 + - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) New in release 1.6 (2009-09-10): diff -r 0ab9e9de339b -r 4073d444623d patches/icedtea-6897844-xshm.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-6897844-xshm.patch Mon Nov 09 02:20:58 2009 +0000 @@ -0,0 +1,13 @@ +--- old/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.h 2009-07-17 10:36:09.000000000 -0400 ++++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.h 2009-07-30 13:25:52.000000000 -0400 +@@ -42,6 +42,10 @@ + #include + #include + #include ++#ifndef X_ShmAttach ++#include ++#include ++#endif + + extern int XShmQueryExtension(); + diff -r 0ab9e9de339b -r 4073d444623d patches/icedtea-xshm.patch --- a/patches/icedtea-xshm.patch Fri Nov 06 15:03:12 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ ---- old/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.h 2009-07-17 10:36:09.000000000 -0400 -+++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.h 2009-07-30 13:25:52.000000000 -0400 -@@ -42,6 +42,10 @@ - #include - #include - #include -+#ifndef X_ShmAttach -+#include -+#include -+#endif - - extern int XShmQueryExtension(); - diff -r 0ab9e9de339b -r 4073d444623d patches/security/icedtea-6657138.patch --- a/patches/security/icedtea-6657138.patch Fri Nov 06 15:03:12 2009 +0100 +++ b/patches/security/icedtea-6657138.patch Mon Nov 09 02:20:58 2009 +0000 @@ -1,6 +1,377 @@ ---- old/src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java Tue Jul 14 16:21:58 2009 -+++ openjdk/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonUI.java Tue Jul 14 16:21:58 2009 -@@ -8,6 +8,8 @@ +diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifButtonUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifButtonUI.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifButtonUI.java 2009-10-14 18:17:19.000000000 +0100 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifButtonUI.java 2009-11-08 22:51:56.000000000 +0000 +@@ -25,6 +25,8 @@ + + package com.sun.java.swing.plaf.motif; + ++import sun.awt.AppContext; ++ + import javax.swing.*; + import javax.swing.border.*; + import javax.swing.plaf.basic.*; +@@ -46,16 +48,23 @@ + */ + public class MotifButtonUI extends BasicButtonUI { + +- private final static MotifButtonUI motifButtonUI = new MotifButtonUI(); +- + protected Color selectColor; + + private boolean defaults_initialized = false; + ++ private static final Object MOTIF_BUTTON_UI_KEY = new Object(); ++ + // ******************************** + // Create PLAF + // ******************************** + public static ComponentUI createUI(JComponent c){ ++ AppContext appContext = AppContext.getAppContext(); ++ MotifButtonUI motifButtonUI = ++ (MotifButtonUI) appContext.get(MOTIF_BUTTON_UI_KEY); ++ if (motifButtonUI == null) { ++ motifButtonUI = new MotifButtonUI(); ++ appContext.put(MOTIF_BUTTON_UI_KEY, motifButtonUI); ++ } + return motifButtonUI; + } + +diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifCheckBoxUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifCheckBoxUI.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifCheckBoxUI.java 2009-10-14 18:17:19.000000000 +0100 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifCheckBoxUI.java 2009-11-08 22:53:23.000000000 +0000 +@@ -25,6 +25,8 @@ + + package com.sun.java.swing.plaf.motif; + ++import sun.awt.AppContext; ++ + import javax.swing.*; + + import javax.swing.plaf.*; +@@ -45,7 +47,7 @@ + */ + public class MotifCheckBoxUI extends MotifRadioButtonUI { + +- private static final MotifCheckBoxUI motifCheckBoxUI = new MotifCheckBoxUI(); ++ private static final Object MOTIF_CHECK_BOX_UI_KEY = new Object(); + + private final static String propertyPrefix = "CheckBox" + "."; + +@@ -56,6 +58,13 @@ + // Create PLAF + // ******************************** + public static ComponentUI createUI(JComponent c){ ++ AppContext appContext = AppContext.getAppContext(); ++ MotifCheckBoxUI motifCheckBoxUI = ++ (MotifCheckBoxUI) appContext.get(MOTIF_CHECK_BOX_UI_KEY); ++ if (motifCheckBoxUI == null) { ++ motifCheckBoxUI = new MotifCheckBoxUI(); ++ appContext.put(MOTIF_CHECK_BOX_UI_KEY, motifCheckBoxUI); ++ } + return motifCheckBoxUI; + } + +diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLabelUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLabelUI.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLabelUI.java 2009-10-14 18:17:19.000000000 +0100 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLabelUI.java 2009-11-08 22:46:58.000000000 +0000 +@@ -25,6 +25,8 @@ + + package com.sun.java.swing.plaf.motif; + ++import sun.awt.AppContext; ++ + import javax.swing.*; + import javax.swing.plaf.basic.BasicLabelUI; + import javax.swing.plaf.ComponentUI; +@@ -44,9 +46,16 @@ + */ + public class MotifLabelUI extends BasicLabelUI + { +- static MotifLabelUI sharedInstance = new MotifLabelUI(); ++ private static final Object MOTIF_LABEL_UI_KEY = new Object(); + + public static ComponentUI createUI(JComponent c) { +- return sharedInstance; ++ AppContext appContext = AppContext.getAppContext(); ++ MotifLabelUI motifLabelUI = ++ (MotifLabelUI) appContext.get(MOTIF_LABEL_UI_KEY); ++ if (motifLabelUI == null) { ++ motifLabelUI = new MotifLabelUI(); ++ appContext.put(MOTIF_LABEL_UI_KEY, motifLabelUI); ++ } ++ return motifLabelUI; + } + } +diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonUI.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonUI.java 2009-10-14 18:17:19.000000000 +0100 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifRadioButtonUI.java 2009-11-08 22:53:03.000000000 +0000 +@@ -25,6 +25,8 @@ + + package com.sun.java.swing.plaf.motif; + ++import sun.awt.AppContext; ++ + import javax.swing.*; + import javax.swing.border.*; + import javax.swing.plaf.basic.BasicRadioButtonUI; +@@ -47,7 +49,7 @@ + */ + public class MotifRadioButtonUI extends BasicRadioButtonUI { + +- private static final MotifRadioButtonUI motifRadioButtonUI = new MotifRadioButtonUI(); ++ private static final Object MOTIF_RADIO_BUTTON_UI_KEY = new Object(); + + protected Color focusColor; + +@@ -57,6 +59,13 @@ + // Create PLAF + // ******************************** + public static ComponentUI createUI(JComponent c) { ++ AppContext appContext = AppContext.getAppContext(); ++ MotifRadioButtonUI motifRadioButtonUI = ++ (MotifRadioButtonUI) appContext.get(MOTIF_RADIO_BUTTON_UI_KEY); ++ if (motifRadioButtonUI == null) { ++ motifRadioButtonUI = new MotifRadioButtonUI(); ++ appContext.put(MOTIF_RADIO_BUTTON_UI_KEY, motifRadioButtonUI); ++ } + return motifRadioButtonUI; + } + +diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifToggleButtonUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifToggleButtonUI.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifToggleButtonUI.java 2009-10-14 18:17:19.000000000 +0100 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifToggleButtonUI.java 2009-11-08 22:52:35.000000000 +0000 +@@ -25,6 +25,8 @@ + + package com.sun.java.swing.plaf.motif; + ++import sun.awt.AppContext; ++ + import java.awt.*; + import java.awt.event.*; + +@@ -48,7 +50,7 @@ + */ + public class MotifToggleButtonUI extends BasicToggleButtonUI + { +- private final static MotifToggleButtonUI motifToggleButtonUI = new MotifToggleButtonUI(); ++ private static final Object MOTIF_TOGGLE_BUTTON_UI_KEY = new Object(); + + protected Color selectColor; + +@@ -58,6 +60,13 @@ + // Create PLAF + // ******************************** + public static ComponentUI createUI(JComponent b) { ++ AppContext appContext = AppContext.getAppContext(); ++ MotifToggleButtonUI motifToggleButtonUI = ++ (MotifToggleButtonUI) appContext.get(MOTIF_TOGGLE_BUTTON_UI_KEY); ++ if (motifToggleButtonUI == null) { ++ motifToggleButtonUI = new MotifToggleButtonUI(); ++ appContext.put(MOTIF_TOGGLE_BUTTON_UI_KEY, motifToggleButtonUI); ++ } + return motifToggleButtonUI; + } + +diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsButtonUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsButtonUI.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsButtonUI.java 2009-10-14 18:17:19.000000000 +0100 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsButtonUI.java 2009-11-08 22:54:23.000000000 +0000 +@@ -35,6 +35,7 @@ + import static com.sun.java.swing.plaf.windows.TMSchema.*; + import static com.sun.java.swing.plaf.windows.TMSchema.Part.*; + import static com.sun.java.swing.plaf.windows.XPStyle.Skin; ++import sun.awt.AppContext; + + + /** +@@ -52,8 +53,6 @@ + */ + public class WindowsButtonUI extends BasicButtonUI + { +- private final static WindowsButtonUI windowsButtonUI = new WindowsButtonUI(); +- + protected int dashedRectGapX; + protected int dashedRectGapY; + protected int dashedRectGapWidth; +@@ -63,11 +62,19 @@ + + private boolean defaults_initialized = false; + ++ private static final Object WINDOWS_BUTTON_UI_KEY = new Object(); + + // ******************************** + // Create PLAF + // ******************************** + public static ComponentUI createUI(JComponent c){ ++ AppContext appContext = AppContext.getAppContext(); ++ WindowsButtonUI windowsButtonUI = ++ (WindowsButtonUI) appContext.get(WINDOWS_BUTTON_UI_KEY); ++ if (windowsButtonUI == null) { ++ windowsButtonUI = new WindowsButtonUI(); ++ appContext.put(WINDOWS_BUTTON_UI_KEY, windowsButtonUI); ++ } + return windowsButtonUI; + } + +@@ -151,7 +158,7 @@ + * allocating them in each paint call substantially reduced the time + * it took paint to run. Obviously, this method can't be re-entered. + */ +- private static Rectangle viewRect = new Rectangle(); ++ private Rectangle viewRect = new Rectangle(); + + public void paint(Graphics g, JComponent c) { + if (XPStyle.getXP() != null) { +diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsCheckBoxUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsCheckBoxUI.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsCheckBoxUI.java 2009-10-14 18:17:19.000000000 +0100 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsCheckBoxUI.java 2009-11-08 22:53:46.000000000 +0000 +@@ -25,6 +25,8 @@ + + package com.sun.java.swing.plaf.windows; + ++import sun.awt.AppContext; ++ + import javax.swing.plaf.basic.*; + import javax.swing.*; + import javax.swing.plaf.*; +@@ -49,7 +51,7 @@ + // of BasicCheckBoxUI because we want to pick up all the + // painting changes made in MetalRadioButtonUI. + +- private static final WindowsCheckBoxUI windowsCheckBoxUI = new WindowsCheckBoxUI(); ++ private static final Object WINDOWS_CHECK_BOX_UI_KEY = new Object(); + + private final static String propertyPrefix = "CheckBox" + "."; + +@@ -59,6 +61,13 @@ + // Create PLAF + // ******************************** + public static ComponentUI createUI(JComponent c) { ++ AppContext appContext = AppContext.getAppContext(); ++ WindowsCheckBoxUI windowsCheckBoxUI = ++ (WindowsCheckBoxUI) appContext.get(WINDOWS_CHECK_BOX_UI_KEY); ++ if (windowsCheckBoxUI == null) { ++ windowsCheckBoxUI = new WindowsCheckBoxUI(); ++ appContext.put(WINDOWS_CHECK_BOX_UI_KEY, windowsCheckBoxUI); ++ } + return windowsCheckBoxUI; + } + +diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLabelUI.java openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLabelUI.java +--- openjdk.orig/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLabelUI.java 2009-10-14 18:17:19.000000000 +0100 ++++ openjdk/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLabelUI.java 2009-11-08 22:56:38.000000000 +0000 +@@ -26,6 +26,8 @@ + package com.sun.java.swing.plaf.windows; + + import sun.swing.SwingUtilities2; ++import sun.awt.AppContext; ++ + import java.awt.Color; + import java.awt.Graphics; + +@@ -51,12 +53,19 @@ + */ + public class WindowsLabelUI extends BasicLabelUI { + +- private final static WindowsLabelUI windowsLabelUI = new WindowsLabelUI(); From xerxes at zafena.se Mon Nov 9 02:38:41 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Mon, 09 Nov 2009 11:38:41 +0100 Subject: [patch] rfc: -XX:SharkPrintAsmOf llvm2.7 api update Message-ID: <4AF7F131.2090508@zafena.se> In llvm2.7 svn trunk Chris Lattner added a new API on Aph's request that would enable and disable debugging output more vigorously. http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091026/089863.html - new api for us, yay! The attached patch in this mail makes Shark use this new API for the -XX:SharkPrintAsmOf debug option. Unfortunally there was a small namespaces bug in the implementation of this new LLVM API and I am waiting for response from Chris reguarding this issue: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091109/090682.html - correspondence You have to apply the patch on llvm in this correspondence in-order to build the new patch for icedtea6. Should i remove the old pre LLVM2.7 support for -XX:SharkPrintAsmOf ? Currently you need a special patched llvm version to make the option work at all on older LLVM versions. Cheers and have a great day! Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: 9nov-SharkPrintAsmOf-llvm2.7api.patch Type: text/x-patch Size: 1724 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091109/427a6d04/attachment.bin From gbenson at redhat.com Mon Nov 9 03:06:24 2009 From: gbenson at redhat.com (Gary Benson) Date: Mon, 9 Nov 2009 11:06:24 +0000 Subject: [patch] rfc: shark llvm2.7 r84651 SharkMemoryManager fix. In-Reply-To: <4AF5E70E.7040501@zafena.se> References: <4AF5E70E.7040501@zafena.se> Message-ID: <20091109110624.GC3281@redhat.com> Xerxes R?nby wrote: > The LLVM JITMemoryManager changed a little in r84651 and by using > the attached patch re-enables Shark to be build-able using the > latest LLVM svn trunk. > http://llvm.org/viewvc/llvm-project?view=rev&revision=84651 > > Clear to push? Rather than having two #ifs, how about having a #else? Otherwise, please push :) Cheers, Gary -- http://gbenson.net/ From gbenson at redhat.com Mon Nov 9 03:08:58 2009 From: gbenson at redhat.com (Gary Benson) Date: Mon, 9 Nov 2009 11:08:58 +0000 Subject: [patch] rfc: -XX:SharkPrintAsmOf llvm2.7 api update In-Reply-To: <4AF7F131.2090508@zafena.se> References: <4AF7F131.2090508@zafena.se> Message-ID: <20091109110858.GD3281@redhat.com> Xerxes R?nby wrote: > In llvm2.7 svn trunk Chris Lattner added a new API on Aph's request > that would enable and disable debugging output more vigorously. > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091026/089863.html > - new api for us, yay! > The attached patch in this mail makes Shark use this new API for the > -XX:SharkPrintAsmOf debug option. > > Unfortunally there was a small namespaces bug in the implementation > of this new LLVM API and I am waiting for response from Chris > reguarding this issue: > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091109/090682.html > - correspondence > You have to apply the patch on llvm in this correspondence in-order > to build the new patch for icedtea6. > > Should i remove the old pre LLVM2.7 support for -XX:SharkPrintAsmOf ? > Currently you need a special patched llvm version to make the option > work at all on older LLVM versions. Please leave the old support in, with a #else as I mentioned in my last mail. Thanks for doing this! Cheers, Gary -- http://gbenson.net/ From xerxes at zafena.se Mon Nov 9 03:13:26 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Mon, 09 Nov 2009 12:13:26 +0100 Subject: [patch] rfc: -XX:SharkPrintAsmOf llvm2.7 api update In-Reply-To: <4AF7F131.2090508@zafena.se> References: <4AF7F131.2090508@zafena.se> Message-ID: <4AF7F956.6020206@zafena.se> Xerxes R?nby skrev: > In llvm2.7 svn trunk Chris Lattner added a new API on Aph's request that > would enable and disable debugging output more vigorously. > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091026/089863.html > - new api for us, yay! > The attached patch in this mail makes Shark use this new API for the > -XX:SharkPrintAsmOf debug option. > > Unfortunally there was a small namespaces bug in the implementation of > this new LLVM API and I am waiting for response from Chris reguarding > this issue: > http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091109/090682.html > - correspondence > You have to apply the patch on llvm in this correspondence in-order to > build the new patch for icedtea6. > > Should i remove the old pre LLVM2.7 support for -XX:SharkPrintAsmOf ? > Currently you need a special patched llvm version to make the option > work at all on older LLVM versions. > > Cheers and have a great day! > Xerxes > 2nd try i somehow attached the wrong version of the patch with some missing curly-brackets, this should be the correct version. Xerxes -------------- next part -------------- A non-text attachment was scrubbed... Name: 9nov-take2-SharkPrintAsmOf-llvm2.7api.patch Type: text/x-patch Size: 1744 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091109/74a66ece/attachment.bin From xerxes at zafena.se Mon Nov 9 03:15:01 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Mon, 09 Nov 2009 12:15:01 +0100 Subject: [patch] rfc: -XX:SharkPrintAsmOf llvm2.7 api update In-Reply-To: <20091109110858.GD3281@redhat.com> References: <4AF7F131.2090508@zafena.se> <20091109110858.GD3281@redhat.com> Message-ID: <4AF7F9B5.4030803@zafena.se> Gary Benson skrev: > Xerxes R?nby wrote: > >> In llvm2.7 svn trunk Chris Lattner added a new API on Aph's request >> that would enable and disable debugging output more vigorously. >> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091026/089863.html >> - new api for us, yay! >> The attached patch in this mail makes Shark use this new API for the >> -XX:SharkPrintAsmOf debug option. >> >> Unfortunally there was a small namespaces bug in the implementation >> of this new LLVM API and I am waiting for response from Chris >> reguarding this issue: >> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091109/090682.html >> - correspondence >> You have to apply the patch on llvm in this correspondence in-order >> to build the new patch for icedtea6. >> >> Should i remove the old pre LLVM2.7 support for -XX:SharkPrintAsmOf ? >> Currently you need a special patched llvm version to make the option >> work at all on older LLVM versions. >> > > Please leave the old support in, with a #else as I mentioned in my > last mail. > > Thanks for doing this! > > Cheers, > Gary > > Ok thanks, i will add as many #else as appropriate and commit! Cheers Xerxes From xranby at icedtea.classpath.org Mon Nov 9 03:52:41 2009 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 09 Nov 2009 11:52:41 +0000 Subject: /hg/icedtea6: Adjust SharkMemoryManager to support LLVM 2.7svn r... Message-ID: changeset 00375f1c8222 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=00375f1c8222 author: Xerxes R?nby date: Mon Nov 09 12:55:30 2009 +0100 Adjust SharkMemoryManager to support LLVM 2.7svn rev 84651. 2009-11-09 Xerxes R?nby * ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp, ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp: New methods deallocateExceptionTable and deallocateFunctionBody dependent on the llvm version. Made deallocateMemForFunction method dependent on the llvm version. diffstat: 3 files changed, 25 insertions(+) ChangeLog | 8 ++++++++ ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp | 12 ++++++++++++ ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp | 5 +++++ diffs (57 lines): diff -r 4073d444623d -r 00375f1c8222 ChangeLog --- a/ChangeLog Mon Nov 09 02:20:58 2009 +0000 +++ b/ChangeLog Mon Nov 09 12:55:30 2009 +0100 @@ -1,3 +1,11 @@ 2009-11-08 Andrew John Hughes + + * ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp, + ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp: + New methods deallocateExceptionTable and deallocateFunctionBody + dependent on the llvm version. + Made deallocateMemForFunction method dependent on the llvm version. + 2009-11-08 Andrew John Hughes * patches/icedtea-xshm.patch: Renamed to... diff -r 4073d444623d -r 00375f1c8222 ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp --- a/ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp Mon Nov 09 02:20:58 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp Mon Nov 09 12:55:30 2009 +0100 @@ -86,10 +86,22 @@ void SharkMemoryManager::setMemoryExecut mm()->setMemoryExecutable(); } +#if SHARK_LLVM_VERSION >= 27 +void SharkMemoryManager::deallocateExceptionTable(void *ptr) +{ + mm()->deallocateExceptionTable(ptr); +} + +void SharkMemoryManager::deallocateFunctionBody(void *ptr) +{ + mm()->deallocateFunctionBody(ptr); +} +#else void SharkMemoryManager::deallocateMemForFunction(const Function* F) { return mm()->deallocateMemForFunction(F); } +#endif #if SHARK_LLVM_VERSION >= 26 uint8_t* SharkMemoryManager::allocateGlobal(uintptr_t Size, unsigned int Alignment) diff -r 4073d444623d -r 00375f1c8222 ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp --- a/ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp Mon Nov 09 02:20:58 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp Mon Nov 09 12:55:30 2009 +0100 @@ -79,7 +79,12 @@ class SharkMemoryManager : public llvm:: #endif void setMemoryWritable(); void setMemoryExecutable(); +#if SHARK_LLVM_VERSION >= 27 + void deallocateExceptionTable(void *ptr); + void deallocateFunctionBody(void *ptr); +#else void deallocateMemForFunction(const llvm::Function* F); +#endif #if SHARK_LLVM_VERSION >= 25 unsigned char *allocateSpace(intptr_t Size, From xranby at icedtea.classpath.org Mon Nov 9 04:04:16 2009 From: xranby at icedtea.classpath.org (xranby at icedtea.classpath.org) Date: Mon, 09 Nov 2009 12:04:16 +0000 Subject: /hg/icedtea6: Implement -XX:SharkPrintAsmOf using LLVM 2.7svn r8... Message-ID: changeset ff96e96a485b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ff96e96a485b author: Xerxes R?nby date: Mon Nov 09 13:07:15 2009 +0100 Implement -XX:SharkPrintAsmOf using LLVM 2.7svn r85395 debug API. 2009-11-09 Xerxes R?nby * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp, Include llvm/Support/Debug.h dependent on llvm version. Made Include llvm/Support/CommandLine.h dependent on llvm version. * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp: Implement -XX:SharkPrintAsmOf using LLVM 2.7svn r85395 debug API. diffstat: 3 files changed, 28 insertions(+) ChangeLog | 8 ++++++++ ports/hotspot/src/share/vm/shark/llvmHeaders.hpp | 4 ++++ ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 16 ++++++++++++++++ diffs (63 lines): diff -r 00375f1c8222 -r ff96e96a485b ChangeLog --- a/ChangeLog Mon Nov 09 12:55:30 2009 +0100 +++ b/ChangeLog Mon Nov 09 13:07:15 2009 +0100 @@ -1,3 +1,11 @@ 2009-11-09 Xerxes R??nby + + * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp, + Include llvm/Support/Debug.h dependent on llvm version. + Made Include llvm/Support/CommandLine.h dependent on llvm version. + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp: + Implement -XX:SharkPrintAsmOf using LLVM 2.7svn r85395 debug API. + 2009-11-09 Xerxes R??nby * ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp, diff -r 00375f1c8222 -r ff96e96a485b ports/hotspot/src/share/vm/shark/llvmHeaders.hpp --- a/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp Mon Nov 09 12:55:30 2009 +0100 +++ b/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp Mon Nov 09 13:07:15 2009 +0100 @@ -44,7 +44,11 @@ #endif #include #include +#if SHARK_LLVM_VERSION < 27 #include +#else +#include +#endif #include diff -r 00375f1c8222 -r ff96e96a485b ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Mon Nov 09 12:55:30 2009 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Mon Nov 09 13:07:15 2009 +0100 @@ -132,6 +132,7 @@ void SharkCompiler::compile_method(ciEnv // Compile to native code #ifndef PRODUCT +#if SHARK_LLVM_VERSION < 27 #ifdef X86 if (SharkPrintAsmOf != NULL) { std::vector args; @@ -144,6 +145,21 @@ void SharkCompiler::compile_method(ciEnv cl::ParseCommandLineOptions(args.size() - 1, (char **) &args[0]); } #endif // X86 +#else + if (SharkPrintAsmOf != NULL) { + if (!fnmatch(SharkPrintAsmOf, name, 0)) { +#ifdef X86 + llvm::SetCurrentDebugType("x86-emitter"); +#else + llvm::SetCurrentDebugType("jit"); +#endif // X86 + llvm::DebugFlag=true; + } else { + llvm::SetCurrentDebugType(""); + llvm::DebugFlag=false; + } + } +#endif #endif // !PRODUCT memory_manager()->set_entry_for_function(function, entry); module()->getFunctionList().push_back(function); From xerxes at zafena.se Mon Nov 9 07:02:17 2009 From: xerxes at zafena.se (=?ISO-8859-1?Q?Xerxes_R=E5nby?=) Date: Mon, 09 Nov 2009 16:02:17 +0100 Subject: [patch] rfc: -XX:SharkPrintAsmOf llvm2.7 api update In-Reply-To: <4AF7F9B5.4030803@zafena.se> References: <4AF7F131.2090508@zafena.se> <20091109110858.GD3281@redhat.com> <4AF7F9B5.4030803@zafena.se> Message-ID: <4AF82EF9.8070907@zafena.se> Xerxes R?nby skrev: > Gary Benson skrev: > >> Xerxes R?nby wrote: >> >> >>> In llvm2.7 svn trunk Chris Lattner added a new API on Aph's request >>> that would enable and disable debugging output more vigorously. >>> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091026/089863.html >>> - new api for us, yay! >>> The attached patch in this mail makes Shark use this new API for the >>> -XX:SharkPrintAsmOf debug option. >>> >>> Unfortunally there was a small namespaces bug in the implementation >>> of this new LLVM API and I am waiting for response from Chris >>> reguarding this issue: >>> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091109/090682.html >>> - correspondence >>> You have to apply the patch on llvm in this correspondence in-order >>> to build the new patch for icedtea6. >>> For your information: Patching of llvm are no longer needed to make use of the -XX:SharkPrintAsmOf= debug option when using llvm2.7svn rev 86544 and later with icedtea6! All fixed upstream. http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091109/090686.html Enjoy! Xerxes From andrew at icedtea.classpath.org Mon Nov 9 08:54:59 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 09 Nov 2009 16:54:59 +0000 Subject: /hg/release/icedtea6-1.5: Add latest security updates. Message-ID: changeset dc4494777bad in /hg/release/icedtea6-1.5 details: http://icedtea.classpath.org/hg/release/icedtea6-1.5?cmd=changeset;node=dc4494777bad author: Andrew John Hughes date: Mon Nov 09 16:58:51 2009 +0000 Add latest security updates. 2009-11-09 Andrew John Hughes * Makefile.am: Add remaining security patches. * NEWS: Updated with security patches. * patches/security/icedtea-6631533.patch, * patches/security/icedtea-6632445.patch, * patches/security/icedtea-6636650.patch, * patches/security/icedtea-6657026.patch, * patches/security/icedtea-6657138.patch, * patches/security/icedtea-6664512.patch, * patches/security/icedtea-6822057.patch, * patches/security/icedtea-6824265.patch, * patches/security/icedtea-6861062.patch, * patches/security/icedtea-6872358.patch: New security patches. diffstat: 13 files changed, 4731 insertions(+), 3 deletions(-) ChangeLog | 18 Makefile.am | 16 NEWS | 18 patches/security/icedtea-6631533.patch | 184 +++ patches/security/icedtea-6632445.patch | 103 ++ patches/security/icedtea-6636650.patch | 139 ++ patches/security/icedtea-6657026.patch | 1609 ++++++++++++++++++++++++++++++++ patches/security/icedtea-6657138.patch | 745 ++++++++++++++ patches/security/icedtea-6664512.patch | 1227 ++++++++++++++++++++++++ patches/security/icedtea-6822057.patch | 32 patches/security/icedtea-6824265.patch | 142 ++ patches/security/icedtea-6861062.patch | 344 ++++++ patches/security/icedtea-6872358.patch | 157 +++ diffs (truncated from 4799 to 500 lines): diff -r 662422897e63 -r dc4494777bad ChangeLog --- a/ChangeLog Tue Nov 03 17:44:08 2009 +0100 +++ b/ChangeLog Mon Nov 09 16:58:51 2009 +0000 @@ -1,4 +1,22 @@ 2009-11-03 Martin Matejovic + + * Makefile.am: + Add remaining security patches. + * NEWS: Updated with security patches. + * patches/security/icedtea-6631533.patch, + * patches/security/icedtea-6632445.patch, + * patches/security/icedtea-6636650.patch, + * patches/security/icedtea-6657026.patch, + * patches/security/icedtea-6657138.patch, + * patches/security/icedtea-6664512.patch, + * patches/security/icedtea-6822057.patch, + * patches/security/icedtea-6824265.patch, + * patches/security/icedtea-6861062.patch, + * patches/security/icedtea-6872358.patch: + New security patches. + 2009-11-03 Martin Matejovic + * patches/security/icedtea-6862968.patch * patches/security/icedtea-6863503.patch * patches/security/icedtea-6864911.patch diff -r 662422897e63 -r dc4494777bad Makefile.am --- a/Makefile.am Tue Nov 03 17:44:08 2009 +0100 +++ b/Makefile.am Mon Nov 09 16:58:51 2009 +0000 @@ -613,9 +613,19 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6863503.patch \ patches/security/icedtea-6864911.patch \ patches/security/icedtea-6872357.patch \ - patches/security/icedtea-6874643.patch - -f WITH_ALT_HSBUILD + patches/security/icedtea-6874643.patch \ + patches/security/icedtea-6631533.patch \ + patches/security/icedtea-6632445.patch \ + patches/security/icedtea-6636650.patch \ + patches/security/icedtea-6657026.patch \ + patches/security/icedtea-6657138.patch \ + patches/security/icedtea-6664512.patch \ + patches/security/icedtea-6822057.patch \ + patches/security/icedtea-6824265.patch \ + patches/security/icedtea-6861062.patch \ + patches/security/icedtea-6872358.patch + +if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ patches/icedtea-format-warnings.patch \ patches/icedtea-fortify-source.patch \ diff -r 662422897e63 -r dc4494777bad NEWS --- a/NEWS Tue Nov 03 17:44:08 2009 +0100 +++ b/NEWS Mon Nov 09 16:58:51 2009 +0000 @@ -1,3 +1,21 @@ New in release 1.5.2 (2009-09-04) +New in release 1.5.3 (2009-11-09) +- Latest security updates: + - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) + - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) + - (CVE-2009-3881) resurrected classloaders can still have children (6636650) + - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) (6657026) + - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138) + - (CVE-2009-3880) UI logging information leakage (6664512) + - (CVE-2009-3879) GraphicsConfiguration information leak (6822057) + - (CVE-2009-3884) zoneinfo file existence information leak (6824265) + - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062) + - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968) + - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack vulnerabilities (6863503) + - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser denial of service (6864911) + - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) + - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 + - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) + New in release 1.5.2 (2009-09-04) - Timezone fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=377 - Stackoverflow error fix: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=381 diff -r 662422897e63 -r dc4494777bad patches/security/icedtea-6631533.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6631533.patch Mon Nov 09 16:58:51 2009 +0000 @@ -0,0 +1,184 @@ +--- old/src/share/classes/java/awt/color/ICC_Profile.java 2009-07-29 13:31:14.948600000 +0400 ++++ openjdk/jdk/src/share/classes/java/awt/color/ICC_Profile.java 2009-07-29 13:31:14.153000000 +0400 +@@ -944,15 +944,15 @@ + * and it does not permit read access to the given file. + */ + public static ICC_Profile getInstance(String fileName) throws IOException { +- ICC_Profile thisProfile; +- FileInputStream fis; ++ ICC_Profile thisProfile; ++ FileInputStream fis = null; + +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkRead(fileName); +- } + +- if ((fis = openProfile(fileName)) == null) { ++ File f = getProfileFile(fileName); ++ if (f != null) { ++ fis = new FileInputStream(f); ++ } ++ if (fis == null) { + throw new IOException("Cannot open file " + fileName); + } + +@@ -1064,13 +1064,24 @@ + + + void activateDeferredProfile() { +- byte profileData[]; +- FileInputStream fis; +- String fileName = deferralInfo.filename; ++ byte profileData[]; ++ FileInputStream fis; ++ final String fileName = deferralInfo.filename; + + profileActivator = null; + deferralInfo = null; +- if ((fis = openProfile(fileName)) == null) { ++ PrivilegedAction pa = new PrivilegedAction() { ++ public FileInputStream run() { ++ File f = getStandardProfileFile(fileName); ++ if (f != null) { ++ try { ++ return new FileInputStream(f); ++ } catch (FileNotFoundException e) {} ++ } ++ return null; ++ } ++ }; ++ if ((fis = AccessController.doPrivileged(pa)) == null) { + throw new IllegalArgumentException("Cannot open file " + fileName); + } + try { +@@ -1765,66 +1776,88 @@ + * available, such as a profile for sRGB. Built-in profiles use .pf as + * the file name extension for profiles, e.g. sRGB.pf. + */ +- private static FileInputStream openProfile(final String fileName) { +- return (FileInputStream)java.security.AccessController.doPrivileged( +- new java.security.PrivilegedAction() { +- public Object run() { +- return privilegedOpenProfile(fileName); +- } +- }); +- } +- +- /* +- * this version is called from doPrivileged in privilegedOpenProfile. +- * the whole method is privileged! +- */ +- private static FileInputStream privilegedOpenProfile(String fileName) { +- FileInputStream fis = null; ++ private static File getProfileFile(String fileName) { + String path, dir, fullPath; + + File f = new File(fileName); /* try absolute file name */ +- ++ if (f.isAbsolute()) { ++ /* Rest of code has little sense for an absolute pathname, ++ so return here. */ ++ return f.isFile() ? f : null; ++ } + if ((!f.isFile()) && + ((path = System.getProperty("java.iccprofile.path")) != null)){ + /* try relative to java.iccprofile.path */ +- StringTokenizer st = +- new StringTokenizer(path, File.pathSeparator); +- while (st.hasMoreTokens() && (!f.isFile())) { +- dir = st.nextToken(); +- fullPath = dir + File.separatorChar + fileName; +- f = new File(fullPath); ++ StringTokenizer st = ++ new StringTokenizer(path, File.pathSeparator); ++ while (st.hasMoreTokens() && ((f == null) || (!f.isFile()))) { ++ dir = st.nextToken(); ++ fullPath = dir + File.separatorChar + fileName; ++ f = new File(fullPath); ++ if (!isChildOf(f, dir)) { ++ f = null; + } + } ++ } + +- if ((!f.isFile()) && ++ if (((f == null) || (!f.isFile())) && + ((path = System.getProperty("java.class.path")) != null)) { + /* try relative to java.class.path */ +- StringTokenizer st = +- new StringTokenizer(path, File.pathSeparator); +- while (st.hasMoreTokens() && (!f.isFile())) { +- dir = st.nextToken(); +- fullPath = dir + File.separatorChar + fileName; +- f = new File(fullPath); +- } +- } +- +- if (!f.isFile()) { /* try the directory of built-in profiles */ +- dir = System.getProperty("java.home") + +- File.separatorChar + "lib" + File.separatorChar + "cmm"; ++ StringTokenizer st = ++ new StringTokenizer(path, File.pathSeparator); ++ while (st.hasMoreTokens() && ((f == null) || (!f.isFile()))) { ++ dir = st.nextToken(); + fullPath = dir + File.separatorChar + fileName; + f = new File(fullPath); ++ if (!isChildOf(f, dir)) { ++ f = null; ++ } + } ++ } ++ if ((f == null) || (!f.isFile())) { ++ /* try the directory of built-in profiles */ ++ f = getStandardProfileFile(fileName); ++ } ++ if (f != null && f.isFile()) { ++ return f; ++ } ++ return null; ++ } + +- if (f.isFile()) { +- try { +- fis = new FileInputStream(f); +- } catch (FileNotFoundException e) { ++ /** ++ * Returns a file object corresponding to a built-in profile ++ * specified by fileName. ++ * If there is no built-in profile with such name, then the method ++ * returns null. ++ */ ++ private static File getStandardProfileFile(String fileName) { ++ String dir = System.getProperty("java.home") + ++ File.separatorChar + "lib" + File.separatorChar + "cmm"; ++ String fullPath = dir + File.separatorChar + fileName; ++ File f = new File(fullPath); ++ return (f.isFile() && isChildOf(f, dir)) ? f : null; ++ } ++ ++ /** ++ * Checks whether given file resides inside give directory. ++ */ ++ private static boolean isChildOf(File f, String dirName) { ++ try { ++ File dir = new File(dirName); ++ String canonicalDirName = dir.getCanonicalPath(); ++ if (!canonicalDirName.endsWith(File.separator)) { ++ canonicalDirName += File.separator; + } ++ String canonicalFileName = f.getCanonicalPath(); ++ return canonicalFileName.startsWith(canonicalDirName); ++ } catch (IOException e) { ++ /* we do not expect the IOException here, because invocation ++ * of this function is always preceeded by isFile() call. ++ */ ++ return false; + } +- return fis; + } + +- + /* + * Serialization support. + * diff -r 662422897e63 -r dc4494777bad patches/security/icedtea-6632445.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6632445.patch Mon Nov 09 16:58:51 2009 +0000 @@ -0,0 +1,103 @@ +--- old/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2009-07-28 17:06:52.144000000 +0400 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2009-07-28 17:06:51.488000000 +0400 +@@ -62,6 +62,8 @@ + + import java.io.*; + import java.nio.*; ++import java.security.AccessController; ++import java.security.PrivilegedAction; + import java.util.ArrayList; + import java.util.Iterator; + import java.util.StringTokenizer; +@@ -502,12 +504,18 @@ + iis.reset(); + + try { +- if (metadata.colorSpace == PROFILE_LINKED) ++ if (metadata.colorSpace == PROFILE_LINKED && ++ isLinkedProfileAllowed() && ++ !isUncOrDevicePath(profile)) ++ { ++ String path = new String(profile, "windows-1252"); ++ + colorSpace = +- new ICC_ColorSpace(ICC_Profile.getInstance(new String(profile))); +- else ++ new ICC_ColorSpace(ICC_Profile.getInstance(path)); ++ } else { + colorSpace = + new ICC_ColorSpace(ICC_Profile.getInstance(profile)); ++ } + } catch (Exception e) { + colorSpace = ColorSpace.getInstance(ColorSpace.CS_sRGB); + } +@@ -1745,4 +1753,69 @@ + public void sequenceStarted(ImageReader src, int minIndex) {} + public void readAborted(ImageReader src) {} + } ++ ++ private static Boolean isLinkedProfileDisabled = null; ++ ++ private static boolean isLinkedProfileAllowed() { ++ if (isLinkedProfileDisabled == null) { ++ PrivilegedAction a = new PrivilegedAction() { ++ public Boolean run() { ++ return Boolean.getBoolean("sun.imageio.plugins.bmp.disableLinkedProfiles"); ++ } ++ }; ++ isLinkedProfileDisabled = AccessController.doPrivileged(a); ++ } ++ return !isLinkedProfileDisabled; ++ } ++ ++ private static Boolean isWindowsPlatform = null; ++ ++ /** ++ * Verifies whether the byte array contans a unc path. ++ * Non-UNC path examples: ++ * c:\path\to\file - simple notation ++ * \\?\c:\path\to\file - long notation ++ * ++ * UNC path examples: ++ * \\server\share - a UNC path in simple notation ++ * \\?\UNC\server\share - a UNC path in long notation ++ * \\.\some\device - a path to device. ++ */ ++ private static boolean isUncOrDevicePath(byte[] p) { ++ if (isWindowsPlatform == null) { ++ PrivilegedAction a = new PrivilegedAction() { ++ public Boolean run() { ++ String osname = System.getProperty("os.name"); ++ return (osname != null && ++ osname.toLowerCase().startsWith("win")); ++ } ++ }; ++ isWindowsPlatform = AccessController.doPrivileged(a); ++ } ++ ++ if (!isWindowsPlatform) { ++ /* no need for the check on platforms except windows */ ++ return false; ++ } ++ ++ /* normalize prefix of the path */ ++ if (p[0] == '/') p[0] = '\\'; ++ if (p[1] == '/') p[1] = '\\'; ++ if (p[3] == '/') p[3] = '\\'; ++ ++ ++ if ((p[0] == '\\') && (p[1] == '\\')) { ++ if ((p[2] == '?') && (p[3] == '\\')) { ++ // long path: whether unc or local ++ return ((p[4] == 'U' || p[4] == 'u') && ++ (p[5] == 'N' || p[5] == 'n') && ++ (p[6] == 'C' || p[6] == 'c')); ++ } else { ++ // device path or short unc notation ++ return true; ++ } ++ } else { ++ return false; ++ } ++ } + } diff -r 662422897e63 -r dc4494777bad patches/security/icedtea-6636650.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6636650.patch Mon Nov 09 16:58:51 2009 +0000 @@ -0,0 +1,139 @@ +--- old/src/share/classes/java/lang/ClassLoader.java Fri Jul 31 15:59:47 2009 ++++ openjdk/jdk/src/share/classes/java/lang/ClassLoader.java Fri Jul 31 15:59:46 2009 +@@ -147,11 +147,6 @@ + registerNatives(); + } + +- // If initialization succeed this is set to true and security checks will +- // succeed. Otherwise the object is not initialized and the object is +- // useless. +- private boolean initialized = false; +- + // The parent class loader for delegation + private ClassLoader parent; + +@@ -177,6 +172,18 @@ + // to its corresponding Package object. + private HashMap packages = new HashMap(); + ++ private static Void checkCreateClassLoader() { ++ SecurityManager security = System.getSecurityManager(); ++ if (security != null) { ++ security.checkCreateClassLoader(); ++ } ++ return null; ++ } ++ ++ private ClassLoader(Void unused, ClassLoader parent) { ++ this.parent = parent; ++ } ++ + /** + * Creates a new class loader using the specified parent class loader for + * delegation. +@@ -197,12 +204,7 @@ + * @since 1.2 + */ + protected ClassLoader(ClassLoader parent) { +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkCreateClassLoader(); +- } +- this.parent = parent; +- initialized = true; ++ this(checkCreateClassLoader(), parent); + } + + /** +@@ -221,15 +223,9 @@ + * of a new class loader. + */ + protected ClassLoader() { +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkCreateClassLoader(); +- } +- this.parent = getSystemClassLoader(); +- initialized = true; ++ this(checkCreateClassLoader(), getSystemClassLoader()); + } + +- + // -- Class -- + + /** +@@ -611,7 +607,6 @@ + ProtectionDomain protectionDomain) + throws ClassFormatError + { +- check(); + protectionDomain = preDefineClass(name, protectionDomain); + + Class c = null; +@@ -693,8 +688,6 @@ + ProtectionDomain protectionDomain) + throws ClassFormatError + { +- check(); +- + int len = b.remaining(); + + // Use byte[] if not a direct ByteBufer: +@@ -842,7 +835,6 @@ + * @see #defineClass(String, byte[], int, int) + */ + protected final void resolveClass(Class c) { +- check(); + resolveClass0(c); + } + +@@ -873,7 +865,6 @@ + protected final Class findSystemClass(String name) + throws ClassNotFoundException + { +- check(); + ClassLoader system = getSystemClassLoader(); + if (system == null) { + if (!checkName(name)) +@@ -886,7 +877,6 @@ + private Class findBootstrapClass0(String name) + throws ClassNotFoundException + { +- check(); + if (!checkName(name)) + throw new ClassNotFoundException(name); + return findBootstrapClass(name); +@@ -895,13 +885,6 @@ + private native Class findBootstrapClass(String name) + throws ClassNotFoundException; + +- // Check to make sure the class loader has been initialized. +- private void check() { +- if (!initialized) { +- throw new SecurityException("ClassLoader object not initialized"); +- } +- } +- + /** + * Returns the class with the given binary name if this + * loader has been recorded by the Java virtual machine as an initiating +@@ -917,7 +900,6 @@ + * @since 1.1 + */ + protected final Class findLoadedClass(String name) { +- check(); From andrew at icedtea.classpath.org Mon Nov 9 09:38:06 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 09 Nov 2009 17:38:06 +0000 Subject: /hg/release/icedtea6-1.6: Add remaining security patches. Message-ID: changeset 15ba41d0ff2e in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=15ba41d0ff2e author: Andrew John Hughes date: Mon Nov 09 17:42:27 2009 +0000 Add remaining security patches. 2009-11-09 Andrew John Hughes * Makefile.am: Add remaining security patches. * NEWS: Updated with security patches. * patches/security/icedtea-6631533.patch, * patches/security/icedtea-6632445.patch, * patches/security/icedtea-6636650.patch, * patches/security/icedtea-6657026.patch, * patches/security/icedtea-6657138.patch, * patches/security/icedtea-6664512.patch, * patches/security/icedtea-6822057.patch, * patches/security/icedtea-6824265.patch, * patches/security/icedtea-6861062.patch, * patches/security/icedtea-6872358.patch: New security patches. diffstat: 13 files changed, 4729 insertions(+) ChangeLog | 18 Makefile.am | 11 NEWS | 18 patches/security/icedtea-6631533.patch | 184 +++ patches/security/icedtea-6632445.patch | 103 ++ patches/security/icedtea-6636650.patch | 139 ++ patches/security/icedtea-6657026.patch | 1609 ++++++++++++++++++++++++++++++++ patches/security/icedtea-6657138.patch | 745 ++++++++++++++ patches/security/icedtea-6664512.patch | 1227 ++++++++++++++++++++++++ patches/security/icedtea-6822057.patch | 32 patches/security/icedtea-6824265.patch | 142 ++ patches/security/icedtea-6861062.patch | 344 ++++++ patches/security/icedtea-6872358.patch | 157 +++ diffs (truncated from 4794 to 500 lines): diff -r 2c854193cc9d -r 15ba41d0ff2e ChangeLog --- a/ChangeLog Tue Nov 03 17:50:20 2009 +0100 +++ b/ChangeLog Mon Nov 09 17:42:27 2009 +0000 @@ -1,4 +1,22 @@ 2009-11-03 Martin Matejovic + + * Makefile.am: + Add remaining security patches. + * NEWS: Updated with security patches. + * patches/security/icedtea-6631533.patch, + * patches/security/icedtea-6632445.patch, + * patches/security/icedtea-6636650.patch, + * patches/security/icedtea-6657026.patch, + * patches/security/icedtea-6657138.patch, + * patches/security/icedtea-6664512.patch, + * patches/security/icedtea-6822057.patch, + * patches/security/icedtea-6824265.patch, + * patches/security/icedtea-6861062.patch, + * patches/security/icedtea-6872358.patch: + New security patches. + 2009-11-03 Martin Matejovic + * patches/security/icedtea-6862968.patch * patches/security/icedtea-6863503.patch * patches/security/icedtea-6864911.patch diff -r 2c854193cc9d -r 15ba41d0ff2e Makefile.am --- a/Makefile.am Tue Nov 03 17:50:20 2009 +0100 +++ b/Makefile.am Mon Nov 09 17:42:27 2009 +0000 @@ -631,6 +631,17 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6864911.patch \ patches/security/icedtea-6872357.patch \ patches/security/icedtea-6874643.patch \ + patches/security/icedtea-6874643.patch \ + patches/security/icedtea-6631533.patch \ + patches/security/icedtea-6632445.patch \ + patches/security/icedtea-6636650.patch \ + patches/security/icedtea-6657026.patch \ + patches/security/icedtea-6657138.patch \ + patches/security/icedtea-6664512.patch \ + patches/security/icedtea-6822057.patch \ + patches/security/icedtea-6824265.patch \ + patches/security/icedtea-6861062.patch \ + patches/security/icedtea-6872358.patch \ patches/icedtea-jar-misc.patch if WITH_ALT_HSBUILD diff -r 2c854193cc9d -r 15ba41d0ff2e NEWS --- a/NEWS Tue Nov 03 17:50:20 2009 +0100 +++ b/NEWS Mon Nov 09 17:42:27 2009 +0000 @@ -1,3 +1,21 @@ New in release 1.6.1: +New in release 1.6.2 (2009-11-09) +- Latest security updates: + - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) + - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) + - (CVE-2009-3881) resurrected classloaders can still have children (6636650) + - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) (6657026) + - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138) + - (CVE-2009-3880) UI logging information leakage (6664512) + - (CVE-2009-3879) GraphicsConfiguration information leak (6822057) + - (CVE-2009-3884) zoneinfo file existence information leak (6824265) + - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062) + - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968) + - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack vulnerabilities (6863503) + - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser denial of service (6864911) + - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) + - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 + - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) + New in release 1.6.1: - Fix tarball error in 1.6 - Improve jar performance, diff -r 2c854193cc9d -r 15ba41d0ff2e patches/security/icedtea-6631533.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6631533.patch Mon Nov 09 17:42:27 2009 +0000 @@ -0,0 +1,184 @@ +--- old/src/share/classes/java/awt/color/ICC_Profile.java 2009-07-29 13:31:14.948600000 +0400 ++++ openjdk/jdk/src/share/classes/java/awt/color/ICC_Profile.java 2009-07-29 13:31:14.153000000 +0400 +@@ -944,15 +944,15 @@ + * and it does not permit read access to the given file. + */ + public static ICC_Profile getInstance(String fileName) throws IOException { +- ICC_Profile thisProfile; +- FileInputStream fis; ++ ICC_Profile thisProfile; ++ FileInputStream fis = null; + +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkRead(fileName); +- } + +- if ((fis = openProfile(fileName)) == null) { ++ File f = getProfileFile(fileName); ++ if (f != null) { ++ fis = new FileInputStream(f); ++ } ++ if (fis == null) { + throw new IOException("Cannot open file " + fileName); + } + +@@ -1064,13 +1064,24 @@ + + + void activateDeferredProfile() { +- byte profileData[]; +- FileInputStream fis; +- String fileName = deferralInfo.filename; ++ byte profileData[]; ++ FileInputStream fis; ++ final String fileName = deferralInfo.filename; + + profileActivator = null; + deferralInfo = null; +- if ((fis = openProfile(fileName)) == null) { ++ PrivilegedAction pa = new PrivilegedAction() { ++ public FileInputStream run() { ++ File f = getStandardProfileFile(fileName); ++ if (f != null) { ++ try { ++ return new FileInputStream(f); ++ } catch (FileNotFoundException e) {} ++ } ++ return null; ++ } ++ }; ++ if ((fis = AccessController.doPrivileged(pa)) == null) { + throw new IllegalArgumentException("Cannot open file " + fileName); + } + try { +@@ -1765,66 +1776,88 @@ + * available, such as a profile for sRGB. Built-in profiles use .pf as + * the file name extension for profiles, e.g. sRGB.pf. + */ +- private static FileInputStream openProfile(final String fileName) { +- return (FileInputStream)java.security.AccessController.doPrivileged( +- new java.security.PrivilegedAction() { +- public Object run() { +- return privilegedOpenProfile(fileName); +- } +- }); +- } +- +- /* +- * this version is called from doPrivileged in privilegedOpenProfile. +- * the whole method is privileged! +- */ +- private static FileInputStream privilegedOpenProfile(String fileName) { +- FileInputStream fis = null; ++ private static File getProfileFile(String fileName) { + String path, dir, fullPath; + + File f = new File(fileName); /* try absolute file name */ +- ++ if (f.isAbsolute()) { ++ /* Rest of code has little sense for an absolute pathname, ++ so return here. */ ++ return f.isFile() ? f : null; ++ } + if ((!f.isFile()) && + ((path = System.getProperty("java.iccprofile.path")) != null)){ + /* try relative to java.iccprofile.path */ +- StringTokenizer st = +- new StringTokenizer(path, File.pathSeparator); +- while (st.hasMoreTokens() && (!f.isFile())) { +- dir = st.nextToken(); +- fullPath = dir + File.separatorChar + fileName; +- f = new File(fullPath); ++ StringTokenizer st = ++ new StringTokenizer(path, File.pathSeparator); ++ while (st.hasMoreTokens() && ((f == null) || (!f.isFile()))) { ++ dir = st.nextToken(); ++ fullPath = dir + File.separatorChar + fileName; ++ f = new File(fullPath); ++ if (!isChildOf(f, dir)) { ++ f = null; + } + } ++ } + +- if ((!f.isFile()) && ++ if (((f == null) || (!f.isFile())) && + ((path = System.getProperty("java.class.path")) != null)) { + /* try relative to java.class.path */ +- StringTokenizer st = +- new StringTokenizer(path, File.pathSeparator); +- while (st.hasMoreTokens() && (!f.isFile())) { +- dir = st.nextToken(); +- fullPath = dir + File.separatorChar + fileName; +- f = new File(fullPath); +- } +- } +- +- if (!f.isFile()) { /* try the directory of built-in profiles */ +- dir = System.getProperty("java.home") + +- File.separatorChar + "lib" + File.separatorChar + "cmm"; ++ StringTokenizer st = ++ new StringTokenizer(path, File.pathSeparator); ++ while (st.hasMoreTokens() && ((f == null) || (!f.isFile()))) { ++ dir = st.nextToken(); + fullPath = dir + File.separatorChar + fileName; + f = new File(fullPath); ++ if (!isChildOf(f, dir)) { ++ f = null; ++ } + } ++ } ++ if ((f == null) || (!f.isFile())) { ++ /* try the directory of built-in profiles */ ++ f = getStandardProfileFile(fileName); ++ } ++ if (f != null && f.isFile()) { ++ return f; ++ } ++ return null; ++ } + +- if (f.isFile()) { +- try { +- fis = new FileInputStream(f); +- } catch (FileNotFoundException e) { ++ /** ++ * Returns a file object corresponding to a built-in profile ++ * specified by fileName. ++ * If there is no built-in profile with such name, then the method ++ * returns null. ++ */ ++ private static File getStandardProfileFile(String fileName) { ++ String dir = System.getProperty("java.home") + ++ File.separatorChar + "lib" + File.separatorChar + "cmm"; ++ String fullPath = dir + File.separatorChar + fileName; ++ File f = new File(fullPath); ++ return (f.isFile() && isChildOf(f, dir)) ? f : null; ++ } ++ ++ /** ++ * Checks whether given file resides inside give directory. ++ */ ++ private static boolean isChildOf(File f, String dirName) { ++ try { ++ File dir = new File(dirName); ++ String canonicalDirName = dir.getCanonicalPath(); ++ if (!canonicalDirName.endsWith(File.separator)) { ++ canonicalDirName += File.separator; + } ++ String canonicalFileName = f.getCanonicalPath(); ++ return canonicalFileName.startsWith(canonicalDirName); ++ } catch (IOException e) { ++ /* we do not expect the IOException here, because invocation ++ * of this function is always preceeded by isFile() call. ++ */ ++ return false; + } +- return fis; + } + +- + /* + * Serialization support. + * diff -r 2c854193cc9d -r 15ba41d0ff2e patches/security/icedtea-6632445.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6632445.patch Mon Nov 09 17:42:27 2009 +0000 @@ -0,0 +1,103 @@ +--- old/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2009-07-28 17:06:52.144000000 +0400 ++++ openjdk/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2009-07-28 17:06:51.488000000 +0400 +@@ -62,6 +62,8 @@ + + import java.io.*; + import java.nio.*; ++import java.security.AccessController; ++import java.security.PrivilegedAction; + import java.util.ArrayList; + import java.util.Iterator; + import java.util.StringTokenizer; +@@ -502,12 +504,18 @@ + iis.reset(); + + try { +- if (metadata.colorSpace == PROFILE_LINKED) ++ if (metadata.colorSpace == PROFILE_LINKED && ++ isLinkedProfileAllowed() && ++ !isUncOrDevicePath(profile)) ++ { ++ String path = new String(profile, "windows-1252"); ++ + colorSpace = +- new ICC_ColorSpace(ICC_Profile.getInstance(new String(profile))); +- else ++ new ICC_ColorSpace(ICC_Profile.getInstance(path)); ++ } else { + colorSpace = + new ICC_ColorSpace(ICC_Profile.getInstance(profile)); ++ } + } catch (Exception e) { + colorSpace = ColorSpace.getInstance(ColorSpace.CS_sRGB); + } +@@ -1745,4 +1753,69 @@ + public void sequenceStarted(ImageReader src, int minIndex) {} + public void readAborted(ImageReader src) {} + } ++ ++ private static Boolean isLinkedProfileDisabled = null; ++ ++ private static boolean isLinkedProfileAllowed() { ++ if (isLinkedProfileDisabled == null) { ++ PrivilegedAction a = new PrivilegedAction() { ++ public Boolean run() { ++ return Boolean.getBoolean("sun.imageio.plugins.bmp.disableLinkedProfiles"); ++ } ++ }; ++ isLinkedProfileDisabled = AccessController.doPrivileged(a); ++ } ++ return !isLinkedProfileDisabled; ++ } ++ ++ private static Boolean isWindowsPlatform = null; ++ ++ /** ++ * Verifies whether the byte array contans a unc path. ++ * Non-UNC path examples: ++ * c:\path\to\file - simple notation ++ * \\?\c:\path\to\file - long notation ++ * ++ * UNC path examples: ++ * \\server\share - a UNC path in simple notation ++ * \\?\UNC\server\share - a UNC path in long notation ++ * \\.\some\device - a path to device. ++ */ ++ private static boolean isUncOrDevicePath(byte[] p) { ++ if (isWindowsPlatform == null) { ++ PrivilegedAction a = new PrivilegedAction() { ++ public Boolean run() { ++ String osname = System.getProperty("os.name"); ++ return (osname != null && ++ osname.toLowerCase().startsWith("win")); ++ } ++ }; ++ isWindowsPlatform = AccessController.doPrivileged(a); ++ } ++ ++ if (!isWindowsPlatform) { ++ /* no need for the check on platforms except windows */ ++ return false; ++ } ++ ++ /* normalize prefix of the path */ ++ if (p[0] == '/') p[0] = '\\'; ++ if (p[1] == '/') p[1] = '\\'; ++ if (p[3] == '/') p[3] = '\\'; ++ ++ ++ if ((p[0] == '\\') && (p[1] == '\\')) { ++ if ((p[2] == '?') && (p[3] == '\\')) { ++ // long path: whether unc or local ++ return ((p[4] == 'U' || p[4] == 'u') && ++ (p[5] == 'N' || p[5] == 'n') && ++ (p[6] == 'C' || p[6] == 'c')); ++ } else { ++ // device path or short unc notation ++ return true; ++ } ++ } else { ++ return false; ++ } ++ } + } diff -r 2c854193cc9d -r 15ba41d0ff2e patches/security/icedtea-6636650.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/icedtea-6636650.patch Mon Nov 09 17:42:27 2009 +0000 @@ -0,0 +1,139 @@ +--- old/src/share/classes/java/lang/ClassLoader.java Fri Jul 31 15:59:47 2009 ++++ openjdk/jdk/src/share/classes/java/lang/ClassLoader.java Fri Jul 31 15:59:46 2009 +@@ -147,11 +147,6 @@ + registerNatives(); + } + +- // If initialization succeed this is set to true and security checks will +- // succeed. Otherwise the object is not initialized and the object is +- // useless. +- private boolean initialized = false; +- + // The parent class loader for delegation + private ClassLoader parent; + +@@ -177,6 +172,18 @@ + // to its corresponding Package object. + private HashMap packages = new HashMap(); + ++ private static Void checkCreateClassLoader() { ++ SecurityManager security = System.getSecurityManager(); ++ if (security != null) { ++ security.checkCreateClassLoader(); ++ } ++ return null; ++ } ++ ++ private ClassLoader(Void unused, ClassLoader parent) { ++ this.parent = parent; ++ } ++ + /** + * Creates a new class loader using the specified parent class loader for + * delegation. +@@ -197,12 +204,7 @@ + * @since 1.2 + */ + protected ClassLoader(ClassLoader parent) { +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkCreateClassLoader(); +- } +- this.parent = parent; +- initialized = true; ++ this(checkCreateClassLoader(), parent); + } + + /** +@@ -221,15 +223,9 @@ + * of a new class loader. + */ + protected ClassLoader() { +- SecurityManager security = System.getSecurityManager(); +- if (security != null) { +- security.checkCreateClassLoader(); +- } +- this.parent = getSystemClassLoader(); +- initialized = true; ++ this(checkCreateClassLoader(), getSystemClassLoader()); + } + +- + // -- Class -- + + /** +@@ -611,7 +607,6 @@ + ProtectionDomain protectionDomain) + throws ClassFormatError + { +- check(); + protectionDomain = preDefineClass(name, protectionDomain); + + Class c = null; +@@ -693,8 +688,6 @@ + ProtectionDomain protectionDomain) + throws ClassFormatError + { +- check(); +- + int len = b.remaining(); + + // Use byte[] if not a direct ByteBufer: +@@ -842,7 +835,6 @@ + * @see #defineClass(String, byte[], int, int) + */ + protected final void resolveClass(Class c) { +- check(); + resolveClass0(c); + } + +@@ -873,7 +865,6 @@ + protected final Class findSystemClass(String name) + throws ClassNotFoundException + { +- check(); + ClassLoader system = getSystemClassLoader(); + if (system == null) { + if (!checkName(name)) +@@ -886,7 +877,6 @@ + private Class findBootstrapClass0(String name) + throws ClassNotFoundException + { +- check(); + if (!checkName(name)) + throw new ClassNotFoundException(name); + return findBootstrapClass(name); +@@ -895,13 +885,6 @@ + private native Class findBootstrapClass(String name) + throws ClassNotFoundException; + +- // Check to make sure the class loader has been initialized. +- private void check() { +- if (!initialized) { +- throw new SecurityException("ClassLoader object not initialized"); +- } +- } +- + /** + * Returns the class with the given binary name if this + * loader has been recorded by the Java virtual machine as an initiating +@@ -917,7 +900,6 @@ + * @since 1.1 + */ + protected final Class findLoadedClass(String name) { +- check(); + if (!checkName(name)) + return null; + return findLoadedClass0(name); +@@ -938,11 +920,9 @@ + * @since 1.1 From andrew at icedtea.classpath.org Mon Nov 9 14:55:19 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 09 Nov 2009 22:55:19 +0000 Subject: /hg/release/icedtea6-1.6: 2 new changesets Message-ID: changeset a2d5ec5e9724 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=a2d5ec5e9724 author: Andrew John Hughes date: Mon Nov 09 22:58:39 2009 +0000 Bump to 1.6.2, fix make dist. 2009-11-09 Andrew John Hughes * Makefile.am: Drop duplicate patch line. Make EXTRA_DIST work out of tree. * configure.ac: Bump to 1.6.2 changeset aa390e8856a1 in /hg/release/icedtea6-1.6 details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=aa390e8856a1 author: Andrew John Hughes date: Mon Nov 09 22:59:12 2009 +0000 Added tag icedtea6-1.6.2 for changeset a2d5ec5e9724 diffstat: 4 files changed, 11 insertions(+), 3 deletions(-) .hgtags | 1 + ChangeLog | 8 ++++++++ Makefile.am | 3 +-- configure.ac | 2 +- diffs (52 lines): diff -r 15ba41d0ff2e -r aa390e8856a1 .hgtags --- a/.hgtags Mon Nov 09 17:42:27 2009 +0000 +++ b/.hgtags Mon Nov 09 22:59:12 2009 +0000 @@ -28,3 +28,4 @@ d36f851f90be2ca85975c6824242874215f57d41 d36f851f90be2ca85975c6824242874215f57d41 icedtea-1.6.1-release d36f851f90be2ca85975c6824242874215f57d41 icedtea-1.6.1-release b343e04bf38fa44f52d5327d80af60b7c0705cad icedtea-1.6.1-release +a2d5ec5e9724007d1084981a69d23fbc2adb7179 icedtea6-1.6.2 diff -r 15ba41d0ff2e -r aa390e8856a1 ChangeLog --- a/ChangeLog Mon Nov 09 17:42:27 2009 +0000 +++ b/ChangeLog Mon Nov 09 22:59:12 2009 +0000 @@ -1,3 +1,11 @@ 2009-11-09 Andrew John Hughes + + * Makefile.am: + Drop duplicate patch line. + Make EXTRA_DIST work out of tree. + * configure.ac: + Bump to 1.6.2 + 2009-11-09 Andrew John Hughes * Makefile.am: diff -r 15ba41d0ff2e -r aa390e8856a1 Makefile.am --- a/Makefile.am Mon Nov 09 17:42:27 2009 +0000 +++ b/Makefile.am Mon Nov 09 22:59:12 2009 +0000 @@ -101,7 +101,7 @@ install: clean-jtreg-reports EXTRA_DIST = rt generated \ - patches/* \ + $(abs_top_srcdir)/patches/* \ tools-copy contrib ports \ extra overlays \ javaws.png javaws.desktop visualvm.desktop \ @@ -631,7 +631,6 @@ ICEDTEA_PATCHES = \ patches/security/icedtea-6864911.patch \ patches/security/icedtea-6872357.patch \ patches/security/icedtea-6874643.patch \ - patches/security/icedtea-6874643.patch \ patches/security/icedtea-6631533.patch \ patches/security/icedtea-6632445.patch \ patches/security/icedtea-6636650.patch \ diff -r 15ba41d0ff2e -r aa390e8856a1 configure.ac --- a/configure.ac Mon Nov 09 17:42:27 2009 +0000 +++ b/configure.ac Mon Nov 09 22:59:12 2009 +0000 @@ -1,4 +1,4 @@ AC_INIT([icedtea6], [1.6.1], [distro-pkg -AC_INIT([icedtea6], [1.6.1], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6], [1.6.2], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From gnu_andrew at member.fsf.org Mon Nov 9 15:12:05 2009 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 9 Nov 2009 23:12:05 +0000 Subject: IcedTea6 1.5.3 & 1.6.2 Released! Message-ID: <17c6771e0911091512v17ae19b9ge1d8c160114da4ab@mail.gmail.com> We are pleased to announce two new security releases, IcedTea6 1.5.3 and 1.6.2. The IcedTea project provides a harness to build the source code from OpenJDK6 using Free Software build tools. It also includes the only Free Java plugin and Web Start implementation, and support for additional architectures over and above x86, x86_64 and SPARC via the Zero assembler port. What?s New? ?????? - Security fixes for: ?????? (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) (CVE-2009-3881) resurrected classloaders can still have children (6636650) (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) (6657026) (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138) (CVE-2009-3880) UI logging information leakage (6664512) (CVE-2009-3879) GraphicsConfiguration information leak (6822057) (CVE-2009-3884) zoneinfo file existence information leak (6824265) (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062) (CVE-2009-3873) JPEG Image Writer quantization problem (6862968) (CVE-2009-3875) MessageDigest.isEqual introduces timing attack vulnerabilities (6863503) (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser denial of service (6864911) (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643) (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) The tarballs and 1.6 nosrc RPM can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea6-1.5.3.tar.gz * http://icedtea.classpath.org/download/source/icedtea6-1.6.2.tar.gz * http://icedtea.classpath.org/download/fedora/java-1.6.0-openjdk-1.6.0.0-30.b16.fc11.nosrc.rpm The following people helped with the 1.5 and 1.6 release series: Lillian Angel, Gary Benson, Deepak Bhole, Andrew Haley, Andrew John Hughes, Matthias Klose, Martin Matejovic, Ed Nevill, Mark Wielaard and many others. We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-1.6.2.tar.gz $ cd icedtea6-1.6.2 Full build requirements and instructions are in INSTALL: $ ./configure [--enable-visualvm --with-openjdk --enable-pulse-java --enable-systemtap ...] $ make Blog: http://blog.fuseyism.com/index.php/2009/11/09/icedtea6-153-162-released/ -- Andrew :-) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and the OpenJDK http://www.gnu.org/software/classpath http://openjdk.java.net PGP Key: 94EFD9D8 (http://subkeys.pgp.net) Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8 From andrew at icedtea.classpath.org Mon Nov 9 15:15:35 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 09 Nov 2009 23:15:35 +0000 Subject: /hg/release/icedtea6-1.5: 2 new changesets Message-ID: changeset 4a00d1ae3833 in /hg/release/icedtea6-1.5 details: http://icedtea.classpath.org/hg/release/icedtea6-1.5?cmd=changeset;node=4a00d1ae3833 author: Andrew John Hughes date: Mon Nov 09 23:19:09 2009 +0000 Bump to 1.5.3, fix make dist. 2009-11-09 Andrew John Hughes * Makefile.am: Make EXTRA_DIST work out of tree. * configure.ac: Bump to 1.5.3. changeset 3f74ae338023 in /hg/release/icedtea6-1.5 details: http://icedtea.classpath.org/hg/release/icedtea6-1.5?cmd=changeset;node=3f74ae338023 author: Andrew John Hughes date: Mon Nov 09 23:19:15 2009 +0000 Added tag icedtea6-1.5.3 for changeset 4a00d1ae3833 diffstat: 4 files changed, 10 insertions(+), 2 deletions(-) .hgtags | 1 + ChangeLog | 7 +++++++ Makefile.am | 2 +- configure.ac | 2 +- diffs (43 lines): diff -r dc4494777bad -r 3f74ae338023 .hgtags --- a/.hgtags Mon Nov 09 16:58:51 2009 +0000 +++ b/.hgtags Mon Nov 09 23:19:15 2009 +0000 @@ -17,3 +17,4 @@ ffe92bbe7e8466b323f0aedbdac4b6ecf44eafe2 ffe92bbe7e8466b323f0aedbdac4b6ecf44eafe2 icedtea6-1.5 3b93da7c778a0a5147db1eec28218a8df462161d icedtea6-1.5.1 5a75245ca41a1f9885fc2853af4c6147ef6445f4 icedtea6-1.5.2 +4a00d1ae383319dad3e380e9d2e6d2ef8d1fa801 icedtea6-1.5.3 diff -r dc4494777bad -r 3f74ae338023 ChangeLog --- a/ChangeLog Mon Nov 09 16:58:51 2009 +0000 +++ b/ChangeLog Mon Nov 09 23:19:15 2009 +0000 @@ -1,3 +1,10 @@ 2009-11-09 Andrew John Hughes + + * Makefile.am: + Make EXTRA_DIST work out of tree. + * configure.ac: + Bump to 1.5.3. + 2009-11-09 Andrew John Hughes * Makefile.am: diff -r dc4494777bad -r 3f74ae338023 Makefile.am --- a/Makefile.am Mon Nov 09 16:58:51 2009 +0000 +++ b/Makefile.am Mon Nov 09 23:19:15 2009 +0000 @@ -95,7 +95,7 @@ install: clean-jtreg-reports EXTRA_DIST = rt generated \ - patches/* \ + $(abs_top_srcdir)/patches/* \ tools-copy contrib ports \ extra overlays \ javaws.png javaws.desktop visualvm.desktop \ diff -r dc4494777bad -r 3f74ae338023 configure.ac --- a/configure.ac Mon Nov 09 16:58:51 2009 +0000 +++ b/configure.ac Mon Nov 09 23:19:15 2009 +0000 @@ -1,4 +1,4 @@ AC_INIT([icedtea6], [1.5.2], [distro-pkg -AC_INIT([icedtea6], [1.5.2], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6], [1.5.3], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From ekrichardson at gmail.com Mon Nov 9 22:06:39 2009 From: ekrichardson at gmail.com (Eric Richardson) Date: Mon, 9 Nov 2009 22:06:39 -0800 Subject: OpenJDK 6 Build 17 In-Reply-To: <20091110035915.GB42934@misty.eyesbeyond.com> References: <8fab85310911020701p7f33b0adw9d523839c028e6ef@mail.gmail.com> <8fab85310911060325s7733541fh333b6cc606e566f@mail.gmail.com> <2B932062-10BE-4ED2-97EB-7DF13148F271@ganymede.org> <20091109160241.GA35291@misty.eyesbeyond.com> <408C5B25-56BC-47B4-81E6-A184E6226DAD@ganymede.org> <4AF87DF5.9040508@sun.com> <4AF8CA2A.3000902@intricatesoftware.com> <17c6771e0911091812i7750cea7x36097f667a55989@mail.gmail.com> <20091110035915.GB42934@misty.eyesbeyond.com> Message-ID: <860cb0120911092206m3b33eba2k85728022791b05bb@mail.gmail.com> FWIW, I have been following the bsd-port and icedtea lists for awhile. I just tried compiling Icedtea on the Mac PPC with icedtea6 and icedtea (7). I know there is no direct bsd support for icedtea6 but using a modified Apple jdk5 for a bootstrap I am able to completely finish all the patching and creation of the jdk6/7 bootstraps and then the make fails as follows which is pretty much expected. I think this is actually pretty good news as there is no jdk6 for Darwin/PPC. An upstream bsd-port for jdk6 would work out of the box for icedtea6 with the proper MacOSX setup. jdk/make/common/shared/Defs.gmk:157: "WARNING: Value of ARCH cannot be empty, will use ''" jdk/make/common/shared/Defs.gmk:157: "WARNING: Value of ARCH_DATA_MODEL cannot be empty, will use ''" jdk/make/common/shared/Defs.gmk:157: "WARNING: Value of PLATFORM cannot be empty, will use ''" jdk/make/common/shared/Defs.gmk:330: jdk/make/common/shared/Defs-.gmk: No such file or directory jdk/make/common/shared/Compiler.gmk:46: jdk/make/common/shared/Compiler-.gmk: No such file or directory make[1]: *** No rule to make target `jdk/make/common/shared/Compiler-.gmk'. Stop. In icedtea (7) the build fails on the first patch. This is not completely fair as there has been a lot of changes lately so there could be a few loose ends and just the other day it made it through many patches before stopping. As mentioned before fixing all the icedtea patches is a pretty big chore especially for the uninitiated like myself. Checking patches/icedtea-version.patch The text leading up to this was: -------------------------- |--- openjdk/jdk/src/share/classes/sun/misc/Version.java.template~1~ 2008-11-25 01:04:53.000000000 -0800 |+++ openjdk/jdk/src/share/classes/sun/misc/Version.java.template 2009-02-20 09:03:25.000000000 -0800 -------------------------- No file to patch. Skipping patch. 2 out of 2 hunks ignored ERROR patch patches/icedtea-version.patch FAILED! WARNING make clean-patch before retrying a fix make: *** [stamps/patch.stamp] Error 2 I really appreciate all the work done here to make the OpenJDK more accessible, but wish I could be more help. Thanks, Eric On Mon, Nov 9, 2009 at 7:59 PM, Greg Lewis wrote: > G'day Andrew, > > On Tue, Nov 10, 2009 at 02:12:17AM +0000, Andrew John Hughes wrote: > > 2009/11/10 Kurt Miller : > > > It would be fantastic if Sun would host a mercurial repository > > > for OpenJDK6 (i.e. bsd-port6 or the like). Is there a chance that > > > Sun could set that up for us? The lack of a central repository is > > > one of the reasons I haven't worked on OpenBSD support for OpenJDK. > > > > Rather than creating a new separate tree, how about we just try and > > get the necessary changes into OpenJDK6 directly? > > Then that would give a good base to move forward on getting support in 7 > too. > > For me, the latter is the key question. How do we move forward with > getting BSD support (ultimately) into the current development tree so > we have less heavy lifting to do going forward? > > That's what I'd really like to come out of the discussion here. I think > we've been pretty good at keeping the bsd-port tree of OpenJDK7 up to date > (its currently at b75 and I'll start moving it to b76 once that tag goes > down) but we still don't seem to be any closer to getting the changes into > the main source tree than we were when we started. How do we move forward > with that? Is Sun's preferred method for us to go through OpenJDK6? That > certainly doesn't seem to have been the case for Zero, which is probably > of a similar order of disruption, but I'm open to it for the BSD patches if > there is a solid reason for doing it that way. > > Certainly its starting to get a little demotivating to me personally and > I can't help but wonder if other team members don't feel the same. > > Andrew, this isn't aimed at you at all, btw, you're just kinda touching > on a bit of a sore spot :). > > Dalibor, who needs to be involved in such a discussion and what can I do > to help move it forward? > > -- > Greg Lewis Email : glewis at eyesbeyond.com > Eyes Beyond Web : http://www.eyesbeyond.com > Information Technology FreeBSD : glewis at FreeBSD.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091109/3cbe3ddb/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Nov 10 02:48:08 2009 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Nov 2009 10:48:08 +0000 Subject: [Bug 402] New: mkbc.c are missing in make dist tarball for icedtea6 1.6.0 1.6.1 and 1.6.2. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=402 Summary: mkbc.c are missing in make dist tarball for icedtea6 1.6.0 1.6.1 and 1.6.2. Product: IcedTea Version: unspecified Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: xerxes at zafena.se Testcase: run make dist and then unpack the release tarball and try build it on ARM. Expected result: mkbc.c are present in the unpacked sources and the release tarball builds on ARM. Actual result: mkbc.c are missing! ARM builds fail. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From a.radke at arcor.de Tue Nov 10 13:25:34 2009 From: a.radke at arcor.de (Andreas Radke) Date: Tue, 10 Nov 2009 22:25:34 +0100 Subject: npplugin build fails with recent xulrunner In-Reply-To: References: Message-ID: <20091110222534.6bef28b7@laptop64.home> no comment? should I file a bug for this build issue? -Andy From mvfranz at gmail.com Tue Nov 10 15:24:43 2009 From: mvfranz at gmail.com (Michael Franz) Date: Tue, 10 Nov 2009 18:24:43 -0500 Subject: What is the status of Zero on OpenJDK 7 In-Reply-To: References: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> Message-ID: On Sun, Nov 8, 2009 at 6:55 PM, Michael Franz wrote: > So, I should be able to build on Fedora 11? I am currently getting errors > when NOT use bsd. > > g++ -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DPPC -DZERO_LIBARCH=\"ppc\" > -DPRODUCT -I. -I../generated/adfiles -I../generated/jvmtifiles > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/asm > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/c1 > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/ci > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/classfile > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/code > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/compiler > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/g1 > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/parNew > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/parallelScavenge > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_implementation/shared > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/gc_interface > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/interpreter > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/memory > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/prims > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/runtime > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/services > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/shark > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/utilities > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/cpu/zero/vm > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/os/linux/vm > -I/home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/os_cpu/linux_zero/vm > -I../generated -DHOTSPOT_RELEASE_VERSION="\"17.0-b04\"" > -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"mfranz\"" > -DHOTSPOT_LIB_ARCH=\"ppc\" -DJRE_RELEASE_VERSION="\"1.7.0_0-b75\"" > -DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DDISTRIBUTION_ID="\"Built on Fedora > release 11 (Leonidas)\"" -DSHARK -I/usr/lib/libffi-3.0.5/include > -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS > -D__STDC_CONSTANT_MACROS -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fPIC > -DSHARK_LLVM_VERSION=25 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT > -fcheck-new -m32 -pipe -g -O3 -fno-strict-aliasing -D_LP64=1 -Werror > -Wpointer-arith -Wsign-compare -c -x c++-header -c > ../generated/incls/_precompiled.incl -o incls/_precompiled.incl.gch > In file included from ../generated/incls/_precompiled.incl:52: > /home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops/klassVtable.hpp:234:1: > error: multi-line comment > /home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops/klassVtable.hpp:237:1: > error: multi-line comment > /home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops/klassVtable.hpp:240:1: > error: multi-line comment > /home/mfranz/icedtea/icedtea/openjdk-boot/hotspot/src/share/vm/oops/klassVtable.hpp:243:1: > error: multi-line comment > > I was able to get past this by upgrading to llvm 2.6 (Fedora 11 as 2.5). I see post referencing llvm 2.7. Is this going to be the required version soon? I am building on a G4 which is 32 bits, but _LP64=1 is being defined. This is causing problems as jlong is being defined incorrectly (long instead of long long). How do I unset _LP64? Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091110/44cf953e/attachment.html From andrew at icedtea.classpath.org Tue Nov 10 21:09:46 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 11 Nov 2009 05:09:46 +0000 Subject: /hg/icedtea: Use a proper target for building the Java plugin so... Message-ID: changeset a2c6e1cbc3cf in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a2c6e1cbc3cf author: Andrew John Hughes date: Wed Nov 11 05:14:10 2009 +0000 Use a proper target for building the Java plugin source, rather than copying files. 2009-11-10 Andrew John Hughes * plugin/icedtea/netscape/javascript/JSException.java, * plugin/icedtea/netscape/javascript/JSObject.java, * plugin/icedtea/netscape/javascript/JSObjectCreatePermission.java, * plugin/icedtea/netscape/javascript/JSProxy.java, * plugin/icedtea/netscape/javascript/JSRunnable.java, * plugin/icedtea/netscape/javascript/JSUtil.java, * plugin/icedtea/sun/applet/AppletSecurityContextManager.java, * plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java, * plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java, * plugin/icedtea/sun/applet/JavaConsole.java, * plugin/icedtea/sun/applet/PasswordAuthenticationDialog.java, * plugin/icedtea/sun/applet/PluginAppletSecurityContext.java, * plugin/icedtea/sun/applet/PluginAppletViewer.java, * plugin/icedtea/sun/applet/PluginCallRequest.java, * plugin/icedtea/sun/applet/PluginCallRequestFactory.java, * plugin/icedtea/sun/applet/PluginClassLoader.java, * plugin/icedtea/sun/applet/PluginCookieInfoRequest.java, * plugin/icedtea/sun/applet/PluginCookieManager.java, * plugin/icedtea/sun/applet/PluginDebug.java, * plugin/icedtea/sun/applet/PluginException.java, * plugin/icedtea/sun/applet/PluginMain.java, * plugin/icedtea/sun/applet/PluginMessageConsumer.java, * plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java, * plugin/icedtea/sun/applet/PluginObjectStore.java, * plugin/icedtea/sun/applet/PluginProxyInfoRequest.java, * plugin/icedtea/sun/applet/PluginProxySelector.java, * plugin/icedtea/sun/applet/PluginStreamHandler.java, * plugin/icedtea/sun/applet/RequestQueue.java, * plugin/icedtea/sun/applet/TestEnv.java, * plugin/icedtea/sun/applet/VoidPluginCallRequest.java: Moved to java subdirectory. * Makefile.am: Add javax/swing/plaf/basic to list of copy dirs to work around PR42003. Set LIVECONNECT_DIR to just the directories, not jar syntax. Rename NPPLUGIN_DIR to PLUGIN_DIR and add for both plugins. Add new sources patch. Set ALT_LIVECONNECT_DIST to new liveconnect build directory. (clean-local): No need to remove rt/netscape, now part of clean-liveconnect.stamp (patch.stamp): Drop plugin source file copying. (clean-patch): Remove plugin copy deletion. (icedtea.stamp): Depend on liveconnect-dist.stamp, not liveconnect.stamp. (icedtea-debug.stamp): Likewise. (icedtea-boot.stamp): Likewise. (liveconnect-source- files.txt): New target to find liveconnect source files. (liveconnect.stamp): Now builds the liveconnect source code. (liveconnect-dist.stamp): Like netx-dist.stamp, creates classes.jar and src.zip for importing Liveconnect binaries and source into the OpenJDK build. * NEWS: Add list of security updates. * patches/icedtea-liveconnect-dist.patch: Include sun/applet and import sources too. * plugin/icedtea/java/netscape/javascript/JSException.java, * plugin/icedtea/java/netscape/javascript/JSObject.java, * plugin/icedtea/java/netscape/javascript/JSObjectCreatePermission.jav a, * plugin/icedtea/java/netscape/javascript/JSProxy.java, * plugin/icedtea/java/netscape/javascript/JSRunnable.java, * plugin/icedtea/java/netscape/javascript/JSUtil.java, * plugin/icedtea/java/sun/applet/AppletSecurityContextManager.java, * plugin/icedtea/java/sun/applet/GetMemberPluginCallRequest.java, * plugin/icedtea/java/sun/applet/GetWindowPluginCallRequest.java, * plugin/icedtea/java/sun/applet/JavaConsole.java, * plugin/icedtea/java/sun/applet/PasswordAuthenticationDialog.java, * plugin/icedtea/java/sun/applet/PluginAppletSecurityContext.java, * plugin/icedtea/java/sun/applet/PluginAppletViewer.java, * plugin/icedtea/java/sun/applet/PluginCallRequest.java, * plugin/icedtea/java/sun/applet/PluginCallRequestFactory.java, * plugin/icedtea/java/sun/applet/PluginClassLoader.java, * plugin/icedtea/java/sun/applet/PluginCookieInfoRequest.java, * plugin/icedtea/java/sun/applet/PluginCookieManager.java, * plugin/icedtea/java/sun/applet/PluginDebug.java, * plugin/icedtea/java/sun/applet/PluginException.java, * plugin/icedtea/java/sun/applet/PluginMain.java, * plugin/icedtea/java/sun/applet/PluginMessageConsumer.java, * plugin/icedtea/java/sun/applet/PluginMessageHandlerWorker.java, * plugin/icedtea/java/sun/applet/PluginObjectStore.java, * plugin/icedtea/java/sun/applet/PluginProxyInfoRequest.java, * plugin/icedtea/java/sun/applet/PluginProxySelector.java, * plugin/icedtea/java/sun/applet/PluginStreamHandler.java, * plugin/icedtea/java/sun/applet/RequestQueue.java, * plugin/icedtea/java/sun/applet/TestEnv.java, * plugin/icedtea/java/sun/applet/VoidPluginCallRequest.java: Moved from plugin/icedtea. diffstat: 65 files changed, 7223 insertions(+), 7078 deletions(-) ChangeLog | 90 Makefile.am | 85 NEWS | 16 patches/icedtea-liveconnect-dist.patch | 27 patches/icedtea-sources.patch | 17 plugin/icedtea/java/netscape/javascript/JSException.java | 140 plugin/icedtea/java/netscape/javascript/JSObject.java | 290 + plugin/icedtea/java/netscape/javascript/JSObjectCreatePermission.java | 47 plugin/icedtea/java/netscape/javascript/JSProxy.java | 58 plugin/icedtea/java/netscape/javascript/JSRunnable.java | 72 plugin/icedtea/java/netscape/javascript/JSUtil.java | 59 plugin/icedtea/java/sun/applet/AppletSecurityContextManager.java | 71 plugin/icedtea/java/sun/applet/GetMemberPluginCallRequest.java | 76 plugin/icedtea/java/sun/applet/GetWindowPluginCallRequest.java | 75 plugin/icedtea/java/sun/applet/JavaConsole.java | 365 + plugin/icedtea/java/sun/applet/PasswordAuthenticationDialog.java | 241 + plugin/icedtea/java/sun/applet/PluginAppletSecurityContext.java | 1311 ++++++ plugin/icedtea/java/sun/applet/PluginAppletViewer.java | 1990 ++++++++++ plugin/icedtea/java/sun/applet/PluginCallRequest.java | 85 plugin/icedtea/java/sun/applet/PluginCallRequestFactory.java | 62 plugin/icedtea/java/sun/applet/PluginClassLoader.java | 51 plugin/icedtea/java/sun/applet/PluginCookieInfoRequest.java | 82 plugin/icedtea/java/sun/applet/PluginCookieManager.java | 88 plugin/icedtea/java/sun/applet/PluginDebug.java | 51 plugin/icedtea/java/sun/applet/PluginException.java | 53 plugin/icedtea/java/sun/applet/PluginMain.java | 319 + plugin/icedtea/java/sun/applet/PluginMessageConsumer.java | 119 plugin/icedtea/java/sun/applet/PluginMessageHandlerWorker.java | 121 plugin/icedtea/java/sun/applet/PluginObjectStore.java | 132 plugin/icedtea/java/sun/applet/PluginProxyInfoRequest.java | 85 plugin/icedtea/java/sun/applet/PluginProxySelector.java | 195 plugin/icedtea/java/sun/applet/PluginStreamHandler.java | 479 ++ plugin/icedtea/java/sun/applet/RequestQueue.java | 77 plugin/icedtea/java/sun/applet/TestEnv.java | 172 plugin/icedtea/java/sun/applet/VoidPluginCallRequest.java | 67 plugin/icedtea/netscape/javascript/JSException.java | 140 plugin/icedtea/netscape/javascript/JSObject.java | 290 - plugin/icedtea/netscape/javascript/JSObjectCreatePermission.java | 47 plugin/icedtea/netscape/javascript/JSProxy.java | 58 plugin/icedtea/netscape/javascript/JSRunnable.java | 72 plugin/icedtea/netscape/javascript/JSUtil.java | 59 plugin/icedtea/sun/applet/AppletSecurityContextManager.java | 71 plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java | 76 plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java | 75 plugin/icedtea/sun/applet/JavaConsole.java | 365 - plugin/icedtea/sun/applet/PasswordAuthenticationDialog.java | 241 - plugin/icedtea/sun/applet/PluginAppletSecurityContext.java | 1311 ------ plugin/icedtea/sun/applet/PluginAppletViewer.java | 1990 ---------- plugin/icedtea/sun/applet/PluginCallRequest.java | 85 plugin/icedtea/sun/applet/PluginCallRequestFactory.java | 62 plugin/icedtea/sun/applet/PluginClassLoader.java | 51 plugin/icedtea/sun/applet/PluginCookieInfoRequest.java | 82 plugin/icedtea/sun/applet/PluginCookieManager.java | 88 plugin/icedtea/sun/applet/PluginDebug.java | 51 plugin/icedtea/sun/applet/PluginException.java | 53 plugin/icedtea/sun/applet/PluginMain.java | 319 - plugin/icedtea/sun/applet/PluginMessageConsumer.java | 119 plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java | 121 plugin/icedtea/sun/applet/PluginObjectStore.java | 132 plugin/icedtea/sun/applet/PluginProxyInfoRequest.java | 85 plugin/icedtea/sun/applet/PluginProxySelector.java | 195 plugin/icedtea/sun/applet/PluginStreamHandler.java | 479 -- plugin/icedtea/sun/applet/RequestQueue.java | 77 plugin/icedtea/sun/applet/TestEnv.java | 172 plugin/icedtea/sun/applet/VoidPluginCallRequest.java | 67 diffs (truncated from 14724 to 500 lines): diff -r 9eb43c172d5b -r a2c6e1cbc3cf ChangeLog --- a/ChangeLog Wed Nov 04 22:07:39 2009 +0000 +++ b/ChangeLog Wed Nov 11 05:14:10 2009 +0000 @@ -1,3 +1,93 @@ 2009-11-04 Andrew John Hughes + + * plugin/icedtea/netscape/javascript/JSException.java, + * plugin/icedtea/netscape/javascript/JSObject.java, + * plugin/icedtea/netscape/javascript/JSObjectCreatePermission.java, + * plugin/icedtea/netscape/javascript/JSProxy.java, + * plugin/icedtea/netscape/javascript/JSRunnable.java, + * plugin/icedtea/netscape/javascript/JSUtil.java, + * plugin/icedtea/sun/applet/AppletSecurityContextManager.java, + * plugin/icedtea/sun/applet/GetMemberPluginCallRequest.java, + * plugin/icedtea/sun/applet/GetWindowPluginCallRequest.java, + * plugin/icedtea/sun/applet/JavaConsole.java, + * plugin/icedtea/sun/applet/PasswordAuthenticationDialog.java, + * plugin/icedtea/sun/applet/PluginAppletSecurityContext.java, + * plugin/icedtea/sun/applet/PluginAppletViewer.java, + * plugin/icedtea/sun/applet/PluginCallRequest.java, + * plugin/icedtea/sun/applet/PluginCallRequestFactory.java, + * plugin/icedtea/sun/applet/PluginClassLoader.java, + * plugin/icedtea/sun/applet/PluginCookieInfoRequest.java, + * plugin/icedtea/sun/applet/PluginCookieManager.java, + * plugin/icedtea/sun/applet/PluginDebug.java, + * plugin/icedtea/sun/applet/PluginException.java, + * plugin/icedtea/sun/applet/PluginMain.java, + * plugin/icedtea/sun/applet/PluginMessageConsumer.java, + * plugin/icedtea/sun/applet/PluginMessageHandlerWorker.java, + * plugin/icedtea/sun/applet/PluginObjectStore.java, + * plugin/icedtea/sun/applet/PluginProxyInfoRequest.java, + * plugin/icedtea/sun/applet/PluginProxySelector.java, + * plugin/icedtea/sun/applet/PluginStreamHandler.java, + * plugin/icedtea/sun/applet/RequestQueue.java, + * plugin/icedtea/sun/applet/TestEnv.java, + * plugin/icedtea/sun/applet/VoidPluginCallRequest.java: + Moved to java subdirectory. + * Makefile.am: + Add javax/swing/plaf/basic to list of copy dirs to + work around PR42003. + Set LIVECONNECT_DIR to just the directories, not + jar syntax. Rename NPPLUGIN_DIR to PLUGIN_DIR + and add for both plugins. Add new sources patch. + Set ALT_LIVECONNECT_DIST to new liveconnect build + directory. + (clean-local): No need to remove rt/netscape, now + part of clean-liveconnect.stamp + (patch.stamp): Drop plugin source file copying. + (clean-patch): Remove plugin copy deletion. + (icedtea.stamp): Depend on liveconnect-dist.stamp, + not liveconnect.stamp. + (icedtea-debug.stamp): Likewise. + (icedtea-boot.stamp): Likewise. + (liveconnect-source-files.txt): New target to find + liveconnect source files. + (liveconnect.stamp): Now builds the liveconnect source code. + (liveconnect-dist.stamp): Like netx-dist.stamp, creates + classes.jar and src.zip for importing Liveconnect binaries + and source into the OpenJDK build. + * NEWS: Add list of security updates. + * patches/icedtea-liveconnect-dist.patch: + Include sun/applet and import sources too. + * plugin/icedtea/java/netscape/javascript/JSException.java, + * plugin/icedtea/java/netscape/javascript/JSObject.java, + * plugin/icedtea/java/netscape/javascript/JSObjectCreatePermission.java, + * plugin/icedtea/java/netscape/javascript/JSProxy.java, + * plugin/icedtea/java/netscape/javascript/JSRunnable.java, + * plugin/icedtea/java/netscape/javascript/JSUtil.java, + * plugin/icedtea/java/sun/applet/AppletSecurityContextManager.java, + * plugin/icedtea/java/sun/applet/GetMemberPluginCallRequest.java, + * plugin/icedtea/java/sun/applet/GetWindowPluginCallRequest.java, + * plugin/icedtea/java/sun/applet/JavaConsole.java, + * plugin/icedtea/java/sun/applet/PasswordAuthenticationDialog.java, + * plugin/icedtea/java/sun/applet/PluginAppletSecurityContext.java, + * plugin/icedtea/java/sun/applet/PluginAppletViewer.java, + * plugin/icedtea/java/sun/applet/PluginCallRequest.java, + * plugin/icedtea/java/sun/applet/PluginCallRequestFactory.java, + * plugin/icedtea/java/sun/applet/PluginClassLoader.java, + * plugin/icedtea/java/sun/applet/PluginCookieInfoRequest.java, + * plugin/icedtea/java/sun/applet/PluginCookieManager.java, + * plugin/icedtea/java/sun/applet/PluginDebug.java, + * plugin/icedtea/java/sun/applet/PluginException.java, + * plugin/icedtea/java/sun/applet/PluginMain.java, + * plugin/icedtea/java/sun/applet/PluginMessageConsumer.java, + * plugin/icedtea/java/sun/applet/PluginMessageHandlerWorker.java, + * plugin/icedtea/java/sun/applet/PluginObjectStore.java, + * plugin/icedtea/java/sun/applet/PluginProxyInfoRequest.java, + * plugin/icedtea/java/sun/applet/PluginProxySelector.java, + * plugin/icedtea/java/sun/applet/PluginStreamHandler.java, + * plugin/icedtea/java/sun/applet/RequestQueue.java, + * plugin/icedtea/java/sun/applet/TestEnv.java, + * plugin/icedtea/java/sun/applet/VoidPluginCallRequest.java: + Moved from plugin/icedtea. + 2009-11-04 Andrew John Hughes * Makefile.am: diff -r 9eb43c172d5b -r a2c6e1cbc3cf Makefile.am --- a/Makefile.am Wed Nov 04 22:07:39 2009 +0000 +++ b/Makefile.am Wed Nov 11 05:14:10 2009 +0000 @@ -86,6 +86,7 @@ ICEDTEA_BOOTSTRAP_DIRS = \ $(JDK_SHARE)/javax/script \ $(JDK_SHARE)/javax/security/auth/kerberos \ $(JDK_SHARE)/javax/security/sasl \ + $(JDK_SHARE)/javax/swing/plaf/basic \ $(JDK_SHARE)/sun/awt/ \ $(JDK_SHARE)/sun/rmi/rmic \ $(JDK_SHARE)/sun/tools/java \ @@ -185,16 +186,17 @@ ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlu ICEDTEAPLUGIN_CLEAN = clean-IcedTeaNPPlugin ICEDTEAPLUGIN_TARGET = IcedTeaNPPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch -LIVECONNECT_DIR = -C lib/rt netscape -NPPLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp +LIVECONNECT_DIR = sun/applet netscape +PLUGIN_DIR=$(abs_top_srcdir)/plugin/icedteanp JNLP_ABOUT_TARGET = extra-lib/about.jar else if ENABLE_PLUGIN ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin ICEDTEAPLUGIN_TARGET = IcedTeaPlugin.so PLUGIN_PATCH = patches/icedtea-liveconnect.patch -LIVECONNECT_DIR = -C lib/rt netscape -JNLP_ABOUT_TARGET = extra-lib/about.jar +LIVECONNECT_DIR = sun/applet netscape +PLUGIN_DIR=$(abs_top_srcdir)/plugin/icedtea +JNLP_ABOUT_TARGET = extra-lib/about.jar else ICEDTEAPLUGIN_CLEAN = ICEDTEAPLUGIN_TARGET = @@ -321,7 +323,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-xml-encodinginfo.patch \ patches/icedtea-cc-interp-backedge.patch \ patches/icedtea-netx.patch \ - patches/icedtea-disable-intree-ec.patch + patches/icedtea-disable-intree-ec.patch \ + patches/icedtea-sources.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -480,7 +483,7 @@ ICEDTEA_ENV = \ DISTRIBUTION_ID="$(DIST_ID)" \ ALT_JIBX_LIBS_PATH="$(JIBX_DEPS_DIR)" \ ALT_NETX_DIST="$(abs_top_builddir)/netx.build" \ - ALT_LIVECONNECT_DIST="$(abs_top_builddir)" \ + ALT_LIVECONNECT_DIST="$(abs_top_builddir)/liveconnect" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" \ DISABLE_INTREE_EC="true" \ @@ -707,7 +710,6 @@ clean-local: clean-jtreg clean-jtreg-rep if [ -e lib ]; then \ rmdir lib ; \ fi - rm -rf rt/netscape rm -f jni-common.o if ADD_ZERO_BUILD rm -rf zerovm @@ -1423,19 +1425,6 @@ stamps/patch.stamp: stamps/patch-fsg.sta fi ; \ mv stamps/patch.stamp.tmp stamps/patch.stamp -if ENABLE_NPPLUGIN - cp -a $(abs_top_srcdir)/plugin/icedteanp/java/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ - mkdir -p rt - cp -a $(abs_top_srcdir)/plugin/icedteanp/java/netscape rt/ -else -if ENABLE_PLUGIN - cp -a $(abs_top_srcdir)/plugin/icedtea/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ - mkdir -p rt - cp -a $(abs_top_srcdir)/plugin/icedtea/netscape rt/ - chmod -R ug+w rt -endif -endif - clean-patch: if [ -e stamps/patch.stamp ] ; then \ all_patches_ok=yes; \ @@ -1468,11 +1457,6 @@ clean-patch: fi ; \ rm -f stamps/patch.stamp ; \ fi - rm -rf rt/netscape - for file in plugin/icedtea/sun/applet/*java ; \ - do \ - rm -f openjdk/jdk/src/share/classes/sun/applet/`basename $file` ; \ - done ; stamps/versioning.stamp: stamps/patch.stamp cp openjdk/jdk/make/common/shared/Defs.gmk Defs.gmk.bak @@ -1694,7 +1678,7 @@ stamps/icedtea.stamp: stamps/bootstrap-d stamps/icedtea.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \ stamps/download.stamp stamps/extract.stamp stamps/overlay.stamp \ stamps/plugin.stamp $(JNLP_ABOUT_TARGET) stamps/cacao.stamp \ - stamps/netx-dist.stamp stamps/liveconnect.stamp stamps/pulse-java.stamp + stamps/netx-dist.stamp stamps/liveconnect-dist.stamp stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk/ \ @@ -1704,9 +1688,9 @@ stamps/icedtea.stamp: stamps/bootstrap-d mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext mkdir -p $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext if ENABLE_NPPLUGIN - cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ + cp -pPRf $(PLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf $(NPPLUGIN_DIR)/IcedTeaNPPlugin.so \ + cp -pPRf $(PLUGIN_DIR)/IcedTeaNPPlugin.so \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) endif if ENABLE_PLUGIN @@ -1769,7 +1753,7 @@ stamps/icedtea-debug.stamp: stamps/boots stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \ stamps/download.stamp stamps/extract.stamp stamps/overlay.stamp \ stamps/plugin.stamp $(JNLP_ABOUT_TARGET) stamps/cacao.stamp \ - stamps/netx-dist.stamp stamps/liveconnect.stamp stamps/pulse-java.stamp + stamps/netx-dist.stamp stamps/liveconnect-dist.stamp stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ -C openjdk/ \ @@ -1870,7 +1854,7 @@ clean-icedtea-debug-stage2: stamps/icedtea-boot.stamp: stamps/bootstrap-directory-symlink-stage1.stamp \ stamps/download.stamp stamps/extract.stamp stamps/overlay.stamp \ - stamps/plugs.stamp stamps/netx-dist.stamp stamps/liveconnect.stamp \ + stamps/plugs.stamp stamps/netx-dist.stamp stamps/liveconnect-dist.stamp \ stamps/patch-boot.stamp stamps/cacao.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV_BOOT) \ @@ -1926,7 +1910,7 @@ NPPLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedT IcedTeaPluginUtils.o IcedTeaNPPlugin_objects: - cd $(NPPLUGIN_DIR); \ + cd $(PLUGIN_DIR); \ if [ -e $(abs_top_srcdir)/.hg ] && which $(HG) >/dev/null; then \ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{rev}')`" ; \ fi ; \ @@ -1943,7 +1927,7 @@ IcedTeaNPPlugin_objects: cd ../ IcedTeaNPPlugin.so: IcedTeaNPPlugin_objects - cd $(NPPLUGIN_DIR); \ + cd $(PLUGIN_DIR); \ $(CXX) $(CXXFLAGS) \ $(NPPLUGIN_OBJECTS) \ $(GLIB_LIBS) \ @@ -1953,7 +1937,7 @@ IcedTeaNPPlugin.so: IcedTeaNPPlugin_obje cd ../ clean-IcedTeaNPPlugin: - cd $(NPPLUGIN_DIR); \ + cd $(PLUGIN_DIR); \ rm -f *.o; \ rm -f IcedTeaNPPlugin.so; \ cd ../ @@ -1995,15 +1979,42 @@ stamps/plugin.stamp: $(ICEDTEAPLUGIN_TAR clean-plugin: $(ICEDTEAPLUGIN_CLEAN) $(ICEDTEANPPLUGIN_CLEAN) -stamps/liveconnect.stamp: stamps/rt-class-files.stamp +liveconnect-source-files.txt: if test "x${LIVECONNECT_DIR}" != x; then \ - $(ICEDTEA_BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \ + find $(PLUGIN_DIR)/java -name '*.java' | sort > $@ ; \ + fi + touch $@ + +stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp + if test "x${LIVECONNECT_DIR}" != x; then \ + mkdir -p $(abs_top_builddir)/liveconnect ; \ + $(ICEDTEA_BOOT_DIR)/bin/javac $(MEMORY_LIMIT) $(IT_JAVACFLAGS) \ + -d $(abs_top_builddir)/liveconnect \ + -classpath $(abs_top_builddir)/lib/rt:$(abs_top_builddir)/netx.build \ + -sourcepath $(SOURCEPATH_DIRS) \ + -bootclasspath \'\' \ + @liveconnect-source-files.txt ; \ + fi + mkdir -p stamps + touch $@ + +stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp + if test "x${LIVECONNECT_DIR}" != x; then \ + (cd $(abs_top_builddir)/liveconnect ; \ + mkdir -p lib ; \ + $(ICEDTEA_BOOT_DIR)/bin/jar cf lib/classes.jar ${LIVECONNECT_DIR} ; \ + cp -a $(PLUGIN_DIR)/java src; \ + find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ + cd src ; \ + $(ZIP) -qr $(abs_top_builddir)/liveconnect/lib/src.zip ${LIVECONNECT_DIR} ) ; \ fi mkdir -p stamps touch $@ clean-liveconnect: - rm -f lib/classes.jar + rm -rf $(abs_top_builddir)/liveconnect + rm -f stamps/liveconnect-dist.stamp + rm -f liveconnect-source-files.txt rm -f stamps/liveconnect.stamp # NetX @@ -2571,6 +2582,8 @@ jtreg: stamps/jtreg.stamp liveconnect: stamps/liveconnect.stamp +liveconnect-dist: stamps/liveconnect-dist.stamp + native-ecj: stamps/native-ecj.stamp nbplatform: stamps/nbplatform.stamp diff -r 9eb43c172d5b -r a2c6e1cbc3cf NEWS --- a/NEWS Wed Nov 04 22:07:39 2009 +0000 +++ b/NEWS Wed Nov 11 05:14:10 2009 +0000 @@ -15,6 +15,22 @@ New in release 1.12 (2009-XX-XX) - The Zero assembler port - JIBX is no longer required to build Nimbus. - Many bug fixes +- Latest security updates: + - (CVE-2009-3728) ICC_Profile file existence detection information leak (6631533) + - (CVE-2009-3885) BMP parsing DoS with UNC ICC links (6632445) + - (CVE-2009-3881) resurrected classloaders can still have children (6636650) + - (CVE-2009-3882) Numerous static security flaws in Swing (findbugs) (6657026) + - (CVE-2009-3883) Mutable statics in Windows PL&F (findbugs) (6657138) + - (CVE-2009-3880) UI logging information leakage (6664512) + - (CVE-2009-3879) GraphicsConfiguration information leak (6822057) + - (CVE-2009-3884) zoneinfo file existence information leak (6824265) + - (CVE-2009-2409) deprecate MD2 in SSL cert validation (Kaminsky) (6861062) + - (CVE-2009-3873) JPEG Image Writer quantization problem (6862968) + - (CVE-2009-3875) MessageDigest.isEqual introduces timing attack vulnerabilities (6863503) + - (CVE-2009-3876, CVE-2009-3877) OpenJDK ASN.1/DER input stream parser denial of service (6864911) + - (CVE-2009-3869) JRE AWT setDifflCM stack overflow (6872357) + - (CVE-2009-3874) ImageI/O JPEG heap overflow (6874643 + - (CVE-2009-3871) JRE AWT setBytePixels heap overflow (6872358) - The NSS crypto. provider may be turned on with --enable-nss if the NSS libraries and headers are available via pkg-config. - Makefile reorganisation: diff -r 9eb43c172d5b -r a2c6e1cbc3cf patches/icedtea-liveconnect-dist.patch --- a/patches/icedtea-liveconnect-dist.patch Wed Nov 04 22:07:39 2009 +0000 +++ b/patches/icedtea-liveconnect-dist.patch Wed Nov 11 05:14:10 2009 +0000 @@ -1,7 +1,7 @@ diff -Nru openjdk.orig/jdk/make/common/i diff -Nru openjdk.orig/jdk/make/common/internal/Defs-liveconnect.gmk openjdk/jdk/make/common/internal/Defs-liveconnect.gmk --- openjdk.orig/jdk/make/common/internal/Defs-liveconnect.gmk 1970-01-01 01:00:00.000000000 +0100 -+++ openjdk/jdk/make/common/internal/Defs-liveconnect.gmk 2009-05-29 16:49:35.000000000 +0100 -@@ -0,0 +1,27 @@ ++++ openjdk/jdk/make/common/internal/Defs-liveconnect.gmk 2009-11-11 02:53:36.000000000 +0000 +@@ -0,0 +1,28 @@ +# +# Copyright 2009 Red Hat, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -25,13 +25,14 @@ diff -Nru openjdk.orig/jdk/make/common/i + +# The specific packages that come from or go to rt.jar and tools.jar +IMPORT_RT_PACKAGES += \ -+ netscape/javascript ++ netscape/javascript \ ++ sun/applet + +IMPORT_TOOLS_PACKAGES += + diff -Nru openjdk.orig/jdk/make/common/internal/ImportComponents.gmk openjdk/jdk/make/common/internal/ImportComponents.gmk ---- openjdk.orig/jdk/make/common/internal/ImportComponents.gmk 2009-05-29 16:48:26.000000000 +0100 -+++ openjdk/jdk/make/common/internal/ImportComponents.gmk 2009-05-29 16:50:02.000000000 +0100 +--- openjdk.orig/jdk/make/common/internal/ImportComponents.gmk 2009-11-11 02:52:44.000000000 +0000 ++++ openjdk/jdk/make/common/internal/ImportComponents.gmk 2009-11-11 02:57:32.000000000 +0000 @@ -49,6 +49,9 @@ ifndef NETX_DIST include $(BUILDDIR)/common/internal/Defs-netx.gmk @@ -42,7 +43,15 @@ diff -Nru openjdk.orig/jdk/make/common/i # Clean up these lists so empty lists are empty IMPORT_TOOLS_PACKAGES := $(strip $(IMPORT_TOOLS_PACKAGES)) -@@ -162,6 +165,7 @@ +@@ -123,6 +126,7 @@ + $(call import-one-sources,JAXP_DIST,$1) + $(call import-one-sources,JAXWS_DIST,$1) + $(call import-one-sources,NETX_DIST,$1) ++$(call import-one-sources,LIVECONNECT_DIST,$1) + endef + + # Import all component docs into directory $1 (optional) +@@ -162,6 +166,7 @@ $(call import-one-classes,JAXP_DIST,$1) $(call import-one-classes,JAXWS_DIST,$1) $(call import-one-classes,NETX_DIST,$1) @@ -51,9 +60,9 @@ diff -Nru openjdk.orig/jdk/make/common/i # Clean up import files diff -Nru openjdk.orig/jdk/make/common/shared/Defs.gmk openjdk/jdk/make/common/shared/Defs.gmk ---- openjdk.orig/jdk/make/common/shared/Defs.gmk 2009-05-29 16:48:26.000000000 +0100 -+++ openjdk/jdk/make/common/shared/Defs.gmk 2009-05-29 16:49:35.000000000 +0100 -@@ -349,6 +349,11 @@ +--- openjdk.orig/jdk/make/common/shared/Defs.gmk 2009-11-11 02:52:44.000000000 +0000 ++++ openjdk/jdk/make/common/shared/Defs.gmk 2009-11-11 02:13:22.000000000 +0000 +@@ -365,6 +365,11 @@ else NETX_DIST = endif diff -r 9eb43c172d5b -r a2c6e1cbc3cf patches/icedtea-sources.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-sources.patch Wed Nov 11 05:14:10 2009 +0000 @@ -0,0 +1,17 @@ +diff -Nru openjdk.orig/jdk/make/common/Release.gmk openjdk/jdk/make/common/Release.gmk +--- openjdk.orig/jdk/make/common/Release.gmk 2009-11-11 03:12:50.000000000 +0000 ++++ openjdk/jdk/make/common/Release.gmk 2009-11-11 03:16:17.000000000 +0000 +@@ -313,7 +313,12 @@ + org/omg \ + org/w3c/dom \ + org/xml/sax \ +- sunw ++ sunw \ ++ sun/applet \ ++ netscape \ ++ net \ ++ javax/jnlp ++ + # + # Directories where sources may be found. If a file with the same path + # name exists in more than one of these places, the one found last on this diff -r 9eb43c172d5b -r a2c6e1cbc3cf plugin/icedtea/java/netscape/javascript/JSException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugin/icedtea/java/netscape/javascript/JSException.java Wed Nov 11 05:14:10 2009 +0000 @@ -0,0 +1,140 @@ +/* -*- Mode: Java; tab-width: 8; c-basic-offset: 4 -*- + * + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla Communicator client code, released + * March 31, 1998. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either of the GNU General Public License Version 2 or later (the "GPL"), + * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +package netscape.javascript; + +/** + * JSException is an exception which is thrown when JavaScript code + * returns an error. + */ + +public +class JSException extends RuntimeException { + public static final int EXCEPTION_TYPE_EMPTY = -1; + public static final int EXCEPTION_TYPE_VOID = 0; + public static final int EXCEPTION_TYPE_OBJECT = 1; + public static final int EXCEPTION_TYPE_FUNCTION = 2; + public static final int EXCEPTION_TYPE_STRING = 3; + public static final int EXCEPTION_TYPE_NUMBER = 4; + public static final int EXCEPTION_TYPE_BOOLEAN = 5; + public static final int EXCEPTION_TYPE_ERROR = 6; + + public String filename; + public int lineno; + public String source; + public int tokenIndex; + public int wrappedExceptionType; + public Object wrappedException; + + /** + * Constructs a JSException without a detail message. + * A detail message is a String that describes this particular exception. + * + * @deprecated Not for public use in future versions. + */ + public JSException() { + super(); + filename = "unknown"; + lineno = 0; + source = ""; + tokenIndex = 0; + wrappedExceptionType = EXCEPTION_TYPE_EMPTY; + } From andrew at icedtea.classpath.org Tue Nov 10 21:11:28 2009 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 11 Nov 2009 05:11:28 +0000 Subject: /hg/icedtea: Document icedtea-sources.patch. Message-ID: changeset 581bf37cca26 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=581bf37cca26 author: Andrew John Hughes date: Wed Nov 11 05:15:50 2009 +0000 Document icedtea-sources.patch. 2009-11-10 Andrew John Hughes * HACKING: Document icedtea-sources.patch. diffstat: 2 files changed, 7 insertions(+) ChangeLog | 6 ++++++ HACKING | 1 + diffs (31 lines): diff -r a2c6e1cbc3cf -r 581bf37cca26 ChangeLog --- a/ChangeLog Wed Nov 11 05:14:10 2009 +0000 +++ b/ChangeLog Wed Nov 11 05:15:50 2009 +0000 @@ -1,3 +1,7 @@ 2009-11-10 Andrew John Hughes + + * HACKING: Document icedtea-sources.patch. + 2009-11-10 Andrew John Hughes * plugin/icedtea/netscape/javascript/JSException.java, @@ -56,6 +60,8 @@ 2009-11-10 Andrew John Hughes =3.12.3) (PR356, S6763530). +* icedtea-sources.patch: Include netx and plugin sources in src.zip The following patches are only applied to the icedtea-ecj bootstrap tree: From gbenson at redhat.com Wed Nov 11 01:46:52 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 11 Nov 2009 09:46:52 +0000 Subject: What is the status of Zero on OpenJDK 7 In-Reply-To: References: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> Message-ID: <20091111094651.GA3256@redhat.com> Michael Franz wrote: > I was able to get past this by upgrading to llvm 2.6 (Fedora 11 as > 2.5). I see post referencing llvm 2.7. Is this going to be the > required version soon? There's no plans for that. In the past we've generally supported as many versions as developers cared about. > I am building on a G4 which is 32 bits, but _LP64=1 is being > defined. This is causing problems as jlong is being defined > incorrectly (long instead of long long). How do I unset _LP64? What does 'uname -m' say on your machine? Cheers, Gary -- http://gbenson.net/ From Tomas.Hurka at Sun.COM Wed Nov 11 01:50:41 2009 From: Tomas.Hurka at Sun.COM (Tomas Hurka) Date: Wed, 11 Nov 2009 10:50:41 +0100 Subject: VisualVM 1.2.1 and IcedTea6 Message-ID: <569184CB-5D39-4463-9274-E27AD93A2589@sun.com> Hi All, attached is a patch to include the latest version (1.2.1) of VisualVM in IcedTea6. Can somebody commit these changes for me? Thanks, -- Tomas Hurka NetBeans Profiler http://profiler.netbeans.org VisualVM http://visualvm.dev.java.net Software Engineer, Developer Platforms Group Sun Microsystems, Praha Czech Republic -------------- next part -------------- A non-text attachment was scrubbed... Name: visualvm_121.patch Type: application/octet-stream Size: 1912 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091111/4927a33d/attachment.obj -------------- next part -------------- From gbenson at icedtea.classpath.org Wed Nov 11 02:25:48 2009 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Wed, 11 Nov 2009 10:25:48 +0000 Subject: /hg/icedtea6: 2009-11-11 Gary Benson Message-ID: changeset b078cdccad9c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b078cdccad9c author: Gary Benson date: Wed Nov 11 10:30:19 2009 +0000 2009-11-11 Gary Benson * ports/hotspot/src/cpu/zero/vm/entry_zero.hpp (ZeroEntry::entry_point): Inlined. (ZeroEntry::invoke): Likewise. (ZeroEntry::invoke_osr): Likewise. diffstat: 2 files changed, 10 insertions(+), 3 deletions(-) ChangeLog | 7 +++++++ ports/hotspot/src/cpu/zero/vm/entry_zero.hpp | 6 +++--- diffs (39 lines): diff -r ff96e96a485b -r b078cdccad9c ChangeLog --- a/ChangeLog Mon Nov 09 13:07:15 2009 +0100 +++ b/ChangeLog Wed Nov 11 10:30:19 2009 +0000 @@ -1,3 +1,10 @@ 2009-11-09 Xerxes R??nby + + * ports/hotspot/src/cpu/zero/vm/entry_zero.hpp + (ZeroEntry::entry_point): Inlined. + (ZeroEntry::invoke): Likewise. + (ZeroEntry::invoke_osr): Likewise. + 2009-11-09 Xerxes R??nby * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp, diff -r ff96e96a485b -r b078cdccad9c ports/hotspot/src/cpu/zero/vm/entry_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/entry_zero.hpp Mon Nov 09 13:07:15 2009 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/entry_zero.hpp Wed Nov 11 10:30:19 2009 +0000 @@ -33,7 +33,7 @@ class ZeroEntry { address _entry_point; public: - address entry_point() const { + inline address entry_point() const { return _entry_point; } void set_entry_point(address entry_point) { @@ -50,10 +50,10 @@ class ZeroEntry { TRAPS); public: - void invoke(methodOop method, TRAPS) const { + inline void invoke(methodOop method, TRAPS) const { ((NormalEntryFunc) entry_point())(method, (intptr_t) this, THREAD); } - void invoke_osr(methodOop method, address osr_buf, TRAPS) const { + inline void invoke_osr(methodOop method, address osr_buf, TRAPS) const { ((OSREntryFunc) entry_point())(method, osr_buf, (intptr_t) this, THREAD); } From gbenson at icedtea.classpath.org Wed Nov 11 02:29:32 2009 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Wed, 11 Nov 2009 10:29:32 +0000 Subject: /hg/icedtea6: 2009-11-11 Gary Benson Message-ID: changeset 3adabf9ea7ef in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3adabf9ea7ef author: Gary Benson date: Wed Nov 11 10:34:05 2009 +0000 2009-11-11 Gary Benson * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp (frame::is_fake_stub_frame): Removed. (frame::sender_for_fake_stub_frame): Likewise. (frame::sender_for_nonentry_frame): New method. * ports/hotspot/src/cpu/zero/vm/frame_zero.cpp (frame::is_fake_stub_frame): Removed. (frame::sender_for_fake_stub_frame): Likewise. (frame::sender_for_nonentry_frame): New method. (frame::sender): Refactored. diffstat: 3 files changed, 16 insertions(+), 28 deletions(-) ChangeLog | 12 +++++++++++ ports/hotspot/src/cpu/zero/vm/frame_zero.cpp | 27 ++------------------------ ports/hotspot/src/cpu/zero/vm/frame_zero.hpp | 5 ---- diffs (85 lines): diff -r b078cdccad9c -r 3adabf9ea7ef ChangeLog --- a/ChangeLog Wed Nov 11 10:30:19 2009 +0000 +++ b/ChangeLog Wed Nov 11 10:34:05 2009 +0000 @@ -1,3 +1,15 @@ 2009-11-11 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp + (frame::is_fake_stub_frame): Removed. + (frame::sender_for_fake_stub_frame): Likewise. + (frame::sender_for_nonentry_frame): New method. + * ports/hotspot/src/cpu/zero/vm/frame_zero.cpp + (frame::is_fake_stub_frame): Removed. + (frame::sender_for_fake_stub_frame): Likewise. + (frame::sender_for_nonentry_frame): New method. + (frame::sender): Refactored. + 2009-11-11 Gary Benson * ports/hotspot/src/cpu/zero/vm/entry_zero.hpp diff -r b078cdccad9c -r 3adabf9ea7ef ports/hotspot/src/cpu/zero/vm/frame_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/frame_zero.cpp Wed Nov 11 10:30:19 2009 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/frame_zero.cpp Wed Nov 11 10:34:05 2009 +0000 @@ -34,10 +34,6 @@ void RegisterMap::check_location_valid() bool frame::is_interpreted_frame() const { return zeroframe()->is_interpreter_frame(); -} - -bool frame::is_fake_stub_frame() const { - return zeroframe()->is_fake_stub_frame(); } frame frame::sender_for_entry_frame(RegisterMap *map) const { @@ -50,15 +46,7 @@ frame frame::sender_for_entry_frame(Regi return frame(sender_sp(), sp() + 1); } -frame frame::sender_for_interpreter_frame(RegisterMap *map) const { - return frame(sender_sp(), sp() + 1); -} - -frame frame::sender_for_compiled_frame(RegisterMap *map) const { - return frame(sender_sp(), sp() + 1); -} - -frame frame::sender_for_fake_stub_frame(RegisterMap *map) const { +frame frame::sender_for_nonentry_frame(RegisterMap *map) const { return frame(sender_sp(), sp() + 1); } @@ -69,17 +57,8 @@ frame frame::sender(RegisterMap* map) co if (is_entry_frame()) return sender_for_entry_frame(map); - - if (is_interpreted_frame()) - return sender_for_interpreter_frame(map); - - if (is_compiled_frame()) - return sender_for_compiled_frame(map); - - if (is_fake_stub_frame()) - return sender_for_fake_stub_frame(map); - - ShouldNotReachHere(); + else + return sender_for_nonentry_frame(map); } #ifdef CC_INTERP diff -r b078cdccad9c -r 3adabf9ea7ef ports/hotspot/src/cpu/zero/vm/frame_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/frame_zero.hpp Wed Nov 11 10:30:19 2009 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/frame_zero.hpp Wed Nov 11 10:34:05 2009 +0000 @@ -65,10 +65,7 @@ } public: - bool is_fake_stub_frame() const; - - public: - frame sender_for_fake_stub_frame(RegisterMap* map) const; + frame sender_for_nonentry_frame(RegisterMap* map) const; public: void zero_print_on_error(int index, From mvfranz at gmail.com Wed Nov 11 05:46:36 2009 From: mvfranz at gmail.com (Michael Franz) Date: Wed, 11 Nov 2009 08:46:36 -0500 Subject: What is the status of Zero on OpenJDK 7 In-Reply-To: <20091111094651.GA3256@redhat.com> References: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> <20091111094651.GA3256@redhat.com> Message-ID: On Wed, Nov 11, 2009 at 4:46 AM, Gary Benson wrote: > Michael Franz wrote: > > I was able to get past this by upgrading to llvm 2.6 (Fedora 11 as > > 2.5). I see post referencing llvm 2.7. Is this going to be the > > required version soon? > > There's no plans for that. In the past we've generally supported as > many versions as developers cared about. > > > I am building on a G4 which is 32 bits, but _LP64=1 is being > > defined. This is causing problems as jlong is being defined > > incorrectly (long instead of long long). How do I unset _LP64? > > What does 'uname -m' say on your machine? > > uname -m ppc I was able to get the build to progress by setting ARCH_DATA_MODEL=32 before calling make. I did this since there didn't seem to be a case where the ARCH was equal to ppc and it then defaults to 64. Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091111/2ba720c1/attachment.html From gbenson at redhat.com Wed Nov 11 05:55:01 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 11 Nov 2009 13:55:01 +0000 Subject: What is the status of Zero on OpenJDK 7 In-Reply-To: References: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> <20091111094651.GA3256@redhat.com> Message-ID: <20091111135501.GC3256@redhat.com> Michael Franz wrote: > On Wed, Nov 11, 2009 at 4:46 AM, Gary Benson wrote: > > Michael Franz wrote: > > > I was able to get past this by upgrading to llvm 2.6 (Fedora 11 as > > > 2.5). I see post referencing llvm 2.7. Is this going to be the > > > required version soon? > > > > There's no plans for that. In the past we've generally supported as > > many versions as developers cared about. > > > > > I am building on a G4 which is 32 bits, but _LP64=1 is being > > > defined. This is causing problems as jlong is being defined > > > incorrectly (long instead of long long). How do I unset _LP64? > > > > What does 'uname -m' say on your machine? > > > > uname -m > > ppc > > I was able to get the build to progress by setting ARCH_DATA_MODEL=32 > before calling make. I did this since there didn't seem to be a case > where the ARCH was equal to ppc and it then defaults to 64. Interesting. Is this with IcedTea7? Cheers, Gary -- http://gbenson.net/ From gbenson at redhat.com Wed Nov 11 05:56:58 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 11 Nov 2009 13:56:58 +0000 Subject: Zero tweak Message-ID: <20091111135658.GD3256@redhat.com> Hi all, This commit inlines a couple of methods in Zero. I had thought that declaring methods in the header file caused them to be automatically inlined, but apparently that isn't the case. There are probably more methods that could benefit from this; I only noticed these because you end up with two frames for every Java call in gdb. Cheers, Gary -- http://gbenson.net/ -------------- next part -------------- diff -r ff96e96a485b -r b078cdccad9c ChangeLog --- a/ChangeLog Mon Nov 09 13:07:15 2009 +0100 +++ b/ChangeLog Wed Nov 11 10:30:19 2009 +0000 @@ -1,3 +1,10 @@ +2009-11-11 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/entry_zero.hpp + (ZeroEntry::entry_point): Inlined. + (ZeroEntry::invoke): Likewise. + (ZeroEntry::invoke_osr): Likewise. + 2009-11-09 Xerxes R?nby * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp, diff -r ff96e96a485b -r b078cdccad9c ports/hotspot/src/cpu/zero/vm/entry_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/entry_zero.hpp Mon Nov 09 13:07:15 2009 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/entry_zero.hpp Wed Nov 11 10:30:19 2009 +0000 @@ -33,7 +33,7 @@ address _entry_point; public: - address entry_point() const { + inline address entry_point() const { return _entry_point; } void set_entry_point(address entry_point) { @@ -50,10 +50,10 @@ TRAPS); public: - void invoke(methodOop method, TRAPS) const { + inline void invoke(methodOop method, TRAPS) const { ((NormalEntryFunc) entry_point())(method, (intptr_t) this, THREAD); } - void invoke_osr(methodOop method, address osr_buf, TRAPS) const { + inline void invoke_osr(methodOop method, address osr_buf, TRAPS) const { ((OSREntryFunc) entry_point())(method, osr_buf, (intptr_t) this, THREAD); } From gbenson at redhat.com Wed Nov 11 06:00:55 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 11 Nov 2009 14:00:55 +0000 Subject: Zero stack walker tweak Message-ID: <20091111140054.GE3256@redhat.com> Hi all, This commit combines the handling of most of the different types of frame you get with Zero and Shark. The old method mirrors how it's done for the architecture-specific HotSpot ports, but it's unnecessary with Zero. I balked at adding yet another unnecessary special case to handle Shark-compiled JNI method wrappers... Cheers, Gary -- http://gbenson.net/ -------------- next part -------------- diff -r b078cdccad9c -r 3adabf9ea7ef ChangeLog --- a/ChangeLog Wed Nov 11 10:30:19 2009 +0000 +++ b/ChangeLog Wed Nov 11 10:34:05 2009 +0000 @@ -1,3 +1,15 @@ +2009-11-11 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp + (frame::is_fake_stub_frame): Removed. + (frame::sender_for_fake_stub_frame): Likewise. + (frame::sender_for_nonentry_frame): New method. + * ports/hotspot/src/cpu/zero/vm/frame_zero.cpp + (frame::is_fake_stub_frame): Removed. + (frame::sender_for_fake_stub_frame): Likewise. + (frame::sender_for_nonentry_frame): New method. + (frame::sender): Refactored. + 2009-11-11 Gary Benson * ports/hotspot/src/cpu/zero/vm/entry_zero.hpp diff -r b078cdccad9c -r 3adabf9ea7ef ports/hotspot/src/cpu/zero/vm/frame_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/frame_zero.cpp Wed Nov 11 10:30:19 2009 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/frame_zero.cpp Wed Nov 11 10:34:05 2009 +0000 @@ -36,10 +36,6 @@ return zeroframe()->is_interpreter_frame(); } -bool frame::is_fake_stub_frame() const { - return zeroframe()->is_fake_stub_frame(); -} - frame frame::sender_for_entry_frame(RegisterMap *map) const { assert(map != NULL, "map must be set"); assert(!entry_frame_is_first(), "next Java fp must be non zero"); @@ -50,15 +46,7 @@ return frame(sender_sp(), sp() + 1); } -frame frame::sender_for_interpreter_frame(RegisterMap *map) const { - return frame(sender_sp(), sp() + 1); -} - -frame frame::sender_for_compiled_frame(RegisterMap *map) const { - return frame(sender_sp(), sp() + 1); -} - -frame frame::sender_for_fake_stub_frame(RegisterMap *map) const { +frame frame::sender_for_nonentry_frame(RegisterMap *map) const { return frame(sender_sp(), sp() + 1); } @@ -69,17 +57,8 @@ if (is_entry_frame()) return sender_for_entry_frame(map); - - if (is_interpreted_frame()) - return sender_for_interpreter_frame(map); - - if (is_compiled_frame()) - return sender_for_compiled_frame(map); - - if (is_fake_stub_frame()) - return sender_for_fake_stub_frame(map); - - ShouldNotReachHere(); + else + return sender_for_nonentry_frame(map); } #ifdef CC_INTERP diff -r b078cdccad9c -r 3adabf9ea7ef ports/hotspot/src/cpu/zero/vm/frame_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/frame_zero.hpp Wed Nov 11 10:30:19 2009 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/frame_zero.hpp Wed Nov 11 10:34:05 2009 +0000 @@ -65,10 +65,7 @@ } public: - bool is_fake_stub_frame() const; - - public: - frame sender_for_fake_stub_frame(RegisterMap* map) const; + frame sender_for_nonentry_frame(RegisterMap* map) const; public: void zero_print_on_error(int index, From gbenson at redhat.com Wed Nov 11 06:03:45 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 11 Nov 2009 14:03:45 +0000 Subject: Shark tweak Message-ID: <20091111140345.GF3256@redhat.com> Hi all, SharkType had two methods for referring to objects which represent an oop in the JVM: oop_type and jobject_type. HotSpot has C types called oop and jobject, and I thought they were synonymous, but they aren't; everything in Shark is an oop and not a jobject. This commit removes all references to jobject from Shark for clarity. Cheers, Gary -- http://gbenson.net/ -------------- next part -------------- diff -r 3adabf9ea7ef -r 79079fb4d3b4 ChangeLog --- a/ChangeLog Wed Nov 11 10:34:05 2009 +0000 +++ b/ChangeLog Wed Nov 11 13:52:48 2009 +0000 @@ -1,3 +1,32 @@ +2009-11-11 Gary Benson + + * ports/hotspot/src/share/vm/shark/sharkType.hpp + (SharkType::jobject_type): Removed. + + * ports/hotspot/src/share/vm/shark/llvmValue.hpp + (LLVMValue::null): Use SharkType::oop_type() instead of + SharkType::jobject_type(). + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::CreateInlineOop): Likewise. + * ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp + (SharkIntrinsics::do_Object_getClass): Likewise. + (SharkIntrinsics::do_Thread_currentThread): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp + (SharkTopLevelBlock::pending_exception_address): Likewise. + (SharkTopLevelBlock::get_vm_result): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::call_register_finalizer): Likewise. + (SharkTopLevelBlock::get_virtual_callee): Likewise. + (SharkTopLevelBlock::get_interface_callee): Likewise. + (SharkTopLevelBlock::do_full_instance_check): Likewise. + (SharkTopLevelBlock::do_new): Likewise. + * ports/hotspot/src/share/vm/shark/sharkType.cpp + (SharkType::initialize): Likewise. + * ports/hotspot/src/share/vm/shark/sharkValue.hpp + (SharkValue::create_jobject): Likewise. + * ports/hotspot/src/share/vm/shark/sharkValue.cpp + (SharkNormalValue::is_jobject): Likewise. + 2009-11-11 Gary Benson * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/llvmValue.hpp --- a/ports/hotspot/src/share/vm/shark/llvmValue.hpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/llvmValue.hpp Wed Nov 11 13:52:48 2009 +0000 @@ -55,7 +55,7 @@ } static llvm::ConstantPointerNull* null() { - return llvm::ConstantPointerNull::get(SharkType::jobject_type()); + return llvm::ConstantPointerNull::get(SharkType::oop_type()); } public: diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -577,7 +577,7 @@ return CreateLoad( CreateIntToPtr( code_buffer_address(code_buffer()->inline_oop(object)), - PointerType::getUnqual(SharkType::jobject_type())), + PointerType::getUnqual(SharkType::oop_type())), name); } diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp --- a/ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -212,7 +212,7 @@ Value *klass = builder()->CreateValueOfStructEntry( state()->pop()->jobject_value(), in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "klass"); Value *klass_part = builder()->CreateAddressOfStructEntry( @@ -246,7 +246,7 @@ SharkValue::create_jobject( builder()->CreateValueOfStructEntry( thread(), JavaThread::threadObj_offset(), - SharkType::jobject_type(), + SharkType::oop_type(), "threadObj"), true)); } diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -580,7 +580,7 @@ Value *klass = builder()->CreateValueOfStructEntry( receiver, in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "klass"); Value *klass_part = builder()->CreateAddressOfStructEntry( @@ -956,7 +956,7 @@ Value *klass = builder()->CreateValueOfStructEntry( receiver->jobject_value(), in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "klass"); return builder()->CreateLoad( @@ -981,7 +981,7 @@ // Locate the receiver's itable Value *object_klass = builder()->CreateValueOfStructEntry( receiver->jobject_value(), in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "object_klass"); Value *vtable_start = builder()->CreateAdd( @@ -1028,7 +1028,7 @@ Value *itable_iklass = builder()->CreateValueOfStructEntry( itable_entry, in_ByteSize(itableOffsetEntry::interface_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "itable_iklass"); builder()->CreateCondBr( @@ -1328,7 +1328,7 @@ // Get the class of the object being tested Value *object_klass = builder()->CreateValueOfStructEntry( object, in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "object_klass"); // Perform the check @@ -1486,7 +1486,7 @@ builder()->SetInsertPoint(got_tlab); tlab_object = builder()->CreateIntToPtr( - old_top, SharkType::jobject_type(), "tlab_object"); + old_top, SharkType::oop_type(), "tlab_object"); builder()->CreateStore(new_top, top_addr); builder()->CreateBr(initialize); @@ -1519,7 +1519,7 @@ builder()->SetInsertPoint(got_heap); heap_object = builder()->CreateIntToPtr( - old_top, SharkType::jobject_type(), "heap_object"); + old_top, SharkType::oop_type(), "heap_object"); Value *check = builder()->CreateCmpxchgPtr(new_top, top_addr, old_top); builder()->CreateCondBr( @@ -1530,7 +1530,7 @@ builder()->SetInsertPoint(initialize); if (tlab_object) { PHINode *phi = builder()->CreatePHI( - SharkType::jobject_type(), "fast_object"); + SharkType::oop_type(), "fast_object"); phi->addIncoming(tlab_object, got_tlab); phi->addIncoming(heap_object, got_heap); fast_object = phi; @@ -1553,7 +1553,7 @@ Value *klass_addr = builder()->CreateAddressOfStructEntry( fast_object, in_ByteSize(oopDesc::klass_offset_in_bytes()), - PointerType::getUnqual(SharkType::jobject_type()), + PointerType::getUnqual(SharkType::oop_type()), "klass_addr"); // Set the mark @@ -1590,7 +1590,7 @@ builder()->SetInsertPoint(push_object); } if (fast_object) { - PHINode *phi = builder()->CreatePHI(SharkType::jobject_type(), "object"); + PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "object"); phi->addIncoming(fast_object, got_fast); phi->addIncoming(slow_object, got_slow); object = phi; diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Wed Nov 11 13:52:48 2009 +0000 @@ -245,7 +245,7 @@ { return builder()->CreateAddressOfStructEntry( thread(), Thread::pending_exception_offset(), - llvm::PointerType::getUnqual(SharkType::jobject_type()), + llvm::PointerType::getUnqual(SharkType::oop_type()), "pending_exception_addr"); } llvm::LoadInst* get_pending_exception() const @@ -349,7 +349,7 @@ { llvm::Value *addr = builder()->CreateAddressOfStructEntry( thread(), JavaThread::vm_result_offset(), - llvm::PointerType::getUnqual(SharkType::jobject_type()), + llvm::PointerType::getUnqual(SharkType::oop_type()), "vm_result_addr"); llvm::LoadInst *result = builder()->CreateLoad(addr, "vm_result"); builder()->CreateStore(LLVMValue::null(), addr); diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkType.cpp --- a/ports/hotspot/src/share/vm/shark/sharkType.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkType.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -168,8 +168,8 @@ case T_OBJECT: case T_ARRAY: - _to_stackType_tab[i] = jobject_type(); - _to_arrayType_tab[i] = jobject_type(); + _to_stackType_tab[i] = oop_type(); + _to_arrayType_tab[i] = oop_type(); break; case T_ADDRESS: diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkType.hpp --- a/ports/hotspot/src/share/vm/shark/sharkType.hpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkType.hpp Wed Nov 11 13:52:48 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -161,10 +161,6 @@ return llvm::Type::DoubleTy; #endif } - static const llvm::PointerType* jobject_type() - { - return oop_type(); - } // Java types as they appear on the stack and in fields private: diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkValue.cpp --- a/ports/hotspot/src/share/vm/shark/sharkValue.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkValue.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -151,7 +151,7 @@ } bool SharkNormalValue::is_jobject() const { - return llvm_value()->getType() == SharkType::jobject_type(); + return llvm_value()->getType() == SharkType::oop_type(); } bool SharkNormalValue::is_jarray() const { diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkValue.hpp --- a/ports/hotspot/src/share/vm/shark/sharkValue.hpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkValue.hpp Wed Nov 11 13:52:48 2009 +0000 @@ -118,7 +118,7 @@ } static SharkValue* create_jobject(llvm::Value* value, bool zero_checked) { - assert(value->getType() == SharkType::jobject_type(), "should be"); + assert(value->getType() == SharkType::oop_type(), "should be"); return create_generic(ciType::make(T_OBJECT), value, zero_checked); } From mvfranz at gmail.com Wed Nov 11 06:03:53 2009 From: mvfranz at gmail.com (Michael Franz) Date: Wed, 11 Nov 2009 09:03:53 -0500 Subject: What is the status of Zero on OpenJDK 7 In-Reply-To: <20091111135501.GC3256@redhat.com> References: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> <20091111094651.GA3256@redhat.com> <20091111135501.GC3256@redhat.com> Message-ID: On Wed, Nov 11, 2009 at 8:55 AM, Gary Benson wrote: > Michael Franz wrote: > > On Wed, Nov 11, 2009 at 4:46 AM, Gary Benson wrote: > > > Michael Franz wrote: > > > > I was able to get past this by upgrading to llvm 2.6 (Fedora 11 as > > > > 2.5). I see post referencing llvm 2.7. Is this going to be the > > > > required version soon? > > > > > > There's no plans for that. In the past we've generally supported as > > > many versions as developers cared about. > > > > > > > I am building on a G4 which is 32 bits, but _LP64=1 is being > > > > defined. This is causing problems as jlong is being defined > > > > incorrectly (long instead of long long). How do I unset _LP64? > > > > > > What does 'uname -m' say on your machine? > > > > > > uname -m > > > > ppc > > > > I was able to get the build to progress by setting ARCH_DATA_MODEL=32 > > before calling make. I did this since there didn't seem to be a case > > where the ARCH was equal to ppc and it then defaults to 64. > > Interesting. Is this with IcedTea7? > > Yes, It is current TIP as of a few days ago. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20091111/9a531ed8/attachment.html From gbenson at redhat.com Wed Nov 11 06:09:40 2009 From: gbenson at redhat.com (Gary Benson) Date: Wed, 11 Nov 2009 14:09:40 +0000 Subject: What is the status of Zero on OpenJDK 7 In-Reply-To: References: <17c6771e0911081549j36e06285j6645a8c56e2a774@mail.gmail.com> <20091111094651.GA3256@redhat.com> <20091111135501.GC3256@redhat.com> Message-ID: <20091111140940.GG3256@redhat.com> Michael Franz wrote: > On Wed, Nov 11, 2009 at 8:55 AM, Gary Benson wrote: > > Michael Franz wrote: > > > On Wed, Nov 11, 2009 at 4:46 AM, Gary Benson wrote: > > > > Michael Franz wrote: > > > > > I am building on a G4 which is 32 bits, but _LP64=1 is being > > > > > defined. This is causing problems as jlong is being defined > > > > > incorrectly (long instead of long long). How do I unset > > > > > _LP64? > > > > > > > > What does 'uname -m' say on your machine? > > > > > > > > uname -m > > > > > > ppc > > > > > > I was able to get the build to progress by setting > > > ARCH_DATA_MODEL=32 before calling make. I did this since there > > > didn't seem to be a case where the ARCH was equal to ppc and it > > > then defaults to 64. > > > > Interesting. Is this with IcedTea7? > > > > Yes, It is current TIP as of a few days ago. Ah, it looks like it hasn't been updated with the different environment variables that the upstreamed Zero requires. I'll fix it... Cheers, Gary -- http://gbenson.net/ From gbenson at icedtea.classpath.org Wed Nov 11 06:07:12 2009 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Wed, 11 Nov 2009 14:07:12 +0000 Subject: /hg/icedtea6: 2009-11-11 Gary Benson Message-ID: changeset 79079fb4d3b4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=79079fb4d3b4 author: Gary Benson date: Wed Nov 11 13:52:48 2009 +0000 2009-11-11 Gary Benson * ports/hotspot/src/share/vm/shark/sharkType.hpp (SharkType::jobject_type): Removed. * ports/hotspot/src/share/vm/shark/llvmValue.hpp (LLVMValue::null): Use SharkType::oop_type() instead of SharkType::jobject_type(). * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp (SharkBuilder::CreateInlineOop): Likewise. * ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp (SharkIntrinsics::do_Object_getClass): Likewise. (SharkIntrinsics::do_Thread_currentThread): Likewise. * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp (SharkTopLevelBlock::pending_exception_address): Likewise. (SharkTopLevelBlock::get_vm_result): Likewise. * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp (SharkTopLevelBlock::call_register_finalizer): Likewise. (SharkTopLevelBlock::get_virtual_callee): Likewise. (SharkTopLevelBlock::get_interface_callee): Likewise. (SharkTopLevelBlock::do_full_instance_check): Likewise. (SharkTopLevelBlock::do_new): Likewise. * ports/hotspot/src/share/vm/shark/sharkType.cpp (SharkType::initialize): Likewise. * ports/hotspot/src/share/vm/shark/sharkValue.hpp (SharkValue::create_jobject): Likewise. * ports/hotspot/src/share/vm/shark/sharkValue.cpp (SharkNormalValue::is_jobject): Likewise. diffstat: 10 files changed, 50 insertions(+), 25 deletions(-) ChangeLog | 29 +++++++++++++++ ports/hotspot/src/share/vm/shark/llvmValue.hpp | 2 - ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 2 - ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp | 4 +- ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 20 +++++----- ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp | 4 +- ports/hotspot/src/share/vm/shark/sharkType.cpp | 4 +- ports/hotspot/src/share/vm/shark/sharkType.hpp | 6 --- ports/hotspot/src/share/vm/shark/sharkValue.cpp | 2 - ports/hotspot/src/share/vm/shark/sharkValue.hpp | 2 - diffs (255 lines): diff -r 3adabf9ea7ef -r 79079fb4d3b4 ChangeLog --- a/ChangeLog Wed Nov 11 10:34:05 2009 +0000 +++ b/ChangeLog Wed Nov 11 13:52:48 2009 +0000 @@ -1,3 +1,32 @@ 2009-11-11 Gary Benson + + * ports/hotspot/src/share/vm/shark/sharkType.hpp + (SharkType::jobject_type): Removed. + + * ports/hotspot/src/share/vm/shark/llvmValue.hpp + (LLVMValue::null): Use SharkType::oop_type() instead of + SharkType::jobject_type(). + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::CreateInlineOop): Likewise. + * ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp + (SharkIntrinsics::do_Object_getClass): Likewise. + (SharkIntrinsics::do_Thread_currentThread): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp + (SharkTopLevelBlock::pending_exception_address): Likewise. + (SharkTopLevelBlock::get_vm_result): Likewise. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::call_register_finalizer): Likewise. + (SharkTopLevelBlock::get_virtual_callee): Likewise. + (SharkTopLevelBlock::get_interface_callee): Likewise. + (SharkTopLevelBlock::do_full_instance_check): Likewise. + (SharkTopLevelBlock::do_new): Likewise. + * ports/hotspot/src/share/vm/shark/sharkType.cpp + (SharkType::initialize): Likewise. + * ports/hotspot/src/share/vm/shark/sharkValue.hpp + (SharkValue::create_jobject): Likewise. + * ports/hotspot/src/share/vm/shark/sharkValue.cpp + (SharkNormalValue::is_jobject): Likewise. + 2009-11-11 Gary Benson * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/llvmValue.hpp --- a/ports/hotspot/src/share/vm/shark/llvmValue.hpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/llvmValue.hpp Wed Nov 11 13:52:48 2009 +0000 @@ -55,7 +55,7 @@ class LLVMValue : public AllStatic { } static llvm::ConstantPointerNull* null() { - return llvm::ConstantPointerNull::get(SharkType::jobject_type()); + return llvm::ConstantPointerNull::get(SharkType::oop_type()); } public: diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkBuilder.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -577,7 +577,7 @@ Value* SharkBuilder::CreateInlineOop(ciO return CreateLoad( CreateIntToPtr( code_buffer_address(code_buffer()->inline_oop(object)), - PointerType::getUnqual(SharkType::jobject_type())), + PointerType::getUnqual(SharkType::oop_type())), name); } diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp --- a/ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -212,7 +212,7 @@ void SharkIntrinsics::do_Object_getClass Value *klass = builder()->CreateValueOfStructEntry( state()->pop()->jobject_value(), in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "klass"); Value *klass_part = builder()->CreateAddressOfStructEntry( @@ -246,7 +246,7 @@ void SharkIntrinsics::do_Thread_currentT SharkValue::create_jobject( builder()->CreateValueOfStructEntry( thread(), JavaThread::threadObj_offset(), - SharkType::jobject_type(), + SharkType::oop_type(), "threadObj"), true)); } diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -580,7 +580,7 @@ void SharkTopLevelBlock::call_register_f Value *klass = builder()->CreateValueOfStructEntry( receiver, in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "klass"); Value *klass_part = builder()->CreateAddressOfStructEntry( @@ -956,7 +956,7 @@ Value *SharkTopLevelBlock::get_virtual_c Value *klass = builder()->CreateValueOfStructEntry( receiver->jobject_value(), in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "klass"); return builder()->CreateLoad( @@ -981,7 +981,7 @@ Value* SharkTopLevelBlock::get_interface // Locate the receiver's itable Value *object_klass = builder()->CreateValueOfStructEntry( receiver->jobject_value(), in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "object_klass"); Value *vtable_start = builder()->CreateAdd( @@ -1028,7 +1028,7 @@ Value* SharkTopLevelBlock::get_interface Value *itable_iklass = builder()->CreateValueOfStructEntry( itable_entry, in_ByteSize(itableOffsetEntry::interface_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "itable_iklass"); builder()->CreateCondBr( @@ -1328,7 +1328,7 @@ void SharkTopLevelBlock::do_full_instanc // Get the class of the object being tested Value *object_klass = builder()->CreateValueOfStructEntry( object, in_ByteSize(oopDesc::klass_offset_in_bytes()), - SharkType::jobject_type(), + SharkType::oop_type(), "object_klass"); // Perform the check @@ -1486,7 +1486,7 @@ void SharkTopLevelBlock::do_new() builder()->SetInsertPoint(got_tlab); tlab_object = builder()->CreateIntToPtr( - old_top, SharkType::jobject_type(), "tlab_object"); + old_top, SharkType::oop_type(), "tlab_object"); builder()->CreateStore(new_top, top_addr); builder()->CreateBr(initialize); @@ -1519,7 +1519,7 @@ void SharkTopLevelBlock::do_new() builder()->SetInsertPoint(got_heap); heap_object = builder()->CreateIntToPtr( - old_top, SharkType::jobject_type(), "heap_object"); + old_top, SharkType::oop_type(), "heap_object"); Value *check = builder()->CreateCmpxchgPtr(new_top, top_addr, old_top); builder()->CreateCondBr( @@ -1530,7 +1530,7 @@ void SharkTopLevelBlock::do_new() builder()->SetInsertPoint(initialize); if (tlab_object) { PHINode *phi = builder()->CreatePHI( - SharkType::jobject_type(), "fast_object"); + SharkType::oop_type(), "fast_object"); phi->addIncoming(tlab_object, got_tlab); phi->addIncoming(heap_object, got_heap); fast_object = phi; @@ -1553,7 +1553,7 @@ void SharkTopLevelBlock::do_new() Value *klass_addr = builder()->CreateAddressOfStructEntry( fast_object, in_ByteSize(oopDesc::klass_offset_in_bytes()), - PointerType::getUnqual(SharkType::jobject_type()), + PointerType::getUnqual(SharkType::oop_type()), "klass_addr"); // Set the mark @@ -1590,7 +1590,7 @@ void SharkTopLevelBlock::do_new() builder()->SetInsertPoint(push_object); } if (fast_object) { - PHINode *phi = builder()->CreatePHI(SharkType::jobject_type(), "object"); + PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "object"); phi->addIncoming(fast_object, got_fast); phi->addIncoming(slow_object, got_slow); object = phi; diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp --- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp Wed Nov 11 13:52:48 2009 +0000 @@ -245,7 +245,7 @@ class SharkTopLevelBlock : public SharkB { return builder()->CreateAddressOfStructEntry( thread(), Thread::pending_exception_offset(), - llvm::PointerType::getUnqual(SharkType::jobject_type()), + llvm::PointerType::getUnqual(SharkType::oop_type()), "pending_exception_addr"); } llvm::LoadInst* get_pending_exception() const @@ -349,7 +349,7 @@ class SharkTopLevelBlock : public SharkB { llvm::Value *addr = builder()->CreateAddressOfStructEntry( thread(), JavaThread::vm_result_offset(), - llvm::PointerType::getUnqual(SharkType::jobject_type()), + llvm::PointerType::getUnqual(SharkType::oop_type()), "vm_result_addr"); llvm::LoadInst *result = builder()->CreateLoad(addr, "vm_result"); builder()->CreateStore(LLVMValue::null(), addr); diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkType.cpp --- a/ports/hotspot/src/share/vm/shark/sharkType.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkType.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -168,8 +168,8 @@ void SharkType::initialize() case T_OBJECT: case T_ARRAY: - _to_stackType_tab[i] = jobject_type(); - _to_arrayType_tab[i] = jobject_type(); + _to_stackType_tab[i] = oop_type(); + _to_arrayType_tab[i] = oop_type(); break; case T_ADDRESS: diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkType.hpp --- a/ports/hotspot/src/share/vm/shark/sharkType.hpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkType.hpp Wed Nov 11 13:52:48 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 1999-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -161,10 +161,6 @@ class SharkType : public AllStatic { return llvm::Type::DoubleTy; #endif } - static const llvm::PointerType* jobject_type() - { - return oop_type(); - } // Java types as they appear on the stack and in fields private: diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkValue.cpp --- a/ports/hotspot/src/share/vm/shark/sharkValue.cpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkValue.cpp Wed Nov 11 13:52:48 2009 +0000 @@ -151,7 +151,7 @@ bool SharkNormalValue::is_jdouble() cons } bool SharkNormalValue::is_jobject() const { - return llvm_value()->getType() == SharkType::jobject_type(); + return llvm_value()->getType() == SharkType::oop_type(); } bool SharkNormalValue::is_jarray() const { diff -r 3adabf9ea7ef -r 79079fb4d3b4 ports/hotspot/src/share/vm/shark/sharkValue.hpp --- a/ports/hotspot/src/share/vm/shark/sharkValue.hpp Wed Nov 11 10:34:05 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkValue.hpp Wed Nov 11 13:52:48 2009 +0000 @@ -118,7 +118,7 @@ class SharkValue : public ResourceObj { } static SharkValue* create_jobject(llvm::Value* value, bool zero_checked) { - assert(value->getType() == SharkType::jobject_type(), "should be"); + assert(value->getType() == SharkType::oop_type(), "should be"); return create_generic(ciType::make(T_OBJECT), value, zero_checked); } From gbenson at icedtea.classpath.org Wed Nov 11 07:59:44 2009 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Wed, 11 Nov 2009 15:59:44 +0000 Subject: /hg/icedtea6: 2009-11-11 Gary Benson Message-ID: changeset b3d03017bdef in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b3d03017bdef author: Gary Benson date: Wed Nov 11 10:50:38 2009 -0500 2009-11-11 Gary Benson PR icedtea/324: * ports/hotspot/src/share/vm/shark/sharkValue.cpp (SharkNormalValue::jarray_value): Work around the above. diffstat: 2 files changed, 9 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ ports/hotspot/src/share/vm/shark/sharkValue.cpp | 4 +++- diffs (27 lines): diff -r 79079fb4d3b4 -r b3d03017bdef ChangeLog --- a/ChangeLog Wed Nov 11 13:52:48 2009 +0000 +++ b/ChangeLog Wed Nov 11 10:50:38 2009 -0500 @@ -1,3 +1,9 @@ 2009-11-11 Gary Benson + + PR icedtea/324: + * ports/hotspot/src/share/vm/shark/sharkValue.cpp + (SharkNormalValue::jarray_value): Work around the above. + 2009-11-11 Gary Benson * ports/hotspot/src/share/vm/shark/sharkType.hpp diff -r 79079fb4d3b4 -r b3d03017bdef ports/hotspot/src/share/vm/shark/sharkValue.cpp --- a/ports/hotspot/src/share/vm/shark/sharkValue.cpp Wed Nov 11 13:52:48 2009 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkValue.cpp Wed Nov 11 10:50:38 2009 -0500 @@ -220,7 +220,9 @@ Value* SharkNormalValue::jobject_value() } Value* SharkNormalValue::jarray_value() const { - assert(is_jarray(), "should be"); + // XXX assert(is_jarray(), "should be"); + // XXX http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=324 + assert(is_jobject(), "should be"); return llvm_value(); } int SharkAddressValue::address_value() const From gbenson at icedtea.classpath.org Wed Nov 11 08:02:14 2009 From: gbenson at icedtea.classpath.org (gbenson at icedtea.classpath.org) Date: Wed, 11 Nov 2009 16:02:14 +0000 Subject: /hg/icedtea6: 2009-11-11 Gary Benson Message-ID: changeset 1ff24bb0fdf2 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1ff24bb0fdf2 author: Gary Benson date: Wed Nov 11 16:06:45 2009 +0000 2009-11-11 Gary Benson * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp (CppInterpreter::native_entry): Add invocation counting for non-synchronized native methods. * ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp (SharedRuntime::generate_native_wrapper): Implemented. * ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp (SharkFrame): Made friendly with SharkStack. Snubbed SharkFunction. * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp (SharkBuilder::SharkBuilder): Removed module argument. (SharkBuilder::_module): Removed. (SharkBuilder::module): Likewise. (SharkBuilder::check_special_condition_for_native_trans): New method. (SharkBuilder::CreateInlineOop): New method with jobject argument. * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp (SharkBuilder::SharkBuilder): Removed module argument, and changed to use Shark context instead of global context. (SharkBuilder::make_type): Updated for new SharkType. (SharkBuilder::make_function): Use SharkContext for resolution. (SharkBuilder::check_special_condition_for_native_trans): New method. (SharkBuilder::CreateDump): Removed support for LLVM < 2.6. (SharkBuilder::CreateBlock): Likewise. (SharkBuilder::CreateInlineOop): Changed object argument type. * ports/hotspot/src/share/vm/shark/sharkCacheDecache.hpp (SharkDecacher::oopmap_slot_munge): Defer to SharkStack method. (SharkDecacher::slot2reg): Likewise. * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp (SharkDecacher::start_frame): Use new SharkStack code. (SharkDecacher::start_stack): Likewise. (SharkDecacher::process_pc_slot): Likewise. (SharkOSREntryCacher::process_monitor): Likewise. (SharkDecacher::write_value_to_frame): Likewise. (SharkCacher::read_value_from_frame): Likewise. * ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp (SharkCodeBuffer::SharkCodeBuffer): Wrap a MacroAssembler instead of creating one along with a CodeBuffer. (SharkCodeBuffer::_cb): Removed. (SharkCodeBuffer::_cb): Likewise. (SharkCodeBuffer::inline_oop): Changed object argument type. * ports/hotspot/src/share/vm/shark/sharkCompiler.hpp (SharkCompiler::supports_native): Return true instead of false. (SharkCompiler::generate_native_wrapper): New method. (SharkCompiler::_module): Removed. (SharkCompiler::module): Likewise. (SharkCompiler::_normal_context): New field. (SharkCompiler::_native_context): Likewise. (SharkCompiler::_execution_engine_lock): Likewise. (SharkCompiler::context): New method. (SharkCompiler::execution_engine_lock): Likewise. (SharkCompiler::memory_manager): Added assertion. (SharkCompiler::execution_engine): Likewise. (SharkCompiler::compiler): New method. (SharkCompiler::generate_native_code): Likewise. (SharkCompiler::free_queued_methods): Likewise. * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (SharkCompiler::SharkCompiler): Create the lock and the two contexts. Removed support for LLVM < 2.6. (SharkCompiler::compile_method): Create the HotSpot code buffer and macro assembler, and defer native code generation to new method SharkCompiler::generate_native_code(). (SharkCompiler::generate_native_wrapper): New method. (SharkCompiler::generate_native_code): Likewise. (SharkCompiler::free_compiled_method): New implementation. (SharkCompiler::free_queued_methods): New method. * ports/hotspot/src/share/vm/shark/sharkEntry.hpp (SharkEntry::_context): New field. (SharkEntry::context): New method. (SharkEntry::set_context): Likewise. * ports/hotspot/src/share/vm/shark/sharkFunction.hpp (SharkFunction::build): Removed compiler argument. (SharkFunction::SharkFunction): Likewise. (SharkFunction::_stack): New field. (SharkFunction::stack): New method. (SharkFunction::CreateBlock): Removed support for LLVM < 2.6. (SharkFunction::_zero_stack_base): Removed. (SharkFunction::_zero_stack_pointer_addr): Likewise. (SharkFunction::_zero_frame_pointer_addr): Likewise. (SharkFunction::zero_stack_base): Likewise. (SharkFunction::zero_stack_pointer_addr): Likewise. (SharkFunction::zero_frame_pointer_addr): Likewise. (SharkFunction::CreateInitZeroStack): Likewise. (SharkFunction::CreateLoadZeroStackPointer): Likewise. (SharkFunction::CreateStoreZeroStackPointer): Likewise. (SharkFunction::CreateLoadZeroFramePointer): Likewise. (SharkFunction::CreateStoreZeroFramePointer): Likewise. (SharkFunction::CreateStackOverflowCheck): Likewise. (SharkFunction::CreatePushFrame): Likewise. (SharkFunction::CreatePopFrame): Likewise. (SharkFunction::_frame): Likewise. (SharkFunction::CreateAddressOfFrameEntry): Likewise. (SharkFunction::CreateBuildFrame): Likewise. (SharkFunction::_extended_frame_size): Likewise. (SharkFunction::_stack_slots_offset): Likewise. (SharkFunction::_monitors_slots_offset): Likewise. (SharkFunction::_oop_tmp_slot_offset): Likewise. (SharkFunction::_method_slot_offset): Likewise. (SharkFunction::_pc_slot_offset): Likewise. (SharkFunction::_locals_slots_offset): Likewise. (SharkFunction::extended_frame_size): Likewise. (SharkFunction::oopmap_frame_size): Likewise. (SharkFunction::stack_slots_offset): Likewise. (SharkFunction::monitors_slots_offset): Likewise. (SharkFunction::oop_tmp_slot_offset): Likewise. (SharkFunction::method_slot_offset): Likewise. (SharkFunction::pc_slot_offset): Likewise. (SharkFunction::locals_slots_offset): Likewise. (SharkFunction::monitor_offset): Likewise. (SharkFunction::monitor_object_offset): Likewise. (SharkFunction::monitor_header_offset): Likewise. (SharkFunction::monitor_addr): Likewise. (SharkFunction::monitor_object_addr): Likewise. (SharkFunction::monitor_header_addr): Likewise. * ports/hotspot/src/share/vm/shark/sharkFunction.cpp (SharkFunction::initialize): Defer stack frame creation to new SharkStack code. (SharkFunction::CreateInitZeroStack): Removed. (SharkFunction::CreateStackOverflowCheck): Likewise. (SharkFunction::CreatePushFrame): Likewise. (SharkFunction::CreatePopFrame): Likewise. (SharkFunction::CreateBuildFrame): Likewise. (SharkFunction::CreateAddressOfFrameEntry): Likewise. * ports/hotspot/src/share/vm/shark/sharkInvariants.hpp (SharkCompileInvariants::SharkCompileInvariants): Removed compiler argument. (SharkTargetInvariants::SharkTargetInvariants): Likewise. (SharkCompileInvariants::_compiler): Removed. (SharkCompileInvariants::env): Added assertion. * ports/hotspot/src/share/vm/shark/sharkStateScanner.hpp (SharkStateScanner::SharkStateScanner): Updated. (SharkStateScanner::_function): Removed. (SharkStateScanner::function): Likewise. (SharkStateScanner::_stack): New field. (SharkStateScanner::stack): New method. * ports/hotspot/src/share/vm/shark/sharkStateScanner.cpp (SharkStateScanner::scan): Use new SharkStack code. * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp (SharkTopLevelBlock::stack): New method. (SharkTopLevelBlock::set_last_Java_frame): Removed. (SharkTopLevelBlock::reset_last_Java_frame): Likewise. (SharkTopLevelBlock::call_vm): Use new SharkStack code. * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp (SharkTopLevelBlock::handle_return): Likewise. (SharkTopLevelBlock::do_multianewarray): Likewise. (SharkTopLevelBlock::acquire_lock): Likewise. (SharkTopLevelBlock::release_lock): Likewise. * ports/hotspot/src/share/vm/shark/sharkType.hpp: Defer everything to new SharkContext code. * ports/hotspot/src/share/vm/shark/sharkType.cpp: Removed. * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp: Removed support for LLVM < 2.6. * ports/hotspot/src/share/vm/shark/llvmValue.hpp (LLVMValue::jfloat_constant): Likewise. (LLVMValue::jdouble_constant): Likewise. (LLVMValue::bit_constant): Likewise. * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::parse_bytecode): Likewise. * ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp: Likewise. * ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp: Likewise. * ports/hotspot/src/share/vm/shark/sharkContext.hpp: New file. * ports/hotspot/src/share/vm/shark/sharkContext.cpp: Likewise. * ports/hotspot/src/share/vm/shark/sharkNativeWrapper.hpp: Likewise. * ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp: Likewise. * ports/hotspot/src/share/vm/shark/sharkStack.hpp: Likewise. * ports/hotspot/src/share/vm/shark/sharkStack.cpp: Likewise. * ports/hotspot/src/share/vm/includeDB_shark: Updated. diffstat: 32 files changed, 2162 insertions(+), 801 deletions(-) ChangeLog | 183 +++++++ ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp | 14 ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp | 7 ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp | 4 ports/hotspot/src/share/vm/includeDB_shark | 58 ++ ports/hotspot/src/share/vm/shark/llvmHeaders.hpp | 4 ports/hotspot/src/share/vm/shark/llvmValue.hpp | 18 ports/hotspot/src/share/vm/shark/sharkBlock.cpp | 32 - ports/hotspot/src/share/vm/shark/sharkBuilder.cpp | 48 -- ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 29 - ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp | 24 - ports/hotspot/src/share/vm/shark/sharkCacheDecache.hpp | 8 ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp | 20 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 274 ++++++----- ports/hotspot/src/share/vm/shark/sharkCompiler.hpp | 70 ++ ports/hotspot/src/share/vm/shark/sharkContext.cpp | 185 +++++++ ports/hotspot/src/share/vm/shark/sharkContext.hpp | 208 ++++++++ ports/hotspot/src/share/vm/shark/sharkEntry.hpp | 11 ports/hotspot/src/share/vm/shark/sharkFunction.cpp | 155 ------ ports/hotspot/src/share/vm/shark/sharkFunction.hpp | 178 ------- ports/hotspot/src/share/vm/shark/sharkInvariants.hpp | 35 - ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp | 8 ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp | 5 ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp | 352 +++++++++++++++ ports/hotspot/src/share/vm/shark/sharkNativeWrapper.hpp | 204 ++++++++ ports/hotspot/src/share/vm/shark/sharkStack.cpp | 239 ++++++++++ ports/hotspot/src/share/vm/shark/sharkStack.hpp | 292 ++++++++++++ ports/hotspot/src/share/vm/shark/sharkStateScanner.cpp | 14 ports/hotspot/src/share/vm/shark/sharkStateScanner.hpp | 8 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp | 18 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp | 31 - ports/hotspot/src/share/vm/shark/sharkType.hpp | 227 +++------ diffs (truncated from 3780 to 500 lines): diff -r b3d03017bdef -r 1ff24bb0fdf2 ChangeLog --- a/ChangeLog Wed Nov 11 10:50:38 2009 -0500 +++ b/ChangeLog Wed Nov 11 16:06:45 2009 +0000 @@ -1,3 +1,186 @@ 2009-11-11 Gary Benson + + * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp + (CppInterpreter::native_entry): Add invocation counting for + non-synchronized native methods. + + * ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp + (SharedRuntime::generate_native_wrapper): Implemented. + + * ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp + (SharkFrame): Made friendly with SharkStack. Snubbed + SharkFunction. + + * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp + (SharkBuilder::SharkBuilder): Removed module argument. + (SharkBuilder::_module): Removed. + (SharkBuilder::module): Likewise. + (SharkBuilder::check_special_condition_for_native_trans): New method. + (SharkBuilder::CreateInlineOop): New method with jobject argument. + * ports/hotspot/src/share/vm/shark/sharkBuilder.cpp + (SharkBuilder::SharkBuilder): Removed module argument, and changed + to use Shark context instead of global context. + (SharkBuilder::make_type): Updated for new SharkType. + (SharkBuilder::make_function): Use SharkContext for resolution. + (SharkBuilder::check_special_condition_for_native_trans): New method. + (SharkBuilder::CreateDump): Removed support for LLVM < 2.6. + (SharkBuilder::CreateBlock): Likewise. + (SharkBuilder::CreateInlineOop): Changed object argument type. + + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.hpp + (SharkDecacher::oopmap_slot_munge): Defer to SharkStack method. + (SharkDecacher::slot2reg): Likewise. + * ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp + (SharkDecacher::start_frame): Use new SharkStack code. + (SharkDecacher::start_stack): Likewise. + (SharkDecacher::process_pc_slot): Likewise. + (SharkOSREntryCacher::process_monitor): Likewise. + (SharkDecacher::write_value_to_frame): Likewise. + (SharkCacher::read_value_from_frame): Likewise. + + * ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp + (SharkCodeBuffer::SharkCodeBuffer): Wrap a MacroAssembler + instead of creating one along with a CodeBuffer. + (SharkCodeBuffer::_cb): Removed. + (SharkCodeBuffer::_cb): Likewise. + (SharkCodeBuffer::inline_oop): Changed object argument type. + + * ports/hotspot/src/share/vm/shark/sharkCompiler.hpp + (SharkCompiler::supports_native): Return true instead of false. + (SharkCompiler::generate_native_wrapper): New method. + (SharkCompiler::_module): Removed. + (SharkCompiler::module): Likewise. + (SharkCompiler::_normal_context): New field. + (SharkCompiler::_native_context): Likewise. + (SharkCompiler::_execution_engine_lock): Likewise. + (SharkCompiler::context): New method. + (SharkCompiler::execution_engine_lock): Likewise. + (SharkCompiler::memory_manager): Added assertion. + (SharkCompiler::execution_engine): Likewise. + (SharkCompiler::compiler): New method. + (SharkCompiler::generate_native_code): Likewise. + (SharkCompiler::free_queued_methods): Likewise. + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (SharkCompiler::SharkCompiler): Create the lock and the two + contexts. Removed support for LLVM < 2.6. + (SharkCompiler::compile_method): Create the HotSpot code buffer + and macro assembler, and defer native code generation to new + method SharkCompiler::generate_native_code(). + (SharkCompiler::generate_native_wrapper): New method. + (SharkCompiler::generate_native_code): Likewise. + (SharkCompiler::free_compiled_method): New implementation. + (SharkCompiler::free_queued_methods): New method. + + * ports/hotspot/src/share/vm/shark/sharkEntry.hpp + (SharkEntry::_context): New field. + (SharkEntry::context): New method. + (SharkEntry::set_context): Likewise. + + * ports/hotspot/src/share/vm/shark/sharkFunction.hpp + (SharkFunction::build): Removed compiler argument. + (SharkFunction::SharkFunction): Likewise. + (SharkFunction::_stack): New field. + (SharkFunction::stack): New method. + (SharkFunction::CreateBlock): Removed support for LLVM < 2.6. + (SharkFunction::_zero_stack_base): Removed. + (SharkFunction::_zero_stack_pointer_addr): Likewise. + (SharkFunction::_zero_frame_pointer_addr): Likewise. + (SharkFunction::zero_stack_base): Likewise. + (SharkFunction::zero_stack_pointer_addr): Likewise. + (SharkFunction::zero_frame_pointer_addr): Likewise. + (SharkFunction::CreateInitZeroStack): Likewise. + (SharkFunction::CreateLoadZeroStackPointer): Likewise. + (SharkFunction::CreateStoreZeroStackPointer): Likewise. + (SharkFunction::CreateLoadZeroFramePointer): Likewise. + (SharkFunction::CreateStoreZeroFramePointer): Likewise. + (SharkFunction::CreateStackOverflowCheck): Likewise. + (SharkFunction::CreatePushFrame): Likewise. + (SharkFunction::CreatePopFrame): Likewise. + (SharkFunction::_frame): Likewise. + (SharkFunction::CreateAddressOfFrameEntry): Likewise. + (SharkFunction::CreateBuildFrame): Likewise. + (SharkFunction::_extended_frame_size): Likewise. + (SharkFunction::_stack_slots_offset): Likewise. + (SharkFunction::_monitors_slots_offset): Likewise. + (SharkFunction::_oop_tmp_slot_offset): Likewise. + (SharkFunction::_method_slot_offset): Likewise. + (SharkFunction::_pc_slot_offset): Likewise. + (SharkFunction::_locals_slots_offset): Likewise. + (SharkFunction::extended_frame_size): Likewise. + (SharkFunction::oopmap_frame_size): Likewise. + (SharkFunction::stack_slots_offset): Likewise. + (SharkFunction::monitors_slots_offset): Likewise. + (SharkFunction::oop_tmp_slot_offset): Likewise. + (SharkFunction::method_slot_offset): Likewise. + (SharkFunction::pc_slot_offset): Likewise. + (SharkFunction::locals_slots_offset): Likewise. + (SharkFunction::monitor_offset): Likewise. + (SharkFunction::monitor_object_offset): Likewise. + (SharkFunction::monitor_header_offset): Likewise. + (SharkFunction::monitor_addr): Likewise. + (SharkFunction::monitor_object_addr): Likewise. + (SharkFunction::monitor_header_addr): Likewise. + * ports/hotspot/src/share/vm/shark/sharkFunction.cpp + (SharkFunction::initialize): Defer stack frame creation to new + SharkStack code. + (SharkFunction::CreateInitZeroStack): Removed. + (SharkFunction::CreateStackOverflowCheck): Likewise. + (SharkFunction::CreatePushFrame): Likewise. + (SharkFunction::CreatePopFrame): Likewise. + (SharkFunction::CreateBuildFrame): Likewise. + (SharkFunction::CreateAddressOfFrameEntry): Likewise. + + * ports/hotspot/src/share/vm/shark/sharkInvariants.hpp + (SharkCompileInvariants::SharkCompileInvariants): Removed + compiler argument. + (SharkTargetInvariants::SharkTargetInvariants): Likewise. + (SharkCompileInvariants::_compiler): Removed. + (SharkCompileInvariants::env): Added assertion. + + * ports/hotspot/src/share/vm/shark/sharkStateScanner.hpp + (SharkStateScanner::SharkStateScanner): Updated. + (SharkStateScanner::_function): Removed. + (SharkStateScanner::function): Likewise. + (SharkStateScanner::_stack): New field. + (SharkStateScanner::stack): New method. + * ports/hotspot/src/share/vm/shark/sharkStateScanner.cpp + (SharkStateScanner::scan): Use new SharkStack code. + + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp + (SharkTopLevelBlock::stack): New method. + (SharkTopLevelBlock::set_last_Java_frame): Removed. + (SharkTopLevelBlock::reset_last_Java_frame): Likewise. + (SharkTopLevelBlock::call_vm): Use new SharkStack code. + * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp + (SharkTopLevelBlock::handle_return): Likewise. + (SharkTopLevelBlock::do_multianewarray): Likewise. + (SharkTopLevelBlock::acquire_lock): Likewise. + (SharkTopLevelBlock::release_lock): Likewise. + + * ports/hotspot/src/share/vm/shark/sharkType.hpp: + Defer everything to new SharkContext code. + * ports/hotspot/src/share/vm/shark/sharkType.cpp: Removed. + + * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp: + Removed support for LLVM < 2.6. + * ports/hotspot/src/share/vm/shark/llvmValue.hpp + (LLVMValue::jfloat_constant): Likewise. + (LLVMValue::jdouble_constant): Likewise. + (LLVMValue::bit_constant): Likewise. + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp + (SharkBlock::parse_bytecode): Likewise. + * ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp: Likewise. + + * ports/hotspot/src/share/vm/shark/sharkContext.hpp: New file. + * ports/hotspot/src/share/vm/shark/sharkContext.cpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkNativeWrapper.hpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkStack.hpp: Likewise. + * ports/hotspot/src/share/vm/shark/sharkStack.cpp: Likewise. + + * ports/hotspot/src/share/vm/includeDB_shark: Updated. + 2009-11-11 Gary Benson PR icedtea/324: diff -r b3d03017bdef -r 1ff24bb0fdf2 ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Nov 11 10:50:38 2009 -0500 +++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp Wed Nov 11 16:06:45 2009 +0000 @@ -202,6 +202,20 @@ void CppInterpreter::native_entry(method if (stack_overflow_imminent(thread)) { CALL_VM_NOCHECK(InterpreterRuntime::throw_StackOverflowError(thread)); goto unwind_and_return; + } + + // Update the invocation counter + if ((UseCompiler || CountCompiledCalls) && !method->is_synchronized()) { + thread->set_do_not_unlock(); + InvocationCounter *counter = method->invocation_counter(); + counter->increment(); + if (counter->reached_InvocationLimit()) { + CALL_VM_NOCHECK( + InterpreterRuntime::frequency_counter_overflow(thread, NULL)); + if (HAS_PENDING_EXCEPTION) + goto unwind_and_return; + } + thread->clr_do_not_unlock(); } // Lock if necessary diff -r b3d03017bdef -r 1ff24bb0fdf2 ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp Wed Nov 11 10:50:38 2009 -0500 +++ b/ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp Wed Nov 11 16:06:45 2009 +0000 @@ -61,7 +61,14 @@ nmethod *SharedRuntime::generate_native_ BasicType *in_sig_bt, VMRegPair *in_regs, BasicType ret_type) { +#ifdef SHARK + return SharkCompiler::compiler()->generate_native_wrapper(masm, + method, + in_sig_bt, + ret_type); +#else ShouldNotCallThis(); +#endif // SHARK } int Deoptimization::last_frame_adjust(int callee_parameters, diff -r b3d03017bdef -r 1ff24bb0fdf2 ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp Wed Nov 11 10:50:38 2009 -0500 +++ b/ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp Wed Nov 11 16:06:45 2009 +0000 @@ -1,6 +1,6 @@ /* * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2008 Red Hat, Inc. + * Copyright 2008, 2009 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,7 +41,7 @@ // | ... | class SharkFrame : public ZeroFrame { - friend class SharkFunction; + friend class SharkStack; private: SharkFrame() : ZeroFrame() { diff -r b3d03017bdef -r 1ff24bb0fdf2 ports/hotspot/src/share/vm/includeDB_shark --- a/ports/hotspot/src/share/vm/includeDB_shark Wed Nov 11 10:50:38 2009 -0500 +++ b/ports/hotspot/src/share/vm/includeDB_shark Wed Nov 11 16:06:45 2009 +0000 @@ -48,6 +48,8 @@ ciTypeFlow.hpp ciTypeFlow.hpp ciKlass.hpp ciTypeFlow.hpp ciMethodBlocks.hpp +cppInterpreter_.cpp shark_globals.hpp + compileBroker.cpp sharkCompiler.hpp globals.hpp shark_globals_.hpp @@ -55,9 +57,13 @@ globals.cpp globals.cpp shark_globals.hpp llvmValue.hpp llvmHeaders.hpp +llvmValue.hpp sharkContext.hpp llvmValue.hpp sharkType.hpp nmethod.cpp sharkCompiler.hpp + +sharedRuntime_.cpp compileBroker.hpp +sharedRuntime_.cpp sharkCompiler.hpp shark_globals.cpp shark_globals.hpp @@ -95,7 +101,7 @@ sharkBuilder.cpp sharkBuilder.cpp resourceArea.hpp sharkBuilder.cpp llvmHeaders.hpp sharkBuilder.cpp sharkBuilder.hpp -sharkBuilder.cpp sharkCompiler.hpp +sharkBuilder.cpp sharkContext.hpp sharkBuilder.cpp sharkRuntime.hpp sharkBuilder.cpp synchronizer.hpp sharkBuilder.cpp thread.hpp @@ -108,7 +114,6 @@ sharkBuilder.hpp sharkBuilder.hpp llvmValue.hpp sharkBuilder.hpp sizes.hpp sharkBuilder.hpp sharkCodeBuffer.hpp -sharkBuilder.hpp sharkCompiler.hpp sharkBuilder.hpp sharkType.hpp sharkBuilder.hpp sharkValue.hpp sharkBuilder.hpp sharkEntry.hpp @@ -145,16 +150,29 @@ sharkCompiler.cpp sharkCompiler.cpp sharkBuilder.hpp sharkCompiler.cpp sharkCodeBuffer.hpp sharkCompiler.cpp sharkCo