Mercurial > hg > release > icedtea6-1.12
changeset 2038:0a32b3a23fcc
Merge
author | Andrew John Hughes <ahughes@redhat.com> |
---|---|
date | Tue, 02 Mar 2010 14:32:15 +0000 |
parents | d93c134e3357 (current diff) e1e9efa47cbe (diff) |
children | 39dc82eccaa9 |
files | ChangeLog Makefile.am patches/icedtea-timezone-default-permission.patch patches/icedtea-timezone.patch |
diffstat | 10 files changed, 309 insertions(+), 248 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Feb 25 18:50:04 2010 +0000 +++ b/ChangeLog Tue Mar 02 14:32:15 2010 +0000 @@ -1,3 +1,124 @@ +2010-03-01 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + (stamps/cacao.stamp): Depend on rt.stamp + and use updated rt.jar to build against rather + than the contents of lib/rt, so that --with-openjdk + builds work. + +2010-03-01 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + (stamps/plugin.stamp): Create stamp with the + right filename. + +2010-03-01 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + (icedtea-against-icedtea): Convert to stamp + and provide this as an alias. + (icedtea-debug-against-icedtea): Likewise. + (stamps/jtreg.stamp): Depend on + stamps/icedtea-against-icedtea.stamp + (stamps/tools.stamp): Converted from + target relying on + bootstrap/jdk1.7.0/jre/lib/tools.jar to + a stamp target. + (clean-tools-jar): Remove the stamp. + (stamps/plugs.stamp): Depend on tools.stamp + not the jar file itself. + (icedtea): Match icedtea.stamp without bringing in + additional dependencies. icedtea-against-icedtea + is equivalent to the old version. + (icedtea-debug): Likewise. + (tools-jar): New alias for tools.stamp + +2010-03-01 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + Patch should be added to ICEDTEA_ECJ_PATCHES + not ICEDTEA_ENV_ECJ. + +2010-03-01 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + Remove errant backslash. + +2010-03-01 Andrew John Hughes <ahughes@redhat.com> + + Simply JAXWS patching for OpenJDK6. + * Makefile.am, + (NEED_JAXWS_SRC): Removed. + (JAXWS_PATCHES): Removed. + (ICEDTEA_ENV_ECJ): Add getdtdtype patch. + (extract.stamp): Remove extract-jaxws dependency. + (clean-extract): Remove clean-extract-jaxws dependency. + (extract-jaxws.stamp): Removed. + (clean-extract-jaxws): Removed. + * patches/ecj/icedtea-jaxws-getdtdtype.patch: + Updated to apply to JAXWS tree as a patch. + +2009-11-17 Andrew John Hughes <ahughes@redhat.com> + + * patches/ecj/icedtea-jaxws-getdtdtype.patch: + Replace getDTDType method, don't add another. + +2009-11-17 Andrew John Hughes <ahughes@redhat.com> + + * patches/ecj/icedtea-jaxws-getdtdtype.patch: + Add additional fix for AttributeBase.java + +2010-03-01 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + (stamps/extract.stamp): Add meta extract target + to pull in both extract-openjdk and extract-jaxws. + (stamps/extract-openjdk.stamp): Rename stamp file + to extract-openjdk.stamp. + (clean-extract-jaxws): Remove jaxws sources. + +2009-11-17 Andrew John Hughes <ahughes@redhat.com> + + * Makefile.am: + Make use of JAXWS dependent on absence of + getDTDType() bug. Add new JAXWS patch. + (extract-jaxws.stamp): Apply getDTDType() patch + if bug found. + * acinclude.m4: + (IT_GETDTDTYPE_CHECK): Check for old versions of + gcj/Classpath which have + javax.xml.stream.events.Attribute.getDTDType() + with a return type of QName not String. + * configure.ac: + Invoke new IT_GETDTDTYPE_CHECK macro. + * patches/icedtea-jaxws-getdtdtype.patch: + New patch to work around the getDTDType() bug. + +2010-03-01 Andrew John Hughes <ahughes@redhat.com> + + * patches/ecj/icedtea.patch: Don't add tools.jar + to bootclasspath; now just a symlink to rt.jar. + +2010-03-01 Mark Wielaard <mark@klomp.org> + + * patches/ecj/icedtea.patch: Don't add generated dir to + bootclasspath in langtools/make/build.xml. + +2010-02-26 Mark Wielaard <mark@klomp.org> + + * patches/openjdk/6928623-verbose-langtools.patch: New patch. + * Makefile.am (ICEDTEA_PATCHES): Add new patch. + +2010-02-26 Pavel Tisnovsky <ptisnovs@redhat.com> + + * removed two unnecessary timezone patches + +2010-02-26 Xerxes RĂ„nby <xerxes@zafena.se> + + * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp + (SharkCompiler::generate_native_code): Undefine debug code for + NDEBUG builds + 2010-02-25 Andrew John Hughes <ahughes@redhat.com> * patches/hotspot/hs16/icedtea-params-cast-size_t.patch,
--- a/Makefile.am Thu Feb 25 18:50:04 2010 +0000 +++ b/Makefile.am Tue Mar 02 14:32:15 2010 +0000 @@ -61,7 +61,6 @@ LANGTOOLS = openjdk/langtools/src/share/classes JAXP = openjdk/jaxp/src/share/classes CORBA = openjdk/corba/src/share/classes -JAXWS = openjdk/jaxws/src/share/classes # FIXME (netx): NetX source directories go here @@ -306,6 +305,7 @@ patches/icedtea-explicit-target-arch.patch \ patches/icedtea-gcc-stack-markings.patch \ patches/openjdk/6879689-hotspot_warning_fix.patch \ + patches/openjdk/6928623-verbose-langtools.patch \ patches/icedtea-no-precompiled.patch \ patches/icedtea-linux-separate-debuginfo.patch \ patches/icedtea-parisc.patch \ @@ -371,6 +371,11 @@ patches/ecj/icedtea-jaxp-dependency.patch \ patches/ecj/bootver.patch +if DTDTYPE_QNAME +ICEDTEA_ECJ_PATCHES += \ + patches/ecj/icedtea-jaxws-getdtdtype.patch +endif + # OpenJDK build environment. if ZERO_BUILD ICEDTEA_ZERO_BUILD = true @@ -438,7 +443,8 @@ DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" \ - ALT_DROPS_DIR="$(abs_top_builddir)/drops" + ALT_DROPS_DIR="$(abs_top_builddir)/drops" \ + VERBOSE="$(VERBOSE)" if WITH_CACAO ICEDTEA_ENV += \ @@ -532,7 +538,8 @@ DEBUG_BINARIES="true" \ DISABLE_NIMBUS="true" \ NO_DOCS="true" \ - ALT_DROPS_DIR="$(abs_top_builddir)/drops" + ALT_DROPS_DIR="$(abs_top_builddir)/drops" \ + VERBOSE="$(VERBOSE)" if WITH_CACAO ICEDTEA_ENV_ECJ += \ @@ -880,7 +887,14 @@ endif #FIXME (meta): Split into multiple targets -stamps/extract.stamp: stamps/download.stamp +stamps/extract.stamp: stamps/extract-openjdk.stamp + mkdir -p stamps + touch $@ + +clean-extract: + rm -f stamps/extract.stamp + +stamps/extract-openjdk.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND cp -a $(OPENJDK_SRC_DIR) openjdk else @@ -935,10 +949,7 @@ -o -type d -exec chmod 750 '{}' ';'; \ fi mkdir -p stamps - touch stamps/extract.stamp - -clean-extract: - rm -f stamps/extract.stamp + touch stamps/extract-openjdk.stamp stamps/replace-hotspot.stamp: stamps/extract.stamp if WITH_ALT_HSBUILD @@ -1514,19 +1525,17 @@ -C openjdk clobber rm -f stamps/icedtea.stamp stamps/icedtea-debug.stamp -icedtea-against-icedtea: \ - stamps/bootstrap-directory-symlink.stamp \ - stamps/icedtea.stamp \ - stamps/add-cacao.stamp \ - stamps/add-zero.stamp +stamps/icedtea-against-icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ + stamps/icedtea.stamp stamps/add-cacao.stamp stamps/add-zero.stamp + mkdir -p stamps + touch stamps/icedtea-against-icedtea.stamp #FIXME (clean): Missing clean-icedtea-against-icedtea -icedtea-debug-against-icedtea: \ - stamps/bootstrap-directory-symlink.stamp \ - stamps/icedtea-debug.stamp \ - stamps/add-cacao-debug.stamp \ - stamps/add-zero-debug.stamp +stamps/icedtea-debug-against-icedtea.stamp: stamps/bootstrap-directory-symlink.stamp \ + stamps/icedtea-debug.stamp stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp + mkdir -p stamps + touch stamps/icedtea-debug-against-icedtea.stamp #FIXME (clean): Missing clean-icedtea-debug-against-icedtea @@ -1646,7 +1655,7 @@ stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) $(ICEDTEANPPLUGIN_TARGET) mkdir -p stamps - touch stamps/icedtea-plugin.stamp + touch stamps/plugin.stamp clean-plugin: $(ICEDTEAPLUGIN_CLEAN) $(ICEDTEANPPLUGIN_CLEAN) rm -f stamps/plugin.stamp @@ -1843,7 +1852,7 @@ # CACAO -stamps/cacao.stamp: $(OPENJDK_TREE) stamps/rt-class-files.stamp +stamps/cacao.stamp: $(OPENJDK_TREE) stamps/rt.stamp if BUILD_CACAO if !USE_SYSTEM_CACAO cd cacao/cacao && \ @@ -1854,7 +1863,7 @@ --prefix=$(abs_top_builddir)/cacao/install \ --with-java-runtime-library=openjdk \ --with-java-runtime-library-prefix=$(abs_top_builddir)/openjdk \ - --with-java-runtime-library-classes=$(abs_top_builddir)/lib/rt \ + --with-java-runtime-library-classes=$(ICEDTEA_RT) \ --enable-jre-layout $(CACAO_CONFIGURE_ARGS); \ $(ARCH_PREFIX) $(MAKE) install ln -s server $(abs_top_builddir)/cacao/install/jre/lib/$(INSTALL_ARCH_DIR)/client @@ -2018,7 +2027,7 @@ # jtreg -stamps/jtreg.stamp: stamps/icedtea.stamp stamps/add-zero.stamp stamps/add-cacao.stamp +stamps/jtreg.stamp: stamps/icedtea-against-icedtea.stamp rm -rf test/jtreg/classes mkdir -p test/jtreg/classes $(ICEDTEA_BOOT_DIR)/bin/javac -g -d test/jtreg/classes -source 1.5 \ @@ -2149,7 +2158,7 @@ touch stamps/rt.stamp # tools.jar -bootstrap/jdk1.7.0/jre/lib/tools.jar: +stamps/tools.stamp: mkdir -p bootstrap/jdk1.7.0/jre/lib/ ln -sf $(ICEDTEA_RT) $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar if test -d bootstrap/ecj ; \ @@ -2158,15 +2167,18 @@ ln -sf $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar \ $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar; \ fi + mkdir -p stamps + touch stamps/tools.stamp clean-tools-jar: rm -f bootstrap/jdk1.7.0/jre/lib/tools.jar if test -d bootstrap/ecj/lib ; then \ rm -f $(abs_top_builddir)/bootstrap/ecj/lib/tools.jar; \ fi + rm -f stamps/tools.stamp # rt-closed.jar -stamps/plugs.stamp: stamps/rt.stamp bootstrap/jdk1.7.0/jre/lib/tools.jar +stamps/plugs.stamp: stamps/rt.stamp stamps/tools.stamp $(ICEDTEA_BOOT_DIR)/bin/jar cf $(ICEDTEA_PLUGS) \ -C lib/rt com/sun/jmx/snmp $(LIVECONNECT_DIR) \ -C lib/rt net -C lib/rt javax/jnlp ; @@ -2211,11 +2223,15 @@ hotspot-ports: stamps/ports.stamp -icedtea: stamps/icedtea.stamp stamps/add-cacao.stamp stamps/add-zero.stamp +icedtea: stamps/icedtea.stamp + +icedtea-against-icedtea: stamps/icedtea-against-icedtea.stamp icedtea-against-ecj: stamps/icedtea-against-ecj.stamp -icedtea-debug: stamps/icedtea-debug.stamp stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp +icedtea-debug: stamps/icedtea-debug.stamp + +icedtea-debug-against-icedtea: stamps/icedtea-debug-against-icedtea.stamp icedtea-ecj: stamps/icedtea-ecj.stamp @@ -2249,4 +2265,6 @@ rt-class-files: stamps/rt-class-files.stamp +tools-jar: stamps/tools.stamp + visualvm: stamps/visualvm.stamp
--- a/acinclude.m4 Thu Feb 25 18:50:04 2010 +0000 +++ b/acinclude.m4 Tue Mar 02 14:32:15 2010 +0000 @@ -1244,6 +1244,80 @@ AC_PROVIDE([$0])dnl ]) +AC_DEFUN([IT_GETDTDTYPE_CHECK],[ + AC_CACHE_CHECK([if javax.xml.stream.events.Attribute.getDTDType() wrongly returns a QName], it_cv_dtdtype, [ + CLASS=Test.java + BYTECODE=$(echo $CLASS|sed 's#\.java##') + mkdir tmp.$$ + cd tmp.$$ + cat << \EOF > $CLASS +[/* [#]line __oline__ "configure" */ +import javax.xml.namespace.QName; +import javax.xml.stream.Location; +import javax.xml.stream.events.Attribute; +import javax.xml.stream.events.Characters; +import javax.xml.stream.events.EndElement; +import javax.xml.stream.events.StartElement; + +import java.lang.reflect.Method; + +public class Test + implements Attribute +{ + // This method will not qualify if using an + // old version of Classpath where it returns + // a QName. + public String getDTDType() { return "Boom"; } + + // Other Attribute methods + public QName getName() { return null; } + public String getValue() { return "Bang"; } + public boolean isSpecified() { return false; } + + // XMLEvent methods + public Characters asCharacters() { return null; } + public EndElement asEndElement() { return null; } + public StartElement asStartElement() { return null; } + public int getEventType() { return 42; } + public Location getLocation() { return null; } + public QName getSchemaType() { return null; } + public boolean isAttribute() { return true; } + public boolean isCharacters() { return false; } + public boolean isEndDocument() { return false; } + public boolean isEndElement() { return false; } + public boolean isEntityReference() { return false; } + public boolean isNamespace() { return false; } + public boolean isProcessingInstruction() { return false; } + public boolean isStartDocument() { return false; } + public boolean isStartElement() { return false; } + public void writeAsEncodedUnicode(java.io.Writer w) {} + + public static void main(String[] args) + { + for (Method m : Attribute.class.getMethods()) + if (m.getName().equals("getDTDType")) + if (m.getReturnType().equals(QName.class)) + System.exit(1); + } +}] +EOF + if $JAVAC -cp . $JAVACFLAGS -source 5 $CLASS >&AS_MESSAGE_LOG_FD 2>&1; then + if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then + it_cv_dtdtype=no; + else + it_cv_dtdtype=yes; + fi + else + it_cv_dtdtype=yes; + fi + rm -f $CLASS *.class + cd .. + rmdir tmp.$$ + ]) +AM_CONDITIONAL([DTDTYPE_QNAME], test x"${it_cv_dtdtype}" = "xyes") +AC_PROVIDE([$0])dnl +]) + # Provides the option --with-parallel-jobs # * --with-parallel-jobs; use jobs=processors + 1 # * --with-parallel-jobs=x; use jobs=x
--- a/configure.ac Thu Feb 25 18:50:04 2010 +0000 +++ b/configure.ac Tue Mar 02 14:32:15 2010 +0000 @@ -204,6 +204,7 @@ AC_CHECK_WITH_HG_REVISION AC_CHECK_WITH_TZDATA_DIR IT_CHECK_FOR_CLASS([SUN_AWT_TOOLKIT], [sun.awt.SunToolkit]) +IT_GETDTDTYPE_CHECK IT_CHECK_XULRUNNER_VERSION if test "x${enable_visualvm}" = "xyes"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-jaxws-getdtdtype.patch Tue Mar 02 14:32:15 2010 +0000 @@ -0,0 +1,43 @@ +diff -Nru openjdk-ecj.orig/jaxws/build.properties openjdk-ecj/jaxws/build.properties +--- openjdk-ecj.orig/jaxws/build.properties 2010-03-01 15:13:38.000000000 +0000 ++++ openjdk-ecj/jaxws/build.properties 2010-03-01 15:14:30.000000000 +0000 +@@ -81,7 +81,7 @@ + patches.dir=patches + + # Patches to apply +-jaxws_src.patch.list=xjc.patch ++jaxws_src.patch.list=xjc.patch getdtdtype.patch + + # Sanity information + sanity.info= Sanity Settings:${line.separator}\ +diff -Nru openjdk-ecj.orig/jaxws/patches/jaxws_src/getdtdtype.patch openjdk-ecj/jaxws/patches/jaxws_src/getdtdtype.patch +--- openjdk-ecj.orig/jaxws/patches/jaxws_src/getdtdtype.patch 1970-01-01 01:00:00.000000000 +0100 ++++ openjdk-ecj/jaxws/patches/jaxws_src/getdtdtype.patch 2010-03-01 15:15:10.000000000 +0000 +@@ -0,0 +1,27 @@ ++--- src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java 2009-11-17 16:37:06.000000000 +0000 +++++ src/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StAXEventConnector.java 2009-11-17 16:38:00.000000000 +0000 ++@@ -276,7 +276,7 @@ ++ qName = localName; ++ else ++ qName = prefix + ':' + localName; ++- String type = staxAttr.getDTDType(); +++ String type = staxAttr.getDTDType().toString(); ++ String value = staxAttr.getValue(); ++ ++ attrs.addAttribute(uri, localName, qName, type, value); ++--- src/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java.old 2009-11-17 19:46:11.000000000 +0000 +++++ src/com/sun/xml/internal/fastinfoset/stax/events/AttributeBase.java 2009-11-17 19:46:35.000000000 +0000 ++@@ -108,11 +108,10 @@ ++ * the String "CDATA" ++ * @return the type as a String, default is "CDATA" ++ */ ++- public String getDTDType() { ++- return _attributeType; +++ public QName getDTDType() { +++ return new QName(_attributeType); ++ } ++ ++- ++ /** ++ * A flag indicating whether this attribute was actually ++ * specified in the start-tag of its element, or was defaulted from the schema.
--- a/patches/ecj/icedtea.patch Thu Feb 25 18:50:04 2010 +0000 +++ b/patches/ecj/icedtea.patch Tue Mar 02 14:32:15 2010 +0000 @@ -902,7 +902,7 @@ includeAntRuntime="no" source="@{javac.source}" target="@{javac.target}"> -+ <compilerarg line="-bootclasspath @{classes.dir}:../../generated:${boot.java.home}/lib/tools.jar:${boot.java.home}/jre/lib/rt.jar"/> ++ <compilerarg line="-bootclasspath @{classes.dir}:${boot.java.home}/jre/lib/rt.jar"/> <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/> <compilerarg line="${javac.version.opt}"/> <compilerarg line="-Xlint"/> @@ -910,7 +910,7 @@ target="@{javac.target}" debug="${javac.debug}" debuglevel="${javac.debuglevel}"> -+ <compilerarg line="-bootclasspath @{classes.dir}:../../generated:${boot.java.home}/lib/tools.jar:${boot.java.home}/jre/lib/rt.jar"/> ++ <compilerarg line="-bootclasspath @{classes.dir}:${boot.java.home}/jre/lib/rt.jar"/> <compilerarg value="-J-Xbootclasspath/p:@{javac.bootclasspath}"/> <compilerarg value="-Xbootclasspath/p:@{classes.dir}"/> <compilerarg line="${javac.no.jdk.warnings}"/>
--- a/patches/icedtea-timezone-default-permission.patch Thu Feb 25 18:50:04 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ ---- openjdk7/jdk/src/share/classes/java/util/TimeZone.java 2009-08-04 18:54:13.026104895 +0200 -+++ openjdk/jdk/src/share/classes/java/util/TimeZone.java 2009-08-04 18:53:09.035985858 +0200 -@@ -602,11 +602,7 @@ - } - }); - -- if (hasPermission()) { -- defaultTimeZone = tz; -- } else { -- defaultZoneTL.set(tz); -- } -+ defaultTimeZone = tz; - return tz; - } - -@@ -637,6 +633,7 @@ - if (hasPermission()) { - synchronized (TimeZone.class) { - defaultTimeZone = zone; -+ defaultZoneTL.set(null); - } - } else { - defaultZoneTL.set(zone);
--- a/patches/icedtea-timezone.patch Thu Feb 25 18:50:04 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,197 +0,0 @@ ---- openjdk/jdk/src/solaris/native/java/util/TimeZone_md_old.c 2008-11-25 04:06:19.000000000 -0500 -+++ openjdk/jdk/src/solaris/native/java/util/TimeZone_md.c 2009-03-24 12:08:35.000000000 -0400 -@@ -201,115 +201,105 @@ - size_t size; - - /* -- * First, try the ZONE entry in /etc/sysconfig/clock. However, the -- * ZONE entry is not set up after initial Red Hat Linux -- * installation. In case that /etc/localtime is set up without -- * using timeconfig, there might be inconsistency between -- * /etc/localtime and the ZONE entry. The inconsistency between -- * timeconfig and linuxconf is reported as a bug in the Red Hat -- * web page as of May 1, 2000. -+ * First, try /etc/localtime to find the zone ID. - */ -- if ((fp = fopen(sysconfig_clock_file, "r")) != NULL) { -- char line[256]; -- -- while (fgets(line, sizeof(line), fp) != NULL) { -- char *p = line; -- char *s; -+ if (lstat(defailt_zoneinfo_file, &statbuf) == -1) { -+ -+ /* If /etc/localtime doesn't exist, try /etc/sysconfig/clock */ -+ if ((fp = fopen(sysconfig_clock_file, "r")) != NULL) { -+ char line[256]; -+ -+ while (fgets(line, sizeof(line), fp) != NULL) { -+ char *p = line; -+ char *s; - -- SKIP_SPACE(p); -- if (*p != 'Z') { -- continue; -- } -- if (strncmp(p, "ZONE=\"", 6) == 0) { -- p += 6; -- } else { -- /* -- * In case we need to parse it token by token. -- */ -- if (strncmp(p, "ZONE", 4) != 0) { -+ SKIP_SPACE(p); -+ if (*p != 'Z') { - continue; - } -- p += 4; -- SKIP_SPACE(p); -- if (*p++ != '=') { -- break; -+ if (strncmp(p, "ZONE=\"", 6) == 0) { -+ p += 6; -+ } else { -+ /* -+ * In case we need to parse it token by token. -+ */ -+ if (strncmp(p, "ZONE", 4) != 0) { -+ continue; -+ } -+ p += 4; -+ SKIP_SPACE(p); -+ if (*p++ != '=') { -+ break; -+ } -+ SKIP_SPACE(p); -+ if (*p++ != '"') { -+ break; -+ } - } -- SKIP_SPACE(p); -- if (*p++ != '"') { -+ for (s = p; *s && *s != '"'; s++) -+ ; -+ if (*s != '"') { -+ /* this ZONE entry is broken. */ - break; - } -- } -- for (s = p; *s && *s != '"'; s++) -- ; -- if (*s != '"') { -- /* this ZONE entry is broken. */ -+ *s = '\0'; -+ tz = strdup(p); - break; - } -- *s = '\0'; -- tz = strdup(p); -- break; -- } -- (void) fclose(fp); -- if (tz != NULL) { -+ (void) fclose(fp); - return tz; - } -- } -+ } else { - -- /* -- * Next, try /etc/localtime to find the zone ID. -- */ -- if (lstat(defailt_zoneinfo_file, &statbuf) == -1) { -- return NULL; -- } -+ /* -+ * If it's a symlink, get the link name and its zone ID part. (The -+ * older versions of timeconfig created a symlink as described in -+ * the Red Hat man page. It was changed in 1999 to create a copy -+ * of a zoneinfo file. It's no longer possible to get the zone ID -+ * from /etc/localtime.) -+ */ -+ if (S_ISLNK(statbuf.st_mode)) { -+ char linkbuf[PATH_MAX+1]; -+ int len; -+ -+ if ((len = readlink(defailt_zoneinfo_file, linkbuf, sizeof(linkbuf)-1)) == -1) { -+ jio_fprintf(stderr, (const char *) "can't get a symlink of %s\n", -+ defailt_zoneinfo_file); -+ return NULL; -+ } -+ linkbuf[len] = '\0'; -+ tz = getZoneName(linkbuf); -+ if (tz != NULL) { -+ tz = strdup(tz); -+ } -+ return tz; -+ } - -- /* -- * If it's a symlink, get the link name and its zone ID part. (The -- * older versions of timeconfig created a symlink as described in -- * the Red Hat man page. It was changed in 1999 to create a copy -- * of a zoneinfo file. It's no longer possible to get the zone ID -- * from /etc/localtime.) -- */ -- if (S_ISLNK(statbuf.st_mode)) { -- char linkbuf[PATH_MAX+1]; -- int len; -- -- if ((len = readlink(defailt_zoneinfo_file, linkbuf, sizeof(linkbuf)-1)) == -1) { -- jio_fprintf(stderr, (const char *) "can't get a symlink of %s\n", -- defailt_zoneinfo_file); -+ /* -+ * If it's a regular file, we need to find out the same zoneinfo file -+ * that has been copied as /etc/localtime. -+ */ -+ size = (size_t) statbuf.st_size; -+ buf = (char *) malloc(size); -+ if (buf == NULL) { - return NULL; - } -- linkbuf[len] = '\0'; -- tz = getZoneName(linkbuf); -- if (tz != NULL) { -- tz = strdup(tz); -+ if ((fd = open(defailt_zoneinfo_file, O_RDONLY)) == -1) { -+ free((void *) buf); -+ return NULL; - } -- return tz; -- } - -- /* -- * If it's a regular file, we need to find out the same zoneinfo file -- * that has been copied as /etc/localtime. -- */ -- size = (size_t) statbuf.st_size; -- buf = (char *) malloc(size); -- if (buf == NULL) { -- return NULL; -- } -- if ((fd = open(defailt_zoneinfo_file, O_RDONLY)) == -1) { -- free((void *) buf); -- return NULL; -- } -- -- if (read(fd, buf, size) != (ssize_t) size) { -+ if (read(fd, buf, size) != (ssize_t) size) { -+ (void) close(fd); -+ free((void *) buf); -+ return NULL; -+ } - (void) close(fd); -+ -+ tz = findZoneinfoFile(buf, size, zoneinfo_dir); - free((void *) buf); -- return NULL; -+ return tz; - } -- (void) close(fd); -- -- tz = findZoneinfoFile(buf, size, zoneinfo_dir); -- free((void *) buf); -- return tz; - } - #else - #ifdef __solaris__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6928623-verbose-langtools.patch Tue Mar 02 14:32:15 2010 +0000 @@ -0,0 +1,22 @@ + +# HG changeset patch +# User andrew +# Date 1266874633 0 +# Node ID f25efdb55c998759ce2c1d8711011619455beaba +# Parent a3be81d385ee94edb4bffed3436fc548d68423b4 +6928623: Behaviour of VERBOSE=true on langtools build +Summary: VERBOSE=true causes -diagnostics to be passed to ant rather than -debug +Reviewed-by: jjg + +--- openjdk/langtools/make/Makefile Thu Feb 18 15:41:36 2010 -0800 ++++ openjdk/langtools/make/Makefile Mon Feb 22 21:37:13 2010 +0000 +@@ -70,7 +70,7 @@ endif + endif + + ifdef VERBOSE +- ANT_OPTIONS += -verbose -diagnostics ++ ANT_OPTIONS += -verbose -debug + endif + + ifdef JDK_VERSION +
--- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Thu Feb 25 18:50:04 2010 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Tue Mar 02 14:32:15 2010 +0000 @@ -250,6 +250,7 @@ if (SharkPrintAsmOf != NULL) { #if SHARK_LLVM_VERSION >= 27 +#ifndef NDEBUG if (!fnmatch(SharkPrintAsmOf, name, 0)) { llvm::SetCurrentDebugType(X86_ONLY("x86-emitter") NOT_X86("jit")); llvm::DebugFlag = true; @@ -258,6 +259,7 @@ llvm::SetCurrentDebugType(""); llvm::DebugFlag = false; } +#endif #else // NB you need to patch LLVM with http://tinyurl.com/yf3baln for this std::vector<const char*> args;