From mark at klomp.org Mon Dec 1 01:14:54 2008 From: mark at klomp.org (Mark Wielaard) Date: Mon, 01 Dec 2008 10:14:54 +0100 Subject: Two small ecj tweaks In-Reply-To: <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> Message-ID: <1228122894.22459.15.camel@dijkstra.wildebeest.org> Hi Andrew, On Mon, 2008-12-01 at 03:06 +0000, Andrew John Hughes wrote: > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to > the interpreted invocation. On at least Debian and Gentoo, the > mapping between ecj.jar and ecj.so is stored in the default database > but as far as I can see, it doesn't get used unless this option is > given. I patched the Gentoo build today to pass > -Dgnu.gcj.precompiled.db.path=$(gcj-dbtool -p) to @JAVA@ and it gave a > very noticeable speedup. That is actually surprising. If there is a default system database then should be picked up automatically by gij. You should only need gnu.gcj.precompiled.db.path if you use an alternative database. Cheers, Mark From gnu_andrew at member.fsf.org Mon Dec 1 02:13:18 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 10:13:18 +0000 Subject: Two small ecj tweaks In-Reply-To: <493392BD.8020903@ubuntu.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <493392BD.8020903@ubuntu.com> Message-ID: <17c6771e0812010213t7f0d2353m8c12f2b2f6f4a4f8@mail.gmail.com> On 01/12/2008, Matthias Klose wrote: > Andrew John Hughes schrieb: > > > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to > > the interpreted invocation. On at least Debian and Gentoo, the > > mapping between ecj.jar and ecj.so is stored in the default database > > but as far as I can see, it doesn't get used unless this option is > > given. I patched the Gentoo build today to pass > > -Dgnu.gcj.precompiled.db.path=$(gcj-dbtool -p) to @JAVA@ and it gave a > > very noticeable speedup. > > > On Debian you have almost always ecj-gcj installed, the natively compiled binary > (dependency on java-gcj-compat-dev); in this case you won't see accesses to the > compiled library file. Is libecj-java-gcj installed as well? > > > Matthias > Yes, but the IcedTea build doesn't use this, it uses ${builddir}/javac. -- Andrew :-) 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 gnu_andrew at member.fsf.org Mon Dec 1 02:14:52 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 10:14:52 +0000 Subject: Two small ecj tweaks In-Reply-To: <1228122894.22459.15.camel@dijkstra.wildebeest.org> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <1228122894.22459.15.camel@dijkstra.wildebeest.org> Message-ID: <17c6771e0812010214h3d485de3xf2fae37bffd5ed26@mail.gmail.com> On 01/12/2008, Mark Wielaard wrote: > Hi Andrew, > > > On Mon, 2008-12-01 at 03:06 +0000, Andrew John Hughes wrote: > > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to > > the interpreted invocation. On at least Debian and Gentoo, the > > mapping between ecj.jar and ecj.so is stored in the default database > > but as far as I can see, it doesn't get used unless this option is > > given. I patched the Gentoo build today to pass > > -Dgnu.gcj.precompiled.db.path=$(gcj-dbtool -p) to @JAVA@ and it gave a > > very noticeable speedup. > > > That is actually surprising. If there is a default system database then > should be picked up automatically by gij. You should only need > gnu.gcj.precompiled.db.path if you use an alternative database. > > Cheers, > > > Mark > > Yes, I was surprised too. I'd assumed that adding the mapping to the default database would solve the issue on Gentoo, but lsof showed the so file was only accessed when I added this. The Debian script also includes it: exec /usr/bin/gij-$ver \ -Dgnu.gcj.precompiled.db.path=/var/lib/gcj-$ver/classmap.db \ -Djava.ext.dirs=/usr/lib/java-ext:/usr/share/java-ext \ org.eclipse.jdt.internal.compiler.batch.Main $bcoption ${1+"$@"} -- Andrew :-) 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 aph at redhat.com Mon Dec 1 03:02:34 2008 From: aph at redhat.com (Andrew Haley) Date: Mon, 01 Dec 2008 11:02:34 +0000 Subject: Two small ecj tweaks In-Reply-To: <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> Message-ID: <4933C44A.4080000@redhat.com> Andrew John Hughes wrote: > On 30/11/2008, Mark Wielaard wrote: >> Hi, >> >> Two tweaks to make sure we have a fast bootstrap ecj available. This >> makes sure that when we compile the ecj jar with gcj we use >> -findirect-dispatch so any unresolved references in the jar itself don't >> make the compilation fail (like what would happen with the >> eclipse-ecj.jar from fedora 10). Also if we don't have a native-ecj (not >> configured --with-gcj), but we did detect an ecj binary then use that >> first before falling back on full interpretation with gij. >> >> 2008-11-30 Mark Wielaard >> >> * Makefile.am (stamps/native-ecj.stamp): Use -findirect-dispatch. >> * javac.in: Use ecj binary if available and no native-ecj. >> >> Committed and pushed, >> >> >> Mark >> >> > > Thanks for this. I still wonder why we detect javac on ecj builds but > don't use it any more -- too many issues in the past I guess. > > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to > the interpreted invocation. On at least Debian and Gentoo, the > mapping between ecj.jar and ecj.so is stored in the default database > but as far as I can see, it doesn't get used unless this option is > given. It certainly should. If you have an example of any case where this fails, please let me know and I'll follow it up with the maintainers. I'd like a login so I can see why this isn't working. Andrew. From aph at redhat.com Mon Dec 1 03:03:42 2008 From: aph at redhat.com (Andrew Haley) Date: Mon, 01 Dec 2008 11:03:42 +0000 Subject: Two small ecj tweaks In-Reply-To: <1228082826.9466.8.camel@hermans.wildebeest.org> References: <1228082826.9466.8.camel@hermans.wildebeest.org> Message-ID: <4933C48E.10708@redhat.com> Mark Wielaard wrote: > Two tweaks to make sure we have a fast bootstrap ecj available. This > makes sure that when we compile the ecj jar with gcj we use > -findirect-dispatch so any unresolved references in the jar itself don't > make the compilation fail (like what would happen with the > eclipse-ecj.jar from fedora 10). Umm, really? Yep really, I just checked. eclipse-ecj.jar really does have references to classes that aren't included, so will fail at runtime if any of those classes are actually used. Andrew. From mark at klomp.org Mon Dec 1 03:23:48 2008 From: mark at klomp.org (Mark Wielaard) Date: Mon, 01 Dec 2008 12:23:48 +0100 Subject: Two small ecj tweaks In-Reply-To: <4933C48E.10708@redhat.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <4933C48E.10708@redhat.com> Message-ID: <1228130628.22459.23.camel@dijkstra.wildebeest.org> On Mon, 2008-12-01 at 11:03 +0000, Andrew Haley wrote: > Mark Wielaard wrote: > > > Two tweaks to make sure we have a fast bootstrap ecj available. This > > makes sure that when we compile the ecj jar with gcj we use > > -findirect-dispatch so any unresolved references in the jar itself don't > > make the compilation fail (like what would happen with the > > eclipse-ecj.jar from fedora 10). > > Umm, really? Yep really, I just checked. eclipse-ecj.jar really does > have references to classes that aren't included, so will fail at > runtime if any of those classes are actually used. They aren't used. I did a full bootstrap with a native-ecj. Unfortunately f10 doesn't come with a precompiled ecj anymore in the distro: https://bugzilla.redhat.com/show_bug.cgi?id=473674 natively compiled ecj is still much faster than anything else though (especially since there are so many small compile runs, startup and "warmup" kill you in that situation). Cheers, Mark From gnu_andrew at member.fsf.org Mon Dec 1 03:37:05 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 11:37:05 +0000 Subject: Two small ecj tweaks In-Reply-To: <1228130628.22459.23.camel@dijkstra.wildebeest.org> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <4933C48E.10708@redhat.com> <1228130628.22459.23.camel@dijkstra.wildebeest.org> Message-ID: <17c6771e0812010337m31d3413dk27dc2c0007e10dd6@mail.gmail.com> > Unfortunately f10 doesn't come with a precompiled ecj anymore in the > distro: https://bugzilla.redhat.com/show_bug.cgi?id=473674 What? Why? I thought this was suggested but rapidly shot down. > > Cheers, > > > Mark > > -- Andrew :-) 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 aph at redhat.com Mon Dec 1 03:53:54 2008 From: aph at redhat.com (Andrew Haley) Date: Mon, 01 Dec 2008 11:53:54 +0000 Subject: Two small ecj tweaks In-Reply-To: <17c6771e0812010337m31d3413dk27dc2c0007e10dd6@mail.gmail.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <4933C48E.10708@redhat.com> <1228130628.22459.23.camel@dijkstra.wildebeest.org> <17c6771e0812010337m31d3413dk27dc2c0007e10dd6@mail.gmail.com> Message-ID: <4933D052.6040802@redhat.com> Andrew John Hughes wrote: >> Unfortunately f10 doesn't come with a precompiled ecj anymore in the >> distro: https://bugzilla.redhat.com/show_bug.cgi?id=473674 > > What? Why? I thought this was suggested but rapidly shot down. It's still part of the Eclipse package, and precompiling was pulled from Eclipse. We're planning to make it a separate package. Andrew. From gnu_andrew at member.fsf.org Mon Dec 1 03:54:17 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 11:54:17 +0000 Subject: Two small ecj tweaks In-Reply-To: <4933C44A.4080000@redhat.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <4933C44A.4080000@redhat.com> Message-ID: <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> On 01/12/2008, Andrew Haley wrote: > Andrew John Hughes wrote: > > On 30/11/2008, Mark Wielaard wrote: > >> Hi, > >> > >> Two tweaks to make sure we have a fast bootstrap ecj available. This > >> makes sure that when we compile the ecj jar with gcj we use > >> -findirect-dispatch so any unresolved references in the jar itself don't > >> make the compilation fail (like what would happen with the > >> eclipse-ecj.jar from fedora 10). Also if we don't have a native-ecj (not > >> configured --with-gcj), but we did detect an ecj binary then use that > >> first before falling back on full interpretation with gij. > >> > >> 2008-11-30 Mark Wielaard > >> > >> * Makefile.am (stamps/native-ecj.stamp): Use -findirect-dispatch. > >> * javac.in: Use ecj binary if available and no native-ecj. > >> > >> Committed and pushed, > >> > >> > >> Mark > >> > >> > > > > Thanks for this. I still wonder why we detect javac on ecj builds but > > don't use it any more -- too many issues in the past I guess. > > > > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to > > the interpreted invocation. On at least Debian and Gentoo, the > > mapping between ecj.jar and ecj.so is stored in the default database > > but as far as I can see, it doesn't get used unless this option is > > given. > > > It certainly should. If you have an example of any case where this fails, please > let me know and I'll follow it up with the maintainers. > > I'd like a login so I can see why this isn't working. > > > Andrew. > Well here's the straces for each: strace -f -o out.nodb /usr/lib/jvm/gcj-jdk/bin/java -cp /usr/share/eclipse-ecj-3.3/lib/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java strace -f -o out.db /usr/lib/jvm/gcj-jdk/bin/java -Dgnu.gcj.precompiled.db.path=/usr/lib64/gcj-4.3.3-9/classmap.db -cp /usr/share/eclipse-ecj-3.3/lib/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java Only out.db includes: out.db:16889 open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 There is no reference to it in out.nodb. -- Andrew :-) 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 gnu_andrew at member.fsf.org Mon Dec 1 03:55:53 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 11:55:53 +0000 Subject: Two small ecj tweaks In-Reply-To: <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <4933C44A.4080000@redhat.com> <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> Message-ID: <17c6771e0812010355m6942d10au753d35ffb187cf82@mail.gmail.com> On 01/12/2008, Andrew John Hughes wrote: > On 01/12/2008, Andrew Haley wrote: > > Andrew John Hughes wrote: > > > On 30/11/2008, Mark Wielaard wrote: > > >> Hi, > > >> > > >> Two tweaks to make sure we have a fast bootstrap ecj available. This > > >> makes sure that when we compile the ecj jar with gcj we use > > >> -findirect-dispatch so any unresolved references in the jar itself don't > > >> make the compilation fail (like what would happen with the > > >> eclipse-ecj.jar from fedora 10). Also if we don't have a native-ecj (not > > >> configured --with-gcj), but we did detect an ecj binary then use that > > >> first before falling back on full interpretation with gij. > > >> > > >> 2008-11-30 Mark Wielaard > > >> > > >> * Makefile.am (stamps/native-ecj.stamp): Use -findirect-dispatch. > > >> * javac.in: Use ecj binary if available and no native-ecj. > > >> > > >> Committed and pushed, > > >> > > >> > > >> Mark > > >> > > >> > > > > > > Thanks for this. I still wonder why we detect javac on ecj builds but > > > don't use it any more -- too many issues in the past I guess. > > > > > > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to > > > the interpreted invocation. On at least Debian and Gentoo, the > > > mapping between ecj.jar and ecj.so is stored in the default database > > > but as far as I can see, it doesn't get used unless this option is > > > given. > > > > > > It certainly should. If you have an example of any case where this fails, please > > let me know and I'll follow it up with the maintainers. > > > > I'd like a login so I can see why this isn't working. > > > > > > Andrew. > > > > > Well here's the straces for each: > > strace -f -o out.nodb /usr/lib/jvm/gcj-jdk/bin/java -cp > /usr/share/eclipse-ecj-3.3/lib/ecj.jar > org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java > > strace -f -o out.db /usr/lib/jvm/gcj-jdk/bin/java > -Dgnu.gcj.precompiled.db.path=/usr/lib64/gcj-4.3.3-9/classmap.db -cp > /usr/share/eclipse-ecj-3.3/lib/ecj.jar > org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java > > Only out.db includes: > > out.db:16889 open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 > > There is no reference to it in out.nodb. > > -- > Andrew :-) > > 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 > Forgot the URLs: http://fuseyism.com/out.db.gz http://fuseyism.com/out.nodb.gz -- Andrew :-) 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 gnu_andrew at member.fsf.org Mon Dec 1 03:57:56 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 11:57:56 +0000 Subject: Two small ecj tweaks In-Reply-To: <4933D052.6040802@redhat.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <4933C48E.10708@redhat.com> <1228130628.22459.23.camel@dijkstra.wildebeest.org> <17c6771e0812010337m31d3413dk27dc2c0007e10dd6@mail.gmail.com> <4933D052.6040802@redhat.com> Message-ID: <17c6771e0812010357i69ee871cg64f754cc8d8b844@mail.gmail.com> On 01/12/2008, Andrew Haley wrote: > Andrew John Hughes wrote: > >> Unfortunately f10 doesn't come with a precompiled ecj anymore in the > >> distro: https://bugzilla.redhat.com/show_bug.cgi?id=473674 > > > > What? Why? I thought this was suggested but rapidly shot down. > > > It's still part of the Eclipse package, and precompiling was pulled > from Eclipse. We're planning to make it a separate package. > > > Andrew. > Once again, I'm glad I don't use Eclipse :) -- Andrew :-) 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 aph at redhat.com Mon Dec 1 04:22:03 2008 From: aph at redhat.com (Andrew Haley) Date: Mon, 01 Dec 2008 12:22:03 +0000 Subject: Two small ecj tweaks In-Reply-To: <17c6771e0812010355m6942d10au753d35ffb187cf82@mail.gmail.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <4933C44A.4080000@redhat.com> <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> <17c6771e0812010355m6942d10au753d35ffb187cf82@mail.gmail.com> Message-ID: <4933D6EB.7070408@redhat.com> Andrew John Hughes wrote: > On 01/12/2008, Andrew John Hughes wrote: >> On 01/12/2008, Andrew Haley wrote: >> > Andrew John Hughes wrote: >> > > On 30/11/2008, Mark Wielaard wrote: >> > >> Hi, >> > >> >> > >> Two tweaks to make sure we have a fast bootstrap ecj available. This >> > >> makes sure that when we compile the ecj jar with gcj we use >> > >> -findirect-dispatch so any unresolved references in the jar itself don't >> > >> make the compilation fail (like what would happen with the >> > >> eclipse-ecj.jar from fedora 10). Also if we don't have a native-ecj (not >> > >> configured --with-gcj), but we did detect an ecj binary then use that >> > >> first before falling back on full interpretation with gij. >> > >> >> > >> 2008-11-30 Mark Wielaard >> > >> >> > >> * Makefile.am (stamps/native-ecj.stamp): Use -findirect-dispatch. >> > >> * javac.in: Use ecj binary if available and no native-ecj. >> > >> >> > >> Committed and pushed, >> > >> >> > >> >> > >> Mark >> > >> >> > >> >> > > >> > > Thanks for this. I still wonder why we detect javac on ecj builds but >> > > don't use it any more -- too many issues in the past I guess. >> > > >> > > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to >> > > the interpreted invocation. On at least Debian and Gentoo, the >> > > mapping between ecj.jar and ecj.so is stored in the default database >> > > but as far as I can see, it doesn't get used unless this option is >> > > given. >> > >> > >> > It certainly should. If you have an example of any case where this fails, please >> > let me know and I'll follow it up with the maintainers. >> > >> > I'd like a login so I can see why this isn't working. >> > >> > >> > Andrew. >> > >> >> >> Well here's the straces for each: >> >> strace -f -o out.nodb /usr/lib/jvm/gcj-jdk/bin/java -cp >> /usr/share/eclipse-ecj-3.3/lib/ecj.jar >> org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java >> >> strace -f -o out.db /usr/lib/jvm/gcj-jdk/bin/java >> -Dgnu.gcj.precompiled.db.path=/usr/lib64/gcj-4.3.3-9/classmap.db -cp >> /usr/share/eclipse-ecj-3.3/lib/ecj.jar >> org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java >> >> Only out.db includes: >> >> out.db:16889 open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 >> >> There is no reference to it in out.nodb. Please use strace -etrace=file -s 99999999 Andrew. From gnu_andrew at member.fsf.org Mon Dec 1 04:36:16 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 12:36:16 +0000 Subject: Two small ecj tweaks In-Reply-To: <4933D6EB.7070408@redhat.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <4933C44A.4080000@redhat.com> <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> <17c6771e0812010355m6942d10au753d35ffb187cf82@mail.gmail.com> <4933D6EB.7070408@redhat.com> Message-ID: <17c6771e0812010436h316dd25w26b1c0100182ff8a@mail.gmail.com> On 01/12/2008, Andrew Haley wrote: > Andrew John Hughes wrote: > > On 01/12/2008, Andrew John Hughes wrote: > >> On 01/12/2008, Andrew Haley wrote: > >> > Andrew John Hughes wrote: > >> > > On 30/11/2008, Mark Wielaard wrote: > >> > >> Hi, > >> > >> > >> > >> Two tweaks to make sure we have a fast bootstrap ecj available. This > >> > >> makes sure that when we compile the ecj jar with gcj we use > >> > >> -findirect-dispatch so any unresolved references in the jar itself don't > >> > >> make the compilation fail (like what would happen with the > >> > >> eclipse-ecj.jar from fedora 10). Also if we don't have a native-ecj (not > >> > >> configured --with-gcj), but we did detect an ecj binary then use that > >> > >> first before falling back on full interpretation with gij. > >> > >> > >> > >> 2008-11-30 Mark Wielaard > >> > >> > >> > >> * Makefile.am (stamps/native-ecj.stamp): Use -findirect-dispatch. > >> > >> * javac.in: Use ecj binary if available and no native-ecj. > >> > >> > >> > >> Committed and pushed, > >> > >> > >> > >> > >> > >> Mark > >> > >> > >> > >> > >> > > > >> > > Thanks for this. I still wonder why we detect javac on ecj builds but > >> > > don't use it any more -- too many issues in the past I guess. > >> > > > >> > > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to > >> > > the interpreted invocation. On at least Debian and Gentoo, the > >> > > mapping between ecj.jar and ecj.so is stored in the default database > >> > > but as far as I can see, it doesn't get used unless this option is > >> > > given. > >> > > >> > > >> > It certainly should. If you have an example of any case where this fails, please > >> > let me know and I'll follow it up with the maintainers. > >> > > >> > I'd like a login so I can see why this isn't working. > >> > > >> > > >> > Andrew. > >> > > >> > >> > >> Well here's the straces for each: > >> > >> strace -f -o out.nodb /usr/lib/jvm/gcj-jdk/bin/java -cp > >> /usr/share/eclipse-ecj-3.3/lib/ecj.jar > >> org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java > >> > >> strace -f -o out.db /usr/lib/jvm/gcj-jdk/bin/java > >> -Dgnu.gcj.precompiled.db.path=/usr/lib64/gcj-4.3.3-9/classmap.db -cp > >> /usr/share/eclipse-ecj-3.3/lib/ecj.jar > >> org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java > >> > >> Only out.db includes: > >> > >> out.db:16889 open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 > >> > >> There is no reference to it in out.nodb. > > > Please use strace -etrace=file -s 99999999 > > > Andrew. > Ah that would make things easier :) With that and the diff, I've spotted the issue and it does seem like a broken gcj being built by Gentoo: - open("/usr/share/java/classmap.gcjdb", O_RDONLY) = -1 ENOENT (No such file or directory) - open("/usr/share/locale/locale.alias", O_RDONLY) = 4 - open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) - open("/usr/share/locale/en_GB.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) - open("/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 4 - open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) - open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) - open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) - statfs("/selinux", 0x7fff451155f0) = -1 ENOENT (No such file or directory) - open("/proc/mounts", O_RDONLY) = 4 - open("/tmp/ffir42O08", O_RDWR|O_CREAT|O_EXCL, 0600) = 4 - unlink("/tmp/ffir42O08") = 0 + open("/usr/lib64/gcj-4.3.3-9/classmap.db", O_RDONLY) = 4 + stat("/usr/lib64/gcj-4.3.3-9/classmap.db", {st_mode=S_IFREG|0644, st_size=1441792, ...}) = 0 + open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 + open("/etc/ld.so.cache", O_RDONLY) = 5 + open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libgcj_bc.so.1", O_RDONLY) = 5 gcj-dbtool is reporting /usr/lib64/gcj-4.3.3-9/classmap.db as the default db file, but the default being used by gcj is /usr/share/java/classmap.gcjdb -- Andrew :-) 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 -------------- A non-text attachment was scrubbed... Name: out.db Type: application/octet-stream Size: 10874 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081201/8b5546c4/out.db -------------- next part -------------- A non-text attachment was scrubbed... Name: out.nodb Type: application/octet-stream Size: 11402 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081201/8b5546c4/out.nodb From gnu_andrew at member.fsf.org Mon Dec 1 04:45:29 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 12:45:29 +0000 Subject: Two small ecj tweaks In-Reply-To: <17c6771e0812010436h316dd25w26b1c0100182ff8a@mail.gmail.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <4933C44A.4080000@redhat.com> <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> <17c6771e0812010355m6942d10au753d35ffb187cf82@mail.gmail.com> <4933D6EB.7070408@redhat.com> <17c6771e0812010436h316dd25w26b1c0100182ff8a@mail.gmail.com> Message-ID: <17c6771e0812010445w5fa78157sa0d48796724e6e60@mail.gmail.com> On 01/12/2008, Andrew John Hughes wrote: > On 01/12/2008, Andrew Haley wrote: > > Andrew John Hughes wrote: > > > On 01/12/2008, Andrew John Hughes wrote: > > >> On 01/12/2008, Andrew Haley wrote: > > >> > Andrew John Hughes wrote: > > >> > > On 30/11/2008, Mark Wielaard wrote: > > >> > >> Hi, > > >> > >> > > >> > >> Two tweaks to make sure we have a fast bootstrap ecj available. This > > >> > >> makes sure that when we compile the ecj jar with gcj we use > > >> > >> -findirect-dispatch so any unresolved references in the jar itself don't > > >> > >> make the compilation fail (like what would happen with the > > >> > >> eclipse-ecj.jar from fedora 10). Also if we don't have a native-ecj (not > > >> > >> configured --with-gcj), but we did detect an ecj binary then use that > > >> > >> first before falling back on full interpretation with gij. > > >> > >> > > >> > >> 2008-11-30 Mark Wielaard > > >> > >> > > >> > >> * Makefile.am (stamps/native-ecj.stamp): Use -findirect-dispatch. > > >> > >> * javac.in: Use ecj binary if available and no native-ecj. > > >> > >> > > >> > >> Committed and pushed, > > >> > >> > > >> > >> > > >> > >> Mark > > >> > >> > > >> > >> > > >> > > > > >> > > Thanks for this. I still wonder why we detect javac on ecj builds but > > >> > > don't use it any more -- too many issues in the past I guess. > > >> > > > > >> > > I would also suggest possibly adding -Dgnu.gcj.precompiled.db.path to > > >> > > the interpreted invocation. On at least Debian and Gentoo, the > > >> > > mapping between ecj.jar and ecj.so is stored in the default database > > >> > > but as far as I can see, it doesn't get used unless this option is > > >> > > given. > > >> > > > >> > > > >> > It certainly should. If you have an example of any case where this fails, please > > >> > let me know and I'll follow it up with the maintainers. > > >> > > > >> > I'd like a login so I can see why this isn't working. > > >> > > > >> > > > >> > Andrew. > > >> > > > >> > > >> > > >> Well here's the straces for each: > > >> > > >> strace -f -o out.nodb /usr/lib/jvm/gcj-jdk/bin/java -cp > > >> /usr/share/eclipse-ecj-3.3/lib/ecj.jar > > >> org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java > > >> > > >> strace -f -o out.db /usr/lib/jvm/gcj-jdk/bin/java > > >> -Dgnu.gcj.precompiled.db.path=/usr/lib64/gcj-4.3.3-9/classmap.db -cp > > >> /usr/share/eclipse-ecj-3.3/lib/ecj.jar > > >> org.eclipse.jdt.internal.compiler.batch.Main -1.5 Test.java > > >> > > >> Only out.db includes: > > >> > > >> out.db:16889 open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 > > >> > > >> There is no reference to it in out.nodb. > > > > > > Please use strace -etrace=file -s 99999999 > > > > > > Andrew. > > > > > Ah that would make things easier :) > > With that and the diff, I've spotted the issue and it does seem like a > broken gcj being built by Gentoo: > > - open("/usr/share/java/classmap.gcjdb", O_RDONLY) = -1 ENOENT (No > such file or directory) > - open("/usr/share/locale/locale.alias", O_RDONLY) = 4 > - open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) > = -1 ENOENT (No such file or directory) > - open("/usr/share/locale/en_GB.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = > -1 ENOENT (No such file or directory) > - open("/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 4 > - open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = > -1 ENOENT (No such file or directory) > - open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > ENOENT (No such file or directory) > - open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > ENOENT (No such file or directory) > - statfs("/selinux", 0x7fff451155f0) = -1 ENOENT (No such file or directory) > - open("/proc/mounts", O_RDONLY) = 4 > - open("/tmp/ffir42O08", O_RDWR|O_CREAT|O_EXCL, 0600) = 4 > - unlink("/tmp/ffir42O08") = 0 > + open("/usr/lib64/gcj-4.3.3-9/classmap.db", O_RDONLY) = 4 > + stat("/usr/lib64/gcj-4.3.3-9/classmap.db", {st_mode=S_IFREG|0644, > st_size=1441792, ...}) = 0 > > + open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 > > + open("/etc/ld.so.cache", O_RDONLY) = 5 > + open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libgcj_bc.so.1", O_RDONLY) = 5 > > gcj-dbtool is reporting /usr/lib64/gcj-4.3.3-9/classmap.db as the > default db file, but the default being used by gcj is > /usr/share/java/classmap.gcjdb > > > -- > > Andrew :-) > > 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 > > http://bugs.gentoo.org/show_bug.cgi?id=249475 -- Andrew :-) 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 aph at redhat.com Mon Dec 1 06:38:54 2008 From: aph at redhat.com (Andrew Haley) Date: Mon, 01 Dec 2008 14:38:54 +0000 Subject: Two small ecj tweaks In-Reply-To: <17c6771e0812010436h316dd25w26b1c0100182ff8a@mail.gmail.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <4933C44A.4080000@redhat.com> <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> <17c6771e0812010355m6942d10au753d35ffb187cf82@mail.gmail.com> <4933D6EB.7070408@redhat.com> <17c6771e0812010436h316dd25w26b1c0100182ff8a@mail.gmail.com> Message-ID: <4933F6FE.5020500@redhat.com> Andrew John Hughes wrote: > With that and the diff, I've spotted the issue and it does seem like a > broken gcj being built by Gentoo: > > - open("/usr/share/java/classmap.gcjdb", O_RDONLY) = -1 ENOENT (No > such file or directory) > - open("/usr/share/locale/locale.alias", O_RDONLY) = 4 > - open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) > = -1 ENOENT (No such file or directory) > - open("/usr/share/locale/en_GB.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = > -1 ENOENT (No such file or directory) > - open("/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 4 > - open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = > -1 ENOENT (No such file or directory) > - open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > ENOENT (No such file or directory) > - open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > ENOENT (No such file or directory) > - statfs("/selinux", 0x7fff451155f0) = -1 ENOENT (No such file or directory) > - open("/proc/mounts", O_RDONLY) = 4 > - open("/tmp/ffir42O08", O_RDWR|O_CREAT|O_EXCL, 0600) = 4 > - unlink("/tmp/ffir42O08") = 0 > + open("/usr/lib64/gcj-4.3.3-9/classmap.db", O_RDONLY) = 4 > + stat("/usr/lib64/gcj-4.3.3-9/classmap.db", {st_mode=S_IFREG|0644, > st_size=1441792, ...}) = 0 > + open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 > + open("/etc/ld.so.cache", O_RDONLY) = 5 > + open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libgcj_bc.so.1", O_RDONLY) = 5 > > gcj-dbtool is reporting /usr/lib64/gcj-4.3.3-9/classmap.db as the > default db file, but the default being used by gcj is > /usr/share/java/classmap.gcjdb It's not a broken gcj, as far as I can see. It's because /usr/lib/jvm/gcj-jdk/bin/java execs gij with the argument "-Dgnu.gcj.precompiled.db.path=/usr/share/java/classmap.gcjdb" I suspect that without that argument gij would find the db. Andrew. From gnu_andrew at member.fsf.org Mon Dec 1 07:10:25 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 15:10:25 +0000 Subject: Two small ecj tweaks In-Reply-To: <4933F6FE.5020500@redhat.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <4933C44A.4080000@redhat.com> <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> <17c6771e0812010355m6942d10au753d35ffb187cf82@mail.gmail.com> <4933D6EB.7070408@redhat.com> <17c6771e0812010436h316dd25w26b1c0100182ff8a@mail.gmail.com> <4933F6FE.5020500@redhat.com> Message-ID: <17c6771e0812010710r5ecfeb17o2bce41045f1f764a@mail.gmail.com> On 01/12/2008, Andrew Haley wrote: > Andrew John Hughes wrote: > > > With that and the diff, I've spotted the issue and it does seem like a > > broken gcj being built by Gentoo: > > > > - open("/usr/share/java/classmap.gcjdb", O_RDONLY) = -1 ENOENT (No > > such file or directory) > > - open("/usr/share/locale/locale.alias", O_RDONLY) = 4 > > - open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) > > = -1 ENOENT (No such file or directory) > > - open("/usr/share/locale/en_GB.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = > > -1 ENOENT (No such file or directory) > > - open("/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 4 > > - open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = > > -1 ENOENT (No such file or directory) > > - open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > > ENOENT (No such file or directory) > > - open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > > ENOENT (No such file or directory) > > - statfs("/selinux", 0x7fff451155f0) = -1 ENOENT (No such file or directory) > > - open("/proc/mounts", O_RDONLY) = 4 > > - open("/tmp/ffir42O08", O_RDWR|O_CREAT|O_EXCL, 0600) = 4 > > - unlink("/tmp/ffir42O08") = 0 > > + open("/usr/lib64/gcj-4.3.3-9/classmap.db", O_RDONLY) = 4 > > + stat("/usr/lib64/gcj-4.3.3-9/classmap.db", {st_mode=S_IFREG|0644, > > st_size=1441792, ...}) = 0 > > + open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 > > + open("/etc/ld.so.cache", O_RDONLY) = 5 > > + open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libgcj_bc.so.1", O_RDONLY) = 5 > > > > gcj-dbtool is reporting /usr/lib64/gcj-4.3.3-9/classmap.db as the > > default db file, but the default being used by gcj is > > /usr/share/java/classmap.gcjdb > > > It's not a broken gcj, as far as I can see. > It's because /usr/lib/jvm/gcj-jdk/bin/java execs gij with the argument > "-Dgnu.gcj.precompiled.db.path=/usr/share/java/classmap.gcjdb" > I suspect that without that argument gij would find the db. > > > Andrew. > > > Ah, right. Fixed. -- Andrew :-) 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 aph at redhat.com Mon Dec 1 08:10:20 2008 From: aph at redhat.com (Andrew Haley) Date: Mon, 01 Dec 2008 16:10:20 +0000 Subject: Two small ecj tweaks In-Reply-To: <4933F6FE.5020500@redhat.com> References: <1228082826.9466.8.camel@hermans.wildebeest.org> <17c6771e0811301906t1e3864d6jc1bd6bf9090ff458@mail.gmail.com> <4933C44A.4080000@redhat.com> <17c6771e0812010354w944fbe7yd178b3e581eb7add@mail.gmail.com> <17c6771e0812010355m6942d10au753d35ffb187cf82@mail.gmail.com> <4933D6EB.7070408@redhat.com> <17c6771e0812010436h316dd25w26b1c0100182ff8a@mail.gmail.com> <4933F6FE.5020500@redhat.com> Message-ID: <49340C6C.40900@redhat.com> Andrew Haley wrote: > Andrew John Hughes wrote: > >> With that and the diff, I've spotted the issue and it does seem like a >> broken gcj being built by Gentoo: >> >> - open("/usr/share/java/classmap.gcjdb", O_RDONLY) = -1 ENOENT (No >> such file or directory) >> - open("/usr/share/locale/locale.alias", O_RDONLY) = 4 >> - open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) >> = -1 ENOENT (No such file or directory) >> - open("/usr/share/locale/en_GB.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = >> -1 ENOENT (No such file or directory) >> - open("/usr/share/locale/en_GB/LC_MESSAGES/libc.mo", O_RDONLY) = 4 >> - open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = >> -1 ENOENT (No such file or directory) >> - open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 >> ENOENT (No such file or directory) >> - open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 >> ENOENT (No such file or directory) >> - statfs("/selinux", 0x7fff451155f0) = -1 ENOENT (No such file or directory) >> - open("/proc/mounts", O_RDONLY) = 4 >> - open("/tmp/ffir42O08", O_RDWR|O_CREAT|O_EXCL, 0600) = 4 >> - unlink("/tmp/ffir42O08") = 0 >> + open("/usr/lib64/gcj-4.3.3-9/classmap.db", O_RDONLY) = 4 >> + stat("/usr/lib64/gcj-4.3.3-9/classmap.db", {st_mode=S_IFREG|0644, >> st_size=1441792, ...}) = 0 >> + open("/usr/lib64/native_ecj-3.3.so", O_RDONLY) = 5 >> + open("/etc/ld.so.cache", O_RDONLY) = 5 >> + open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libgcj_bc.so.1", O_RDONLY) = 5 >> >> gcj-dbtool is reporting /usr/lib64/gcj-4.3.3-9/classmap.db as the >> default db file, but the default being used by gcj is >> /usr/share/java/classmap.gcjdb > > It's not a broken gcj, as far as I can see. > It's because /usr/lib/jvm/gcj-jdk/bin/java execs gij with the argument > "-Dgnu.gcj.precompiled.db.path=/usr/share/java/classmap.gcjdb" > I suspect that without that argument gij would find the db. Maybe the best way to fix this is simply to symlink /usr/lib64/gcj-4.3.3-9/classmap.db to /usr/share/java/classmap.gcjdb. The classmap isn't really version-specific so there's no real need for it to be below /usr/lib64/gcj-4.3.3-9/ Andrew. From gnu_andrew at member.fsf.org Mon Dec 1 09:37:29 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 1 Dec 2008 17:37:29 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot Message-ID: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> I've added two new options to IcedTea6: --with-hotspot-build=x --with-hotspot-src-zip= When --with-hotspot-build is given, the build will attempt to use the specified version of HotSpot. The version numbers are contained in the new file hotspot.map which maps build numbers to changesets. The build number is also used in the name of some patches so correct versions are applied. This may yet be simplified to just do old/new. Feedback welcome. With this patch, the build defaults to using hs14.0b08 (the current OJ7 HotSpot) and will download this from hg.openjdk.java.net unless --with-hotspot-src-zip is used. --with-hotspot-build=original or --without-hotspot-build will disable this and return to the existing hs10.0b19 version. I've not yet checked that Zero still works with this, so for now the tree is available from http://fuseyism.com/hg/icedtea6 instead. Building this gives: java version "1.6.0_0" IcedTea6 1.4-r990fb5e4f060 Runtime Environment (build 1.6.0_0-b13) OpenJDK 64-Bit Server VM (build 14.0-b08, mixed mode) ChangeLog: 2008-12-01 Andrew John Hughes * patches/icedtea-hotspot-params-cast-size_t.patch, * patches/icedtea-hotspot-use-idx_t.patch, * patches/icedtea-memory-limits.patch, * patches/icedtea-sparc-ptracefix.patch, * patches/icedtea-sparc-trapsfix.patch, * patches/icedtea-sparc64-linux.patch, * patches/icedtea-static-libstdc++.patch, * patches/icedtea-text-relocations.patch: Removed; replaced by HotSpot-specific versions. * Makefile.am: Download a HotSpot version matching a given changeset and use it in place of the copy of hs10.0b19 shipping with OpenJDK6. Apply patches based on ${HSBUILD}. * acinclude.m4: New macros for options --with-hotspot-build and --with-hotspot-src-zip. * configure.ac: Run new macros. * hotspot.map: Map of HotSpot build numbers to changesets. * patches/icedtea-core-build.patch, * patches/icedtea-debuginfo.patch: Remove HotSpot specific parts. * patches/icedtea-ecj-hotspot-14.0b08.patch, * patches/icedtea-ecj-hotspot-original.patch: New HotSpot-specific patches built from IcedTea7 and 6 versions of icedtea-ecj respectively. * patches/icedtea-ecj.patch, * patches/icedtea-gcc-4.3.patch, * patches/icedtea-gcc-suffix.patch, * patches/icedtea-headers.patch: Remove HotSpot-specific parts. * patches/icedtea-hotspot-14.0b08-core-build.patch, * patches/icedtea-hotspot-14.0b08-debuginfo.patch, * patches/icedtea-hotspot-14.0b08-gcc-suffix.patch, * patches/icedtea-hotspot-14.0b08-headers.patch, * patches/icedtea-hotspot-14.0b08-memory-limits.patch, * patches/icedtea-hotspot-14.0b08-params-cast-size_t.patch, * patches/icedtea-hotspot-14.0b08-shark-build.patch, * patches/icedtea-hotspot-14.0b08-sparc-ptracefix.patch, * patches/icedtea-hotspot-14.0b08-sparc-trapsfix.patch, * patches/icedtea-hotspot-14.0b08-sparc64-linux.patch, * patches/icedtea-hotspot-14.0b08-static-libstdc++.patch, * patches/icedtea-hotspot-14.0b08-text-relocations.patch, * patches/icedtea-hotspot-14.0b08-use-idx_t.patch, * patches/icedtea-hotspot-14.0b08-version.patch, * patches/icedtea-hotspot-14.0b08-zero-build.patch, * patches/icedtea-hotspot-original-core-build.patch, * patches/icedtea-hotspot-original-debuginfo.patch, * patches/icedtea-hotspot-original-gcc-4.3.patch, * patches/icedtea-hotspot-original-gcc-suffix.patch, * patches/icedtea-hotspot-original-headers.patch, * patches/icedtea-hotspot-original-memory-limits.patch, * patches/icedtea-hotspot-original-params-cast-size_t.patch, * patches/icedtea-hotspot-original-shark-build.patch, * patches/icedtea-hotspot-original-sparc-ptracefix.patch, * patches/icedtea-hotspot-original-sparc-trapsfix.patch, * patches/icedtea-hotspot-original-sparc64-linux.patch, * patches/icedtea-hotspot-original-static-libstdc++.patch, * patches/icedtea-hotspot-original-text-relocations.patch, * patches/icedtea-hotspot-original-use-idx_t.patch, * patches/icedtea-hotspot-original-version.patch, * patches/icedtea-hotspot-original-zero-build.patch: New HotSpot-specific patches built from IcedTea7 and 6 versions of the patch respectively. * patches/icedtea-shark-build.patch, * patches/icedtea-version.patch, * patches/icedtea-zero-build.patch: Remove HotSpot-specific parts. -- Andrew :-) 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 mark at klomp.org Mon Dec 1 15:52:15 2008 From: mark at klomp.org (Mark Wielaard) Date: Tue, 02 Dec 2008 00:52:15 +0100 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> Message-ID: <1228175535.22459.165.camel@dijkstra.wildebeest.org> Hi Andrew, I CCed hotspot-dev to see if the hotspot hackers can also provide some feedback (on picking the right hotspot version to ship by default). On Mon, 2008-12-01 at 17:37 +0000, Andrew John Hughes wrote: > I've added two new options to IcedTea6: > > --with-hotspot-build=x > --with-hotspot-src-zip= > > When --with-hotspot-build is given, the build will attempt to use the > specified version of HotSpot. The version numbers are contained in > the new file hotspot.map which maps build numbers to changesets. The > build number is also used in the name of some patches so correct > versions are applied. This may yet be simplified to just do old/new. > Feedback welcome. > > With this patch, the build defaults to using hs14.0b08 (the current > OJ7 HotSpot) and will download this from hg.openjdk.java.net unless > --with-hotspot-src-zip is used. --with-hotspot-build=original or > --without-hotspot-build will disable this and return to the existing > hs10.0b19 version. Wow, this is pretty cool! It should make it much simpler to try out and use a newer hotspot with the stable, openjdk6 based, core. I think that supporting more than 2, lets call them "stable" and "latest", might be a bit ambitious. We risk having to try to keep up with all the different versions and duplicating all our patches against more and more versions. This is also why I CCed hotspot-dev, hopefully they can advise on the best values for "stable" (what is used in update 10 for example?) and "latest" (should be ok, but we wouldn't advise it for production yet). Ideally, we make sure that the "stable" version is the version backported also to openjdk6 itself. Or maybe 3 versions at most "openjdk6 base", "stable/production", "latest"? Encoding the versions in the patch file names is slightly ugly imho. If at all possible try moving them into their own subdirectory. (This is more in general, not particular for your patch, the patches dir is growing at an alarming rate, I guess I should have done the subdir thing myself also for the new xrender patch set.) Also it would be great to have hotspot patches that are just for any version. For example I saw the sparc-ptracefix that is identical for both versions (just a random pick, I didn't actually go over all patches). Note that the openjdk6 hotspot actually contains some tests that aren't in the newer hotspot repo. It would be nice if we never got less tests (currently there are 20, including one icedtea only one - the lucene test). Thanks for doing this. It will be nice to easily plug in newer hotspots. Cheers, Mark From gnu_andrew at member.fsf.org Mon Dec 1 16:10:32 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 2 Dec 2008 00:10:32 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <1228175535.22459.165.camel@dijkstra.wildebeest.org> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> Message-ID: <17c6771e0812011610n1eef51a3qce1e184d94a29f8f@mail.gmail.com> On 01/12/2008, Mark Wielaard wrote: > Hi Andrew, > > I CCed hotspot-dev to see if the hotspot hackers can also provide some > feedback (on picking the right hotspot version to ship by default). > > > On Mon, 2008-12-01 at 17:37 +0000, Andrew John Hughes wrote: > > I've added two new options to IcedTea6: > > > > --with-hotspot-build=x > > --with-hotspot-src-zip= > > > > When --with-hotspot-build is given, the build will attempt to use the > > specified version of HotSpot. The version numbers are contained in > > the new file hotspot.map which maps build numbers to changesets. The > > build number is also used in the name of some patches so correct > > versions are applied. This may yet be simplified to just do old/new. > > Feedback welcome. > > > > With this patch, the build defaults to using hs14.0b08 (the current > > OJ7 HotSpot) and will download this from hg.openjdk.java.net unless > > --with-hotspot-src-zip is used. --with-hotspot-build=original or > > --without-hotspot-build will disable this and return to the existing > > hs10.0b19 version. > > > Wow, this is pretty cool! It should make it much simpler to try out and > use a newer hotspot with the stable, openjdk6 based, core. > > I think that supporting more than 2, lets call them "stable" and > "latest", might be a bit ambitious. We risk having to try to keep up > with all the different versions and duplicating all our patches against > more and more versions. This is also why I CCed hotspot-dev, hopefully > they can advise on the best values for "stable" (what is used in update > 10 for example?) and "latest" (should be ok, but we wouldn't advise it > for production yet). > I had similar thoughts as I was preparing the patch. I think as a team we should keep support for two but maybe leave the infrastructure in place so if anyone else feels the urge they can add more. In that vein, I'll probably rename '14.0b08' to 'latest'. 6u10 ships 11.0b15 which predates hg. It might be in the old svn repositories somewhere, I didn't check your hg work on icedtea.classpath.org. My hope would be that Sun move to this for the original bundle anyway. We can then support that and the latest build fairly easily. The latest has to be support by IcedTea7 anyway (which is what I used to create most of the 14.0b08 patches). > Ideally, we make sure that the "stable" version is the version > backported also to openjdk6 itself. Or maybe 3 versions at most > "openjdk6 base", "stable/production", "latest"? > As I say, I would hope Sun would make the first two equivalent in their bundles but they've already left us with an outdated HotSpot for quite a while (6u10 has been out a bit now). > Encoding the versions in the patch file names is slightly ugly imho. If > at all possible try moving them into their own subdirectory. (This is > more in general, not particular for your patch, the patches dir is > growing at an alarming rate, I guess I should have done the subdir thing > myself also for the new xrender patch set.) > I agree; we should probably make things hierarchical. 'ecj' is probably also worthy of a subdirectory now I've started to split that into separate patches (it was unmanageable as a homogeneous lump). > Also it would be great to have hotspot patches that are just for any > version. For example I saw the sparc-ptracefix that is identical for > both versions (just a random pick, I didn't actually go over all > patches). > Ah ok that is strange because it didn't apply. I only created two variants where the build failed to patch. Perhaps this is due to an ugliness arising from the change of directory structure in 7. In 7, builds end up in build not control/build and HotSpot's build machinery is in hotspot/make not hotspot/build. You'll see I've also had to fix Makefile.am to cope with this when applying Gary's zero work. This may be the only difference in such patches. You are right that ptracefix is identical though - maybe I screwed up somewhere with the original patch. > Note that the openjdk6 hotspot actually contains some tests that aren't > in the newer hotspot repo. It would be nice if we never got less tests > (currently there are 20, including one icedtea only one - the lucene > test). > Yes we need a patch equivalent to the hotspot7 one which is only applied for original builds. I also need to split out the lucene test from the fix. > Thanks for doing this. It will be nice to easily plug in newer hotspots. > :) > Cheers, > > > Mark > > Cheers, -- Andrew :-) 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 Joe.Darcy at Sun.COM Mon Dec 1 17:08:57 2008 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Mon, 01 Dec 2008 17:08:57 -0800 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <17c6771e0812011610n1eef51a3qce1e184d94a29f8f@mail.gmail.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <17c6771e0812011610n1eef51a3qce1e184d94a29f8f@mail.gmail.com> Message-ID: <49348AA9.8040504@sun.com> On 12/01/08 04:10 PM, Andrew John Hughes wrote: > On 01/12/2008, Mark Wielaard wrote: > >> Hi Andrew, >> >> I CCed hotspot-dev to see if the hotspot hackers can also provide some >> feedback (on picking the right hotspot version to ship by default). >> >> >> On Mon, 2008-12-01 at 17:37 +0000, Andrew John Hughes wrote: >> > I've added two new options to IcedTea6: >> > >> > --with-hotspot-build=x >> > --with-hotspot-src-zip= >> > >> > When --with-hotspot-build is given, the build will attempt to use the >> > specified version of HotSpot. The version numbers are contained in >> > the new file hotspot.map which maps build numbers to changesets. The >> > build number is also used in the name of some patches so correct >> > versions are applied. This may yet be simplified to just do old/new. >> > Feedback welcome. >> > >> > With this patch, the build defaults to using hs14.0b08 (the current >> > OJ7 HotSpot) and will download this from hg.openjdk.java.net unless >> > --with-hotspot-src-zip is used. --with-hotspot-build=original or >> > --without-hotspot-build will disable this and return to the existing >> > hs10.0b19 version. >> >> >> Wow, this is pretty cool! It should make it much simpler to try out and >> use a newer hotspot with the stable, openjdk6 based, core. >> >> I think that supporting more than 2, lets call them "stable" and >> "latest", might be a bit ambitious. We risk having to try to keep up >> with all the different versions and duplicating all our patches against >> more and more versions. This is also why I CCed hotspot-dev, hopefully >> they can advise on the best values for "stable" (what is used in update >> 10 for example?) and "latest" (should be ok, but we wouldn't advise it >> for production yet). >> >> > > I had similar thoughts as I was preparing the patch. I think as a > team we should keep support for two but maybe leave the infrastructure > in place so if anyone else feels the urge they can add more. In that > vein, I'll probably rename '14.0b08' to 'latest'. > > 6u10 ships 11.0b15 which predates hg. It might be in the old svn > repositories somewhere, I didn't check your hg work on > icedtea.classpath.org. My hope would be that Sun move to this for the > original bundle anyway. We can then support that and the latest build > fairly easily. The latest has to be support by IcedTea7 anyway (which > is what I used to create most of the 14.0b08 patches). > > >> Ideally, we make sure that the "stable" version is the version >> backported also to openjdk6 itself. Or maybe 3 versions at most >> "openjdk6 base", "stable/production", "latest"? >> >> > > As I say, I would hope Sun would make the first two equivalent in > their bundles but they've already left us with an outdated HotSpot for > quite a while (6u10 has been out a bit now). > We will be publishing an OpenJDK 6 source bundle with HotSpot 11 later this week. Since the inception of the OpenJDK 6 code base, I've generally kept the HotSpot published in OpenJDK 6 current with the HotSpot in the currently shipping 6 update release, with some delays as with this HS 10 to HS 11 transition. Going forward, after the Mercurial transition for OpenJDK 6 the HotSpot team has committed to closer sharing of the HotSpot code bases for OpenJDK 6 and the 6 update release: http://mail.openjdk.java.net/pipermail/jdk6-dev/2008-September/000150.html -Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081201/db4086f8/attachment.html From gbenson at redhat.com Tue Dec 2 01:37:23 2008 From: gbenson at redhat.com (Gary Benson) Date: Tue, 2 Dec 2008 09:37:23 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <1228175535.22459.165.camel@dijkstra.wildebeest.org> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> Message-ID: <20081202093722.GA4500@redhat.com> Mark Wielaard wrote: > I think that supporting more than 2, lets call them "stable" and > "latest", might be a bit ambitious. We risk having to try to keep > up with all the different versions and duplicating all our patches > against more and more versions. I'd extend this and say can we not just support one? When Andrew said he was doing this last Thursday, my original thought was "great, we can get rid of all this two-versions-of-HotSpot stuff", so the thought of not only retaining it but possibly adding more is... unpleasant. My biggest issue was that, when there were problems with patches where there were two versions of something -- usually because of a new OpenJDK build -- people would often just fix one version and leave the other. So I'd wake up in the morning and suddenly my stuff wouldn't build and I'd spend all day making a fix that turned out to have already been applied in the "other" HotSpot. This is why I developed Shark out of the main tree fwiw. It was easier for me to deal with a huge dislocation every month or so -- when I was ready for it -- rather than potentially every day. Cheers, Gary -- http://gbenson.net/ From mark at klomp.org Tue Dec 2 02:25:58 2008 From: mark at klomp.org (Mark Wielaard) Date: Tue, 02 Dec 2008 11:25:58 +0100 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <20081202093722.GA4500@redhat.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> Message-ID: <1228213558.3435.24.camel@dijkstra.wildebeest.org> On Tue, 2008-12-02 at 09:37 +0000, Gary Benson wrote: > Mark Wielaard wrote: > > I think that supporting more than 2, lets call them "stable" and > > "latest", might be a bit ambitious. We risk having to try to keep > > up with all the different versions and duplicating all our patches > > against more and more versions. > > I'd extend this and say can we not just support one? When Andrew said > he was doing this last Thursday, my original thought was "great, we > can get rid of all this two-versions-of-HotSpot stuff", so the thought > of not only retaining it but possibly adding more is... unpleasant. > > My biggest issue was that, when there were problems with patches where > there were two versions of something -- usually because of a new > OpenJDK build -- people would often just fix one version and leave the > other. So I'd wake up in the morning and suddenly my stuff wouldn't > build and I'd spend all day making a fix that turned out to have > already been applied in the "other" HotSpot. This is why I developed > Shark out of the main tree fwiw. It was easier for me to deal with a > huge dislocation every month or so -- when I was ready for it -- rather > than potentially every day. Yeah. So it might be good to better write down the requirements and reasons to make hotspot upgrading easier: - The current hotspot on openjdk6 is just too old, we keep adding more and more backported patches for crasher bugs that we know are fixed in later versions or build fixes for newer/older toolchains on gnu/linux distros (we are carrying about 25 such patches now, excluding the sparc, zero and shark work). - The build setup of hotspot in openjdk6 is different from the main hotspot repo (make versus build). This is causing a lot of the pain of maintaining the zero/non-zero (7b24/6b13) divergences. Andrew tries to make this work a bit easier with his HOTSPOT_MAKE_DIR addition. But ideally we would only support hotspots with the newer build dir setup. - We want an easy mechanism for trying out newer hotspots so you can easily build a newer version and let people try out performance improvements or new features/flags (but on top of the stable 6 core build). I really like this part of Andrew's patch, which lets you select either a hg revision/version number or a prepackaged hotspot src zip. - We want to support the linux/sparc bits (the various icedtea-sparc-*.patches). Some of this is actually already in newer hotspots. - We want to support zero/shark. Ideally without having to have separate sets of ZERO_PATCHES and NON_ZERO_PATCHES (all our NON_ZERO_PATCHES are actually rebases of ZERO_PATCHES to older hotspot versions). This requires a hotspot that includes at a minimum the C++ interpreter. What is the best way to combine all these properties and keep our maintance level as low as possible. Which hotspot version(s) to support by default that make it easy to provide support for all of the above requirements. Did I forget anything? Cheers, Mark From gnu_andrew at member.fsf.org Tue Dec 2 02:27:11 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 2 Dec 2008 10:27:11 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <20081202093722.GA4500@redhat.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> Message-ID: <17c6771e0812020227kd5ed588x774db1030220e40d@mail.gmail.com> On 02/12/2008, Gary Benson wrote: > Mark Wielaard wrote: > > I think that supporting more than 2, lets call them "stable" and > > "latest", might be a bit ambitious. We risk having to try to keep > > up with all the different versions and duplicating all our patches > > against more and more versions. > > > I'd extend this and say can we not just support one? When Andrew said > he was doing this last Thursday, my original thought was "great, we > can get rid of all this two-versions-of-HotSpot stuff", so the thought > of not only retaining it but possibly adding more is... unpleasant. > > My biggest issue was that, when there were problems with patches where > there were two versions of something -- usually because of a new > OpenJDK build -- people would often just fix one version and leave the > other. So I'd wake up in the morning and suddenly my stuff wouldn't > build and I'd spend all day making a fix that turned out to have > already been applied in the "other" HotSpot. This is why I developed > Shark out of the main tree fwiw. It was easier for me to deal with a > huge dislocation every month or so -- when I was ready for it -- rather > than potentially every day. > > Cheers, > Gary > > > -- > http://gbenson.net/ > I know what you mean. With IcedTea7, we've actually been supporting 3 versions of HotSpot and each merge of IcedTea6 to IcedTea7 means fixing patches to work with 7 (including the zero stuff). This does simplify things because the default is now the OpenJDK7 HotSpot. This means IcedTea6 and IcedTea7 can use the same HotSpot patches and hopefully you'll bump Zero up to this version too (I've already patched it to at least build in 7, but it really needs a sanity check). Then we are all on the same page at last. Keeping the original around too is basically so we still build something close to what Sun provides. However, if this bitrots because no-one is bothered about using the version of HotSpot in the main tarball, then we can throw them away. But I'd like to see how things develop first before we do that. -- Andrew :-) 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 Tue Dec 2 02:37:17 2008 From: gbenson at redhat.com (Gary Benson) Date: Tue, 2 Dec 2008 10:37:17 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> Message-ID: <20081202103717.GC4500@redhat.com> Andrew John Hughes wrote: > I've not yet checked that Zero still works with this, so for now the > tree is available from http://fuseyism.com/hg/icedtea6 instead. No, it doesn't, none of the patches apply. I'm guessing that the best way to proceed would be to take the patches from the icedtea7 repo? Cheers, Gary -- http://gbenson.net/ From gnu_andrew at member.fsf.org Tue Dec 2 02:40:30 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 2 Dec 2008 10:40:30 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <1228213558.3435.24.camel@dijkstra.wildebeest.org> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <1228213558.3435.24.camel@dijkstra.wildebeest.org> Message-ID: <17c6771e0812020240j14ea4643t54946456af23b173@mail.gmail.com> On 02/12/2008, Mark Wielaard wrote: > On Tue, 2008-12-02 at 09:37 +0000, Gary Benson wrote: > > Mark Wielaard wrote: > > > I think that supporting more than 2, lets call them "stable" and > > > "latest", might be a bit ambitious. We risk having to try to keep > > > up with all the different versions and duplicating all our patches > > > against more and more versions. > > > > I'd extend this and say can we not just support one? When Andrew said > > he was doing this last Thursday, my original thought was "great, we > > can get rid of all this two-versions-of-HotSpot stuff", so the thought > > of not only retaining it but possibly adding more is... unpleasant. > > > > My biggest issue was that, when there were problems with patches where > > there were two versions of something -- usually because of a new > > OpenJDK build -- people would often just fix one version and leave the > > other. So I'd wake up in the morning and suddenly my stuff wouldn't > > build and I'd spend all day making a fix that turned out to have > > already been applied in the "other" HotSpot. This is why I developed > > Shark out of the main tree fwiw. It was easier for me to deal with a > > huge dislocation every month or so -- when I was ready for it -- rather > > than potentially every day. > > > Yeah. So it might be good to better write down the requirements and > reasons to make hotspot upgrading easier: > > - The current hotspot on openjdk6 is just too old, we keep adding more > and more backported patches for crasher bugs that we know are fixed in > later versions or build fixes for newer/older toolchains on gnu/linux > distros (we are carrying about 25 such patches now, excluding the sparc, > zero and shark work). When I merge this patch, this won't be the default any more. If someone wants to continue to maintain it, then they are welcome to step up and do so. But I expect main dev. effort to go to the OJ7 HotSpot now. > - The build setup of hotspot in openjdk6 is different from the main > hotspot repo (make versus build). This is causing a lot of the pain of > maintaining the zero/non-zero (7b24/6b13) divergences. Andrew tries to > make this work a bit easier with his HOTSPOT_MAKE_DIR addition. But > ideally we would only support hotspots with the newer build dir setup. I don't think it's much more than a name change. > - We want an easy mechanism for trying out newer hotspots so you can > easily build a newer version and let people try out performance > improvements or new features/flags (but on top of the stable 6 core > build). I really like this part of Andrew's patch, which lets you select > either a hg revision/version number or a prepackaged hotspot src zip. Indeed; the HotSpot src zip can be anything you want really. You just have to get the patches to apply :) > - We want to support the linux/sparc bits (the various > icedtea-sparc-*.patches). Some of this is actually already in newer > hotspots. Already handled: if !WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ patches/icedtea-hotspot7-tests.patch \ patches/icedtea-sparc.patch endif The main big SPARC patch is not applied for 7. > - We want to support zero/shark. Ideally without having to have separate > sets of ZERO_PATCHES and NON_ZERO_PATCHES (all our NON_ZERO_PATCHES are > actually rebases of ZERO_PATCHES to older hotspot versions). This > requires a hotspot that includes at a minimum the C++ interpreter. > Are ZERO_PATCHES patches which enable the Zero build (that's what I assumed) or just OJ7 patches? If they are the latter, we should have been applying them to 7. > What is the best way to combine all these properties and keep our > maintance level as low as possible. Which hotspot version(s) to support > by default that make it easy to provide support for all of the above > requirements. Did I forget anything? > I suggest supporting one HotSpot version across both IcedTea6 and 7. I don't see a good reason to go for the slightly newer one Joe plans to package over just using the latest, but it does sound like we will be stuck in the same situation of backporting again. This won't be as new as Gary's b24 one even (which is hs12 IIRC). > Cheers, > > > Mark > > -- Andrew :-) 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 Tue Dec 2 02:41:41 2008 From: gbenson at redhat.com (Gary Benson) Date: Tue, 2 Dec 2008 10:41:41 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <17c6771e0812020227kd5ed588x774db1030220e40d@mail.gmail.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <17c6771e0812020227kd5ed588x774db1030220e40d@mail.gmail.com> Message-ID: <20081202104141.GD4500@redhat.com> Andrew John Hughes wrote: > This does simplify things because the default is now the OpenJDK7 > HotSpot. This means IcedTea6 and IcedTea7 can use the same HotSpot > patches and hopefully you'll bump Zero up to this version too (I've > already patched it to at least build in 7, but it really needs a > sanity check). Then we are all on the same page at last. If you can get it so that the new icedtea6 builds with some HotSpot 7 then I'll switch over to it for my JCK runs. Cheers, Gary -- http://gbenson.net/ From gnu_andrew at member.fsf.org Tue Dec 2 02:42:11 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 2 Dec 2008 10:42:11 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <20081202103717.GC4500@redhat.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <20081202103717.GC4500@redhat.com> Message-ID: <17c6771e0812020242y6175b32fn1a8f31571dc77898@mail.gmail.com> On 02/12/2008, Gary Benson wrote: > Andrew John Hughes wrote: > > I've not yet checked that Zero still works with this, so for now the > > tree is available from http://fuseyism.com/hg/icedtea6 instead. > > > No, it doesn't, none of the patches apply. I'm guessing that the best > way to proceed would be to take the patches from the icedtea7 repo? > > > Cheers, > Gary > > -- > http://gbenson.net/ > Yes :) And drop the big HotSpot patch ;) I was planning to look at this next which is why I didn't push to the main tree. But if you'd prefer to... :) -- Andrew :-) 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 gnu_andrew at member.fsf.org Tue Dec 2 02:43:30 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 2 Dec 2008 10:43:30 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <20081202104141.GD4500@redhat.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <17c6771e0812020227kd5ed588x774db1030220e40d@mail.gmail.com> <20081202104141.GD4500@redhat.com> Message-ID: <17c6771e0812020243n796e3eaeo748bef7c20a2c813@mail.gmail.com> On 02/12/2008, Gary Benson wrote: > Andrew John Hughes wrote: > > This does simplify things because the default is now the OpenJDK7 > > HotSpot. This means IcedTea6 and IcedTea7 can use the same HotSpot > > patches and hopefully you'll bump Zero up to this version too (I've > > already patched it to at least build in 7, but it really needs a > > sanity check). Then we are all on the same page at last. > > > If you can get it so that the new icedtea6 builds with some HotSpot 7 > then I'll switch over to it for my JCK runs. > > > Cheers, > Gary > > -- > http://gbenson.net/ > That's what I've done. $ /home/andrew/build/icedtea6/bin/java -version java version "1.6.0_0" IcedTea6 1.4-r990fb5e4f060 Runtime Environment (build 1.6.0_0-b13) OpenJDK 64-Bit Server VM (build 14.0-b08, mixed mode) Zero just needs fixing up. -- Andrew :-) 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 Tue Dec 2 03:03:57 2008 From: gbenson at redhat.com (Gary Benson) Date: Tue, 2 Dec 2008 11:03:57 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <17c6771e0812020242y6175b32fn1a8f31571dc77898@mail.gmail.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <20081202103717.GC4500@redhat.com> <17c6771e0812020242y6175b32fn1a8f31571dc77898@mail.gmail.com> Message-ID: <20081202110357.GE4500@redhat.com> Andrew John Hughes wrote: > On 02/12/2008, Gary Benson wrote: > > Andrew John Hughes wrote: > > > I've not yet checked that Zero still works with this, so for now > > > the tree is available from http://fuseyism.com/hg/icedtea6 > > > instead. > > > > No, it doesn't, none of the patches apply. I'm guessing that the > > best way to proceed would be to take the patches from the icedtea7 > > repo? > > Yes :) > And drop the big HotSpot patch ;) > > I was planning to look at this next which is why I didn't push to > the main tree. But if you'd prefer to... :) If you could do it that would be excellent. I'm not familiar with the differences between the trees like you are, so it'd take me ten times as long. Once it's building (or even just applying) I can run with it. Cheers, Gary -- http://gbenson.net/ From mark at klomp.org Tue Dec 2 03:14:32 2008 From: mark at klomp.org (Mark Wielaard) Date: Tue, 02 Dec 2008 12:14:32 +0100 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <17c6771e0812020240j14ea4643t54946456af23b173@mail.gmail.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <1228213558.3435.24.camel@dijkstra.wildebeest.org> <17c6771e0812020240j14ea4643t54946456af23b173@mail.gmail.com> Message-ID: <1228216472.3435.33.camel@dijkstra.wildebeest.org> Hi Andrew, On Tue, 2008-12-02 at 10:40 +0000, Andrew John Hughes wrote: > > - We want to support zero/shark. Ideally without having to have separate > > sets of ZERO_PATCHES and NON_ZERO_PATCHES (all our NON_ZERO_PATCHES are > > actually rebases of ZERO_PATCHES to older hotspot versions). This > > requires a hotspot that includes at a minimum the C++ interpreter. > > > Are ZERO_PATCHES patches which enable the Zero build (that's what I > assumed) or just OJ7 patches? If they are the latter, we should have > been applying them to 7. They are, plus the integration of the newer hotspot (icedtea-hotspot-6b12-7b24), plus forward ported versions of the NON_ZERO_PATCHES that wouldn't apply directly (icedtea-signed-types.patch/icedtea-signed-types-hot6.patch), plus some bug fixes (some of which are already in newer hotspots, icedtea-hotspot-citypeflow.patch). Cheers, Mark From aph at redhat.com Tue Dec 2 02:51:23 2008 From: aph at redhat.com (Andrew Haley) Date: Tue, 02 Dec 2008 10:51:23 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <1228213558.3435.24.camel@dijkstra.wildebeest.org> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <1228213558.3435.24.camel@dijkstra.wildebeest.org> Message-ID: <4935132B.8090208@redhat.com> Mark Wielaard wrote: > - We want an easy mechanism for trying out newer hotspots so you can > easily build a newer version and let people try out performance > improvements or new features/flags (but on top of the stable 6 core > build). I really like this part of Andrew's patch, which lets you select > either a hg revision/version number or a prepackaged hotspot src zip. Well, yeah, it's nice, but this isn't worth doing if the need to support pluggable VMs leads to cruft in other areas. > - We want to support the linux/sparc bits (the various > icedtea-sparc-*.patches). Some of this is actually already in newer > hotspots. > - We want to support zero/shark. Ideally without having to have separate > sets of ZERO_PATCHES and NON_ZERO_PATCHES (all our NON_ZERO_PATCHES are > actually rebases of ZERO_PATCHES to older hotspot versions). This > requires a hotspot that includes at a minimum the C++ interpreter. Yes, it does. > What is the best way to combine all these properties and keep our > maintance level as low as possible. Which hotspot version(s) to support > by default that make it easy to provide support for all of the above > requirements. Did I forget anything? You have to ask: is this flexible configury part of the solution, or part of the problem? Right now it's not clear to me. Generally speaking, new hotspot is better than old. We run the risk that multiple build options will make the system fragile. It's much better, where possible, to have everyone building the same sources. Andrew. From gbenson at redhat.com Tue Dec 2 03:25:31 2008 From: gbenson at redhat.com (Gary Benson) Date: Tue, 2 Dec 2008 11:25:31 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <17c6771e0812020243n796e3eaeo748bef7c20a2c813@mail.gmail.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <17c6771e0812020227kd5ed588x774db1030220e40d@mail.gmail.com> <20081202104141.GD4500@redhat.com> <17c6771e0812020243n796e3eaeo748bef7c20a2c813@mail.gmail.com> Message-ID: <20081202112531.GF4500@redhat.com> Andrew John Hughes wrote: > On 02/12/2008, Gary Benson wrote: > > Andrew John Hughes wrote: > > > This does simplify things because the default is now the > > > OpenJDK7 HotSpot. This means IcedTea6 and IcedTea7 can use the > > > same HotSpot patches and hopefully you'll bump Zero up to this > > > version too (I've already patched it to at least build in 7, but > > > it really needs a sanity check). Then we are all on the same > > > page at last. > > > > If you can get it so that the new icedtea6 builds with some > > HotSpot 7 then I'll switch over to it for my JCK runs. > > That's what I've done. I meant with Zero :) Cheers, Gary -- http://gbenson.net/ From mark at klomp.org Tue Dec 2 04:51:40 2008 From: mark at klomp.org (Mark Wielaard) Date: Tue, 02 Dec 2008 13:51:40 +0100 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <4935132B.8090208@redhat.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <1228213558.3435.24.camel@dijkstra.wildebeest.org> <4935132B.8090208@redhat.com> Message-ID: <1228222300.3435.43.camel@dijkstra.wildebeest.org> Hi Andrew, On Tue, 2008-12-02 at 10:51 +0000, Andrew Haley wrote: > Mark Wielaard wrote: > > - We want an easy mechanism for trying out newer hotspots so you can > > easily build a newer version and let people try out performance > > improvements or new features/flags (but on top of the stable 6 core > > build). I really like this part of Andrew's patch, which lets you select > > either a hg revision/version number or a prepackaged hotspot src zip. > > Well, yeah, it's nice, but this isn't worth doing if the need to support > pluggable VMs leads to cruft in other areas. I think it is a much cleaner way than the current setup, where we carry a giant patch (icedtea-hotspot-6b12-7b24.patch) that needs (manual) updating whenever we update 6bxx drops. It makes any updates to the hotspot core independent of updates of the other modules. > > What is the best way to combine all these properties and keep our > > maintance level as low as possible. Which hotspot version(s) to support > > by default that make it easy to provide support for all of the above > > requirements. Did I forget anything? > > You have to ask: is this flexible configury part of the solution, or > part of the problem? Right now it's not clear to me. > > Generally speaking, new hotspot is better than old. We run the risk > that multiple build options will make the system fragile. It's much > better, where possible, to have everyone building the same sources. Yes. I think the major churn comes from supporting the old openjdk6 based hotspot because it needs so many backported patches, doesn't include sparc, has a different build dir layout, and doesn't come with the c++ interpreter for zero. It would be wise to only support newer hotspots that have at least most of that fixed. Cheers, Mark From aph at redhat.com Tue Dec 2 05:21:44 2008 From: aph at redhat.com (Andrew Haley) Date: Tue, 02 Dec 2008 13:21:44 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <1228222300.3435.43.camel@dijkstra.wildebeest.org> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <1228213558.3435.24.camel@dijkstra.wildebeest.org> <4935132B.8090208@redhat.com> <1228222300.3435.43.camel@dijkstra.wildebeest.org> Message-ID: <49353668.7080405@redhat.com> Mark Wielaard wrote: > On Tue, 2008-12-02 at 10:51 +0000, Andrew Haley wrote: >> Mark Wielaard wrote: >>> - We want an easy mechanism for trying out newer hotspots so you can >>> easily build a newer version and let people try out performance >>> improvements or new features/flags (but on top of the stable 6 core >>> build). I really like this part of Andrew's patch, which lets you select >>> either a hg revision/version number or a prepackaged hotspot src zip. >> Well, yeah, it's nice, but this isn't worth doing if the need to support >> pluggable VMs leads to cruft in other areas. > > I think it is a much cleaner way than the current setup, No argument. >>> What is the best way to combine all these properties and keep our >>> maintance level as low as possible. Which hotspot version(s) to support >>> by default that make it easy to provide support for all of the above >>> requirements. Did I forget anything? >> You have to ask: is this flexible configury part of the solution, or >> part of the problem? Right now it's not clear to me. >> >> Generally speaking, new hotspot is better than old. We run the risk >> that multiple build options will make the system fragile. It's much >> better, where possible, to have everyone building the same sources. > > Yes. I think the major churn comes from supporting the old openjdk6 > based hotspot because it needs so many backported patches, doesn't > include sparc, has a different build dir layout, and doesn't come with > the c++ interpreter for zero. It would be wise to only support newer > hotspots that have at least most of that fixed. Of course, but that's not the question. Obviously we don't want the old openjdk6 based hotspot. Andrew. From langel at redhat.com Tue Dec 2 05:27:54 2008 From: langel at redhat.com (Lillian Angel) Date: Tue, 02 Dec 2008 13:27:54 +0000 Subject: changeset in /hg/icedtea6: 2008-12-02 Lillian Angel changeset a599dbe81c3d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a599dbe81c3d description: 2008-12-02 Lillian Angel * Makefile.am (ICEDTEA_PATCHES): Added new OpenJDK security patches. * patches/icedtea-4486841.patch, patches/icedtea-6484091.patch, patches/icedtea-6497740.patch, patches/icedtea-6588160.patch, patches/icedtea-6592792.patch, patches/icedtea-6721753.patch, patches/icedtea-6726779.patch, patches/icedtea-6733959.patch, patches/icedtea-6734167.patch, patches/icedtea-6755943.patch, patches/icedtea-6766136.patch: New file diffstat: 13 files changed, 4759 insertions(+), 1 deletion(-) ChangeLog | 16 Makefile.am | 13 patches/icedtea-4486841.patch | 1234 +++++++++++++++++++++++++++++++ patches/icedtea-6484091.patch | 129 +++ patches/icedtea-6497740.patch | 1589 +++++++++++++++++++++++++++++++++++++++++ patches/icedtea-6588160.patch | 42 + patches/icedtea-6592792.patch | 360 +++++++++ patches/icedtea-6721753.patch | 117 +++ patches/icedtea-6726779.patch | 142 +++ patches/icedtea-6733959.patch | 223 +++++ patches/icedtea-6734167.patch | 89 ++ patches/icedtea-6755943.patch | 617 +++++++++++++++ patches/icedtea-6766136.patch | 189 ++++ diffs (truncated from 4821 to 500 lines): diff -r 990fb5e4f060 -r a599dbe81c3d ChangeLog --- a/ChangeLog Mon Dec 01 00:34:53 2008 +0100 +++ b/ChangeLog Tue Dec 02 08:27:46 2008 -0500 @@ -1,3 +1,19 @@ 2008-11-30 Mark Wielaard + + * Makefile.am + (ICEDTEA_PATCHES): Added new OpenJDK security patches. + * patches/icedtea-4486841.patch, + patches/icedtea-6484091.patch, + patches/icedtea-6497740.patch, + patches/icedtea-6588160.patch, + patches/icedtea-6592792.patch, + patches/icedtea-6721753.patch, + patches/icedtea-6726779.patch, + patches/icedtea-6733959.patch, + patches/icedtea-6734167.patch, + patches/icedtea-6755943.patch, + patches/icedtea-6766136.patch: New file + 2008-11-30 Mark Wielaard * patches/icedtea-xrender-001.patch: Remove !xrender bug fix. diff -r 990fb5e4f060 -r a599dbe81c3d Makefile.am --- a/Makefile.am Mon Dec 01 00:34:53 2008 +0100 +++ b/Makefile.am Tue Dec 02 08:27:46 2008 -0500 @@ -542,7 +542,18 @@ ICEDTEA_PATCHES = \ patches/icedtea-display-mode-changer.patch \ patches/icedtea-testenv.patch \ patches/icedtea-samejvm-safe.patch \ - patches/icedtea-6728542-epoll.patch + patches/icedtea-6728542-epoll.patch \ + patches/icedtea-4486841.patch \ + patches/icedtea-6484091.patch \ + patches/icedtea-6497740.patch \ + patches/icedtea-6588160.patch \ + patches/icedtea-6592792.patch \ + patches/icedtea-6721753.patch \ + patches/icedtea-6726779.patch \ + patches/icedtea-6733959.patch \ + patches/icedtea-6734167.patch \ + patches/icedtea-6755943.patch \ + patches/icedtea-6766136.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 990fb5e4f060 -r a599dbe81c3d patches/icedtea-4486841.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-4486841.patch Tue Dec 02 08:27:46 2008 -0500 @@ -0,0 +1,1234 @@ +--- old/src/share/classes/sun/nio/cs/UTF_8.java Thu Oct 9 16:02:01 2008 ++++ openjdk/jdk/src/share/classes/sun/nio/cs/UTF_8.java Thu Oct 9 16:02:01 2008 +@@ -1,5 +1,5 @@ + /* +- * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 2000-2008 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 +@@ -25,34 +25,36 @@ + + package sun.nio.cs; + ++import java.nio.Buffer; + import java.nio.ByteBuffer; + import java.nio.CharBuffer; +-import java.nio.BufferOverflowException; +-import java.nio.BufferUnderflowException; + import java.nio.charset.Charset; + import java.nio.charset.CharsetDecoder; + import java.nio.charset.CharsetEncoder; + import java.nio.charset.CoderResult; +-import java.nio.charset.CharacterCodingException; +-import java.nio.charset.MalformedInputException; +-import java.nio.charset.UnmappableCharacterException; + +- +-/* +- * # Bits Bit pattern +- * 1 7 0xxxxxxx +- * 2 11 110xxxxx 10xxxxxx +- * 3 16 1110xxxx 10xxxxxx 10xxxxxx +- * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx +- * 5 26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx +- * 6 31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx ++/* Legal UTF-8 Byte Sequences + * +- * UCS-2 uses 1-3, UTF-16 uses 1-4, UCS-4 uses 1-6 ++ * # Code Points Bits Bit/Byte pattern ++ * 1 7 0xxxxxxx ++ * U+0000..U+007F 00..7F ++ * ++ * 2 11 110xxxxx 10xxxxxx ++ * U+0080..U+07FF C2..DF 80..BF ++ * ++ * 3 16 1110xxxx 10xxxxxx 10xxxxxx ++ * U+0800..U+0FFF E0 A0..BF 80..BF ++ * U+1000..U+FFFF E1..EF 80..BF 80..BF ++ * ++ * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx ++ * U+10000..U+3FFFF F0 90..BF 80..BF 80..BF ++ * U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF ++ * U+100000..U10FFFF F4 80..8F 80..BF 80..BF ++ * + */ + + class UTF_8 extends Unicode + { +- + public UTF_8() { + super("UTF-8", StandardCharsets.aliases_UTF_8); + } +@@ -69,6 +71,11 @@ + return new Encoder(this); + } + ++ static final void updatePositions(Buffer src, int sp, ++ Buffer dst, int dp) { ++ src.position(sp - src.arrayOffset()); ++ dst.position(dp - dst.arrayOffset()); ++ } + + private static class Decoder extends CharsetDecoder { + private Decoder(Charset cs) { +@@ -75,161 +82,182 @@ + super(cs, 1.0f, 1.0f); + } + +- private boolean isContinuation(int b) { +- return ((b & 0xc0) == 0x80); ++ private static boolean isNotContinuation(int b) { ++ return (b & 0xc0) != 0x80; + } + +- private final Surrogate.Generator sgg = new Surrogate.Generator(); ++ // [C2..DF] [80..BF] ++ private static boolean isMalformed2(int b1, int b2) { ++ return (b1 & 0x1e) == 0x0 || (b2 & 0xc0) != 0x80; ++ } + ++ // [E0] [A0..BF] [80..BF] ++ // [E1..EF] [80..BF] [80..BF] ++ private static boolean isMalformed3(int b1, int b2, int b3) { ++ return (b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) || ++ (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80; ++ } ++ ++ // [F0] [90..BF] [80..BF] [80..BF] ++ // [F1..F3] [80..BF] [80..BF] [80..BF] ++ // [F4] [80..8F] [80..BF] [80..BF] ++ // only check 80-be range here, the [0xf0,0x80...] and [0xf4,0x90-...] ++ // will be checked by Surrogate.neededFor(uc) ++ private static boolean isMalformed4(int b2, int b3, int b4) { ++ return (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80 || ++ (b4 & 0xc0) != 0x80; ++ } ++ ++ private static CoderResult lookupN(ByteBuffer src, int n) ++ { ++ for (int i = 1; i < n; i++) { ++ if (isNotContinuation(src.get())) ++ return CoderResult.malformedForLength(i); ++ } ++ return CoderResult.malformedForLength(n); ++ } ++ ++ private static CoderResult malformedN(ByteBuffer src, int nb) { ++ switch (nb) { ++ case 1: ++ int b1 = src.get(); ++ if ((b1 >> 2) == -2) { ++ // 5 bytes 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx ++ if (src.remaining() < 4) ++ return CoderResult.UNDERFLOW; ++ return lookupN(src, 5); ++ } ++ if ((b1 >> 1) == -2) { ++ // 6 bytes 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx ++ if (src.remaining() < 5) ++ return CoderResult.UNDERFLOW; ++ return lookupN(src, 6); ++ } ++ return CoderResult.malformedForLength(1); ++ case 2: // always 1 ++ return CoderResult.malformedForLength(1); ++ case 3: ++ b1 = src.get(); ++ int b2 = src.get(); // no need to lookup b3 ++ return CoderResult.malformedForLength( ++ ((b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) || ++ isNotContinuation(b2))?1:2); ++ case 4: // we don't care the speed here ++ b1 = src.get() & 0xff; ++ b2 = src.get() & 0xff; ++ if (b1 > 0xf4 || ++ (b1 == 0xf0 && (b2 < 0x90 || b2 > 0xbf)) || ++ (b1 == 0xf4 && (b2 & 0xf0) != 0x80) || ++ isNotContinuation(b2)) ++ return CoderResult.malformedForLength(1); ++ if (isNotContinuation(src.get())) ++ return CoderResult.malformedForLength(2); ++ return CoderResult.malformedForLength(3); ++ default: ++ assert false; ++ return null; ++ } ++ } ++ ++ private static CoderResult malformed(ByteBuffer src, int sp, ++ CharBuffer dst, int dp, ++ int nb) ++ { ++ src.position(sp - src.arrayOffset()); ++ CoderResult cr = malformedN(src, nb); ++ updatePositions(src, sp, dst, dp); ++ return cr; ++ } ++ ++ private static CoderResult malformed(ByteBuffer src, ++ int mark, int nb) ++ { ++ src.position(mark); ++ CoderResult cr = malformedN(src, nb); ++ src.position(mark); ++ return cr; ++ } ++ ++ private static CoderResult xflow(Buffer src, int sp, int sl, ++ Buffer dst, int dp, int nb) { ++ updatePositions(src, sp, dst, dp); ++ return (nb == 0 || sl - sp < nb) ++ ?CoderResult.UNDERFLOW:CoderResult.OVERFLOW; ++ } ++ ++ private static CoderResult xflow(Buffer src, int mark, int nb) { ++ CoderResult cr = (nb == 0 || src.remaining() < (nb - 1)) ++ ?CoderResult.UNDERFLOW:CoderResult.OVERFLOW; ++ src.position(mark); ++ return cr; ++ } ++ + private CoderResult decodeArrayLoop(ByteBuffer src, + CharBuffer dst) + { ++ // This method is optimized for ASCII input. + byte[] sa = src.array(); + int sp = src.arrayOffset() + src.position(); + int sl = src.arrayOffset() + src.limit(); +- assert (sp <= sl); +- sp = (sp <= sl ? sp : sl); ++ + char[] da = dst.array(); + int dp = dst.arrayOffset() + dst.position(); + int dl = dst.arrayOffset() + dst.limit(); +- assert (dp <= dl); +- dp = (dp <= dl ? dp : dl); ++ int dlASCII = dp + Math.min(sl - sp, dl - dp); + +- try { +- while (sp < sl) { +- int b1 = sa[sp]; +- int b2, b3; +- switch ((b1 >> 4) & 0x0f) { ++ // ASCII only loop ++ while (dp < dlASCII && sa[sp] >= 0) ++ da[dp++] = (char)sa[sp++]; + +- case 0: case 1: case 2: case 3: +- case 4: case 5: case 6: case 7: +- // 1 byte, 7 bits: 0xxxxxxx +- if (dl - dp < 1) +- return CoderResult.OVERFLOW; +- da[dp++] = (char)(b1 & 0x7f); +- sp++; +- continue; +- +- case 12: case 13: +- // 2 bytes, 11 bits: 110xxxxx 10xxxxxx +- if (sl - sp < 2) +- return CoderResult.UNDERFLOW; +- if (dl - dp < 1) +- return CoderResult.OVERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- da[dp++] = ((char)(((b1 & 0x1f) << 6) | +- ((b2 & 0x3f) << 0))); +- sp += 2; +- continue; +- +- case 14: +- // 3 bytes, 16 bits: 1110xxxx 10xxxxxx 10xxxxxx +- if (sl - sp < 3) +- return CoderResult.UNDERFLOW; +- if (dl - dp < 1) +- return CoderResult.OVERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = sa[sp + 2])) +- return CoderResult.malformedForLength(2); +- da[dp++] = ((char)(((b1 & 0x0f) << 12) | +- ((b2 & 0x3f) << 06) | +- ((b3 & 0x3f) << 0))); +- sp += 3; +- continue; +- +- case 15: +- // 4, 5, or 6 bytes +- +- int b4, b5, b6, uc, n; +- switch (b1 & 0x0f) { +- +- case 0: case 1: case 2: case 3: +- case 4: case 5: case 6: case 7: +- // 4 bytes, 21 bits +- if (sl - sp < 4) +- return CoderResult.UNDERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = sa[sp + 2])) +- return CoderResult.malformedForLength(2); +- if (!isContinuation(b4 = sa[sp + 3])) +- return CoderResult.malformedForLength(3); +- uc = (((b1 & 0x07) << 18) | +- ((b2 & 0x3f) << 12) | +- ((b3 & 0x3f) << 06) | +- ((b4 & 0x3f) << 00)); +- n = 4; +- break; +- +- case 8: case 9: case 10: case 11: +- // 5 bytes, 26 bits +- if (sl - sp < 5) +- return CoderResult.UNDERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = sa[sp + 2])) +- return CoderResult.malformedForLength(2); +- if (!isContinuation(b4 = sa[sp + 3])) +- return CoderResult.malformedForLength(3); +- if (!isContinuation(b5 = sa[sp + 4])) +- return CoderResult.malformedForLength(4); +- uc = (((b1 & 0x03) << 24) | +- ((b2 & 0x3f) << 18) | +- ((b3 & 0x3f) << 12) | +- ((b4 & 0x3f) << 06) | +- ((b5 & 0x3f) << 00)); +- n = 5; +- break; +- +- case 12: case 13: +- // 6 bytes, 31 bits +- if (sl - sp < 6) +- return CoderResult.UNDERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = sa[sp + 2])) +- return CoderResult.malformedForLength(2); +- if (!isContinuation(b4 = sa[sp + 3])) +- return CoderResult.malformedForLength(3); +- if (!isContinuation(b5 = sa[sp + 4])) +- return CoderResult.malformedForLength(4); +- if (!isContinuation(b6 = sa[sp + 5])) +- return CoderResult.malformedForLength(5); +- uc = (((b1 & 0x01) << 30) | +- ((b2 & 0x3f) << 24) | +- ((b3 & 0x3f) << 18) | +- ((b4 & 0x3f) << 12) | +- ((b5 & 0x3f) << 06) | +- ((b6 & 0x3f))); +- n = 6; +- break; +- +- default: +- return CoderResult.malformedForLength(1); +- +- } +- +- int gn = sgg.generate(uc, n, da, dp, dl); +- if (gn < 0) +- return sgg.error(); +- dp += gn; +- sp += n; +- continue; +- +- default: +- return CoderResult.malformedForLength(1); +- ++ while (sp < sl) { ++ int b1 = sa[sp]; ++ if (b1 >= 0) { ++ // 1 byte, 7 bits: 0xxxxxxx ++ if (dp >= dl) ++ return xflow(src, sp, sl, dst, dp, 1); ++ da[dp++] = (char)b1; ++ sp++; ++ } else if ((b1 >> 5) == -2) { ++ // 2 bytes, 11 bits: 110xxxxx 10xxxxxx ++ if (sl - sp < 2 || dp >= dl) ++ return xflow(src, sp, sl, dst, dp, 2); ++ int b2 = sa[sp + 1]; ++ if (isMalformed2(b1, b2)) ++ return malformed(src, sp, dst, dp, 2); ++ da[dp++] = (char) (((b1 << 6) ^ b2) ^ 0x0f80); ++ sp += 2; ++ } else if ((b1 >> 4) == -2) { ++ // 3 bytes, 16 bits: 1110xxxx 10xxxxxx 10xxxxxx ++ if (sl - sp < 3 || dp >= dl) ++ return xflow(src, sp, sl, dst, dp, 3); ++ int b2 = sa[sp + 1]; ++ int b3 = sa[sp + 2]; ++ if (isMalformed3(b1, b2, b3)) ++ return malformed(src, sp, dst, dp, 3); ++ da[dp++] = (char) (((b1 << 12) ^ (b2 << 6) ^ b3) ^ 0x1f80); ++ sp += 3; ++ } else if ((b1 >> 3) == -2) { ++ // 4 bytes, 21 bits: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx ++ if (sl - sp < 4 || dl - dp < 2) ++ return xflow(src, sp, sl, dst, dp, 4); ++ int b2 = sa[sp + 1]; ++ int b3 = sa[sp + 2]; ++ int b4 = sa[sp + 3]; ++ int uc = ((b1 & 0x07) << 18) | ++ ((b2 & 0x3f) << 12) | ++ ((b3 & 0x3f) << 06) | ++ (b4 & 0x3f); ++ if (isMalformed4(b2, b3, b4) || ++ !Surrogate.neededFor(uc)) { ++ return malformed(src, sp, dst, dp, 4); + } +- +- } +- +- return CoderResult.UNDERFLOW; +- } finally { +- src.position(sp - src.arrayOffset()); +- dst.position(dp - dst.arrayOffset()); ++ da[dp++] = Surrogate.high(uc); ++ da[dp++] = Surrogate.low(uc); ++ sp += 4; ++ } else ++ return malformed(src, sp, dst, dp, 1); + } ++ return xflow(src, sp, sl, dst, dp, 0); + } + + private CoderResult decodeBufferLoop(ByteBuffer src, +@@ -236,137 +264,57 @@ + CharBuffer dst) + { + int mark = src.position(); +- try { +- while (src.hasRemaining()) { +- int b1 = src.get(); +- int b2, b3; +- switch ((b1 >> 4) & 0x0f) { +- +- case 0: case 1: case 2: case 3: +- case 4: case 5: case 6: case 7: +- // 1 byte, 7 bits: 0xxxxxxx +- if (dst.remaining() < 1) +- return CoderResult.OVERFLOW; +- dst.put((char)b1); +- mark++; +- continue; +- +- case 12: case 13: +- // 2 bytes, 11 bits: 110xxxxx 10xxxxxx +- if (src.remaining() < 1) +- return CoderResult.UNDERFLOW; +- if (dst.remaining() < 1) +- return CoderResult.OVERFLOW; +- if (!isContinuation(b2 = src.get())) +- return CoderResult.malformedForLength(1); +- dst.put((char)(((b1 & 0x1f) << 6) | +- ((b2 & 0x3f) << 0))); +- mark += 2; +- continue; +- +- case 14: +- // 3 bytes, 16 bits: 1110xxxx 10xxxxxx 10xxxxxx +- if (src.remaining() < 2) +- return CoderResult.UNDERFLOW; +- if (dst.remaining() < 1) +- return CoderResult.OVERFLOW; +- if (!isContinuation(b2 = src.get())) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = src.get())) +- return CoderResult.malformedForLength(2); +- dst.put((char)(((b1 & 0x0f) << 12) | +- ((b2 & 0x3f) << 06) | +- ((b3 & 0x3f) << 0))); +- mark += 3; +- continue; +- +- case 15: +- // 4, 5, or 6 bytes +- +- int b4, b5, b6, uc, n; +- switch (b1 & 0x0f) { +- From gnu_andrew at member.fsf.org Tue Dec 2 09:05:54 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 02 Dec 2008 17:05:54 +0000 Subject: changeset in /hg/icedtea6: Allow build with latest HotSpot. Message-ID: changeset 77c54978bab7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=77c54978bab7 description: Allow build with latest HotSpot. 2008-12-01 Andrew John Hughes * patches/icedtea-hotspot-params-cast-size_t.patch, * patches/icedtea-hotspot-use-idx_t.patch, * patches/icedtea-memory-limits.patch, * patches/icedtea-sparc-ptracefix.patch, * patches/icedtea-sparc-trapsfix.patch, * patches/icedtea-sparc64-linux.patch, * patches/icedtea-static-libstdc++.patch, * patches/icedtea-text-relocations.patch: Removed; replaced by HotSpot-specific versions. * Makefile.am: Download a HotSpot version matching a given changeset and use it in place of the copy of hs10.0b19 shipping with OpenJDK6. Apply patches based on ${HSBUILD}. * acinclude.m4: New macros for options --with-hotspot-build and --with-hotspot-src-zip. * configure.ac: Run new macros. * hotspot.map: Map of HotSpot build numbers to changesets. * patches/icedtea-core-build.patch, * patches/icedtea-debuginfo.patch: Remove HotSpot specific parts. * patches/icedtea-ecj-hotspot-14.0b08.patch, * patches/icedtea-ecj-hotspot-original.patch: New HotSpot-specific patches built from IcedTea7 and 6 versions of icedtea-ecj respectively. * patches/icedtea-ecj.patch, * patches/icedtea-gcc-4.3.patch, * patches/icedtea-gcc-suffix.patch, * patches/icedtea-headers.patch: Remove HotSpot-specific parts. * patches/icedtea-hotspot-14.0b08-core-build.patch, * patches/icedtea-hotspot-14.0b08-debuginfo.patch, * patches/icedtea-hotspot-14.0b08-gcc-suffix.patch, * patches/icedtea-hotspot-14.0b08-headers.patch, * patches/icedtea-hotspot-14.0b08-memory-limits.patch, * patches/icedtea-hotspot-14.0b08-params-cast-size_t.patch, * patches/icedtea-hotspot-14.0b08-shark-build.patch, * patches/icedtea-hotspot-14.0b08-sparc-ptracefix.patch, * patches/icedtea-hotspot-14.0b08-sparc-trapsfix.patch, * patches/icedtea-hotspot-14.0b08-sparc64-linux.patch, * patches/icedtea-hotspot-14.0b08-static-libstdc++.patch, * patches/icedtea-hotspot-14.0b08-text-relocations.patch, * patches/icedtea-hotspot-14.0b08-use-idx_t.patch, * patches/icedtea-hotspot-14.0b08-version.patch, * patches/icedtea-hotspot-14.0b08-zero-build.patch, * patches/icedtea-hotspot-original-core-build.patch, * patches/icedtea-hotspot-original-debuginfo.patch, * patches/icedtea-hotspot-original-gcc-4.3.patch, * patches/icedtea-hotspot-original-gcc-suffix.patch, * patches/icedtea-hotspot-original-headers.patch, * patches/icedtea-hotspot-original-memory-limits.patch, * patches/icedtea-hotspot-original-params-cast-size_t.patch, * patches/icedtea-hotspot-original-shark-build.patch, * patches/icedtea-hotspot-original-sparc-ptracefix.patch, * patches/icedtea-hotspot-original-sparc-trapsfix.patch, * patches/icedtea-hotspot-original-sparc64-linux.patch, * patches/icedtea-hotspot-original-static-libstdc++.patch, * patches/icedtea-hotspot-original-text-relocations.patch, * patches/icedtea-hotspot-original-use-idx_t.patch, * patches/icedtea-hotspot-original-version.patch, * patches/icedtea-hotspot-original-zero-build.patch: New HotSpot-specific patches built from IcedTea7 and 6 versions of the patch respectively. * patches/icedtea-shark-build.patch, * patches/icedtea-version.patch, * patches/icedtea-zero-build.patch: Remove HotSpot-specific parts. diffstat: 55 files changed, 2417 insertions(+), 1322 deletions(-) ChangeLog | 69 +++ Makefile.am | 81 ++- acinclude.m4 | 39 + configure.ac | 2 hotspot.map | 1 patches/icedtea-core-build.patch | 114 ----- patches/icedtea-debuginfo.patch | 14 patches/icedtea-ecj-hotspot-14.0b08.patch | 48 ++ patches/icedtea-ecj-hotspot-original.patch | 45 ++ patches/icedtea-ecj.patch | 44 -- patches/icedtea-gcc-4.3.patch | 71 --- patches/icedtea-gcc-suffix.patch | 24 - patches/icedtea-headers.patch | 11 patches/icedtea-hotspot-14.0b08-core-build.patch | 108 ++++ patches/icedtea-hotspot-14.0b08-debuginfo.patch | 15 patches/icedtea-hotspot-14.0b08-gcc-suffix.patch | 25 + patches/icedtea-hotspot-14.0b08-headers.patch | 13 patches/icedtea-hotspot-14.0b08-memory-limits.patch | 23 + patches/icedtea-hotspot-14.0b08-params-cast-size_t.patch | 121 +++++ patches/icedtea-hotspot-14.0b08-shark-build.patch | 233 ++++++++++ patches/icedtea-hotspot-14.0b08-sparc-ptracefix.patch | 34 + patches/icedtea-hotspot-14.0b08-sparc-trapsfix.patch | 21 patches/icedtea-hotspot-14.0b08-sparc64-linux.patch | 42 + patches/icedtea-hotspot-14.0b08-static-libstdc++.patch | 16 patches/icedtea-hotspot-14.0b08-text-relocations.patch | 15 patches/icedtea-hotspot-14.0b08-use-idx_t.patch | 45 ++ patches/icedtea-hotspot-14.0b08-version.patch | 38 + patches/icedtea-hotspot-14.0b08-zero-build.patch | 129 +++++ patches/icedtea-hotspot-original-core-build.patch | 113 +++++ patches/icedtea-hotspot-original-debuginfo.patch | 15 patches/icedtea-hotspot-original-gcc-4.3.patch | 72 +++ patches/icedtea-hotspot-original-gcc-suffix.patch | 25 + patches/icedtea-hotspot-original-headers.patch | 12 patches/icedtea-hotspot-original-memory-limits.patch | 21 patches/icedtea-hotspot-original-params-cast-size_t.patch | 121 +++++ patches/icedtea-hotspot-original-shark-build.patch | 232 ++++++++++ patches/icedtea-hotspot-original-sparc-ptracefix.patch | 34 + patches/icedtea-hotspot-original-sparc-trapsfix.patch | 21 patches/icedtea-hotspot-original-sparc64-linux.patch | 93 ++++ patches/icedtea-hotspot-original-static-libstdc++.patch | 33 + patches/icedtea-hotspot-original-text-relocations.patch | 25 + patches/icedtea-hotspot-original-use-idx_t.patch | 282 +++++++++++++ patches/icedtea-hotspot-original-version.patch | 36 + patches/icedtea-hotspot-original-zero-build.patch | 133 ++++++ patches/icedtea-hotspot-params-cast-size_t.patch | 121 ----- patches/icedtea-hotspot-use-idx_t.patch | 282 ------------- patches/icedtea-memory-limits.patch | 21 patches/icedtea-shark-build.patch | 233 ---------- patches/icedtea-sparc-ptracefix.patch | 34 - patches/icedtea-sparc-trapsfix.patch | 21 patches/icedtea-sparc64-linux.patch | 93 ---- patches/icedtea-static-libstdc++.patch | 33 - patches/icedtea-text-relocations.patch | 25 - patches/icedtea-version.patch | 35 - patches/icedtea-zero-build.patch | 132 ------ diffs (truncated from 4157 to 500 lines): diff -r 990fb5e4f060 -r 77c54978bab7 ChangeLog --- a/ChangeLog Mon Dec 01 00:34:53 2008 +0100 +++ b/ChangeLog Mon Dec 01 17:30:31 2008 +0000 @@ -1,3 +1,72 @@ 2008-11-30 Mark Wielaard + + * patches/icedtea-hotspot-params-cast-size_t.patch, + * patches/icedtea-hotspot-use-idx_t.patch, + * patches/icedtea-memory-limits.patch, + * patches/icedtea-sparc-ptracefix.patch, + * patches/icedtea-sparc-trapsfix.patch, + * patches/icedtea-sparc64-linux.patch, + * patches/icedtea-static-libstdc++.patch, + * patches/icedtea-text-relocations.patch: + Removed; replaced by HotSpot-specific versions. + * Makefile.am: + Download a HotSpot version matching a given changeset + and use it in place of the copy of hs10.0b19 shipping + with OpenJDK6. Apply patches based on ${HSBUILD}. + * acinclude.m4: New macros for options --with-hotspot-build + and --with-hotspot-src-zip. + * configure.ac: Run new macros. + * hotspot.map: Map of HotSpot build numbers to changesets. + * patches/icedtea-core-build.patch, + * patches/icedtea-debuginfo.patch: + Remove HotSpot specific parts. + * patches/icedtea-ecj-hotspot-14.0b08.patch, + * patches/icedtea-ecj-hotspot-original.patch: + New HotSpot-specific patches built from IcedTea7 + and 6 versions of icedtea-ecj respectively. + * patches/icedtea-ecj.patch, + * patches/icedtea-gcc-4.3.patch, + * patches/icedtea-gcc-suffix.patch, + * patches/icedtea-headers.patch: + Remove HotSpot-specific parts. + * patches/icedtea-hotspot-14.0b08-core-build.patch, + * patches/icedtea-hotspot-14.0b08-debuginfo.patch, + * patches/icedtea-hotspot-14.0b08-gcc-suffix.patch, + * patches/icedtea-hotspot-14.0b08-headers.patch, + * patches/icedtea-hotspot-14.0b08-memory-limits.patch, + * patches/icedtea-hotspot-14.0b08-params-cast-size_t.patch, + * patches/icedtea-hotspot-14.0b08-shark-build.patch, + * patches/icedtea-hotspot-14.0b08-sparc-ptracefix.patch, + * patches/icedtea-hotspot-14.0b08-sparc-trapsfix.patch, + * patches/icedtea-hotspot-14.0b08-sparc64-linux.patch, + * patches/icedtea-hotspot-14.0b08-static-libstdc++.patch, + * patches/icedtea-hotspot-14.0b08-text-relocations.patch, + * patches/icedtea-hotspot-14.0b08-use-idx_t.patch, + * patches/icedtea-hotspot-14.0b08-version.patch, + * patches/icedtea-hotspot-14.0b08-zero-build.patch, + * patches/icedtea-hotspot-original-core-build.patch, + * patches/icedtea-hotspot-original-debuginfo.patch, + * patches/icedtea-hotspot-original-gcc-4.3.patch, + * patches/icedtea-hotspot-original-gcc-suffix.patch, + * patches/icedtea-hotspot-original-headers.patch, + * patches/icedtea-hotspot-original-memory-limits.patch, + * patches/icedtea-hotspot-original-params-cast-size_t.patch, + * patches/icedtea-hotspot-original-shark-build.patch, + * patches/icedtea-hotspot-original-sparc-ptracefix.patch, + * patches/icedtea-hotspot-original-sparc-trapsfix.patch, + * patches/icedtea-hotspot-original-sparc64-linux.patch, + * patches/icedtea-hotspot-original-static-libstdc++.patch, + * patches/icedtea-hotspot-original-text-relocations.patch, + * patches/icedtea-hotspot-original-use-idx_t.patch, + * patches/icedtea-hotspot-original-version.patch, + * patches/icedtea-hotspot-original-zero-build.patch: + New HotSpot-specific patches built from IcedTea7 + and 6 versions of the patch respectively. + * patches/icedtea-shark-build.patch, + * patches/icedtea-version.patch, + * patches/icedtea-zero-build.patch: + Remove HotSpot-specific parts. + 2008-11-30 Mark Wielaard * patches/icedtea-xrender-001.patch: Remove !xrender bug fix. diff -r 990fb5e4f060 -r 77c54978bab7 Makefile.am --- a/Makefile.am Mon Dec 01 00:34:53 2008 +0100 +++ b/Makefile.am Mon Dec 01 17:30:31 2008 +0000 @@ -45,6 +45,12 @@ VISUALVM_PATCH = patches/icedtea-visualv VISUALVM_PATCH = patches/icedtea-visualvm.patch else VISUALVM_PATCH = +endif + +if WITH_ALT_HSBUILD +HOTSPOT_MAKE_DIR = make +else +HOTSPOT_MAKE_DIR = build endif # Top-Level Targets @@ -281,11 +287,18 @@ snapshot: dist # Download OpenJDK sources. OPENJDK_URL = http://download.java.net/openjdk/jdk6/promoted/$(OPENJDK_VERSION)/ +HOTSPOT_URL = http://hg.openjdk.java.net/jdk7/hotspot/hotspot/archive/ if USE_ALT_OPENJDK_SRC_ZIP OPENJDK_SRC_ZIP = $(ALT_OPENJDK_SRC_ZIP) else OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz +endif + +if USE_ALT_HOTSPOT_SRC_ZIP + HOTSPOT_SRC_ZIP = $(ALT_HOTSPOT_SRC_ZIP) +else + HOTSPOT_SRC_ZIP = hotspot.tar.gz endif CACAO_BASE_URL = http://www.complang.tuwien.ac.at @@ -333,6 +346,13 @@ else fi ; \ $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP) -O $(OPENJDK_SRC_ZIP); \ fi +endif +if WITH_ALT_HSBUILD +if USE_ALT_HOTSPOT_SRC_ZIP +else + changeset="`cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2`"; \ + $(WGET) $(HOTSPOT_URL)$${changeset}.tar.gz -O $(HOTSPOT_SRC_ZIP); +endif endif if WITH_CACAO if !USE_SYSTEM_CACAO @@ -407,13 +427,13 @@ endif # Link ports sources into tree stamps/ports.stamp: stamps/extract.stamp - for target in $(abs_top_srcdir)/ports/hotspot/build/*/makefiles/* \ + for target in $(abs_top_srcdir)/ports/hotspot/$(HOTSPOT_MAKE_DIR)/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ link=$$(dirname $$target | sed 's/^.*ports/openjdk/'); \ ln -sf $$target $$link; \ done - ln -sf $(abs_top_builddir)/platform_zero openjdk/hotspot/build/linux + ln -sf $(abs_top_builddir)/platform_zero openjdk/hotspot/$(HOTSPOT_MAKE_DIR)/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(ICEDTEA_SHARK_BUILD)$(WITH_CACAO)" \ = "xno" ; then \ mkdir -p openjdk/jdk/src/solaris/bin/$(BUILD_ARCH_DIR) ; \ @@ -431,7 +451,8 @@ if GCC_OLD if GCC_OLD GCC_PATCH = else - GCC_PATCH = patches/icedtea-gcc-4.3.patch + GCC_PATCH = patches/icedtea-gcc-4.3.patch \ + patches/icedtea-hotspot-$(HSBUILD)-gcc-4.3.patch endif # If ZERO_BUILD is set then we are building zero and need @@ -458,7 +479,11 @@ if ZERO_BUILD if ZERO_BUILD ZERO_PATCHES_COND = $(ZERO_PATCHES) else +if WITH_ALT_HSBUILD + ZERO_PATCHES_COND = +else ZERO_PATCHES_COND = $(NON_ZERO_PATCHES) +endif endif # If Shark is required, apply shark patch @@ -472,12 +497,13 @@ ICEDTEA_FSG_PATCHES = ICEDTEA_PATCHES = \ $(ZERO_PATCHES_COND) \ - patches/icedtea-hotspot7-tests.patch \ + patches/icedtea-version.patch \ + patches/icedtea-hotspot-$(HSBUILD)-version.patch \ patches/icedtea-copy-plugs.patch \ - patches/icedtea-version.patch \ - patches/icedtea-text-relocations.patch \ + patches/icedtea-hotspot-$(HSBUILD)-text-relocations.patch \ patches/icedtea-graphics.patch \ patches/icedtea-debuginfo.patch \ + patches/icedtea-hotspot-$(HSBUILD)-debuginfo.patch \ patches/icedtea-ssl.patch \ $(PLUGIN_PATCH) \ patches/icedtea-webstart.patch \ @@ -487,32 +513,36 @@ ICEDTEA_PATCHES = \ patches/icedtea-demos.patch \ patches/icedtea-use-system-tzdata.patch \ patches/icedtea-headers.patch \ + patches/icedtea-hotspot-$(HSBUILD)-headers.patch \ patches/icedtea-ant.patch \ patches/icedtea-gcc-suffix.patch \ + patches/icedtea-hotspot-$(HSBUILD)-gcc-suffix.patch \ patches/icedtea-bytebuffer-compact.patch \ patches/icedtea-float-double-trailing-zeros.patch \ - patches/icedtea-memory-limits.patch \ + patches/icedtea-hotspot-$(HSBUILD)-memory-limits.patch \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-javafiles.patch \ patches/icedtea-core-build.patch \ + patches/icedtea-hotspot-$(HSBUILD)-core-build.patch \ patches/icedtea-linker-options.patch \ - patches/icedtea-static-libstdc++.patch \ + patches/icedtea-hotspot-$(HSBUILD)-static-libstdc++.patch \ patches/icedtea-timerqueue.patch \ patches/icedtea-lib64.patch \ patches/icedtea-zero-build.patch \ + patches/icedtea-hotspot-$(HSBUILD)-zero-build.patch \ patches/icedtea-print-lsb-release.patch \ patches/icedtea-jpegclasses.patch \ patches/icedtea-uname.patch \ patches/icedtea-ia64-fdlibm.patch \ patches/icedtea-fonts.patch \ - patches/icedtea-sparc.patch \ - patches/icedtea-sparc64-linux.patch \ - patches/icedtea-sparc-ptracefix.patch \ - patches/icedtea-sparc-trapsfix.patch \ + patches/icedtea-hotspot-$(HSBUILD)-sparc64-linux.patch \ + patches/icedtea-hotspot-$(HSBUILD)-sparc-ptracefix.patch \ + patches/icedtea-hotspot-$(HSBUILD)-sparc-trapsfix.patch \ patches/icedtea-override-redirect-metacity.patch \ patches/icedtea-no-bcopy.patch \ patches/icedtea-shark-build.patch \ + patches/icedtea-hotspot-$(HSBUILD)-shark-build.patch \ patches/icedtea-toolkit.patch \ patches/icedtea-jdk-docs-target.patch \ patches/icedtea-nomotif-6706121.patch \ @@ -521,8 +551,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-alt-jar.patch \ patches/icedtea-enum-bug-181.patch \ patches/icedtea-jdk-use-ssize_t.patch \ - patches/icedtea-hotspot-use-idx_t.patch \ - patches/icedtea-hotspot-params-cast-size_t.patch \ + patches/icedtea-hotspot-$(HSBUILD)-use-idx_t.patch \ + patches/icedtea-hotspot-$(HSBUILD)-params-cast-size_t.patch \ patches/icedtea-clean-crypto.patch \ $(SHARK_PATCH) \ $(GCC_PATCH) \ @@ -544,6 +574,12 @@ ICEDTEA_PATCHES = \ patches/icedtea-samejvm-safe.patch \ patches/icedtea-6728542-epoll.patch +if !WITH_ALT_HSBUILD +ICEDTEA_PATCHES += \ + patches/icedtea-hotspot7-tests.patch \ + patches/icedtea-sparc.patch +endif + if WITH_RHINO ICEDTEA_PATCHES += \ patches/icedtea-rhino.patch @@ -575,6 +611,13 @@ stamps/extract.stamp: stamps/download.st mkdir openjdk ; \ $(TAR) xf $(OPENJDK_SRC_ZIP) -C openjdk; \ chmod -R ug+w openjdk ; \ + if test -e ${HOTSPOT_SRC_ZIP} ; \ + then \ + rm -rf openjdk/hotspot ; \ + $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ + chmod -R ug+w hotspot-* ; \ + mv hotspot-* openjdk/hotspot ; \ + fi ; \ sh $(abs_top_srcdir)/fsg.sh ; \ fi if WITH_CACAO @@ -759,13 +802,13 @@ clean-extract-ecj: # Link ports sources into tree stamps/ports-ecj.stamp: stamps/extract-ecj.stamp - for target in $(abs_top_srcdir)/ports/hotspot/build/*/makefiles/* \ + for target in $(abs_top_srcdir)/ports/hotspot/$(HOTSPOT_MAKE_DIR)/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ link=$$(dirname $$target | sed 's/^.*ports/openjdk-ecj/'); \ ln -sf $$target $$link; \ done - ln -sf $(abs_top_builddir)/platform_zero openjdk-ecj/hotspot/build/linux + ln -sf $(abs_top_builddir)/platform_zero openjdk-ecj/hotspot/$(HOTSPOT_MAKE_DIR)/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(ICEDTEA_SHARK_BUILD)$(WITH_CACAO)" \ = "xno"; then \ mkdir -p openjdk-ecj/jdk/src/solaris/bin/$(BUILD_ARCH_DIR); \ @@ -781,6 +824,7 @@ stamps/ports-ecj.stamp: stamps/extract-e # Patch OpenJDK for plug replacements and ecj. ICEDTEA_ECJ_PATCHES = patches/icedtea-ecj.patch \ + patches/icedtea-ecj-hotspot-$(HSBUILD).patch \ patches/icedtea-ecj-spp.patch \ patches/icedtea-ecj-jopt.patch \ patches/icedtea-ecj-pr261.patch @@ -1206,6 +1250,11 @@ ICEDTEA_COPY_DIRS = \ java/rmi \ sun/awt/ \ javax/net/ssl + +if WITH_ALT_HSBUILD +ICEDTEA_COPY_DIRS += \ + javax/script +endif stamps/copy-source-files.stamp: stamps/patch.stamp for copy_dir in $(ICEDTEA_COPY_DIRS) ; \ diff -r 990fb5e4f060 -r 77c54978bab7 acinclude.m4 --- a/acinclude.m4 Mon Dec 01 00:34:53 2008 +0100 +++ b/acinclude.m4 Mon Dec 01 17:30:31 2008 +0000 @@ -923,3 +923,42 @@ AC_DEFUN([AC_CHECK_WITH_GCJ], fi AC_SUBST([GCJ]) ]) + +AC_DEFUN([AC_CHECK_WITH_HOTSPOT_BUILD], +[ + DEFAULT_BUILD="14.0b08" + AC_MSG_CHECKING([which HotSpot build to use]) + AC_ARG_WITH([hotspot-build], + [AS_HELP_STRING(--with-hotspot-build,the HotSpot build to use)], + [ + HSBUILD="${withval}" + ], + [ + HSBUILD="${DEFAULT_BUILD}" + ]) + if test "x${HSBUILD}" = xyes; then + HSBUILD="${DEFAULT_BUILD}" + elif test "x${HSBUILD}" = xno; then + HSBUILD="original" + fi + AC_MSG_RESULT([${HSBUILD}]) + AC_SUBST([HSBUILD]) + AM_CONDITIONAL(WITH_ALT_HSBUILD, test "x${HSBUILD}" != "xoriginal") +]) + +AC_DEFUN([WITH_HOTSPOT_SRC_ZIP], +[ + AC_MSG_CHECKING(for a HotSpot source zip) + AC_ARG_WITH([hotspot-src-zip], + [AS_HELP_STRING(--with-hotspot-src-zip,specify the location of the hotspot source zip)], + [ + ALT_HOTSPOT_SRC_ZIP=${withval} + AM_CONDITIONAL(USE_ALT_HOTSPOT_SRC_ZIP, test x = x) + ], + [ + ALT_HOTSPOT_SRC_ZIP="not specified" + AM_CONDITIONAL(USE_ALT_HOTSPOT_SRC_ZIP, test x != x) + ]) + AC_MSG_RESULT(${ALT_HOTSPOT_SRC_ZIP}) + AC_SUBST(ALT_HOTSPOT_SRC_ZIP) +]) diff -r 990fb5e4f060 -r 77c54978bab7 configure.ac --- a/configure.ac Mon Dec 01 00:34:53 2008 +0100 +++ b/configure.ac Mon Dec 01 17:30:31 2008 +0000 @@ -33,6 +33,7 @@ AC_SUBST([HG]) AC_SUBST([HG]) AC_PATH_TOOL([LSB_RELEASE],[lsb_release]) AC_CHECK_WITH_GCJ +AC_CHECK_WITH_HOTSPOT_BUILD AC_MSG_CHECKING([for a JDK home directory]) AC_ARG_WITH([gcj-home], @@ -300,6 +301,7 @@ fi fi FIND_RHINO_JAR WITH_OPENJDK_SRC_ZIP +WITH_HOTSPOT_SRC_ZIP WITH_OPENJDK_SRC_DIR WITH_VISUALVM_SRC_ZIP WITH_NETBEANS_PROFILER_SRC_ZIP diff -r 990fb5e4f060 -r 77c54978bab7 hotspot.map --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspot.map Mon Dec 01 17:30:31 2008 +0000 @@ -0,0 +1,1 @@ +14.0b08 f9d938ede196 diff -r 990fb5e4f060 -r 77c54978bab7 patches/icedtea-core-build.patch --- a/patches/icedtea-core-build.patch Mon Dec 01 00:34:53 2008 +0100 +++ b/patches/icedtea-core-build.patch Mon Dec 01 17:30:31 2008 +0000 @@ -12,22 +12,6 @@ diff -ru openjdk.orig/control/make/make/ HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) -diff -u openjdk.orig/hotspot/build/linux/makefiles/defs.make openjdk/hotspot/build/linux/makefiles/defs.make ---- openjdk.orig/hotspot/build/linux/makefiles/defs.make 2008-01-31 14:19:00.000000000 +0000 -+++ openjdk/hotspot/build/linux/makefiles/defs.make 2008-02-01 15:57:40.000000000 +0000 -@@ -97,6 +97,7 @@ EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusa - EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so -+ifndef ICEDTEA_CORE_BUILD - ifeq ($(ARCH_DATA_MODEL), 32) - EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt -@@ -111,3 +112,4 @@ else - EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar - endif - endif -+endif diff -ru openjdk.orig/jdk/make/java/redist/Makefile openjdk/jdk/make/java/redist/Makefile --- openjdk.orig/jdk/make/java/redist/Makefile 2008-01-31 14:20:37.000000000 +0000 +++ openjdk/jdk/make/java/redist/Makefile 2008-02-04 10:11:04.000000000 +0000 @@ -94,100 +78,4 @@ diff -ru openjdk.orig/corba/make/common/ JVMLIB = -L$(BOOTDIR)/jre/lib/$(LIBARCH)/$(VM_NAME) -ljvm JAVALIB = -L$(BOOTDIR)/jre/lib/$(LIBARCH) -ljava $(JVMLIB) -diff -r 79d639c8a75f openjdk/hotspot/make/Makefile ---- openjdk/hotspot/make/Makefile Wed Apr 16 08:42:01 2008 +0100 -+++ openjdk/hotspot/make/Makefile Wed Apr 16 08:49:31 2008 +0100 -@@ -90,6 +90,15 @@ all_debug: jvmg jvmg1 docs export_de - all_debug: jvmg jvmg1 docs export_debug - all_optimized: optimized optimized1 docs export_optimized - -+# Core (non-compiler) targets made available with this Makefile -+CORE_VM_TARGETS=productcore fastdebugcore optimizedcore jvmgcore -+ -+allcore: all_productcore all_fastdebugcore -+all_productcore: productcore docs export_product -+all_fastdebugcore: fastdebugcore docs export_fastdebug -+all_debugcore: jvmgcore docs export_debug -+all_optimizedcore: optimizedcore docs export_optimized -+ - # Do everything - world: all create_jdk - -@@ -111,6 +120,10 @@ endif - $(C2_VM_TARGETS): - $(CD) $(GAMMADIR)/make; \ - $(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT) -+ -+$(CORE_VM_TARGETS): -+ $(CD) $(GAMMADIR)/make; \ -+ $(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT) - - # Build compiler1 (client) rule, different for platforms - generic_build1: -@@ -153,6 +166,12 @@ else - $(MAKE) -f $(ABS_OS_MAKEFILE) \ - $(MAKE_ARGS) $(VM_TARGET) - endif -+ -+generic_buildcore: -+ $(MKDIR) -p $(OUTPUTDIR) -+ $(CD) $(OUTPUTDIR); \ -+ $(MAKE) -f $(ABS_OS_MAKEFILE) \ -+ $(MAKE_ARGS) $(VM_TARGET) - - # Export file rule - generic_export: $(EXPORT_LIST) -@@ -182,11 +201,19 @@ XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt - XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt - DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs - C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 -+ifdef ICEDTEA_CORE_BUILD -+C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core -+else - C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 -+endif - C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) - C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) - - # Misc files and generated files need to come from C1 or C2 area -+ifdef ICEDTEA_CORE_BUILD -+ MISC_DIR=$(C2_DIR) -+ GEN_DIR=$(C2_BASE_DIR)/generated -+else - ifeq ($(ARCH_DATA_MODEL), 32) - MISC_DIR=$(C1_DIR) - GEN_DIR=$(C1_BASE_DIR)/generated -@@ -194,6 +221,7 @@ else - MISC_DIR=$(C2_DIR) - GEN_DIR=$(C2_BASE_DIR)/generated - endif -+endif - - # Bin files (windows) - ifeq ($(OSNAME),windows) -@@ -264,6 +292,7 @@ endif - - # Xusage file - $(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt: $(XUSAGE) -+$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE) - $(prep-target) - $(RM) $@.temp - $(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp -diff -r 79d639c8a75f openjdk/hotspot/src/share/vm/runtime/vm_version.cpp ---- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-02-12 04:14:24.000000000 -0500 -+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-02-14 17:39:45.000000000 -0500 -@@ -89,8 +89,12 @@ - #ifdef TIERED - #define VMTYPE "Server" - #else -- #define VMTYPE COMPILER1_PRESENT("Client") \ -- COMPILER2_PRESENT("Server") -+#if defined(COMPILER1) || defined(COMPILER2) -+ #define VMTYPE COMPILER1_PRESENT("Client") \ -+ COMPILER2_PRESENT("Server") -+#else -+ #define VMTYPE "Core" -+#endif // COMPILER1 || COMPILER2 - #endif // TIERED - - #ifndef HOTSPOT_VM_DISTRO + diff -r 990fb5e4f060 -r 77c54978bab7 patches/icedtea-debuginfo.patch --- a/patches/icedtea-debuginfo.patch Mon Dec 01 00:34:53 2008 +0100 +++ b/patches/icedtea-debuginfo.patch Mon Dec 01 17:30:31 2008 +0000 @@ -1,17 +1,3 @@ diff -urN openjdk.orig/hotspot/build/lin -diff -urN openjdk.orig/hotspot/build/linux/makefiles/gcc.make openjdk/hotspot/build/linux/makefiles/gcc.make From gnu_andrew at member.fsf.org Tue Dec 2 09:05:54 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 02 Dec 2008 17:05:54 +0000 Subject: changeset in /hg/icedtea6: Support Zero on IcedTea6+hs14.0b08 Message-ID: changeset e7eec12f4f71 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e7eec12f4f71 description: Support Zero on IcedTea6+hs14.0b08 2008-12-01 Andrew John Hughes * patches/icedtea-bytecodeInterpreter.patch, * patches/icedtea-hotspot7-build-fixes.patch: Removed. * Makefile.am: Sort out Zero patches. * patches/icedtea-hotspot-14.0b08-bytecodeInterpreter.patch, * patches/icedtea-hotspot-14.0b08-gcc-4.3.patch, * patches/icedtea-hotspot-original-bytecodeInterpreter.patch: New HotSpot specific patches. * ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp, * ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp, * ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp, * ports/hotspot/src/cpu/zero/vm/frame_zero.cpp, * ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp, * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp: Updated using IcedTea7 versions for 14.0b08. diffstat: 13 files changed, 153 insertions(+), 129 deletions(-) ChangeLog | 19 +++ Makefile.am | 27 ++--- patches/icedtea-bytecodeInterpreter.patch | 36 ------ patches/icedtea-hotspot-14.0b08-bytecodeInterpreter.patch | 11 ++ patches/icedtea-hotspot-14.0b08-gcc-4.3.patch | 54 ++++++++++ patches/icedtea-hotspot-original-bytecodeInterpreter.patch | 36 ++++++ patches/icedtea-hotspot7-build-fixes.patch | 64 ------------ ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp | 2 ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp | 1 ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp | 17 +-- ports/hotspot/src/cpu/zero/vm/frame_zero.cpp | 2 ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp | 8 + ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 5 diffs (392 lines): diff -r 77c54978bab7 -r e7eec12f4f71 ChangeLog --- a/ChangeLog Mon Dec 01 17:30:31 2008 +0000 +++ b/ChangeLog Tue Dec 02 17:04:02 2008 +0000 @@ -1,3 +1,22 @@ 2008-12-01 Andrew John Hughes + + * patches/icedtea-bytecodeInterpreter.patch, + * patches/icedtea-hotspot7-build-fixes.patch: + Removed. + * Makefile.am: + Sort out Zero patches. + * patches/icedtea-hotspot-14.0b08-bytecodeInterpreter.patch, + * patches/icedtea-hotspot-14.0b08-gcc-4.3.patch, + * patches/icedtea-hotspot-original-bytecodeInterpreter.patch: + New HotSpot specific patches. + * ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp, + * ports/hotspot/src/cpu/zero/vm/frame_zero.cpp, + * ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp, + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp: + Updated using IcedTea7 versions for 14.0b08. + 2008-12-01 Andrew John Hughes * patches/icedtea-hotspot-params-cast-size_t.patch, diff -r 77c54978bab7 -r e7eec12f4f71 Makefile.am --- a/Makefile.am Mon Dec 01 17:30:31 2008 +0000 +++ b/Makefile.am Tue Dec 02 17:04:02 2008 +0000 @@ -427,11 +427,11 @@ endif # Link ports sources into tree stamps/ports.stamp: stamps/extract.stamp - for target in $(abs_top_srcdir)/ports/hotspot/$(HOTSPOT_MAKE_DIR)/*/makefiles/* \ + for target in $(abs_top_srcdir)/ports/hotspot/build/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ - link=$$(dirname $$target | sed 's/^.*ports/openjdk/'); \ - ln -sf $$target $$link; \ + link=$$(dirname $$target | sed 's/^.*ports/openjdk/'|sed "s#hotspot/build#hotspot/$(HOTSPOT_MAKE_DIR)#"); \ + ln -sfv $$target $$link; \ done ln -sf $(abs_top_builddir)/platform_zero openjdk/hotspot/$(HOTSPOT_MAKE_DIR)/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(ICEDTEA_SHARK_BUILD)$(WITH_CACAO)" \ @@ -458,16 +458,19 @@ endif # If ZERO_BUILD is set then we are building zero and need # to patch up to OpenJDK 7 HotSpot for the C++ interpreter. ZERO_PATCHES = \ - patches/icedtea-hotspot-6b12-7b24.patch \ - patches/icedtea-hotspot7-build-fixes.patch \ - patches/icedtea-bytecodeInterpreter.patch \ - patches/icedtea-bytecodeInterpreterWithChecks.patch \ + patches/icedtea-hotspot-$(HSBUILD)-bytecodeInterpreter.patch \ patches/icedtea-signature-iterator.patch \ - patches/icedtea-signed-types.patch \ patches/icedtea-test-atomic-operations.patch \ patches/icedtea-zero.patch \ - patches/icedtea-ia64-bugfix.patch \ + patches/icedtea-ia64-bugfix.patch + +if !WITH_ALT_HSBUILD +ZERO_PATCHES += \ + patches/icedtea-hotspot-6b12-7b24.patch \ + patches/icedtea-bytecodeInterpreterWithChecks.patch \ + patches/icedtea-signed-types.patch \ patches/icedtea-hotspot-citypeflow.patch +endif # Patches needed when not using the newer OpenJDK 7 HotSpot for zero. NON_ZERO_PATCHES = \ @@ -802,11 +805,11 @@ clean-extract-ecj: # Link ports sources into tree stamps/ports-ecj.stamp: stamps/extract-ecj.stamp - for target in $(abs_top_srcdir)/ports/hotspot/$(HOTSPOT_MAKE_DIR)/*/makefiles/* \ + for target in $(abs_top_srcdir)/ports/hotspot/build/*/makefiles/* \ $(abs_top_srcdir)/ports/hotspot/src/*cpu/* \ $(abs_top_srcdir)/ports/hotspot/src/share/vm/*; do \ - link=$$(dirname $$target | sed 's/^.*ports/openjdk-ecj/'); \ - ln -sf $$target $$link; \ + link=$$(dirname $$target | sed 's/^.*ports/openjdk-ecj/'|sed "s#hotspot/build#hotspot/$(HOTSPOT_MAKE_DIR)#"); \ + ln -sfv $$target $$link; \ done ln -sf $(abs_top_builddir)/platform_zero openjdk-ecj/hotspot/$(HOTSPOT_MAKE_DIR)/linux if ! test "x$(ICEDTEA_CORE_BUILD)$(ICEDTEA_SHARK_BUILD)$(WITH_CACAO)" \ diff -r 77c54978bab7 -r e7eec12f4f71 patches/icedtea-bytecodeInterpreter.patch --- a/patches/icedtea-bytecodeInterpreter.patch Mon Dec 01 17:30:31 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -diff -r b3238230c1ef openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp ---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp Fri Nov 02 10:14:32 2007 +0000 -+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp Fri Nov 02 10:15:45 2007 +0000 -@@ -60,7 +60,6 @@ - }; - - class BytecodeInterpreter : StackObj { --friend class SharedRuntime; - friend class AbstractInterpreterGenerator; - friend class CppInterpreterGenerator; - friend class InterpreterGenerator; -diff -r bae119bcbcd0 openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp ---- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Fri Nov 02 15:08:47 2007 +0000 -+++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Fri Nov 02 15:21:08 2007 +0000 -@@ -518,16 +518,16 @@ - - /* 0xC0 */ &&opc_checkcast, &&opc_instanceof, &&opc_monitorenter, &&opc_monitorexit, - /* 0xC4 */ &&opc_wide, &&opc_multianewarray, &&opc_ifnull, &&opc_ifnonnull, --/* 0xC8 */ &&opc_goto_w, &&opc_jsr_w, &&opc_breakpoint, &&opc_fast_igetfield, --/* 0xCC */ &&opc_fastagetfield,&&opc_fast_aload_0, &&opc_fast_iaccess_0, &&opc__fast_aaccess_0, -- --/* 0xD0 */ &&opc_fast_linearswitch, &&opc_fast_binaryswitch, &&opc_return_register_finalizer, &&opc_default, -+/* 0xC8 */ &&opc_goto_w, &&opc_jsr_w, &&opc_breakpoint, &&opc_default, -+/* 0xCC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, -+ -+/* 0xD0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, - /* 0xD4 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, - /* 0xD8 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, - /* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, - - /* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, --/* 0xE4 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, -+/* 0xE4 */ &&opc_default, &&opc_return_register_finalizer, &&opc_default, &&opc_default, - /* 0xE8 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, - /* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, - diff -r 77c54978bab7 -r e7eec12f4f71 patches/icedtea-hotspot-14.0b08-bytecodeInterpreter.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-hotspot-14.0b08-bytecodeInterpreter.patch Tue Dec 02 17:04:02 2008 +0000 @@ -0,0 +1,11 @@ +diff -Nru openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2008-10-23 08:41:04.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp 2008-10-30 15:48:48.000000000 +0000 +@@ -60,7 +60,6 @@ + }; + + class BytecodeInterpreter : StackObj { +-friend class SharedRuntime; + friend class AbstractInterpreterGenerator; + friend class CppInterpreterGenerator; + friend class InterpreterGenerator; diff -r 77c54978bab7 -r e7eec12f4f71 patches/icedtea-hotspot-14.0b08-gcc-4.3.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-hotspot-14.0b08-gcc-4.3.patch Tue Dec 02 17:04:02 2008 +0000 @@ -0,0 +1,54 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make +--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2008-12-01 12:06:51.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2008-12-01 12:27:08.000000000 +0000 +@@ -98,7 +98,7 @@ + endif + + # Compiler warnings are treated as errors +-WARNINGS_ARE_ERRORS = -Werror ++# WARNINGS_ARE_ERRORS = -Werror + + # Except for a few acceptable ones + # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit +diff -Nru openjdk.orig/hotspot/make/solaris/makefiles/gcc.make openjdk/hotspot/make/solaris/makefiles/gcc.make +--- openjdk.orig/hotspot/make/solaris/makefiles/gcc.make 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/make/solaris/makefiles/gcc.make 2008-12-01 12:25:10.000000000 +0000 +@@ -109,7 +109,8 @@ + + + # Compiler warnings are treated as errors +-WARNINGS_ARE_ERRORS = -Werror ++# Commented out for now because of gcc 4.3 warnings OpenJDK isn't ready for ++# WARNINGS_ARE_ERRORS = -Werror + # Enable these warnings. See 'info gcc' about details on these options + ADDITIONAL_WARNINGS = -Wpointer-arith -Wconversion -Wsign-compare + CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(ADDITIONAL_WARNINGS) +diff -Nru openjdk.orig/hotspot/src/share/vm/adlc/filebuff.cpp openjdk/hotspot/src/share/vm/adlc/filebuff.cpp +--- openjdk.orig/hotspot/src/share/vm/adlc/filebuff.cpp 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/adlc/filebuff.cpp 2008-12-01 12:25:10.000000000 +0000 +@@ -25,6 +25,8 @@ + // FILEBUFF.CPP - Routines for handling a parser file buffer + #include "adlc.hpp" + ++using namespace std; ++ + //------------------------------FileBuff--------------------------------------- + // Create a new parsing buffer + FileBuff::FileBuff( BufferedFile *fptr, ArchDesc& archDesc) : _fp(fptr), _AD(archDesc) { +diff -Nru openjdk.orig/hotspot/src/share/vm/adlc/filebuff.hpp openjdk/hotspot/src/share/vm/adlc/filebuff.hpp +--- openjdk.orig/hotspot/src/share/vm/adlc/filebuff.hpp 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/adlc/filebuff.hpp 2008-12-01 12:25:10.000000000 +0000 +@@ -94,8 +94,11 @@ + FileBuffRegion *copy(); // Deep copy + FileBuffRegion *merge(FileBuffRegion*); // Merge 2 regions; delete input + +-// void print(std::ostream&); +-// friend std::ostream& operator<< (std::ostream&, FileBuffRegion&); ++#if defined(__GNUC__) && __GNUC__ >= 3 ++ void print(std::ostream&); ++ friend std::ostream& operator<< (std::ostream&, FileBuffRegion&); ++#else + void print(ostream&); + friend ostream& operator<< (ostream&, FileBuffRegion&); ++#endif + }; diff -r 77c54978bab7 -r e7eec12f4f71 patches/icedtea-hotspot-original-bytecodeInterpreter.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-hotspot-original-bytecodeInterpreter.patch Tue Dec 02 17:04:02 2008 +0000 @@ -0,0 +1,36 @@ +diff -r b3238230c1ef openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp Fri Nov 02 10:14:32 2007 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp Fri Nov 02 10:15:45 2007 +0000 +@@ -60,7 +60,6 @@ + }; + + class BytecodeInterpreter : StackObj { +-friend class SharedRuntime; + friend class AbstractInterpreterGenerator; + friend class CppInterpreterGenerator; + friend class InterpreterGenerator; +diff -r bae119bcbcd0 openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Fri Nov 02 15:08:47 2007 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Fri Nov 02 15:21:08 2007 +0000 +@@ -518,16 +518,16 @@ + + /* 0xC0 */ &&opc_checkcast, &&opc_instanceof, &&opc_monitorenter, &&opc_monitorexit, + /* 0xC4 */ &&opc_wide, &&opc_multianewarray, &&opc_ifnull, &&opc_ifnonnull, +-/* 0xC8 */ &&opc_goto_w, &&opc_jsr_w, &&opc_breakpoint, &&opc_fast_igetfield, +-/* 0xCC */ &&opc_fastagetfield,&&opc_fast_aload_0, &&opc_fast_iaccess_0, &&opc__fast_aaccess_0, +- +-/* 0xD0 */ &&opc_fast_linearswitch, &&opc_fast_binaryswitch, &&opc_return_register_finalizer, &&opc_default, ++/* 0xC8 */ &&opc_goto_w, &&opc_jsr_w, &&opc_breakpoint, &&opc_default, ++/* 0xCC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, ++ ++/* 0xD0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + /* 0xD4 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + /* 0xD8 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + /* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + + /* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, +-/* 0xE4 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, ++/* 0xE4 */ &&opc_default, &&opc_return_register_finalizer, &&opc_default, &&opc_default, + /* 0xE8 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + /* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + diff -r 77c54978bab7 -r e7eec12f4f71 patches/icedtea-hotspot7-build-fixes.patch --- a/patches/icedtea-hotspot7-build-fixes.patch Mon Dec 01 17:30:31 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -diff -r 2323cafebabe openjdk/hotspot/src/share/vm/runtime/vm_version.cpp ---- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-01-31 09:19:01.000000000 -0500 -+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-02-29 13:12:39.000000000 -0500 -@@ -86,16 +86,12 @@ - #define VMLP "" - #endif - --#ifdef KERNEL -- #define VMTYPE "Kernel" --#else // KERNEL - #ifdef TIERED - #define VMTYPE "Server" - #else - #define VMTYPE COMPILER1_PRESENT("Client") \ - COMPILER2_PRESENT("Server") - #endif // TIERED --#endif // KERNEL - - #ifndef HOTSPOT_VM_DISTRO - #error HOTSPOT_VM_DISTRO must be defined -diff -r 848a72e3bc9b openjdk/hotspot/build/linux/makefiles/top.make ---- openjdk/hotspot/build/linux/makefiles/top.make Fri Feb 29 17:02:22 2008 +0000 -+++ openjdk/hotspot/build/linux/makefiles/top.make Fri Feb 29 17:04:07 2008 +0000 -@@ -67,7 +67,9 @@ Include_DBs/GC = $(VM)/includeD - $(VM)/gc_implementation/includeDB_gc_serial \ - $(VM)/gc_implementation/includeDB_gc_shared - --Include_DBs/CORE = $(VM)/includeDB_core $(Include_DBs/GC) -+Include_DBs/CORE = $(VM)/includeDB_core $(Include_DBs/GC) \ -+ $(VM)/includeDB_jvmti \ -+ $(VM)/includeDB_features - Include_DBs/COMPILER1 = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 - Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2 - Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2 -diff -r 2323cafebabe openjdk/hotspot/build/linux/makefiles/jvmti.make ---- openjdk/hotspot/build/linux/makefiles/jvmti.make 2008-02-29 16:50:25.000000000 +0000 -+++ openjdk/hotspot/build/linux/makefiles/jvmti.make 2008-02-29 10:21:43.000000000 +0000 -@@ -36,6 +36,7 @@ - JvmtiOutDir = $(GENERATED)/jvmtifiles - - JvmtiSrcDir = $(GAMMADIR)/src/share/vm/prims -+InterpreterSrcDir = $(GAMMADIR)/src/share/vm/interpreter - Src_Dirs += $(JvmtiSrcDir) - - # set VPATH so make knows where to look for source files -@@ -47,6 +48,7 @@ - jvmtiEnter.cpp \ - jvmtiEnterTrace.cpp \ - jvmtiEnvRecommended.cpp\ -+ bytecodeInterpreterWithChecks.cpp \ - jvmti.h \ - - JvmtiEnvFillSource = $(JvmtiSrcDir)/jvmtiEnvFill.java -@@ -77,6 +79,10 @@ - @echo Generating $@ - $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti - -+$(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -+ @echo Generating $@ -+ $(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp -+ - $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl - @echo Generating $@ - $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace diff -r 77c54978bab7 -r e7eec12f4f71 ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp Mon Dec 01 17:30:31 2008 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp Tue Dec 02 17:04:02 2008 +0000 @@ -44,7 +44,7 @@ class MacroAssembler : public Assembler void align(int modulus); void bang_stack_with_offset(int offset); - + bool needs_explicit_null_check(intptr_t offset); public: void advance(int bytes); }; diff -r 77c54978bab7 -r e7eec12f4f71 ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp Mon Dec 01 17:30:31 2008 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp Tue Dec 02 17:04:02 2008 +0000 @@ -47,3 +47,4 @@ void Disassembler::decode(u_char *begin, Unimplemented(); } #endif // PRODUCT + diff -r 77c54978bab7 -r e7eec12f4f71 ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp --- a/ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp Mon Dec 01 17:30:31 2008 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/disassembler_zero.hpp Tue Dec 02 17:04:02 2008 +0000 @@ -26,13 +26,10 @@ // The disassembler prints out zero code annotated // with Java specific information. -class Disassembler -{ - public: - static void decode(CodeBlob *cb, outputStream *st = NULL) - PRODUCT_RETURN; - static void decode(nmethod *nm, outputStream *st = NULL) - PRODUCT_RETURN; - static void decode(u_char *begin, u_char *end, outputStream *st = NULL) - PRODUCT_RETURN; -}; + static int pd_instruction_alignment() { + Unimplemented(); + } + + static const char* pd_cpu_opts() { + Unimplemented(); + } diff -r 77c54978bab7 -r e7eec12f4f71 ports/hotspot/src/cpu/zero/vm/frame_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/frame_zero.cpp Mon Dec 01 17:30:31 2008 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/frame_zero.cpp Tue Dec 02 17:04:02 2008 +0000 @@ -125,7 +125,7 @@ void frame::pd_gc_epilog() { } -bool frame::is_interpreted_frame_valid() const +bool frame::is_interpreted_frame_valid(JavaThread *thread) const { Unimplemented(); } diff -r 77c54978bab7 -r e7eec12f4f71 ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp Mon Dec 01 17:30:31 2008 +0000 +++ b/ports/hotspot/src/cpu/zero/vm/relocInfo_zero.cpp Tue Dec 02 17:04:02 2008 +0000 @@ -66,3 +66,11 @@ void Relocation::pd_swap_out_breakpoint( { Unimplemented(); } + +void poll_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer *dest) { + Unimplemented(); +} + +void poll_return_Relocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) { + Unimplemented(); +} diff -r 77c54978bab7 -r e7eec12f4f71 ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Mon Dec 01 17:30:31 2008 +0000 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Tue Dec 02 17:04:02 2008 +0000 @@ -74,11 +74,6 @@ ExtendedPC os::fetch_frame_from_context( } frame os::fetch_frame_from_context(void* ucVoid) -{ - Unimplemented(); -} - -julong os::allocatable_physical_memory(julong size) { Unimplemented(); } From gnu_andrew at member.fsf.org Tue Dec 2 09:05:55 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 02 Dec 2008 17:05:55 +0000 Subject: changeset in /hg/icedtea6: Merge with Lillian's security update. Message-ID: changeset 88c610e6f50a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=88c610e6f50a description: Merge with Lillian's security update. diffstat: 13 files changed, 4760 insertions(+), 2 deletions(-) ChangeLog | 18 Makefile.am | 13 patches/icedtea-4486841.patch | 1234 +++++++++++++++++++++++++++++++ patches/icedtea-6484091.patch | 129 +++ patches/icedtea-6497740.patch | 1589 +++++++++++++++++++++++++++++++++++++++++ patches/icedtea-6588160.patch | 42 + patches/icedtea-6592792.patch | 360 +++++++++ patches/icedtea-6721753.patch | 117 +++ patches/icedtea-6726779.patch | 142 +++ patches/icedtea-6733959.patch | 223 +++++ patches/icedtea-6734167.patch | 89 ++ patches/icedtea-6755943.patch | 617 +++++++++++++++ patches/icedtea-6766136.patch | 189 ++++ diffs (truncated from 4823 to 500 lines): diff -r e7eec12f4f71 -r 88c610e6f50a ChangeLog --- a/ChangeLog Tue Dec 02 17:04:02 2008 +0000 +++ b/ChangeLog Tue Dec 02 17:05:33 2008 +0000 @@ -1,4 +1,20 @@ 2008-12-01 Andrew John Hughes +2008-12-02 Lillian Angel + + * Makefile.am + (ICEDTEA_PATCHES): Added new OpenJDK security patches. + * patches/icedtea-4486841.patch, + patches/icedtea-6484091.patch, + patches/icedtea-6497740.patch, + patches/icedtea-6588160.patch, + patches/icedtea-6592792.patch, + patches/icedtea-6721753.patch, + patches/icedtea-6726779.patch, + patches/icedtea-6733959.patch, + patches/icedtea-6734167.patch, + patches/icedtea-6755943.patch, + patches/icedtea-6766136.patch: New files. + +2008-12-02 Andrew John Hughes * patches/icedtea-bytecodeInterpreter.patch, * patches/icedtea-hotspot7-build-fixes.patch: diff -r e7eec12f4f71 -r 88c610e6f50a Makefile.am --- a/Makefile.am Tue Dec 02 17:04:02 2008 +0000 +++ b/Makefile.am Tue Dec 02 17:05:33 2008 +0000 @@ -575,7 +575,18 @@ ICEDTEA_PATCHES = \ patches/icedtea-display-mode-changer.patch \ patches/icedtea-testenv.patch \ patches/icedtea-samejvm-safe.patch \ - patches/icedtea-6728542-epoll.patch + patches/icedtea-6728542-epoll.patch \ + patches/icedtea-4486841.patch \ + patches/icedtea-6484091.patch \ + patches/icedtea-6497740.patch \ + patches/icedtea-6588160.patch \ + patches/icedtea-6592792.patch \ + patches/icedtea-6721753.patch \ + patches/icedtea-6726779.patch \ + patches/icedtea-6733959.patch \ + patches/icedtea-6734167.patch \ + patches/icedtea-6755943.patch \ + patches/icedtea-6766136.patch if !WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r e7eec12f4f71 -r 88c610e6f50a patches/icedtea-4486841.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-4486841.patch Tue Dec 02 17:05:33 2008 +0000 @@ -0,0 +1,1234 @@ +--- old/src/share/classes/sun/nio/cs/UTF_8.java Thu Oct 9 16:02:01 2008 ++++ openjdk/jdk/src/share/classes/sun/nio/cs/UTF_8.java Thu Oct 9 16:02:01 2008 +@@ -1,5 +1,5 @@ + /* +- * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. ++ * Copyright 2000-2008 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 +@@ -25,34 +25,36 @@ + + package sun.nio.cs; + ++import java.nio.Buffer; + import java.nio.ByteBuffer; + import java.nio.CharBuffer; +-import java.nio.BufferOverflowException; +-import java.nio.BufferUnderflowException; + import java.nio.charset.Charset; + import java.nio.charset.CharsetDecoder; + import java.nio.charset.CharsetEncoder; + import java.nio.charset.CoderResult; +-import java.nio.charset.CharacterCodingException; +-import java.nio.charset.MalformedInputException; +-import java.nio.charset.UnmappableCharacterException; + +- +-/* +- * # Bits Bit pattern +- * 1 7 0xxxxxxx +- * 2 11 110xxxxx 10xxxxxx +- * 3 16 1110xxxx 10xxxxxx 10xxxxxx +- * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx +- * 5 26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx +- * 6 31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx ++/* Legal UTF-8 Byte Sequences + * +- * UCS-2 uses 1-3, UTF-16 uses 1-4, UCS-4 uses 1-6 ++ * # Code Points Bits Bit/Byte pattern ++ * 1 7 0xxxxxxx ++ * U+0000..U+007F 00..7F ++ * ++ * 2 11 110xxxxx 10xxxxxx ++ * U+0080..U+07FF C2..DF 80..BF ++ * ++ * 3 16 1110xxxx 10xxxxxx 10xxxxxx ++ * U+0800..U+0FFF E0 A0..BF 80..BF ++ * U+1000..U+FFFF E1..EF 80..BF 80..BF ++ * ++ * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx ++ * U+10000..U+3FFFF F0 90..BF 80..BF 80..BF ++ * U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF ++ * U+100000..U10FFFF F4 80..8F 80..BF 80..BF ++ * + */ + + class UTF_8 extends Unicode + { +- + public UTF_8() { + super("UTF-8", StandardCharsets.aliases_UTF_8); + } +@@ -69,6 +71,11 @@ + return new Encoder(this); + } + ++ static final void updatePositions(Buffer src, int sp, ++ Buffer dst, int dp) { ++ src.position(sp - src.arrayOffset()); ++ dst.position(dp - dst.arrayOffset()); ++ } + + private static class Decoder extends CharsetDecoder { + private Decoder(Charset cs) { +@@ -75,161 +82,182 @@ + super(cs, 1.0f, 1.0f); + } + +- private boolean isContinuation(int b) { +- return ((b & 0xc0) == 0x80); ++ private static boolean isNotContinuation(int b) { ++ return (b & 0xc0) != 0x80; + } + +- private final Surrogate.Generator sgg = new Surrogate.Generator(); ++ // [C2..DF] [80..BF] ++ private static boolean isMalformed2(int b1, int b2) { ++ return (b1 & 0x1e) == 0x0 || (b2 & 0xc0) != 0x80; ++ } + ++ // [E0] [A0..BF] [80..BF] ++ // [E1..EF] [80..BF] [80..BF] ++ private static boolean isMalformed3(int b1, int b2, int b3) { ++ return (b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) || ++ (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80; ++ } ++ ++ // [F0] [90..BF] [80..BF] [80..BF] ++ // [F1..F3] [80..BF] [80..BF] [80..BF] ++ // [F4] [80..8F] [80..BF] [80..BF] ++ // only check 80-be range here, the [0xf0,0x80...] and [0xf4,0x90-...] ++ // will be checked by Surrogate.neededFor(uc) ++ private static boolean isMalformed4(int b2, int b3, int b4) { ++ return (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80 || ++ (b4 & 0xc0) != 0x80; ++ } ++ ++ private static CoderResult lookupN(ByteBuffer src, int n) ++ { ++ for (int i = 1; i < n; i++) { ++ if (isNotContinuation(src.get())) ++ return CoderResult.malformedForLength(i); ++ } ++ return CoderResult.malformedForLength(n); ++ } ++ ++ private static CoderResult malformedN(ByteBuffer src, int nb) { ++ switch (nb) { ++ case 1: ++ int b1 = src.get(); ++ if ((b1 >> 2) == -2) { ++ // 5 bytes 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx ++ if (src.remaining() < 4) ++ return CoderResult.UNDERFLOW; ++ return lookupN(src, 5); ++ } ++ if ((b1 >> 1) == -2) { ++ // 6 bytes 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx ++ if (src.remaining() < 5) ++ return CoderResult.UNDERFLOW; ++ return lookupN(src, 6); ++ } ++ return CoderResult.malformedForLength(1); ++ case 2: // always 1 ++ return CoderResult.malformedForLength(1); ++ case 3: ++ b1 = src.get(); ++ int b2 = src.get(); // no need to lookup b3 ++ return CoderResult.malformedForLength( ++ ((b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) || ++ isNotContinuation(b2))?1:2); ++ case 4: // we don't care the speed here ++ b1 = src.get() & 0xff; ++ b2 = src.get() & 0xff; ++ if (b1 > 0xf4 || ++ (b1 == 0xf0 && (b2 < 0x90 || b2 > 0xbf)) || ++ (b1 == 0xf4 && (b2 & 0xf0) != 0x80) || ++ isNotContinuation(b2)) ++ return CoderResult.malformedForLength(1); ++ if (isNotContinuation(src.get())) ++ return CoderResult.malformedForLength(2); ++ return CoderResult.malformedForLength(3); ++ default: ++ assert false; ++ return null; ++ } ++ } ++ ++ private static CoderResult malformed(ByteBuffer src, int sp, ++ CharBuffer dst, int dp, ++ int nb) ++ { ++ src.position(sp - src.arrayOffset()); ++ CoderResult cr = malformedN(src, nb); ++ updatePositions(src, sp, dst, dp); ++ return cr; ++ } ++ ++ private static CoderResult malformed(ByteBuffer src, ++ int mark, int nb) ++ { ++ src.position(mark); ++ CoderResult cr = malformedN(src, nb); ++ src.position(mark); ++ return cr; ++ } ++ ++ private static CoderResult xflow(Buffer src, int sp, int sl, ++ Buffer dst, int dp, int nb) { ++ updatePositions(src, sp, dst, dp); ++ return (nb == 0 || sl - sp < nb) ++ ?CoderResult.UNDERFLOW:CoderResult.OVERFLOW; ++ } ++ ++ private static CoderResult xflow(Buffer src, int mark, int nb) { ++ CoderResult cr = (nb == 0 || src.remaining() < (nb - 1)) ++ ?CoderResult.UNDERFLOW:CoderResult.OVERFLOW; ++ src.position(mark); ++ return cr; ++ } ++ + private CoderResult decodeArrayLoop(ByteBuffer src, + CharBuffer dst) + { ++ // This method is optimized for ASCII input. + byte[] sa = src.array(); + int sp = src.arrayOffset() + src.position(); + int sl = src.arrayOffset() + src.limit(); +- assert (sp <= sl); +- sp = (sp <= sl ? sp : sl); ++ + char[] da = dst.array(); + int dp = dst.arrayOffset() + dst.position(); + int dl = dst.arrayOffset() + dst.limit(); +- assert (dp <= dl); +- dp = (dp <= dl ? dp : dl); ++ int dlASCII = dp + Math.min(sl - sp, dl - dp); + +- try { +- while (sp < sl) { +- int b1 = sa[sp]; +- int b2, b3; +- switch ((b1 >> 4) & 0x0f) { ++ // ASCII only loop ++ while (dp < dlASCII && sa[sp] >= 0) ++ da[dp++] = (char)sa[sp++]; + +- case 0: case 1: case 2: case 3: +- case 4: case 5: case 6: case 7: +- // 1 byte, 7 bits: 0xxxxxxx +- if (dl - dp < 1) +- return CoderResult.OVERFLOW; +- da[dp++] = (char)(b1 & 0x7f); +- sp++; +- continue; +- +- case 12: case 13: +- // 2 bytes, 11 bits: 110xxxxx 10xxxxxx +- if (sl - sp < 2) +- return CoderResult.UNDERFLOW; +- if (dl - dp < 1) +- return CoderResult.OVERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- da[dp++] = ((char)(((b1 & 0x1f) << 6) | +- ((b2 & 0x3f) << 0))); +- sp += 2; +- continue; +- +- case 14: +- // 3 bytes, 16 bits: 1110xxxx 10xxxxxx 10xxxxxx +- if (sl - sp < 3) +- return CoderResult.UNDERFLOW; +- if (dl - dp < 1) +- return CoderResult.OVERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = sa[sp + 2])) +- return CoderResult.malformedForLength(2); +- da[dp++] = ((char)(((b1 & 0x0f) << 12) | +- ((b2 & 0x3f) << 06) | +- ((b3 & 0x3f) << 0))); +- sp += 3; +- continue; +- +- case 15: +- // 4, 5, or 6 bytes +- +- int b4, b5, b6, uc, n; +- switch (b1 & 0x0f) { +- +- case 0: case 1: case 2: case 3: +- case 4: case 5: case 6: case 7: +- // 4 bytes, 21 bits +- if (sl - sp < 4) +- return CoderResult.UNDERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = sa[sp + 2])) +- return CoderResult.malformedForLength(2); +- if (!isContinuation(b4 = sa[sp + 3])) +- return CoderResult.malformedForLength(3); +- uc = (((b1 & 0x07) << 18) | +- ((b2 & 0x3f) << 12) | +- ((b3 & 0x3f) << 06) | +- ((b4 & 0x3f) << 00)); +- n = 4; +- break; +- +- case 8: case 9: case 10: case 11: +- // 5 bytes, 26 bits +- if (sl - sp < 5) +- return CoderResult.UNDERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = sa[sp + 2])) +- return CoderResult.malformedForLength(2); +- if (!isContinuation(b4 = sa[sp + 3])) +- return CoderResult.malformedForLength(3); +- if (!isContinuation(b5 = sa[sp + 4])) +- return CoderResult.malformedForLength(4); +- uc = (((b1 & 0x03) << 24) | +- ((b2 & 0x3f) << 18) | +- ((b3 & 0x3f) << 12) | +- ((b4 & 0x3f) << 06) | +- ((b5 & 0x3f) << 00)); +- n = 5; +- break; +- +- case 12: case 13: +- // 6 bytes, 31 bits +- if (sl - sp < 6) +- return CoderResult.UNDERFLOW; +- if (!isContinuation(b2 = sa[sp + 1])) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = sa[sp + 2])) +- return CoderResult.malformedForLength(2); +- if (!isContinuation(b4 = sa[sp + 3])) +- return CoderResult.malformedForLength(3); +- if (!isContinuation(b5 = sa[sp + 4])) +- return CoderResult.malformedForLength(4); +- if (!isContinuation(b6 = sa[sp + 5])) +- return CoderResult.malformedForLength(5); +- uc = (((b1 & 0x01) << 30) | +- ((b2 & 0x3f) << 24) | +- ((b3 & 0x3f) << 18) | +- ((b4 & 0x3f) << 12) | +- ((b5 & 0x3f) << 06) | +- ((b6 & 0x3f))); +- n = 6; +- break; +- +- default: +- return CoderResult.malformedForLength(1); +- +- } +- +- int gn = sgg.generate(uc, n, da, dp, dl); +- if (gn < 0) +- return sgg.error(); +- dp += gn; +- sp += n; +- continue; +- +- default: +- return CoderResult.malformedForLength(1); +- ++ while (sp < sl) { ++ int b1 = sa[sp]; ++ if (b1 >= 0) { ++ // 1 byte, 7 bits: 0xxxxxxx ++ if (dp >= dl) ++ return xflow(src, sp, sl, dst, dp, 1); ++ da[dp++] = (char)b1; ++ sp++; ++ } else if ((b1 >> 5) == -2) { ++ // 2 bytes, 11 bits: 110xxxxx 10xxxxxx ++ if (sl - sp < 2 || dp >= dl) ++ return xflow(src, sp, sl, dst, dp, 2); ++ int b2 = sa[sp + 1]; ++ if (isMalformed2(b1, b2)) ++ return malformed(src, sp, dst, dp, 2); ++ da[dp++] = (char) (((b1 << 6) ^ b2) ^ 0x0f80); ++ sp += 2; ++ } else if ((b1 >> 4) == -2) { ++ // 3 bytes, 16 bits: 1110xxxx 10xxxxxx 10xxxxxx ++ if (sl - sp < 3 || dp >= dl) ++ return xflow(src, sp, sl, dst, dp, 3); ++ int b2 = sa[sp + 1]; ++ int b3 = sa[sp + 2]; ++ if (isMalformed3(b1, b2, b3)) ++ return malformed(src, sp, dst, dp, 3); ++ da[dp++] = (char) (((b1 << 12) ^ (b2 << 6) ^ b3) ^ 0x1f80); ++ sp += 3; ++ } else if ((b1 >> 3) == -2) { ++ // 4 bytes, 21 bits: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx ++ if (sl - sp < 4 || dl - dp < 2) ++ return xflow(src, sp, sl, dst, dp, 4); ++ int b2 = sa[sp + 1]; ++ int b3 = sa[sp + 2]; ++ int b4 = sa[sp + 3]; ++ int uc = ((b1 & 0x07) << 18) | ++ ((b2 & 0x3f) << 12) | ++ ((b3 & 0x3f) << 06) | ++ (b4 & 0x3f); ++ if (isMalformed4(b2, b3, b4) || ++ !Surrogate.neededFor(uc)) { ++ return malformed(src, sp, dst, dp, 4); + } +- +- } +- +- return CoderResult.UNDERFLOW; +- } finally { +- src.position(sp - src.arrayOffset()); +- dst.position(dp - dst.arrayOffset()); ++ da[dp++] = Surrogate.high(uc); ++ da[dp++] = Surrogate.low(uc); ++ sp += 4; ++ } else ++ return malformed(src, sp, dst, dp, 1); + } ++ return xflow(src, sp, sl, dst, dp, 0); + } + + private CoderResult decodeBufferLoop(ByteBuffer src, +@@ -236,137 +264,57 @@ + CharBuffer dst) + { + int mark = src.position(); +- try { +- while (src.hasRemaining()) { +- int b1 = src.get(); +- int b2, b3; +- switch ((b1 >> 4) & 0x0f) { +- +- case 0: case 1: case 2: case 3: +- case 4: case 5: case 6: case 7: +- // 1 byte, 7 bits: 0xxxxxxx +- if (dst.remaining() < 1) +- return CoderResult.OVERFLOW; +- dst.put((char)b1); +- mark++; +- continue; +- +- case 12: case 13: +- // 2 bytes, 11 bits: 110xxxxx 10xxxxxx +- if (src.remaining() < 1) +- return CoderResult.UNDERFLOW; +- if (dst.remaining() < 1) +- return CoderResult.OVERFLOW; +- if (!isContinuation(b2 = src.get())) +- return CoderResult.malformedForLength(1); +- dst.put((char)(((b1 & 0x1f) << 6) | +- ((b2 & 0x3f) << 0))); +- mark += 2; +- continue; +- +- case 14: +- // 3 bytes, 16 bits: 1110xxxx 10xxxxxx 10xxxxxx +- if (src.remaining() < 2) +- return CoderResult.UNDERFLOW; +- if (dst.remaining() < 1) +- return CoderResult.OVERFLOW; +- if (!isContinuation(b2 = src.get())) +- return CoderResult.malformedForLength(1); +- if (!isContinuation(b3 = src.get())) +- return CoderResult.malformedForLength(2); +- dst.put((char)(((b1 & 0x0f) << 12) | +- ((b2 & 0x3f) << 06) | +- ((b3 & 0x3f) << 0))); +- mark += 3; +- continue; +- +- case 15: +- // 4, 5, or 6 bytes +- +- int b4, b5, b6, uc, n; From doko at ubuntu.com Tue Dec 2 09:12:20 2008 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 02 Dec 2008 18:12:20 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 Message-ID: <49356C74.2000700@ubuntu.com> These options are the default in IntrepidIbex (Ubuntu 8.10). Find attached two patches to fix these warnings, plus one patch to turn off the -Wformat=1 warnings. Matthias -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: hotspot-warn-no-errformat.diff Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081202/62eecfd7/hotspot-warn-no-errformat.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-format-warnings.patch Type: text/x-diff Size: 1148 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081202/62eecfd7/icedtea-format-warnings.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-fortify-source.patch Type: text/x-diff Size: 2255 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081202/62eecfd7/icedtea-fortify-source.patch From gnu_andrew at member.fsf.org Tue Dec 2 09:22:42 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 2 Dec 2008 17:22:42 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <49353668.7080405@redhat.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <1228213558.3435.24.camel@dijkstra.wildebeest.org> <4935132B.8090208@redhat.com> <1228222300.3435.43.camel@dijkstra.wildebeest.org> <49353668.7080405@redhat.com> Message-ID: <17c6771e0812020922q2608cf5cl1d5d1869bf0b84c3@mail.gmail.com> 2008/12/2 Andrew Haley : > Mark Wielaard wrote: > >> On Tue, 2008-12-02 at 10:51 +0000, Andrew Haley wrote: >>> Mark Wielaard wrote: >>>> - We want an easy mechanism for trying out newer hotspots so you can >>>> easily build a newer version and let people try out performance >>>> improvements or new features/flags (but on top of the stable 6 core >>>> build). I really like this part of Andrew's patch, which lets you select >>>> either a hg revision/version number or a prepackaged hotspot src zip. >>> Well, yeah, it's nice, but this isn't worth doing if the need to support >>> pluggable VMs leads to cruft in other areas. >> >> I think it is a much cleaner way than the current setup, > > No argument. > >>>> What is the best way to combine all these properties and keep our >>>> maintance level as low as possible. Which hotspot version(s) to support >>>> by default that make it easy to provide support for all of the above >>>> requirements. Did I forget anything? >>> You have to ask: is this flexible configury part of the solution, or >>> part of the problem? Right now it's not clear to me. >>> >>> Generally speaking, new hotspot is better than old. We run the risk >>> that multiple build options will make the system fragile. It's much >>> better, where possible, to have everyone building the same sources. >> >> Yes. I think the major churn comes from supporting the old openjdk6 >> based hotspot because it needs so many backported patches, doesn't >> include sparc, has a different build dir layout, and doesn't come with >> the c++ interpreter for zero. It would be wise to only support newer >> hotspots that have at least most of that fixed. > > Of course, but that's not the question. Obviously we don't want the > old openjdk6 based hotspot. > > Andrew. > Zero is now supported so I've pushed to the main tree. We can drop support for the bundled HotSpot once we know things are stable. -- Andrew :-) 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 doko at ubuntu.com Tue Dec 2 09:25:35 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Tue, 02 Dec 2008 17:25:35 +0000 Subject: changeset in /hg/icedtea: 2008-12-02 Matthias Klose changeset 7fbf1ecbc41d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7fbf1ecbc41d description: 2008-12-02 Matthias Klose * patches/icedtea-format-warnings.patch: New. * patches/icedtea-format-warnings.patch: Likewise. * HACKING: Document patches. * Makefile.am: Apply patches. 2008-12-02 Matthias Klose * Makefile.am (stamps/extract.stamp): Handle tar archives. * Makefile.am (stamps/pulse-java.stamp): Add missing include directives. diffstat: 5 files changed, 116 insertions(+), 6 deletions(-) ChangeLog | 13 +++++++ HACKING | 2 + Makefile.am | 17 ++++++--- patches/icedtea-format-warnings.patch | 30 ++++++++++++++++ patches/icedtea-fortify-source.patch | 60 +++++++++++++++++++++++++++++++++ diffs (171 lines): diff -r d8e977068163 -r 7fbf1ecbc41d ChangeLog --- a/ChangeLog Fri Nov 21 10:29:58 2008 +0000 +++ b/ChangeLog Tue Dec 02 18:24:55 2008 +0100 @@ -1,3 +1,16 @@ 2008-11-21 Andrew John Hughes + + * patches/icedtea-format-warnings.patch: New. + * patches/icedtea-format-warnings.patch: Likewise. + * HACKING: Document patches. + * Makefile.am: Apply patches. + +2008-12-02 Matthias Klose + + * Makefile.am (stamps/extract.stamp): Handle tar archives. + * Makefile.am (stamps/pulse-java.stamp): Add missing include + directives. + 2008-11-21 Andrew John Hughes * Makefile.am: diff -r d8e977068163 -r 7fbf1ecbc41d HACKING --- a/HACKING Fri Nov 21 10:29:58 2008 +0000 +++ b/HACKING Tue Dec 02 18:24:55 2008 +0100 @@ -96,6 +96,8 @@ The following patches are only applied t javax.management.AttributeValueExp (unsupported by ecj < 3.4). * icedtea-snmp.patch: Remove proprietary SNMP support hooks. * icedtea-sound.patch: Remove proprietary MIDI support hooks. +* icedtea-fortify-source.patch: Fix build failures with -D_FORTIFY_SOURCE=2. +* icedtea-format-warnings.patch: Fix build failures with -Wformat=1. The following patches are only applied to the icedtea-ecj bootstrap tree: diff -r d8e977068163 -r 7fbf1ecbc41d Makefile.am --- a/Makefile.am Fri Nov 21 10:29:58 2008 +0000 +++ b/Makefile.am Tue Dec 02 18:24:55 2008 +0100 @@ -1849,6 +1849,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-6761856-freetypescaler.patch \ patches/icedtea-display-mode-changer.patch \ patches/icedtea-testenv.patch \ + patches/icedtea-format-warnings.patch \ + patches/icedtea-fortify-source.patch \ $(ZERO_PATCHES_COND) if WITH_RHINO @@ -1882,7 +1884,10 @@ else else if ! test -d openjdk ; then \ if [ ! -z $(OPENJDK_SRC_ZIP) ] ; then \ - $(UNZIP) -q $(OPENJDK_SRC_ZIP) ; \ + case "$(OPENJDK_SRC_ZIP)" in \ + *.zip) $(UNZIP) -q $(OPENJDK_SRC_ZIP) ;; \ + *.tar.*) $(TAR) xf $(OPENJDK_SRC_ZIP) ;; \ + esac; \ else \ echo "ERROR: Couldn't extract OpenJDK"; \ false; \ @@ -2800,11 +2805,11 @@ stamps/pulse-java.stamp: stamps/pulse-ja stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp stamps/pulse-java-headers.stamp if ENABLE_PULSE_JAVA $(CC) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/jni-common.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c - $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(builddir)/pulseaudio $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_EventLoop.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(builddir)/pulseaudio $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Operation.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(builddir)/pulseaudio $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_Stream.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(builddir)/pulseaudio $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c + $(CC) $(LIBPULSE_CFLAGS) $(CFLAGS) -fPIC -c -I$(ICEDTEA_BOOT_DIR)/include/linux -I$(ICEDTEA_BOOT_DIR)/include -I$(builddir)/pulseaudio $(PULSE_JAVA_NATIVE_SRCDIR)/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c $(CC) $(LDFLAGS) -shared org_*pulseaudio*.o jni-common.o $(LIBPULSE_LIBS) -o libpulse-java.so mv org_classpath_icedtea_pulseaudio_*.o $(PULSE_JAVA_CLASS_DIR) mv jni-common.o $(PULSE_JAVA_CLASS_DIR) diff -r d8e977068163 -r 7fbf1ecbc41d patches/icedtea-format-warnings.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-format-warnings.patch Tue Dec 02 18:24:55 2008 +0100 @@ -0,0 +1,30 @@ +--- openjdk/hotspot/src/share/vm/classfile/javaClasses.cpp~ 2008-11-20 09:41:03.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/classfile/javaClasses.cpp 2008-12-02 16:47:01.000000000 +0100 +@@ -866,7 +866,7 @@ + } + nmethod* nm = method->code(); + if (WizardMode && nm != NULL) { +- sprintf(buf + (int)strlen(buf), "(nmethod %#x)", nm); ++ sprintf(buf + (int)strlen(buf), "(nmethod %p)", nm); + } + } + +--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp~ 2008-12-02 16:38:27.000000000 +0100 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2008-12-02 17:05:17.000000000 +0100 +@@ -4133,6 +4133,7 @@ + int count; + long sys_time, user_time; + char string[64]; ++ char cdummy; + int idummy; + long ldummy; + FILE *fp; +@@ -4194,7 +4195,7 @@ + do s++; while (isspace(*s)); + + count = sscanf(s,"%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu", +- &idummy, &idummy, &idummy, &idummy, &idummy, &idummy, ++ &cdummy, &idummy, &idummy, &idummy, &idummy, &idummy, + &ldummy, &ldummy, &ldummy, &ldummy, &ldummy, + &user_time, &sys_time); + if ( count != 13 ) return -1; diff -r d8e977068163 -r 7fbf1ecbc41d patches/icedtea-fortify-source.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-fortify-source.patch Tue Dec 02 18:24:55 2008 +0100 @@ -0,0 +1,60 @@ +--- openjdk/hotspot/src/share/vm/prims/jvm.cpp~ 2008-11-20 09:41:05.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/prims/jvm.cpp 2008-12-02 16:55:32.000000000 +0100 +@@ -2474,7 +2474,7 @@ + if (Arguments::vfprintf_hook() != NULL) { + jio_fprintf(defaultStream::output_stream(), "%s", s); + } else { +- ::write(defaultStream::output_fd(), s, (int)strlen(s)); ++ ssize_t rv = ::write(defaultStream::output_fd(), s, (int)strlen(s)); + } + } + +--- openjdk/hotspot/src/share/vm/utilities/ostream.cpp~ 2008-12-02 16:38:32.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/utilities/ostream.cpp 2008-12-02 16:58:26.000000000 +0100 +@@ -300,7 +300,7 @@ + } + + void fileStream::write(const char* s, size_t len) { +- if (_file != NULL) fwrite(s, 1, len, _file); ++ if (_file != NULL) size_t rv = fwrite(s, 1, len, _file); + update_position(s, len); + } + +@@ -328,7 +328,7 @@ + } + + void fdStream::write(const char* s, size_t len) { +- if (_fd != -1) ::write(_fd, s, (int)len); ++ if (_fd != -1) ssize_t rv = ::write(_fd, s, (int)len); + update_position(s, len); + } + +--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp~ 2008-12-02 16:38:27.000000000 +0100 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2008-12-02 17:05:17.000000000 +0100 +@@ -2066,7 +2066,7 @@ + CAST_FROM_FN_PTR(address, os::jvm_path), + dli_fname, sizeof(dli_fname), NULL); + assert(ret != 0, "cannot locate libjvm"); +- realpath(dli_fname, buf); ++ char *rv = realpath(dli_fname, buf); + + if (strcmp(Arguments::sun_java_launcher(), "gamma") == 0) { + // Support for the gamma launcher. Typical value for buf is +@@ -2090,7 +2090,7 @@ + assert(strstr(p, "/libjvm") == p, "invalid library name"); + p = strstr(p, "_g") ? "_g" : ""; + +- realpath(java_home_var, buf); ++ char *rv = realpath(java_home_var, buf); + sprintf(buf + strlen(buf), "/jre/lib/%s", cpu_arch); + if (0 == access(buf, F_OK)) { + // Use current module name "libjvm[_g].so" instead of +@@ -2101,7 +2101,7 @@ + sprintf(buf + strlen(buf), "/hotspot/libjvm%s.so", p); + } else { + // Go back to path of .so +- realpath(dli_fname, buf); ++ rv = realpath(dli_fname, buf); + } + } + } From gnu_andrew at member.fsf.org Tue Dec 2 09:53:36 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 2 Dec 2008 17:53:36 +0000 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <49357556.6020307@sun.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <1228213558.3435.24.camel@dijkstra.wildebeest.org> <4935132B.8090208@redhat.com> <1228222300.3435.43.camel@dijkstra.wildebeest.org> <49353668.7080405@redhat.com> <17c6771e0812020922q2608cf5cl1d5d1869bf0b84c3@mail.gmail.com> <49357556.6020307@sun.com> Message-ID: <17c6771e0812020953l6ed9ec3dldbb241891750bf5c@mail.gmail.com> 2008/12/2 Erik Trimble : > Just a note here: > > The plan was to push a "newer" version of Hotspot Express to the 6Open JDK > (which we just did), and then update to the OpenJDK 7 Hotspot shortly after > the new year. > > I would definitely agree that having to maintain only the JDK7 Hotspot for > both 6Open and OpenJDK is by far the preferred method of operation. > > Keeping track of release trains is a royal PITA (believe me, I have to > currently keep track of 7 different versions right now), and there is > substantial agreement that Hotspot 14 (the version currently in JDK7) is > what we should standardized on for the 6Open & 7 releases, and all work > should go to the Hotspot OpenJDK repositories for both 6Open and 7. We > were just waiting a bit for some HS14 issues to get stabilized and make sure > all the 6Open fixes/compatibility was worked out in HS14 before pushing it > to the official 6Open repos. > > I can't commit to a date when HS14 will be pushed out as the 6Open Hotspot, > but I'd like to think it will be shortly after New Years. If everyone else > is comfortable with HS14 on 6Open, then it may happen sooner. But I can't > say for sure. > > Naturally, people are welcome to put HS14 into any IceTea6 distro whenever > they feel it works well. I'm just talking about the 6Open repos hosted by > Sun. > > -- > Erik Trimble > Java System Support > Mailstop: usca22-123 > Phone: x17195 > Santa Clara, CA > Timezone: US/Pacific (GMT-0800) > > That's good to know; we just did what you were planning to do anyway but quicker :D Cheers, -- Andrew :-) 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 doko at ubuntu.com Tue Dec 2 10:21:31 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Tue, 02 Dec 2008 18:21:31 +0000 Subject: changeset in /hg/icedtea6: 2008-12-02 Matthias Klose changeset b7a8b3f766db in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b7a8b3f766db description: 2008-12-02 Matthias Klose * Makefile.am (stamps/extract.stamp): Fix extraction of alternate hotspot tarball. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ Makefile.am | 2 +- diffs (24 lines): diff -r 88c610e6f50a -r b7a8b3f766db ChangeLog --- a/ChangeLog Tue Dec 02 17:05:33 2008 +0000 +++ b/ChangeLog Tue Dec 02 19:20:50 2008 +0100 @@ -1,3 +1,8 @@ 2008-12-02 Lillian Angel + + * Makefile.am (stamps/extract.stamp): Fix extraction of + alternate hotspot tarball. + 2008-12-02 Lillian Angel * Makefile.am diff -r 88c610e6f50a -r b7a8b3f766db Makefile.am --- a/Makefile.am Tue Dec 02 17:05:33 2008 +0000 +++ b/Makefile.am Tue Dec 02 19:20:50 2008 +0100 @@ -630,7 +630,7 @@ stamps/extract.stamp: stamps/download.st rm -rf openjdk/hotspot ; \ $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ chmod -R ug+w hotspot-* ; \ - mv hotspot-* openjdk/hotspot ; \ + mv $$(find -maxdepth 1 -name 'hotspot-*' -type d) openjdk/hotspot ; \ fi ; \ sh $(abs_top_srcdir)/fsg.sh ; \ fi From Erik.Trimble at Sun.COM Tue Dec 2 09:50:14 2008 From: Erik.Trimble at Sun.COM (Erik Trimble) Date: Tue, 02 Dec 2008 09:50:14 -0800 Subject: HotSpot just got Hotter - IcedTea6 support for latest HotSpot In-Reply-To: <17c6771e0812020922q2608cf5cl1d5d1869bf0b84c3@mail.gmail.com> References: <17c6771e0812010937w62cbab8bs3e2e4ed7cdefa3b7@mail.gmail.com> <1228175535.22459.165.camel@dijkstra.wildebeest.org> <20081202093722.GA4500@redhat.com> <1228213558.3435.24.camel@dijkstra.wildebeest.org> <4935132B.8090208@redhat.com> <1228222300.3435.43.camel@dijkstra.wildebeest.org> <49353668.7080405@redhat.com> <17c6771e0812020922q2608cf5cl1d5d1869bf0b84c3@mail.gmail.com> Message-ID: <49357556.6020307@sun.com> Just a note here: The plan was to push a "newer" version of Hotspot Express to the 6Open JDK (which we just did), and then update to the OpenJDK 7 Hotspot shortly after the new year. I would definitely agree that having to maintain only the JDK7 Hotspot for both 6Open and OpenJDK is by far the preferred method of operation. Keeping track of release trains is a royal PITA (believe me, I have to currently keep track of 7 different versions right now), and there is substantial agreement that Hotspot 14 (the version currently in JDK7) is what we should standardized on for the 6Open & 7 releases, and all work should go to the Hotspot OpenJDK repositories for both 6Open and 7. We were just waiting a bit for some HS14 issues to get stabilized and make sure all the 6Open fixes/compatibility was worked out in HS14 before pushing it to the official 6Open repos. I can't commit to a date when HS14 will be pushed out as the 6Open Hotspot, but I'd like to think it will be shortly after New Years. If everyone else is comfortable with HS14 on 6Open, then it may happen sooner. But I can't say for sure. Naturally, people are welcome to put HS14 into any IceTea6 distro whenever they feel it works well. I'm just talking about the 6Open repos hosted by Sun. -- Erik Trimble Java System Support Mailstop: usca22-123 Phone: x17195 Santa Clara, CA Timezone: US/Pacific (GMT-0800) From mark at klomp.org Tue Dec 2 15:45:17 2008 From: mark at klomp.org (Mark Wielaard) Date: Tue, 02 Dec 2008 23:45:17 +0000 Subject: changeset in /hg/icedtea6: Fix security tests. Message-ID: changeset 7eca1fba7ef1 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7eca1fba7ef1 description: Fix security tests. 2008-12-02 Mark Wielaard * overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.bad, overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.good: New keystore files. * patches/icedtea-6497740.patch: Remove binary file diffs. * patches/icedtea-6721753.patch: Remove @key closed-security. * patches/icedtea-6733959.patch: Add @build ZipMeUp. diffstat: 5 files changed, 49 insertions(+), 4 deletions(-) ChangeLog | 9 +++++++++ patches/icedtea-6497740.patch | 2 -- patches/icedtea-6721753.patch | 3 +-- patches/icedtea-6733959.patch | 8 ++++++++ patches/icedtea-version.patch | 31 +++++++++++++++++++++++++++++++ diffs (103 lines): diff -r b7a8b3f766db -r 7eca1fba7ef1 ChangeLog --- a/ChangeLog Tue Dec 02 19:20:50 2008 +0100 +++ b/ChangeLog Wed Dec 03 00:45:09 2008 +0100 @@ -1,3 +1,12 @@ 2008-12-02 Matthias Klose + + * overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.bad, + overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.good: + New keystore files. + * patches/icedtea-6497740.patch: Remove binary file diffs. + * patches/icedtea-6721753.patch: Remove @key closed-security. + * patches/icedtea-6733959.patch: Add @build ZipMeUp. + 2008-12-02 Matthias Klose * Makefile.am (stamps/extract.stamp): Fix extraction of diff -r b7a8b3f766db -r 7eca1fba7ef1 overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.bad Binary file overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.bad has changed diff -r b7a8b3f766db -r 7eca1fba7ef1 overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.good Binary file overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.good has changed diff -r b7a8b3f766db -r 7eca1fba7ef1 patches/icedtea-6497740.patch --- a/patches/icedtea-6497740.patch Tue Dec 02 19:20:50 2008 +0100 +++ b/patches/icedtea-6497740.patch Wed Dec 03 00:45:09 2008 +0100 @@ -1546,8 +1546,6 @@ + } + } +} -Binary files /tmp/dnlaqOr and new/test/closed/sun/security/rsa/keystore.bad differ -Binary files /tmp/dxQaGis and new/test/closed/sun/security/rsa/keystore.good differ --- /dev/null Fri Aug 22 18:59:31 2008 +++ openjdk/jdk/test/closed/sun/security/rsa/sunpkcs11-solaris_enableSHA1withRSAsig.cfg Fri Aug 22 18:59:29 2008 @@ -0,0 +1,36 @@ diff -r b7a8b3f766db -r 7eca1fba7ef1 patches/icedtea-6721753.patch --- a/patches/icedtea-6721753.patch Tue Dec 02 19:20:50 2008 +0100 +++ b/patches/icedtea-6721753.patch Wed Dec 03 00:45:09 2008 +0100 @@ -88,10 +88,9 @@ /** --- /dev/null Thu Oct 9 16:12:28 2008 +++ openjdk/jdk/test/closed/java/io/File/createTempFile/GuessNext.java Thu Oct 9 16:12:25 2008 -@@ -0,0 +1,26 @@ +@@ -0,0 +1,25 @@ +/* @test + * @bug 6721753 -+ * @key closed-security + * @summary Test that temporary files don't use incrementing counter + */ + diff -r b7a8b3f766db -r 7eca1fba7ef1 patches/icedtea-6733959.patch --- a/patches/icedtea-6733959.patch Tue Dec 02 19:20:50 2008 +0100 +++ b/patches/icedtea-6733959.patch Wed Dec 03 00:45:09 2008 +0100 @@ -112,6 +112,14 @@ +} --- MultipleJRE.sh 2008-11-21 14:18:54.000000000 -0500 +++ openjdk/jdk/test/tools/launcher/MultipleJRE.sh 2008-11-21 14:23:48.000000000 -0500 +@@ -2,6 +2,7 @@ + # @bug 4811102 4953711 4955505 4956301 4991229 4998210 5018605 6387069 + # @build PrintVersion + # @build UglyPrintVersion ++# @build ZipMeUp + # @run shell MultipleJRE.sh + # @summary Verify Multiple JRE version support + # @author Joseph E. Kowalski @@ -48,10 +48,23 @@ exit 1 fi diff -r b7a8b3f766db -r 7eca1fba7ef1 patches/icedtea-version.patch --- a/patches/icedtea-version.patch Tue Dec 02 19:20:50 2008 +0100 +++ b/patches/icedtea-version.patch Wed Dec 03 00:45:09 2008 +0100 @@ -26,3 +26,34 @@ diff -Nru openjdk.orig/jdk/make/common/s endif ifdef BUILD_NUMBER +--- openjdk.orig/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java 2008-11-05 10:27:27.000000000 +0100 ++++ openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java 2008-11-24 21:47:38.000000000 +0100 +@@ -138,7 +138,15 @@ + tableHeaderEnd(); + Iterator it = usingPackageToUsedClasses.keySet().iterator(); + while (it.hasNext()) { +- PackageDoc pkg = configuration.root.packageNamed((String)it.next()); ++ String pkgstr = (String)it.next(); ++ PackageDoc pkg = configuration.root.packageNamed(pkgstr); ++ if (pkg == null) ++ { ++ System.err.println("null package returned for '" ++ + pkgstr + "', which uses package '" ++ + Util.getPackageName(pkgdoc) ++ + "'"); ++ } + generatePackageUse(pkg); + } + tableEnd(); +@@ -195,7 +203,10 @@ + trBgcolorStyle("white", "TableRowColor"); + summaryRow(0); + //Just want an anchor here. +- printHyperLink("", pkg.name(), Util.getPackageName(pkg), true); ++ if (pkg != null) ++ printHyperLink("", pkg.name(), Util.getPackageName(pkg), true); ++ else ++ printHyperLink("WHOA!", "PKG IS NULL", Util.getPackageName(pkg), true); + summaryRowEnd(); + summaryRow(0); + if (pkg != null) { From mark at klomp.org Tue Dec 2 15:48:43 2008 From: mark at klomp.org (Mark Wielaard) Date: Tue, 02 Dec 2008 23:48:43 +0000 Subject: changeset in /hg/icedtea6: * patches/icedtea-version.patch: Remo... Message-ID: changeset d742b7a1cb5e in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d742b7a1cb5e description: * patches/icedtea-version.patch: Remove accidentially added debug patch. diffstat: 2 files changed, 5 insertions(+), 31 deletions(-) ChangeLog | 5 +++++ patches/icedtea-version.patch | 31 ------------------------------- diffs (50 lines): diff -r 7eca1fba7ef1 -r d742b7a1cb5e ChangeLog --- a/ChangeLog Wed Dec 03 00:45:09 2008 +0100 +++ b/ChangeLog Wed Dec 03 00:48:36 2008 +0100 @@ -1,3 +1,8 @@ 2008-12-02 Mark Wielaard + + * patches/icedtea-version.patch: Remove accidentially added debug + patch. + 2008-12-02 Mark Wielaard * overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.bad, diff -r 7eca1fba7ef1 -r d742b7a1cb5e patches/icedtea-version.patch --- a/patches/icedtea-version.patch Wed Dec 03 00:45:09 2008 +0100 +++ b/patches/icedtea-version.patch Wed Dec 03 00:48:36 2008 +0100 @@ -26,34 +26,3 @@ diff -Nru openjdk.orig/jdk/make/common/s endif ifdef BUILD_NUMBER ---- openjdk.orig/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java 2008-11-05 10:27:27.000000000 +0100 -+++ openjdk/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java 2008-11-24 21:47:38.000000000 +0100 -@@ -138,7 +138,15 @@ - tableHeaderEnd(); - Iterator it = usingPackageToUsedClasses.keySet().iterator(); - while (it.hasNext()) { -- PackageDoc pkg = configuration.root.packageNamed((String)it.next()); -+ String pkgstr = (String)it.next(); -+ PackageDoc pkg = configuration.root.packageNamed(pkgstr); -+ if (pkg == null) -+ { -+ System.err.println("null package returned for '" -+ + pkgstr + "', which uses package '" -+ + Util.getPackageName(pkgdoc) -+ + "'"); -+ } - generatePackageUse(pkg); - } - tableEnd(); -@@ -195,7 +203,10 @@ - trBgcolorStyle("white", "TableRowColor"); - summaryRow(0); - //Just want an anchor here. -- printHyperLink("", pkg.name(), Util.getPackageName(pkg), true); -+ if (pkg != null) -+ printHyperLink("", pkg.name(), Util.getPackageName(pkg), true); -+ else -+ printHyperLink("WHOA!", "PKG IS NULL", Util.getPackageName(pkg), true); - summaryRowEnd(); - summaryRow(0); - if (pkg != null) { From doko at ubuntu.com Tue Dec 2 16:00:12 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 00:00:12 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Matthias Klose changeset 98f6e678b3ce in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=98f6e678b3ce description: 2008-12-03 Matthias Klose * patches/icedtea-format-warnings.patch: New. * patches/icedtea-format-warnings.patch: Likewise. * HACKING: Document patches. * Makefile.am: Apply patches. diffstat: 5 files changed, 105 insertions(+) ChangeLog | 7 +++ HACKING | 2 + Makefile.am | 6 +++ patches/icedtea-format-warnings.patch | 30 ++++++++++++++++ patches/icedtea-fortify-source.patch | 60 +++++++++++++++++++++++++++++++++ diffs (140 lines): diff -r d742b7a1cb5e -r 98f6e678b3ce ChangeLog --- a/ChangeLog Wed Dec 03 00:48:36 2008 +0100 +++ b/ChangeLog Wed Dec 03 00:59:32 2008 +0100 @@ -1,3 +1,10 @@ 2008-12-02 Mark Wielaard + + * patches/icedtea-format-warnings.patch: New. + * patches/icedtea-format-warnings.patch: Likewise. + * HACKING: Document patches. + * Makefile.am: Apply patches. + 2008-12-02 Mark Wielaard * patches/icedtea-version.patch: Remove accidentially added debug diff -r d742b7a1cb5e -r 98f6e678b3ce HACKING --- a/HACKING Wed Dec 03 00:48:36 2008 +0100 +++ b/HACKING Wed Dec 03 00:59:32 2008 +0100 @@ -75,6 +75,8 @@ The following patches are currently appl * icedtea-testenv.patch: Provide public reachable machines for net/nio tests. * icedtea-samejvm-safe.patch: Add samejvmsafe dirs to TEST.ROOT. * icedtea-6728542-epoll.patch: Make EPoll work on non-x86 platforms. (PR265) +* icedtea-fortify-source.patch: Fix build failures with -D_FORTIFY_SOURCE=2. +* icedtea-format-warnings.patch: Fix build failures with -Wformat=1. The following patches are only applied to OpenJDK6 in IcedTea6: diff -r d742b7a1cb5e -r 98f6e678b3ce Makefile.am --- a/Makefile.am Wed Dec 03 00:48:36 2008 +0100 +++ b/Makefile.am Wed Dec 03 00:59:32 2008 +0100 @@ -588,6 +588,12 @@ ICEDTEA_PATCHES = \ patches/icedtea-6755943.patch \ patches/icedtea-6766136.patch +if WITH_ALT_HSBUILD +ICEDTEA_PATCHES += \ + patches/icedtea-format-warnings.patch \ + patches/icedtea-fortify-source.patch +endif + if !WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ patches/icedtea-hotspot7-tests.patch \ diff -r d742b7a1cb5e -r 98f6e678b3ce patches/icedtea-format-warnings.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-format-warnings.patch Wed Dec 03 00:59:32 2008 +0100 @@ -0,0 +1,30 @@ +--- openjdk/hotspot/src/share/vm/classfile/javaClasses.cpp~ 2008-11-20 09:41:03.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/classfile/javaClasses.cpp 2008-12-02 16:47:01.000000000 +0100 +@@ -866,7 +866,7 @@ + } + nmethod* nm = method->code(); + if (WizardMode && nm != NULL) { +- sprintf(buf + (int)strlen(buf), "(nmethod %#x)", nm); ++ sprintf(buf + (int)strlen(buf), "(nmethod %p)", nm); + } + } + +--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp~ 2008-12-02 16:38:27.000000000 +0100 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2008-12-02 17:05:17.000000000 +0100 +@@ -4133,6 +4133,7 @@ + int count; + long sys_time, user_time; + char string[64]; ++ char cdummy; + int idummy; + long ldummy; + FILE *fp; +@@ -4194,7 +4195,7 @@ + do s++; while (isspace(*s)); + + count = sscanf(s,"%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu", +- &idummy, &idummy, &idummy, &idummy, &idummy, &idummy, ++ &cdummy, &idummy, &idummy, &idummy, &idummy, &idummy, + &ldummy, &ldummy, &ldummy, &ldummy, &ldummy, + &user_time, &sys_time); + if ( count != 13 ) return -1; diff -r d742b7a1cb5e -r 98f6e678b3ce patches/icedtea-fortify-source.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-fortify-source.patch Wed Dec 03 00:59:32 2008 +0100 @@ -0,0 +1,60 @@ +--- openjdk/hotspot/src/share/vm/prims/jvm.cpp~ 2008-11-20 09:41:05.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/prims/jvm.cpp 2008-12-02 16:55:32.000000000 +0100 +@@ -2474,7 +2474,7 @@ + if (Arguments::vfprintf_hook() != NULL) { + jio_fprintf(defaultStream::output_stream(), "%s", s); + } else { +- ::write(defaultStream::output_fd(), s, (int)strlen(s)); ++ ssize_t neverused_rv = ::write(defaultStream::output_fd(), s, (int)strlen(s)); + } + } + +--- openjdk/hotspot/src/share/vm/utilities/ostream.cpp~ 2008-12-02 16:38:32.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/utilities/ostream.cpp 2008-12-02 16:58:26.000000000 +0100 +@@ -300,7 +300,7 @@ + } + + void fileStream::write(const char* s, size_t len) { +- if (_file != NULL) fwrite(s, 1, len, _file); ++ if (_file != NULL) size_t neverused_rv = fwrite(s, 1, len, _file); + update_position(s, len); + } + +@@ -328,7 +328,7 @@ + } + + void fdStream::write(const char* s, size_t len) { +- if (_fd != -1) ::write(_fd, s, (int)len); ++ if (_fd != -1) ssize_t neverused_rv = ::write(_fd, s, (int)len); + update_position(s, len); + } + +--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp~ 2008-12-02 16:38:27.000000000 +0100 ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2008-12-02 17:05:17.000000000 +0100 +@@ -2066,7 +2066,7 @@ + CAST_FROM_FN_PTR(address, os::jvm_path), + dli_fname, sizeof(dli_fname), NULL); + assert(ret != 0, "cannot locate libjvm"); +- realpath(dli_fname, buf); ++ char *neverused_rv = realpath(dli_fname, buf); + + if (strcmp(Arguments::sun_java_launcher(), "gamma") == 0) { + // Support for the gamma launcher. Typical value for buf is +@@ -2090,7 +2090,7 @@ + assert(strstr(p, "/libjvm") == p, "invalid library name"); + p = strstr(p, "_g") ? "_g" : ""; + +- realpath(java_home_var, buf); ++ char *neverused_rv = realpath(java_home_var, buf); + sprintf(buf + strlen(buf), "/jre/lib/%s", cpu_arch); + if (0 == access(buf, F_OK)) { + // Use current module name "libjvm[_g].so" instead of +@@ -2101,7 +2101,7 @@ + sprintf(buf + strlen(buf), "/hotspot/libjvm%s.so", p); + } else { + // Go back to path of .so +- realpath(dli_fname, buf); ++ neverused_rv = realpath(dli_fname, buf); + } + } + } From mark at klomp.org Tue Dec 2 16:06:59 2008 From: mark at klomp.org (Mark Wielaard) Date: Wed, 03 Dec 2008 01:06:59 +0100 Subject: Some new security tests failing (one by removing the j2sdk-image dir!) (Was: changeset in /hg/icedtea6...) In-Reply-To: References: Message-ID: <1228262819.23877.38.camel@dijkstra.wildebeest.org> Hi Lillian, and Hi Jon, read below for a weird issue with jtreg, On Tue, 2008-12-02 at 13:27 +0000, Lillian Angel wrote: > changeset a599dbe81c3d in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a599dbe81c3d > description: > 2008-12-02 Lillian Angel > > * Makefile.am > (ICEDTEA_PATCHES): Added new OpenJDK security patches. > * patches/icedtea-4486841.patch, > patches/icedtea-6484091.patch, > patches/icedtea-6497740.patch, > patches/icedtea-6588160.patch, > patches/icedtea-6592792.patch, > patches/icedtea-6721753.patch, > patches/icedtea-6726779.patch, > patches/icedtea-6733959.patch, > patches/icedtea-6734167.patch, > patches/icedtea-6755943.patch, > patches/icedtea-6766136.patch: New file Thanks for getting these applied so quickly. It is good to see you are on top of the security issues. I did find some issues with the newly included tests though. - closed/sun/security/rsa/TestLimits.java needs two pre-created keystore files. It also describes how to create them. I added them to the overlay (since you cannot easily add them to the patches files.) - closed/java/io/File/createTempFile/GuessNext.java had a "@key closed-security". closed-security isn't valid key according to our TEST.ROOT, so I just removed it. BTW. Both these new "closed" tests don't have a GPL header. - tools/launcher/MultipleJRE.sh uses a class ZipMeUp, but was missing an @build for that class. I added that. Now that last issue looks innocent enough, but it isn't! It will DESTROY your just build j2sdk-image build dir! Look at the following test script fragment: TestLongMainClass() { JVER=$1 if [ "$JVER" = "mklink" ]; then JVER=XX JDKXX=jdk/j2re$JVER rm -rf jdk mkdir jdk ln -s $TESTJAVA $JDKXX JAVA_VERSION_PATH="`pwd`/jdk" export JAVA_VERSION_PATH fi $JAVAEXE -cp $TESTCLASSES ZipMeUp UglyBetty.jar 4097 message="`$JAVAEXE -version:$JVER -jar UglyBetty.jar 2>&1`" echo $message | grep "Error: main-class: attribute exceeds system limits" > /dev/null 2>&1 if [ $? -ne 0 ]; then printf "Long manifest test did not get expected error" exit 1 fi unset JAVA_VERSION_PATH rm -rf jdk } where $1 = "mklink" $TESTJAVA = /path/to/your/just/build/j2sdk-image What this will do is create a soft link in the JTwork/scratch dir called jdk/j2reXX that points to your just build j2sdk-image. If the test succeeds this jdk dir with the soft link in it will just be removed and everything is fine. (rm -r doesn't follow soft links) But if this fails (because of the missing ZipMeUp class) the script will exit 1 prematurely without removing the softlink from the scratch dir. On the next test run jtreg will remove the contents of the JTwork/scratch dir. But jtreg does follow soft links! So it will remove everything in your shiny new j2sdk-image build. The fix makes the script not fail. But apparently having tests create soft links is a pretty dangerous thing... Fixed as follows: 2008-12-02 Mark Wielaard * overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.bad, overlays/openjdk/jdk/test/closed/sun/security/rsa/keystore.good: New keystore files. * patches/icedtea-6497740.patch: Remove binary file diffs. * patches/icedtea-6721753.patch: Remove @key closed-security. * patches/icedtea-6733959.patch: Add @build ZipMeUp. Cheers, Mark diff -r b7a8b3f766db -r 7eca1fba7ef1 patches/icedtea-6497740.patch --- a/patches/icedtea-6497740.patch Tue Dec 02 19:20:50 2008 +0100 +++ b/patches/icedtea-6497740.patch Wed Dec 03 00:45:09 2008 +0100 @@ -1546,8 +1546,6 @@ + } + } +} -Binary files /tmp/dnlaqOr and new/test/closed/sun/security/rsa/keystore.bad differ -Binary files /tmp/dxQaGis and new/test/closed/sun/security/rsa/keystore.good differ --- /dev/null Fri Aug 22 18:59:31 2008 +++ openjdk/jdk/test/closed/sun/security/rsa/sunpkcs11-solaris_enableSHA1withRSAsig.cfg Fri Aug 22 18:59:29 2008 @@ -0,0 +1,36 @@ diff -r b7a8b3f766db -r 7eca1fba7ef1 patches/icedtea-6721753.patch --- a/patches/icedtea-6721753.patch Tue Dec 02 19:20:50 2008 +0100 +++ b/patches/icedtea-6721753.patch Wed Dec 03 00:45:09 2008 +0100 @@ -88,10 +88,9 @@ /** --- /dev/null Thu Oct 9 16:12:28 2008 +++ openjdk/jdk/test/closed/java/io/File/createTempFile/GuessNext.java Thu Oct 9 16:12:25 2008 -@@ -0,0 +1,26 @@ +@@ -0,0 +1,25 @@ +/* @test + * @bug 6721753 -+ * @key closed-security + * @summary Test that temporary files don't use incrementing counter + */ + diff -r b7a8b3f766db -r 7eca1fba7ef1 patches/icedtea-6733959.patch --- a/patches/icedtea-6733959.patch Tue Dec 02 19:20:50 2008 +0100 +++ b/patches/icedtea-6733959.patch Wed Dec 03 00:45:09 2008 +0100 @@ -112,6 +112,14 @@ +} --- MultipleJRE.sh 2008-11-21 14:18:54.000000000 -0500 +++ openjdk/jdk/test/tools/launcher/MultipleJRE.sh 2008-11-21 14:23:48.000000000 -0500 +@@ -2,6 +2,7 @@ + # @bug 4811102 4953711 4955505 4956301 4991229 4998210 5018605 6387069 + # @build PrintVersion + # @build UglyPrintVersion ++# @build ZipMeUp + # @run shell MultipleJRE.sh + # @summary Verify Multiple JRE version support + # @author Joseph E. Kowalski @@ -48,10 +48,23 @@ exit 1 fi From David.Holmes at Sun.COM Tue Dec 2 15:52:56 2008 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Wed, 03 Dec 2008 09:52:56 +1000 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <49356C74.2000700@ubuntu.com> References: <49356C74.2000700@ubuntu.com> Message-ID: <4935CA58.70403@sun.com> Hi Matthias, Can't we get rid of all the dummy variables here: count = sscanf(s,"%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu", - &idummy, &idummy, &idummy, &idummy, &idummy, &idummy, + &cdummy, &idummy, &idummy, &idummy, &idummy, &idummy, &ldummy, &ldummy, &ldummy, &ldummy, &ldummy, &user_time, &sys_time); by using the %*d %*c format specifiers to parse but not store the value. And here: - ::write(defaultStream::output_fd(), s, (int)strlen(s)); + ssize_t rv = ::write(defaultStream::output_fd(), s, (int)strlen(s)); if we are ignoring the return value anyway (which might be the real error here!) wouldn't a cast to void be a cleaner fix? Just a thought. David Holmes Matthias Klose said the following on 12/03/08 03:12: > These options are the default in IntrepidIbex (Ubuntu 8.10). Find attached two > patches to fix these warnings, plus one patch to turn off the -Wformat=1 warnings. > > Matthias > From Kelly.Ohair at Sun.COM Tue Dec 2 17:21:18 2008 From: Kelly.Ohair at Sun.COM (Kelly O'Hair) Date: Tue, 02 Dec 2008 17:21:18 -0800 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <4935CA58.70403@sun.com> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> Message-ID: <4935DF0E.5040701@sun.com> David Holmes - Sun Microsystems wrote: > Hi Matthias, > > Can't we get rid of all the dummy variables here: > > count = sscanf(s,"%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu", > - &idummy, &idummy, &idummy, &idummy, &idummy, &idummy, > + &cdummy, &idummy, &idummy, &idummy, &idummy, &idummy, > &ldummy, &ldummy, &ldummy, &ldummy, &ldummy, > &user_time, &sys_time); > > by using the %*d %*c format specifiers to parse but not store the value. > > And here: > > - ::write(defaultStream::output_fd(), s, (int)strlen(s)); > + ssize_t rv = ::write(defaultStream::output_fd(), s, (int)strlen(s)); > > if we are ignoring the return value anyway (which might be the real > error here!) wouldn't a cast to void be a cleaner fix? I tend to agree on the (void) cast, and seems like we run the risk of a 'local variable assigned to but not used' warning... or do any C/C++ compilers do that? -kto > > Just a thought. > > David Holmes > > Matthias Klose said the following on 12/03/08 03:12: >> These options are the default in IntrepidIbex (Ubuntu 8.10). Find >> attached two >> patches to fix these warnings, plus one patch to turn off the >> -Wformat=1 warnings. >> >> Matthias >> From twisti at complang.tuwien.ac.at Wed Dec 3 01:05:58 2008 From: twisti at complang.tuwien.ac.at (Christian Thalinger) Date: Wed, 03 Dec 2008 10:05:58 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <49356C74.2000700@ubuntu.com> References: <49356C74.2000700@ubuntu.com> Message-ID: <1228295158.1541.833.camel@localhost.localdomain> On Tue, 2008-12-02 at 18:12 +0100, Matthias Klose wrote: > --- openjdk/hotspot/src/share/vm/prims/jvm.cpp~ 2008-11-20 > 09:41:05.000000000 +0100 > +++ openjdk/hotspot/src/share/vm/prims/jvm.cpp 2008-12-02 > 16:55:32.000000000 +0100 > @@ -2474,7 +2474,7 @@ > if (Arguments::vfprintf_hook() != NULL) { > jio_fprintf(defaultStream::output_stream(), "%s", s); > } else { > - ::write(defaultStream::output_fd(), s, (int)strlen(s)); > + ssize_t rv = ::write(defaultStream::output_fd(), s, > (int)strlen(s)); > } > } David and Kelly already answered what I wanted to say, but as I still have this compose window open since yesterday... :-) I would also prefer the void cast here as it would be much clearer for the unexperienced reader. - Christian From gbenson at redhat.com Wed Dec 3 01:50:09 2008 From: gbenson at redhat.com (Gary Benson) Date: Wed, 03 Dec 2008 09:50:09 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Gary Benson changeset 985d267a3390 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=985d267a3390 description: 2008-12-03 Gary Benson * a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp (os::is_allocatable): New method. * a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp (os::is_allocatable): Likewise. diffstat: 3 files changed, 14 insertions(+) ChangeLog | 7 +++++++ ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 5 +++++ ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp | 2 ++ diffs (41 lines): diff -r 98f6e678b3ce -r 985d267a3390 ChangeLog --- a/ChangeLog Wed Dec 03 00:59:32 2008 +0100 +++ b/ChangeLog Wed Dec 03 04:50:04 2008 -0500 @@ -1,3 +1,10 @@ 2008-12-03 Matthias Klose + + * a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp + (os::is_allocatable): New method. + * a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp + (os::is_allocatable): Likewise. + 2008-12-03 Matthias Klose * patches/icedtea-format-warnings.patch: New. diff -r 98f6e678b3ce -r 985d267a3390 ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Wed Dec 03 00:59:32 2008 +0100 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Wed Dec 03 04:50:04 2008 -0500 @@ -238,6 +238,11 @@ void os::Linux::set_fpu_control_word(int Unimplemented(); } +bool os::is_allocatable(size_t bytes) +{ + Unimplemented(); +} + /////////////////////////////////////////////////////////////////////////////// // thread stack diff -r 98f6e678b3ce -r 985d267a3390 ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp --- a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Wed Dec 03 00:59:32 2008 +0100 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Wed Dec 03 04:50:04 2008 -0500 @@ -25,6 +25,8 @@ static void setup_fpu() {} + static bool is_allocatable(size_t bytes); + // Used to register dynamic code cache area with the OS // Note: Currently only used in 64 bit Windows implementations static bool register_code_area(char *low, char *high) { return true; } From gbenson at redhat.com Wed Dec 3 01:52:31 2008 From: gbenson at redhat.com (Gary Benson) Date: Wed, 03 Dec 2008 09:52:31 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Gary Benson changeset 5e60b6dd0bf6 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=5e60b6dd0bf6 description: 2008-12-03 Gary Benson * .hgignore: Ignore downloaded HotSpot tarball. diffstat: 2 files changed, 5 insertions(+) .hgignore | 1 + ChangeLog | 4 ++++ diffs (19 lines): diff -r 985d267a3390 -r 5e60b6dd0bf6 .hgignore --- a/.hgignore Wed Dec 03 04:50:04 2008 -0500 +++ b/.hgignore Wed Dec 03 04:52:28 2008 -0500 @@ -454,3 +454,4 @@ pulseaudio/src/native/org_.*.h pulseaudio/src/native/org_.*.h pulseaudio/.*jar pulse-java.jar +hotspot.tar.gz diff -r 985d267a3390 -r 5e60b6dd0bf6 ChangeLog --- a/ChangeLog Wed Dec 03 04:50:04 2008 -0500 +++ b/ChangeLog Wed Dec 03 04:52:28 2008 -0500 @@ -1,3 +1,7 @@ 2008-12-03 Gary Benson + + * .hgignore: Ignore downloaded HotSpot tarball. + 2008-12-03 Gary Benson * a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp From aph at redhat.com Wed Dec 3 02:16:20 2008 From: aph at redhat.com (Andrew Haley) Date: Wed, 03 Dec 2008 10:16:20 +0000 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <4935DF0E.5040701@sun.com> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> <4935DF0E.5040701@sun.com> Message-ID: <49365C74.4010201@redhat.com> Kelly O'Hair wrote: > > > David Holmes - Sun Microsystems wrote: >> Hi Matthias, >> >> Can't we get rid of all the dummy variables here: >> >> count = sscanf(s,"%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu", >> - &idummy, &idummy, &idummy, &idummy, &idummy, &idummy, >> + &cdummy, &idummy, &idummy, &idummy, &idummy, &idummy, >> &ldummy, &ldummy, &ldummy, &ldummy, &ldummy, >> &user_time, &sys_time); >> >> by using the %*d %*c format specifiers to parse but not store the value. >> >> And here: >> >> - ::write(defaultStream::output_fd(), s, (int)strlen(s)); >> + ssize_t rv = ::write(defaultStream::output_fd(), s, (int)strlen(s)); >> >> if we are ignoring the return value anyway (which might be the real >> error here!) wouldn't a cast to void be a cleaner fix? > > I tend to agree on the (void) cast, and seems like we run the risk of a > 'local variable assigned to but not used' warning... or do any C/C++ > compilers do that? Yeah, they do. gcc has attribute ((unused)) for unused decls, which one might as well use in Linux-specific code. Andrew. From niwi at sics.se Wed Dec 3 04:00:45 2008 From: niwi at sics.se (Niklas Wirstrom) Date: Wed, 03 Dec 2008 13:00:45 +0100 Subject: fastest way to rebuild hotspot? Message-ID: <493674ED.4090604@sics.se> Hi, What would be the fastest way to rebuild icedtea6, given that I only have modified source code in the openjdk/hotspot/src directory? Thanks, Niklas From aph at redhat.com Wed Dec 3 04:13:50 2008 From: aph at redhat.com (Andrew Haley) Date: Wed, 03 Dec 2008 12:13:50 +0000 Subject: fastest way to rebuild hotspot? In-Reply-To: <493674ED.4090604@sics.se> References: <493674ED.4090604@sics.se> Message-ID: <493677FE.9030703@redhat.com> Niklas Wirstrom wrote: > What would be the fastest way to rebuild icedtea6, given that I only > have modified source code in the openjdk/hotspot/src directory? rm stamps/icedtea-*ecj.stamp ; make icedtea-against-ecj From gnu_andrew at member.fsf.org Wed Dec 3 04:20:05 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 3 Dec 2008 12:20:05 +0000 Subject: fastest way to rebuild hotspot? In-Reply-To: <493677FE.9030703@redhat.com> References: <493674ED.4090604@sics.se> <493677FE.9030703@redhat.com> Message-ID: <17c6771e0812030420x69c58464xb6b0ab60859832bf@mail.gmail.com> 2008/12/3 Andrew Haley : > Niklas Wirstrom wrote: > >> What would be the fastest way to rebuild icedtea6, given that I only >> have modified source code in the openjdk/hotspot/src directory? > > rm stamps/icedtea-*ecj.stamp ; make icedtea-against-ecj > > That works for the openjdk-ecj directory. For openjdk, you'd need: rm stamps/icedtea.stamp; make icedtea-against-icedtea -- Andrew :-) 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 aph at redhat.com Wed Dec 3 04:22:41 2008 From: aph at redhat.com (Andrew Haley) Date: Wed, 03 Dec 2008 12:22:41 +0000 Subject: fastest way to rebuild hotspot? In-Reply-To: <17c6771e0812030420x69c58464xb6b0ab60859832bf@mail.gmail.com> References: <493674ED.4090604@sics.se> <493677FE.9030703@redhat.com> <17c6771e0812030420x69c58464xb6b0ab60859832bf@mail.gmail.com> Message-ID: <49367A11.6080104@redhat.com> Andrew John Hughes wrote: > 2008/12/3 Andrew Haley : >> Niklas Wirstrom wrote: >> >>> What would be the fastest way to rebuild icedtea6, given that I only >>> have modified source code in the openjdk/hotspot/src directory? >> rm stamps/icedtea-*ecj.stamp ; make icedtea-against-ecj >> >> > > That works for the openjdk-ecj directory. For openjdk, you'd need: > > rm stamps/icedtea.stamp; make icedtea-against-icedtea Isn't that going to be much slower? I'm presuming the OP just wants to rebuild the VM. Andrew. From gnu_andrew at member.fsf.org Wed Dec 3 04:33:50 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 3 Dec 2008 12:33:50 +0000 Subject: fastest way to rebuild hotspot? In-Reply-To: <49367A11.6080104@redhat.com> References: <493674ED.4090604@sics.se> <493677FE.9030703@redhat.com> <17c6771e0812030420x69c58464xb6b0ab60859832bf@mail.gmail.com> <49367A11.6080104@redhat.com> Message-ID: <17c6771e0812030433ob604a6n8d3f8ed8ab2fcb82@mail.gmail.com> 2008/12/3 Andrew Haley : > Andrew John Hughes wrote: >> 2008/12/3 Andrew Haley : >>> Niklas Wirstrom wrote: >>> >>>> What would be the fastest way to rebuild icedtea6, given that I only >>>> have modified source code in the openjdk/hotspot/src directory? >>> rm stamps/icedtea-*ecj.stamp ; make icedtea-against-ecj >>> >>> >> >> That works for the openjdk-ecj directory. For openjdk, you'd need: >> >> rm stamps/icedtea.stamp; make icedtea-against-icedtea > > Isn't that going to be much slower? I'm presuming the OP just > wants to rebuild the VM. > > Andrew. > > > It should be the same, except in the openjdk directory instead of the openjdk-ecj directory. I'm assuming the OP did a full build initially, as he says he changed things in openjdk/hotspot not openjdk-ecj/hotspot. For icedtea-ecj there is also a hotspot target which deletes the stamp and rebuilds only HotSpot. -- Andrew :-) 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 doko at ubuntu.com Wed Dec 3 04:38:27 2008 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 03 Dec 2008 13:38:27 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <1228295158.1541.833.camel@localhost.localdomain> References: <49356C74.2000700@ubuntu.com> <1228295158.1541.833.camel@localhost.localdomain> Message-ID: <49367DC3.7090802@ubuntu.com> Christian Thalinger schrieb: > On Tue, 2008-12-02 at 18:12 +0100, Matthias Klose wrote: >> --- openjdk/hotspot/src/share/vm/prims/jvm.cpp~ 2008-11-20 >> 09:41:05.000000000 +0100 >> +++ openjdk/hotspot/src/share/vm/prims/jvm.cpp 2008-12-02 >> 16:55:32.000000000 +0100 >> @@ -2474,7 +2474,7 @@ >> if (Arguments::vfprintf_hook() != NULL) { >> jio_fprintf(defaultStream::output_stream(), "%s", s); >> } else { >> - ::write(defaultStream::output_fd(), s, (int)strlen(s)); >> + ssize_t rv = ::write(defaultStream::output_fd(), s, >> (int)strlen(s)); >> } >> } > > David and Kelly already answered what I wanted to say, but as I still > have this compose window open since yesterday... :-) > > I would also prefer the void cast here as it would be much clearer for > the unexperienced reader. a void cast doesn't help. collected some suggestions, and the "best" seems to be ssize_t rv_neverused __attribute__((unused)) = ... although this file cannot be built with -Wunused or -Wunused-variable anyway. Matthias From twisti at complang.tuwien.ac.at Wed Dec 3 04:46:56 2008 From: twisti at complang.tuwien.ac.at (Christian Thalinger) Date: Wed, 03 Dec 2008 13:46:56 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <49367DC3.7090802@ubuntu.com> References: <49356C74.2000700@ubuntu.com> <1228295158.1541.833.camel@localhost.localdomain> <49367DC3.7090802@ubuntu.com> Message-ID: <1228308416.1541.836.camel@localhost.localdomain> On Wed, 2008-12-03 at 13:38 +0100, Matthias Klose wrote: > Christian Thalinger schrieb: > > On Tue, 2008-12-02 at 18:12 +0100, Matthias Klose wrote: > >> --- openjdk/hotspot/src/share/vm/prims/jvm.cpp~ 2008-11-20 > >> 09:41:05.000000000 +0100 > >> +++ openjdk/hotspot/src/share/vm/prims/jvm.cpp 2008-12-02 > >> 16:55:32.000000000 +0100 > >> @@ -2474,7 +2474,7 @@ > >> if (Arguments::vfprintf_hook() != NULL) { > >> jio_fprintf(defaultStream::output_stream(), "%s", s); > >> } else { > >> - ::write(defaultStream::output_fd(), s, (int)strlen(s)); > >> + ssize_t rv = ::write(defaultStream::output_fd(), s, > >> (int)strlen(s)); > >> } > >> } > > > > David and Kelly already answered what I wanted to say, but as I still > > have this compose window open since yesterday... :-) > > > > I would also prefer the void cast here as it would be much clearer for > > the unexperienced reader. > > a void cast doesn't help. collected some suggestions, and the "best" seems to be > > ssize_t rv_neverused __attribute__((unused)) = ... > > although this file cannot be built with -Wunused or -Wunused-variable anyway. A void cast does not help? What GCC version is that or even better, what is the warning? - Christian From niwi at sics.se Wed Dec 3 04:58:57 2008 From: niwi at sics.se (Niklas Wirstrom) Date: Wed, 03 Dec 2008 13:58:57 +0100 Subject: fastest way to rebuild hotspot? In-Reply-To: <17c6771e0812030433ob604a6n8d3f8ed8ab2fcb82@mail.gmail.com> References: <493674ED.4090604@sics.se> <493677FE.9030703@redhat.com> <17c6771e0812030420x69c58464xb6b0ab60859832bf@mail.gmail.com> <49367A11.6080104@redhat.com> <17c6771e0812030433ob604a6n8d3f8ed8ab2fcb82@mail.gmail.com> Message-ID: <49368291.5060508@sics.se> Andrew John Hughes wrote: > 2008/12/3 Andrew Haley : > >> Andrew John Hughes wrote: >> >>> 2008/12/3 Andrew Haley : >>> >>>> Niklas Wirstrom wrote: >>>> >>>> >>>>> What would be the fastest way to rebuild icedtea6, given that I only >>>>> have modified source code in the openjdk/hotspot/src directory? >>>>> >>>> rm stamps/icedtea-*ecj.stamp ; make icedtea-against-ecj >>>> >>>> >>>> >>> That works for the openjdk-ecj directory. For openjdk, you'd need: >>> >>> rm stamps/icedtea.stamp; make icedtea-against-icedtea >>> >> Isn't that going to be much slower? I'm presuming the OP just >> wants to rebuild the VM. >> >> Andrew. >> >> >> >> > > It should be the same, except in the openjdk directory instead of the > openjdk-ecj directory. > I'm assuming the OP did a full build initially, as he says he changed > things in openjdk/hotspot > not openjdk-ecj/hotspot. For icedtea-ecj there is also a hotspot > target which deletes the stamp and rebuilds only HotSpot. > Hi, and thanks for the answers. Yes, I have already made a full build. Is there any documentation for the build process? My understanding is that openjdk-ecj is built first, and then openjdk is built using openjdk-ecj build for bootstrapping, and that modifications of the hotspot are therefore preferably made in the openjdk directory. Is this correct? /Niklas From gnu_andrew at member.fsf.org Wed Dec 3 05:05:17 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 3 Dec 2008 13:05:17 +0000 Subject: fastest way to rebuild hotspot? In-Reply-To: <49368291.5060508@sics.se> References: <493674ED.4090604@sics.se> <493677FE.9030703@redhat.com> <17c6771e0812030420x69c58464xb6b0ab60859832bf@mail.gmail.com> <49367A11.6080104@redhat.com> <17c6771e0812030433ob604a6n8d3f8ed8ab2fcb82@mail.gmail.com> <49368291.5060508@sics.se> Message-ID: <17c6771e0812030505n696a077at17bd47f6d887052e@mail.gmail.com> 2008/12/3 Niklas Wirstrom : > Andrew John Hughes wrote: >> >> 2008/12/3 Andrew Haley : >> >>> >>> Andrew John Hughes wrote: >>> >>>> >>>> 2008/12/3 Andrew Haley : >>>> >>>>> >>>>> Niklas Wirstrom wrote: >>>>> >>>>> >>>>>> >>>>>> What would be the fastest way to rebuild icedtea6, given that I only >>>>>> have modified source code in the openjdk/hotspot/src directory? >>>>>> >>>>> >>>>> rm stamps/icedtea-*ecj.stamp ; make icedtea-against-ecj >>>>> >>>>> >>>>> >>>> >>>> That works for the openjdk-ecj directory. For openjdk, you'd need: >>>> >>>> rm stamps/icedtea.stamp; make icedtea-against-icedtea >>>> >>> >>> Isn't that going to be much slower? I'm presuming the OP just >>> wants to rebuild the VM. >>> >>> Andrew. >>> >>> >>> >>> >> >> It should be the same, except in the openjdk directory instead of the >> openjdk-ecj directory. >> I'm assuming the OP did a full build initially, as he says he changed >> things in openjdk/hotspot >> not openjdk-ecj/hotspot. For icedtea-ecj there is also a hotspot >> target which deletes the stamp and rebuilds only HotSpot. >> > > Hi, and thanks for the answers. > Yes, I have already made a full build. Is there any documentation for the > build process? My understanding is that openjdk-ecj is built first, and then > openjdk is built using openjdk-ecj build for bootstrapping, and that > modifications of the hotspot are therefore preferably made in the openjdk > directory. Is this correct? > > /Niklas > > That's correct, but as Andrew was implying, you can just build icedtea-ecj and make modifications there, cutting the build time in half. The second part is mainly to test that you have a 'good' build. If you have a system install of IcedTea, you can build using the --with-icedtea and --with-icedtea-home= options to just work with the second stage. This should be documented in the documentation found in IcedTea's root directory and/or on the wiki. If you find anything missing, patches are welcome. :) -- Andrew :-) 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 aph at redhat.com Wed Dec 3 05:09:18 2008 From: aph at redhat.com (Andrew Haley) Date: Wed, 03 Dec 2008 13:09:18 +0000 Subject: fastest way to rebuild hotspot? In-Reply-To: <49368291.5060508@sics.se> References: <493674ED.4090604@sics.se> <493677FE.9030703@redhat.com> <17c6771e0812030420x69c58464xb6b0ab60859832bf@mail.gmail.com> <49367A11.6080104@redhat.com> <17c6771e0812030433ob604a6n8d3f8ed8ab2fcb82@mail.gmail.com> <49368291.5060508@sics.se> Message-ID: <493684FE.7050300@redhat.com> Niklas Wirstrom wrote: > Yes, I have already made a full build. Is there any documentation for > the build process? My understanding is that openjdk-ecj is built first, > and then openjdk is built using openjdk-ecj build for bootstrapping, Yes. > and > that modifications of the hotspot are therefore preferably made in the > openjdk directory. Is this correct? You can use the hotspot in either directory. When I'm working on Hotspot I always use icedtea-against-ecj because it save so much time on the initial build. Andrew. From doko at ubuntu.com Wed Dec 3 05:46:08 2008 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 03 Dec 2008 14:46:08 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <4935DF0E.5040701@sun.com> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> <4935DF0E.5040701@sun.com> Message-ID: <49368DA0.8060808@ubuntu.com> Kelly O'Hair schrieb: > > > David Holmes - Sun Microsystems wrote: >> Hi Matthias, >> >> Can't we get rid of all the dummy variables here: >> >> count = sscanf(s,"%c %d %d %d %d %d %lu %lu %lu %lu %lu %lu %lu", >> - &idummy, &idummy, &idummy, &idummy, &idummy, &idummy, >> + &cdummy, &idummy, &idummy, &idummy, &idummy, &idummy, >> &ldummy, &ldummy, &ldummy, &ldummy, &ldummy, >> &user_time, &sys_time); >> >> by using the %*d %*c format specifiers to parse but not store the value. >> >> And here: >> >> - ::write(defaultStream::output_fd(), s, (int)strlen(s)); >> + ssize_t rv = ::write(defaultStream::output_fd(), s, (int)strlen(s)); >> >> if we are ignoring the return value anyway (which might be the real >> error here!) wouldn't a cast to void be a cleaner fix? > > I tend to agree on the (void) cast, and seems like we run the risk of a > 'local variable assigned to but not used' warning... or do any C/C++ > compilers do that? int fn () __attribute__ ((warn_unused_result)); int foo () { if (fn () < 0) return -1; (void) fn (); return 0; } gcc (4.3.x, 4.4) still warns about the unused return value. hotspot currently cannot be built with -Wunused or -Wunused-variable. From twisti at complang.tuwien.ac.at Wed Dec 3 06:20:50 2008 From: twisti at complang.tuwien.ac.at (Christian Thalinger) Date: Wed, 03 Dec 2008 15:20:50 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <49368DA0.8060808@ubuntu.com> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> <4935DF0E.5040701@sun.com> <49368DA0.8060808@ubuntu.com> Message-ID: <1228314050.1541.839.camel@localhost.localdomain> On Wed, 2008-12-03 at 14:46 +0100, Matthias Klose wrote: > int fn () __attribute__ ((warn_unused_result)); > int foo () > { > if (fn () < 0) return -1; > (void) fn (); > return 0; > } > > gcc (4.3.x, 4.4) still warns about the unused return value. I see the problem. write is defined with __wur (which is most likely __attribute__ ((warn_unused_result)), I did not check) in glibc-2.7, but not in e.g. glibc-2.3.6, and GCC warns about it even when a (void) cast is used. I'd say this is a bug in GCC. When I explicitly ask for ignoring the return value, it should do it. - Christian From gnu_andrew at member.fsf.org Wed Dec 3 06:31:32 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 03 Dec 2008 14:31:32 +0000 Subject: changeset in /hg/icedtea6: Move patches to hierarchical name space. Message-ID: changeset a59dccb92ae7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a59dccb92ae7 description: Move patches to hierarchical name space. 2008-12-03 Andrew John Hughes Create hierarchical patch space. * patches/icedtea-4486841.patch, * patches/icedtea-6484091.patch, * patches/icedtea-6497740.patch, * patches/icedtea-6588160.patch, * patches/icedtea-6592792.patch, * patches/icedtea-6721753.patch, * patches/icedtea-6726779.patch, * patches/icedtea-6733959.patch, * patches/icedtea-6734167.patch, * patches/icedtea-6755943.patch, * patches/icedtea-6766136.patch, * patches/icedtea-ecj-hotspot-14.0b08.patch, * patches/icedtea-ecj-hotspot-original.patch, * patches/icedtea-ecj-jopt.patch, * patches/icedtea-ecj-pr261.patch, * patches/icedtea-ecj-spp.patch, * patches/icedtea-ecj.patch, * patches/icedtea-hotspot-14.0b08-bytecodeInterpreter.patch, * patches/icedtea-hotspot-14.0b08-core-build.patch, * patches/icedtea-hotspot-14.0b08-debuginfo.patch, * patches/icedtea-hotspot-14.0b08-gcc-4.3.patch, * patches/icedtea-hotspot-14.0b08-gcc-suffix.patch, * patches/icedtea-hotspot-14.0b08-headers.patch, * patches/icedtea-hotspot-14.0b08-memory-limits.patch, * patches/icedtea-hotspot-14.0b08-params-cast-size_t.patch, * patches/icedtea-hotspot-14.0b08-shark-build.patch, * patches/icedtea-hotspot-14.0b08-sparc-ptracefix.patch, * patches/icedtea-hotspot-14.0b08-sparc-trapsfix.patch, * patches/icedtea-hotspot-14.0b08-sparc64-linux.patch, * patches/icedtea-hotspot-14.0b08-static-libstdc++.patch, * patches/icedtea-hotspot-14.0b08-text-relocations.patch, * patches/icedtea-hotspot-14.0b08-use-idx_t.patch, * patches/icedtea-hotspot-14.0b08-version.patch, * patches/icedtea-hotspot-14.0b08-zero-build.patch, * patches/icedtea-hotspot-original-bytecodeInterpreter.patch, * patches/icedtea-hotspot-original-core-build.patch, * patches/icedtea-hotspot-original-debuginfo.patch, * patches/icedtea-hotspot-original-gcc-4.3.patch, * patches/icedtea-hotspot-original-gcc-suffix.patch, * patches/icedtea-hotspot-original-headers.patch, * patches/icedtea-hotspot-original-memory-limits.patch, * patches/icedtea-hotspot-original-params-cast-size_t.patch, * patches/icedtea-hotspot-original-shark-build.patch, * patches/icedtea-hotspot-original-sparc-ptracefix.patch, * patches/icedtea-hotspot-original-sparc-trapsfix.patch, * patches/icedtea-hotspot-original-sparc64-linux.patch, * patches/icedtea-hotspot-original-static-libstdc++.patch, * patches/icedtea-hotspot-original-text-relocations.patch, * patches/icedtea-hotspot-original-use-idx_t.patch, * patches/icedtea-hotspot-original-version.patch, * patches/icedtea-hotspot-original-zero-build.patch, * patches/icedtea-xrender-000.patch, * patches/icedtea-xrender-001.patch, * patches/icedtea-xrender-002.patch, * patches/icedtea-xrender-003.patch, * patches/icedtea-xrender-004.patch, * patches/icedtea-xrender-005.patch, * patches/icedtea-xrender-006.patch, * patches/icedtea-xrender-007.patch, * patches/icedtea-xrender-008.patch, * patches/icedtea-xrender-009.patch: Move patches... * Makefile.am: Fixed paths. * patches/ecj/icedtea-hotspot-14.0b08.patch, * patches/ecj/icedtea-hotspot-original.patch, * patches/ecj/icedtea-jopt.patch, * patches/ecj/icedtea-pr261.patch, * patches/ecj/icedtea-spp.patch, * patches/ecj/icedtea.patch, * patches/hotspot/14.0b08/icedtea-bytecodeInterpreter.patch, * patches/hotspot/14.0b08/icedtea-core-build.patch, * patches/hotspot/14.0b08/icedtea-debuginfo.patch, * patches/hotspot/14.0b08/icedtea-gcc-4.3.patch, * patches/hotspot/14.0b08/icedtea-gcc-suffix.patch, * patches/hotspot/14.0b08/icedtea-headers.patch, * patches/hotspot/14.0b08/icedtea-memory-limits.patch, * patches/hotspot/14.0b08/icedtea-params-cast-size_t.patch, * patches/hotspot/14.0b08/icedtea-shark-build.patch, * patches/hotspot/14.0b08/icedtea-sparc-ptracefix.patch, * patches/hotspot/14.0b08/icedtea-sparc-trapsfix.patch, * patches/hotspot/14.0b08/icedtea-sparc64-linux.patch, * patches/hotspot/14.0b08/icedtea-static-libstdc++.patch, * patches/hotspot/14.0b08/icedtea-text-relocations.patch, * patches/hotspot/14.0b08/icedtea-use-idx_t.patch, * patches/hotspot/14.0b08/icedtea-version.patch, * patches/hotspot/14.0b08/icedtea-zero-build.patch, * patches/hotspot/original/icedtea-bytecodeInterpreter.patch, * patches/hotspot/original/icedtea-core-build.patch, * patches/hotspot/original/icedtea-debuginfo.patch, * patches/hotspot/original/icedtea-gcc-4.3.patch, * patches/hotspot/original/icedtea-gcc-suffix.patch, * patches/hotspot/original/icedtea-headers.patch, * patches/hotspot/original/icedtea-memory-limits.patch, * patches/hotspot/original/icedtea-params-cast-size_t.patch, * patches/hotspot/original/icedtea-shark-build.patch, * patches/hotspot/original/icedtea-sparc-ptracefix.patch, * patches/hotspot/original/icedtea-sparc-trapsfix.patch, * patches/hotspot/original/icedtea-sparc64-linux.patch, * patches/hotspot/original/icedtea-static-libstdc++.patch, * patches/hotspot/original/icedtea-text-relocations.patch, * patches/hotspot/original/icedtea-use-idx_t.patch, * patches/hotspot/original/icedtea-version.patch, * patches/hotspot/original/icedtea-zero-build.patch, * patches/security/icedtea-4486841.patch, * patches/security/icedtea-6484091.patch, * patches/security/icedtea-6497740.patch, * patches/security/icedtea-6588160.patch, * patches/security/icedtea-6592792.patch, * patches/security/icedtea-6721753.patch, * patches/security/icedtea-6726779.patch, * patches/security/icedtea-6733959.patch, * patches/security/icedtea-6734167.patch, * patches/security/icedtea-6755943.patch, * patches/security/icedtea-6766136.patch, * patches/xrender/icedtea-000.patch, * patches/xrender/icedtea-001.patch, * patches/xrender/icedtea-002.patch, * patches/xrender/icedtea-003.patch, * patches/xrender/icedtea-004.patch, * patches/xrender/icedtea-005.patch, * patches/xrender/icedtea-006.patch, * patches/xrender/icedtea-007.patch, * patches/xrender/icedtea-008.patch, * patches/xrender/icedtea-009.patch: ...to here. diffstat: 124 files changed, 21263 insertions(+), 21134 deletions(-) ChangeLog | 129 Makefile.am | 68 patches/ecj/icedtea-hotspot-14.0b08.patch | 48 patches/ecj/icedtea-hotspot-original.patch | 45 patches/ecj/icedtea-jopt.patch | 26 patches/ecj/icedtea-pr261.patch | 40 patches/ecj/icedtea-spp.patch | 65 patches/ecj/icedtea.patch | 1023 ++ patches/hotspot/14.0b08/icedtea-bytecodeInterpreter.patch | 11 patches/hotspot/14.0b08/icedtea-core-build.patch | 108 patches/hotspot/14.0b08/icedtea-debuginfo.patch | 15 patches/hotspot/14.0b08/icedtea-gcc-4.3.patch | 54 patches/hotspot/14.0b08/icedtea-gcc-suffix.patch | 25 patches/hotspot/14.0b08/icedtea-headers.patch | 13 patches/hotspot/14.0b08/icedtea-memory-limits.patch | 23 patches/hotspot/14.0b08/icedtea-params-cast-size_t.patch | 121 patches/hotspot/14.0b08/icedtea-shark-build.patch | 233 patches/hotspot/14.0b08/icedtea-sparc-ptracefix.patch | 34 patches/hotspot/14.0b08/icedtea-sparc-trapsfix.patch | 21 patches/hotspot/14.0b08/icedtea-sparc64-linux.patch | 42 patches/hotspot/14.0b08/icedtea-static-libstdc++.patch | 16 patches/hotspot/14.0b08/icedtea-text-relocations.patch | 15 patches/hotspot/14.0b08/icedtea-use-idx_t.patch | 45 patches/hotspot/14.0b08/icedtea-version.patch | 38 patches/hotspot/14.0b08/icedtea-zero-build.patch | 129 patches/hotspot/original/icedtea-bytecodeInterpreter.patch | 36 patches/hotspot/original/icedtea-core-build.patch | 113 patches/hotspot/original/icedtea-debuginfo.patch | 15 patches/hotspot/original/icedtea-gcc-4.3.patch | 72 patches/hotspot/original/icedtea-gcc-suffix.patch | 25 patches/hotspot/original/icedtea-headers.patch | 12 patches/hotspot/original/icedtea-memory-limits.patch | 21 patches/hotspot/original/icedtea-params-cast-size_t.patch | 121 patches/hotspot/original/icedtea-shark-build.patch | 232 patches/hotspot/original/icedtea-sparc-ptracefix.patch | 34 patches/hotspot/original/icedtea-sparc-trapsfix.patch | 21 patches/hotspot/original/icedtea-sparc64-linux.patch | 93 patches/hotspot/original/icedtea-static-libstdc++.patch | 33 patches/hotspot/original/icedtea-text-relocations.patch | 25 patches/hotspot/original/icedtea-use-idx_t.patch | 282 patches/hotspot/original/icedtea-version.patch | 36 patches/hotspot/original/icedtea-zero-build.patch | 133 patches/icedtea-4486841.patch | 1234 -- patches/icedtea-6484091.patch | 129 patches/icedtea-6497740.patch | 1587 --- patches/icedtea-6588160.patch | 42 patches/icedtea-6592792.patch | 360 patches/icedtea-6721753.patch | 116 patches/icedtea-6726779.patch | 142 patches/icedtea-6733959.patch | 231 patches/icedtea-6734167.patch | 89 patches/icedtea-6755943.patch | 617 - patches/icedtea-6766136.patch | 189 patches/icedtea-ecj-hotspot-14.0b08.patch | 48 patches/icedtea-ecj-hotspot-original.patch | 45 patches/icedtea-ecj-jopt.patch | 26 patches/icedtea-ecj-pr261.patch | 40 patches/icedtea-ecj-spp.patch | 65 patches/icedtea-ecj.patch | 1023 -- patches/icedtea-hotspot-14.0b08-bytecodeInterpreter.patch | 11 patches/icedtea-hotspot-14.0b08-core-build.patch | 108 patches/icedtea-hotspot-14.0b08-debuginfo.patch | 15 patches/icedtea-hotspot-14.0b08-gcc-4.3.patch | 54 patches/icedtea-hotspot-14.0b08-gcc-suffix.patch | 25 patches/icedtea-hotspot-14.0b08-headers.patch | 13 patches/icedtea-hotspot-14.0b08-memory-limits.patch | 23 patches/icedtea-hotspot-14.0b08-params-cast-size_t.patch | 121 patches/icedtea-hotspot-14.0b08-shark-build.patch | 233 patches/icedtea-hotspot-14.0b08-sparc-ptracefix.patch | 34 patches/icedtea-hotspot-14.0b08-sparc-trapsfix.patch | 21 patches/icedtea-hotspot-14.0b08-sparc64-linux.patch | 42 patches/icedtea-hotspot-14.0b08-static-libstdc++.patch | 16 patches/icedtea-hotspot-14.0b08-text-relocations.patch | 15 patches/icedtea-hotspot-14.0b08-use-idx_t.patch | 45 patches/icedtea-hotspot-14.0b08-version.patch | 38 patches/icedtea-hotspot-14.0b08-zero-build.patch | 129 patches/icedtea-hotspot-original-bytecodeInterpreter.patch | 36 patches/icedtea-hotspot-original-core-build.patch | 113 patches/icedtea-hotspot-original-debuginfo.patch | 15 patches/icedtea-hotspot-original-gcc-4.3.patch | 72 patches/icedtea-hotspot-original-gcc-suffix.patch | 25 patches/icedtea-hotspot-original-headers.patch | 12 patches/icedtea-hotspot-original-memory-limits.patch | 21 patches/icedtea-hotspot-original-params-cast-size_t.patch | 121 patches/icedtea-hotspot-original-shark-build.patch | 232 patches/icedtea-hotspot-original-sparc-ptracefix.patch | 34 patches/icedtea-hotspot-original-sparc-trapsfix.patch | 21 patches/icedtea-hotspot-original-sparc64-linux.patch | 93 patches/icedtea-hotspot-original-static-libstdc++.patch | 33 patches/icedtea-hotspot-original-text-relocations.patch | 25 patches/icedtea-hotspot-original-use-idx_t.patch | 282 patches/icedtea-hotspot-original-version.patch | 36 patches/icedtea-hotspot-original-zero-build.patch | 133 patches/icedtea-xrender-000.patch | 430 patches/icedtea-xrender-001.patch | 5320 ------------ patches/icedtea-xrender-002.patch | 5199 ----------- patches/icedtea-xrender-003.patch | 78 patches/icedtea-xrender-004.patch | 86 patches/icedtea-xrender-005.patch | 18 patches/icedtea-xrender-006.patch | 295 patches/icedtea-xrender-007.patch | 1143 -- patches/icedtea-xrender-008.patch | 131 patches/icedtea-xrender-009.patch | 170 patches/security/icedtea-4486841.patch | 1234 ++ patches/security/icedtea-6484091.patch | 129 patches/security/icedtea-6497740.patch | 1587 +++ patches/security/icedtea-6588160.patch | 42 patches/security/icedtea-6592792.patch | 360 patches/security/icedtea-6721753.patch | 116 patches/security/icedtea-6726779.patch | 142 patches/security/icedtea-6733959.patch | 231 patches/security/icedtea-6734167.patch | 89 patches/security/icedtea-6755943.patch | 617 + patches/security/icedtea-6766136.patch | 189 patches/xrender/icedtea-000.patch | 430 patches/xrender/icedtea-001.patch | 5320 ++++++++++++ patches/xrender/icedtea-002.patch | 5199 +++++++++++ patches/xrender/icedtea-003.patch | 78 patches/xrender/icedtea-004.patch | 86 patches/xrender/icedtea-005.patch | 18 patches/xrender/icedtea-006.patch | 295 patches/xrender/icedtea-007.patch | 1143 ++ patches/xrender/icedtea-008.patch | 131 patches/xrender/icedtea-009.patch | 170 diffs (truncated from 42972 to 500 lines): diff -r 5e60b6dd0bf6 -r a59dccb92ae7 ChangeLog --- a/ChangeLog Wed Dec 03 04:52:28 2008 -0500 +++ b/ChangeLog Wed Dec 03 14:31:01 2008 +0000 @@ -1,3 +1,132 @@ 2008-12-03 Gary Benson + + Create hierarchical patch space. + * patches/icedtea-4486841.patch, + * patches/icedtea-6484091.patch, + * patches/icedtea-6497740.patch, + * patches/icedtea-6588160.patch, + * patches/icedtea-6592792.patch, + * patches/icedtea-6721753.patch, + * patches/icedtea-6726779.patch, + * patches/icedtea-6733959.patch, + * patches/icedtea-6734167.patch, + * patches/icedtea-6755943.patch, + * patches/icedtea-6766136.patch, + * patches/icedtea-ecj-hotspot-14.0b08.patch, + * patches/icedtea-ecj-hotspot-original.patch, + * patches/icedtea-ecj-jopt.patch, + * patches/icedtea-ecj-pr261.patch, + * patches/icedtea-ecj-spp.patch, + * patches/icedtea-ecj.patch, + * patches/icedtea-hotspot-14.0b08-bytecodeInterpreter.patch, + * patches/icedtea-hotspot-14.0b08-core-build.patch, + * patches/icedtea-hotspot-14.0b08-debuginfo.patch, + * patches/icedtea-hotspot-14.0b08-gcc-4.3.patch, + * patches/icedtea-hotspot-14.0b08-gcc-suffix.patch, + * patches/icedtea-hotspot-14.0b08-headers.patch, + * patches/icedtea-hotspot-14.0b08-memory-limits.patch, + * patches/icedtea-hotspot-14.0b08-params-cast-size_t.patch, + * patches/icedtea-hotspot-14.0b08-shark-build.patch, + * patches/icedtea-hotspot-14.0b08-sparc-ptracefix.patch, + * patches/icedtea-hotspot-14.0b08-sparc-trapsfix.patch, + * patches/icedtea-hotspot-14.0b08-sparc64-linux.patch, + * patches/icedtea-hotspot-14.0b08-static-libstdc++.patch, + * patches/icedtea-hotspot-14.0b08-text-relocations.patch, + * patches/icedtea-hotspot-14.0b08-use-idx_t.patch, + * patches/icedtea-hotspot-14.0b08-version.patch, + * patches/icedtea-hotspot-14.0b08-zero-build.patch, + * patches/icedtea-hotspot-original-bytecodeInterpreter.patch, + * patches/icedtea-hotspot-original-core-build.patch, + * patches/icedtea-hotspot-original-debuginfo.patch, + * patches/icedtea-hotspot-original-gcc-4.3.patch, + * patches/icedtea-hotspot-original-gcc-suffix.patch, + * patches/icedtea-hotspot-original-headers.patch, + * patches/icedtea-hotspot-original-memory-limits.patch, + * patches/icedtea-hotspot-original-params-cast-size_t.patch, + * patches/icedtea-hotspot-original-shark-build.patch, + * patches/icedtea-hotspot-original-sparc-ptracefix.patch, + * patches/icedtea-hotspot-original-sparc-trapsfix.patch, + * patches/icedtea-hotspot-original-sparc64-linux.patch, + * patches/icedtea-hotspot-original-static-libstdc++.patch, + * patches/icedtea-hotspot-original-text-relocations.patch, + * patches/icedtea-hotspot-original-use-idx_t.patch, + * patches/icedtea-hotspot-original-version.patch, + * patches/icedtea-hotspot-original-zero-build.patch, + * patches/icedtea-xrender-000.patch, + * patches/icedtea-xrender-001.patch, + * patches/icedtea-xrender-002.patch, + * patches/icedtea-xrender-003.patch, + * patches/icedtea-xrender-004.patch, + * patches/icedtea-xrender-005.patch, + * patches/icedtea-xrender-006.patch, + * patches/icedtea-xrender-007.patch, + * patches/icedtea-xrender-008.patch, + * patches/icedtea-xrender-009.patch: + Move patches... + * Makefile.am: Fixed paths. + * patches/ecj/icedtea-hotspot-14.0b08.patch, + * patches/ecj/icedtea-hotspot-original.patch, + * patches/ecj/icedtea-jopt.patch, + * patches/ecj/icedtea-pr261.patch, + * patches/ecj/icedtea-spp.patch, + * patches/ecj/icedtea.patch, + * patches/hotspot/14.0b08/icedtea-bytecodeInterpreter.patch, + * patches/hotspot/14.0b08/icedtea-core-build.patch, + * patches/hotspot/14.0b08/icedtea-debuginfo.patch, + * patches/hotspot/14.0b08/icedtea-gcc-4.3.patch, + * patches/hotspot/14.0b08/icedtea-gcc-suffix.patch, + * patches/hotspot/14.0b08/icedtea-headers.patch, + * patches/hotspot/14.0b08/icedtea-memory-limits.patch, + * patches/hotspot/14.0b08/icedtea-params-cast-size_t.patch, + * patches/hotspot/14.0b08/icedtea-shark-build.patch, + * patches/hotspot/14.0b08/icedtea-sparc-ptracefix.patch, + * patches/hotspot/14.0b08/icedtea-sparc-trapsfix.patch, + * patches/hotspot/14.0b08/icedtea-sparc64-linux.patch, + * patches/hotspot/14.0b08/icedtea-static-libstdc++.patch, + * patches/hotspot/14.0b08/icedtea-text-relocations.patch, + * patches/hotspot/14.0b08/icedtea-use-idx_t.patch, + * patches/hotspot/14.0b08/icedtea-version.patch, + * patches/hotspot/14.0b08/icedtea-zero-build.patch, + * patches/hotspot/original/icedtea-bytecodeInterpreter.patch, + * patches/hotspot/original/icedtea-core-build.patch, + * patches/hotspot/original/icedtea-debuginfo.patch, + * patches/hotspot/original/icedtea-gcc-4.3.patch, + * patches/hotspot/original/icedtea-gcc-suffix.patch, + * patches/hotspot/original/icedtea-headers.patch, + * patches/hotspot/original/icedtea-memory-limits.patch, + * patches/hotspot/original/icedtea-params-cast-size_t.patch, + * patches/hotspot/original/icedtea-shark-build.patch, + * patches/hotspot/original/icedtea-sparc-ptracefix.patch, + * patches/hotspot/original/icedtea-sparc-trapsfix.patch, + * patches/hotspot/original/icedtea-sparc64-linux.patch, + * patches/hotspot/original/icedtea-static-libstdc++.patch, + * patches/hotspot/original/icedtea-text-relocations.patch, + * patches/hotspot/original/icedtea-use-idx_t.patch, + * patches/hotspot/original/icedtea-version.patch, + * patches/hotspot/original/icedtea-zero-build.patch, + * patches/security/icedtea-4486841.patch, + * patches/security/icedtea-6484091.patch, + * patches/security/icedtea-6497740.patch, + * patches/security/icedtea-6588160.patch, + * patches/security/icedtea-6592792.patch, + * patches/security/icedtea-6721753.patch, + * patches/security/icedtea-6726779.patch, + * patches/security/icedtea-6733959.patch, + * patches/security/icedtea-6734167.patch, + * patches/security/icedtea-6755943.patch, + * patches/security/icedtea-6766136.patch, + * patches/xrender/icedtea-000.patch, + * patches/xrender/icedtea-001.patch, + * patches/xrender/icedtea-002.patch, + * patches/xrender/icedtea-003.patch, + * patches/xrender/icedtea-004.patch, + * patches/xrender/icedtea-005.patch, + * patches/xrender/icedtea-006.patch, + * patches/xrender/icedtea-007.patch, + * patches/xrender/icedtea-008.patch, + * patches/xrender/icedtea-009.patch: + ...to here. + 2008-12-03 Gary Benson * .hgignore: Ignore downloaded HotSpot tarball. diff -r 5e60b6dd0bf6 -r a59dccb92ae7 Makefile.am --- a/Makefile.am Wed Dec 03 04:52:28 2008 -0500 +++ b/Makefile.am Wed Dec 03 14:31:01 2008 +0000 @@ -452,13 +452,13 @@ if GCC_OLD GCC_PATCH = else GCC_PATCH = patches/icedtea-gcc-4.3.patch \ - patches/icedtea-hotspot-$(HSBUILD)-gcc-4.3.patch + patches/hotspot/$(HSBUILD)/icedtea-gcc-4.3.patch endif # If ZERO_BUILD is set then we are building zero and need # to patch up to OpenJDK 7 HotSpot for the C++ interpreter. ZERO_PATCHES = \ - patches/icedtea-hotspot-$(HSBUILD)-bytecodeInterpreter.patch \ + patches/hotspot/$(HSBUILD)/icedtea-bytecodeInterpreter.patch \ patches/icedtea-signature-iterator.patch \ patches/icedtea-test-atomic-operations.patch \ patches/icedtea-zero.patch \ @@ -501,12 +501,12 @@ ICEDTEA_PATCHES = \ ICEDTEA_PATCHES = \ $(ZERO_PATCHES_COND) \ patches/icedtea-version.patch \ - patches/icedtea-hotspot-$(HSBUILD)-version.patch \ + patches/hotspot/$(HSBUILD)/icedtea-version.patch \ patches/icedtea-copy-plugs.patch \ - patches/icedtea-hotspot-$(HSBUILD)-text-relocations.patch \ + patches/hotspot/$(HSBUILD)/icedtea-text-relocations.patch \ patches/icedtea-graphics.patch \ patches/icedtea-debuginfo.patch \ - patches/icedtea-hotspot-$(HSBUILD)-debuginfo.patch \ + patches/hotspot/$(HSBUILD)/icedtea-debuginfo.patch \ patches/icedtea-ssl.patch \ $(PLUGIN_PATCH) \ patches/icedtea-webstart.patch \ @@ -516,36 +516,36 @@ ICEDTEA_PATCHES = \ patches/icedtea-demos.patch \ patches/icedtea-use-system-tzdata.patch \ patches/icedtea-headers.patch \ - patches/icedtea-hotspot-$(HSBUILD)-headers.patch \ + patches/hotspot/$(HSBUILD)/icedtea-headers.patch \ patches/icedtea-ant.patch \ patches/icedtea-gcc-suffix.patch \ - patches/icedtea-hotspot-$(HSBUILD)-gcc-suffix.patch \ + patches/hotspot/$(HSBUILD)/icedtea-gcc-suffix.patch \ patches/icedtea-bytebuffer-compact.patch \ patches/icedtea-float-double-trailing-zeros.patch \ - patches/icedtea-hotspot-$(HSBUILD)-memory-limits.patch \ + patches/hotspot/$(HSBUILD)/icedtea-memory-limits.patch \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-javafiles.patch \ patches/icedtea-core-build.patch \ - patches/icedtea-hotspot-$(HSBUILD)-core-build.patch \ + patches/hotspot/$(HSBUILD)/icedtea-core-build.patch \ patches/icedtea-linker-options.patch \ - patches/icedtea-hotspot-$(HSBUILD)-static-libstdc++.patch \ + patches/hotspot/$(HSBUILD)/icedtea-static-libstdc++.patch \ patches/icedtea-timerqueue.patch \ patches/icedtea-lib64.patch \ patches/icedtea-zero-build.patch \ - patches/icedtea-hotspot-$(HSBUILD)-zero-build.patch \ + patches/hotspot/$(HSBUILD)/icedtea-zero-build.patch \ patches/icedtea-print-lsb-release.patch \ patches/icedtea-jpegclasses.patch \ patches/icedtea-uname.patch \ patches/icedtea-ia64-fdlibm.patch \ patches/icedtea-fonts.patch \ - patches/icedtea-hotspot-$(HSBUILD)-sparc64-linux.patch \ - patches/icedtea-hotspot-$(HSBUILD)-sparc-ptracefix.patch \ - patches/icedtea-hotspot-$(HSBUILD)-sparc-trapsfix.patch \ + patches/hotspot/$(HSBUILD)/icedtea-sparc64-linux.patch \ + patches/hotspot/$(HSBUILD)/icedtea-sparc-ptracefix.patch \ + patches/hotspot/$(HSBUILD)/icedtea-sparc-trapsfix.patch \ patches/icedtea-override-redirect-metacity.patch \ patches/icedtea-no-bcopy.patch \ patches/icedtea-shark-build.patch \ - patches/icedtea-hotspot-$(HSBUILD)-shark-build.patch \ + patches/hotspot/$(HSBUILD)/icedtea-shark-build.patch \ patches/icedtea-toolkit.patch \ patches/icedtea-jdk-docs-target.patch \ patches/icedtea-nomotif-6706121.patch \ @@ -554,8 +554,8 @@ ICEDTEA_PATCHES = \ patches/icedtea-alt-jar.patch \ patches/icedtea-enum-bug-181.patch \ patches/icedtea-jdk-use-ssize_t.patch \ - patches/icedtea-hotspot-$(HSBUILD)-use-idx_t.patch \ - patches/icedtea-hotspot-$(HSBUILD)-params-cast-size_t.patch \ + patches/hotspot/$(HSBUILD)/icedtea-use-idx_t.patch \ + patches/hotspot/$(HSBUILD)/icedtea-params-cast-size_t.patch \ patches/icedtea-clean-crypto.patch \ $(SHARK_PATCH) \ $(GCC_PATCH) \ @@ -576,17 +576,17 @@ ICEDTEA_PATCHES = \ patches/icedtea-testenv.patch \ patches/icedtea-samejvm-safe.patch \ patches/icedtea-6728542-epoll.patch \ - patches/icedtea-4486841.patch \ - patches/icedtea-6484091.patch \ - patches/icedtea-6497740.patch \ - patches/icedtea-6588160.patch \ - patches/icedtea-6592792.patch \ - patches/icedtea-6721753.patch \ - patches/icedtea-6726779.patch \ - patches/icedtea-6733959.patch \ - patches/icedtea-6734167.patch \ - patches/icedtea-6755943.patch \ - patches/icedtea-6766136.patch + patches/security/icedtea-4486841.patch \ + patches/security/icedtea-6484091.patch \ + patches/security/icedtea-6497740.patch \ + patches/security/icedtea-6588160.patch \ + patches/security/icedtea-6592792.patch \ + patches/security/icedtea-6721753.patch \ + patches/security/icedtea-6726779.patch \ + patches/security/icedtea-6733959.patch \ + patches/security/icedtea-6734167.patch \ + patches/security/icedtea-6755943.patch \ + patches/security/icedtea-6766136.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ @@ -618,7 +618,7 @@ endif endif if ENABLE_XRENDER -XRENDER_PATCHES = patches/icedtea-xrender-???.patch +XRENDER_PATCHES = patches/xrender/icedtea-???.patch ICEDTEA_PATCHES += $(sort $(wildcard $(XRENDER_PATCHES))) endif @@ -843,11 +843,11 @@ stamps/ports-ecj.stamp: stamps/extract-e touch stamps/ports-ecj.stamp # Patch OpenJDK for plug replacements and ecj. -ICEDTEA_ECJ_PATCHES = patches/icedtea-ecj.patch \ - patches/icedtea-ecj-hotspot-$(HSBUILD).patch \ - patches/icedtea-ecj-spp.patch \ - patches/icedtea-ecj-jopt.patch \ - patches/icedtea-ecj-pr261.patch +ICEDTEA_ECJ_PATCHES = patches/ecj/icedtea.patch \ + patches/ecj/icedtea-hotspot-$(HSBUILD).patch \ + patches/ecj/icedtea-spp.patch \ + patches/ecj/icedtea-jopt.patch \ + patches/ecj/icedtea-pr261.patch stamps/patch-ecj.stamp: stamps/extract-ecj.stamp mkdir -p stamps; \ diff -r 5e60b6dd0bf6 -r a59dccb92ae7 patches/ecj/icedtea-hotspot-14.0b08.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-hotspot-14.0b08.patch Wed Dec 03 14:31:01 2008 +0000 @@ -0,0 +1,48 @@ +diff -Nru openjdk-ecj.orig/hotspot/make/linux/Makefile openjdk-ecj/hotspot/make/linux/Makefile +--- openjdk-ecj.orig/hotspot/make/linux/Makefile 2008-10-24 10:16:06.000000000 +0100 ++++ openjdk-ecj/hotspot/make/linux/Makefile 2008-10-24 13:32:48.000000000 +0100 +@@ -263,28 +263,24 @@ + + $(TARGETS_C2): $(SUBDIRS_C2) + cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma + ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install + endif + + $(TARGETS_TIERED): $(SUBDIRS_TIERED) + cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma + ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install + endif + + $(TARGETS_C1): $(SUBDIRS_C1) + cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma + ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install + endif + + $(TARGETS_CORE): $(SUBDIRS_CORE) + cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma + ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install + endif +diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make +--- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make 2008-10-24 10:16:06.000000000 +0100 ++++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make 2008-10-24 13:32:48.000000000 +0100 +@@ -74,8 +74,8 @@ + mkdir -p $(SA_CLASSDIR); \ + fi + +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES1) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES2) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES1) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -sourcepath $(AGENT_SRC_DIR) -g -d $(SA_CLASSDIR) $(AGENT_FILES2) + + $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) + + diff -r 5e60b6dd0bf6 -r a59dccb92ae7 patches/ecj/icedtea-hotspot-original.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-hotspot-original.patch Wed Dec 03 14:31:01 2008 +0000 @@ -0,0 +1,45 @@ +diff -Nru openjdk-ecj.orig/hotspot/build/linux/Makefile openjdk-ecj/hotspot/build/linux/Makefile +--- openjdk-ecj.orig/hotspot/build/linux/Makefile 2008-10-20 18:45:00.000000000 +0100 ++++ openjdk-ecj/hotspot/build/linux/Makefile 2008-10-20 18:50:20.000000000 +0100 +@@ -257,28 +257,24 @@ + + $(TARGETS_C2): $(SUBDIRS_C2) + cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma + ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install + endif + + $(TARGETS_TIERED): $(SUBDIRS_TIERED) + cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma + ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install + endif + + $(TARGETS_C1): $(SUBDIRS_C1) + cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma + ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install + endif + + $(TARGETS_CORE): $(SUBDIRS_CORE) + cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) +- cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma + ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install + endif +diff -Nru openjdk-ecj.orig/hotspot/build/linux/makefiles/sa.make openjdk-ecj/hotspot/build/linux/makefiles/sa.make +--- openjdk-ecj.orig/hotspot/build/linux/makefiles/sa.make 2008-10-20 18:45:00.000000000 +0100 ++++ openjdk-ecj/hotspot/build/linux/makefiles/sa.make 2008-10-20 18:50:20.000000000 +0100 +@@ -72,7 +72,7 @@ + $(QUIETLY) if [ ! -d $(SA_CLASSDIR) ] ; then \ + mkdir -p $(SA_CLASSDIR); \ + fi +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH) -g -d $(SA_CLASSDIR) $(AGENT_ALLFILES) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -source 1.4 -classpath $(SA_CLASSPATH):$(BOOT_JAVA_HOME)/jre/lib/rt.jar -g -d $(SA_CLASSDIR) $(AGENT_ALLFILES) + $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) + $(QUIETLY) $(REMOTE) $(RUN.JAR) cf $@ -C $(SA_CLASSDIR)/ . + diff -r 5e60b6dd0bf6 -r a59dccb92ae7 patches/ecj/icedtea-jopt.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-jopt.patch Wed Dec 03 14:31:01 2008 +0000 @@ -0,0 +1,26 @@ +diff -Nru openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk openjdk-ecj/corba/make/common/shared/Defs-java.gmk +--- openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk 2008-10-22 18:45:43.000000000 +0100 ++++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk 2008-10-22 18:49:29.000000000 +0100 +@@ -75,7 +75,9 @@ + JAVAC_JVM_FLAGS += $(JAVA_TOOLS_FLAGS:%=-J%) + + # The jar -J options are special, must be added at the end of the command line ++ifneq (,$(JAR_KNOWS_J_OPTIONS)) + JAR_JFLAGS = $(JAVA_TOOLS_FLAGS:%=-J%) ++endif + + # JAVA_TOOLS_DIR is the default location to find Java tools to run, if + # langtools is not available. +diff -Nru openjdk-ecj.orig/jdk/make/common/shared/Defs-java.gmk openjdk-ecj/jdk/make/common/shared/Defs-java.gmk +--- openjdk-ecj.orig/jdk/make/common/shared/Defs-java.gmk 2008-10-22 19:14:30.000000000 +0100 ++++ openjdk-ecj/jdk/make/common/shared/Defs-java.gmk 2008-10-22 19:15:00.000000000 +0100 +@@ -82,7 +82,9 @@ + JAVAC_JVM_FLAGS += $(JAVA_TOOLS_FLAGS:%=-J%) + + # The jar -J options are special, must be added at the end of the command line ++ifneq (,$(JAR_KNOWS_J_OPTIONS)) + JAR_JFLAGS = $(JAVA_TOOLS_FLAGS:%=-J%) ++endif + + # JAVA_TOOLS_DIR is the default location to find Java tools to run, if + # langtools is not available. diff -r 5e60b6dd0bf6 -r a59dccb92ae7 patches/ecj/icedtea-pr261.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-pr261.patch Wed Dec 03 14:31:01 2008 +0000 @@ -0,0 +1,40 @@ +diff -r fa4572c7c75f openjdk-ecj/jdk/make/java/nio/Makefile +--- openjdk-ecj/jdk/make/java/nio/Makefile Thu Nov 27 08:42:23 2008 +0000 ++++ openjdk-ecj/jdk/make/java/nio/Makefile Thu Nov 27 10:12:08 2008 +0000 +@@ -85,6 +85,9 @@ ifeq ($(PLATFORM), linux) + ifeq ($(PLATFORM), linux) + FILES_java += \ + sun/nio/ch/AbstractPollSelectorImpl.java \ ++ sun/nio/ch/DevPollArrayWrapper.java \ ++ sun/nio/ch/DevPollSelectorImpl.java \ ++ sun/nio/ch/DevPollSelectorProvider.java \ + sun/nio/ch/EPollArrayWrapper.java \ + sun/nio/ch/EPollSelectorProvider.java \ + sun/nio/ch/EPollSelectorImpl.java \ +@@ -99,6 +102,7 @@ FILES_c += \ + NativeThread.c + + FILES_export += \ ++ sun/nio/ch/DevPollArrayWrapper.java \ + sun/nio/ch/EPollArrayWrapper.java \ + sun/nio/ch/InheritedChannel.java \ + sun/nio/ch/NativeThread.java +diff -r 3ee709488c6c openjdk-ecj/jdk/make/java/nio/FILES_java.gmk +--- openjdk-ecj/jdk/make/java/nio/FILES_java.gmk Thu Nov 27 10:16:56 2008 +0000 ++++ openjdk-ecj/jdk/make/java/nio/FILES_java.gmk Thu Nov 27 11:08:57 2008 +0000 +@@ -31,6 +31,7 @@ FILES_src = \ + java/nio/StringCharBuffer.java \ + \ + java/nio/channels/ByteChannel.java \ ++ java/nio/channels/CancelledKeyException.java \ + java/nio/channels/Channel.java \ + java/nio/channels/Channels.java \ + java/nio/channels/DatagramChannel.java \ +@@ -38,6 +39,7 @@ FILES_src = \ + java/nio/channels/FileLock.java \ + java/nio/channels/GatheringByteChannel.java \ + java/nio/channels/InterruptibleChannel.java \ ++ java/nio/channels/Pipe.java \ + java/nio/channels/ReadableByteChannel.java \ + java/nio/channels/ScatteringByteChannel.java \ + java/nio/channels/SelectableChannel.java \ diff -r 5e60b6dd0bf6 -r a59dccb92ae7 patches/ecj/icedtea-spp.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/icedtea-spp.patch Wed Dec 03 14:31:01 2008 +0000 @@ -0,0 +1,65 @@ +diff -Nru openjdk-ecj.orig/jdk/make/tools/src/build/tools/spp/Spp.java openjdk-ecj/jdk/make/tools/src/build/tools/spp/Spp.java +--- openjdk-ecj.orig/jdk/make/tools/src/build/tools/spp/Spp.java 2008-09-11 08:44:09.000000000 +0100 ++++ openjdk-ecj/jdk/make/tools/src/build/tools/spp/Spp.java 2008-09-12 21:34:38.000000000 +0100 +@@ -25,6 +25,10 @@ + + package build.tools.spp; + ++import java.io.BufferedReader; ++import java.io.InputStreamReader; ++import java.io.IOException; ++ + import java.util.*; + import java.util.regex.*; + +@@ -83,7 +87,7 @@ + } + + StringBuffer out = new StringBuffer(); +- new Spp().spp(new Scanner(System.in), ++ new Spp().spp(new BufferedReader(new InputStreamReader(System.in)), + out, "", + keys, vars, be, + false); +@@ -104,12 +108,12 @@ + Matcher ifkey = Pattern.compile("^#if\\[(!)?" + KEY + "\\]").matcher(""); + Matcher elsekey = Pattern.compile("^#else\\[(!)?" + KEY + "\\]").matcher(""); + Matcher endkey = Pattern.compile("^#end\\[(!)?" + KEY + "\\]").matcher(""); +- Matcher vardef = Pattern.compile("\\{#if\\[(!)?" + KEY + "\\]\\?" + TEXT + "(:"+ TEXT + ")?\\}|\\$" + VAR + "\\$").matcher(""); ++ Pattern pvardef = Pattern.compile("\\{#if\\[(!)?" + KEY + "\\]\\?" + TEXT + "(:"+ TEXT + ")?\\}|\\$" + VAR + "\\$"); + Matcher vardef2 = Pattern.compile("\\$" + VAR + "\\$").matcher(""); + + void append(StringBuffer buf, String ln, + Set keys, Map vars) { +- vardef.reset(ln); ++ Matcher vardef = pvardef.matcher(ln); + while (vardef.find()) { + String repl = ""; From omajid at redhat.com Wed Dec 3 07:07:46 2008 From: omajid at redhat.com (Omair Majid) Date: Wed, 03 Dec 2008 15:07:46 +0000 Subject: changeset in /hg/icedtea6: 2008-12-02 Omair Majid changeset 8bf089d06e19 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=8bf089d06e19 description: 2008-12-02 Omair Majid This patch reduces visibility of classes and prevents inheritance to reduce any potential security issues. Also adds a few security checks. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java: Change scope of class and functions from public to package-private. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java: Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java: Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java: Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java: Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java: Change class to be final. Change clip name to 'Audio Clip' and add some documentation and annotations. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java: Change class scope to package-private. Add annoatations to functions. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java: Add override annotations to functions. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java: Change class to final. (getLine): Check for audio permissions before returning Ports. (openRemote): Check for permissions to connect before connecting to a remote PulseAudio server. (openImpl): New function. Connect to the PulseAudio server. (debug): Removed. (main): Removed (ThreadWriter): Removed. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java: Change class to final. Bump version. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java: (PulseAudioMixerProvider): Removed. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMuteControl.java: Change class to final. Formatting fixes. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java: Change class scope to package private. Make constructor package-private. Add override annotations. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java: Change class to final. Make constructor package-private. Add override annotations. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java: Make class final. Make constructor package-private. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java: Make class final. Add override annotations (PulseAudioTargetDataLine): Make constructor package-private. (fragmentBuffer): Make variable private. (drained): Likewise. (flushed): Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java: Make class final. Constructor now pacakge-private. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java: Make class final. (MIN_VOLUME), (MAX_VOLUME): Make variables pacakge-private. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java: Make class final. (loadNativeLibrary): Make package-private. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java: Make class final. Change scope of as many functions from public to package-private as possible. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java: Make class and all functions package-private. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java: Make class package-private. diffstat: 23 files changed, 517 insertions(+), 411 deletions(-) ChangeLog | 65 ++ pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java | 14 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java | 10 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java | 22 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java | 57 +- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java | 39 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java | 30 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 51 +- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java | 241 +++------- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java | 6 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java | 4 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMuteControl.java | 41 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java | 19 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 32 + pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java | 9 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 37 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java | 12 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java | 7 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java | 8 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java | 204 ++++---- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java | 14 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java | 2 diffs (truncated from 2245 to 500 lines): diff -r a59dccb92ae7 -r 8bf089d06e19 ChangeLog --- a/ChangeLog Wed Dec 03 14:31:01 2008 +0000 +++ b/ChangeLog Wed Dec 03 10:07:38 2008 -0500 @@ -1,3 +1,68 @@ 2008-12-03 Andrew John Hughes + + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java: + Change scope of class and functions from public to package-private. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java: + Likewise. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java: + Likewise. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java: + Likewise. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java: + Likewise. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java: + Change class to be final. Change clip name to 'Audio Clip' and add some + documentation and annotations. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java: + Change class scope to package-private. Add annoatations to functions. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java: + Add override annotations to functions. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java: + Change class to final. + (getLine): Check for audio permissions before returning Ports. + (openRemote): Check for permissions to connect before connecting to a + remote PulseAudio server. + (openImpl): New function. Connect to the PulseAudio server. + (debug): Removed. + (main): Removed + (ThreadWriter): Removed. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java: + Change class to final. Bump version. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java: + (PulseAudioMixerProvider): Removed. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMuteControl.java: + Change class to final. Formatting fixes. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java: + Change class scope to package private. Make constructor package-private. + Add override annotations. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java: + Change class to final. Make constructor package-private. Add override + annotations. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java: + Make class final. Make constructor package-private. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java: + Make class final. Add override annotations + (PulseAudioTargetDataLine): Make constructor package-private. + (fragmentBuffer): Make variable private. + (drained): Likewise. + (flushed): Likewise. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java: + Make class final. Constructor now pacakge-private. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java: + Make class final. + (MIN_VOLUME), + (MAX_VOLUME): Make variables pacakge-private. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java: + Make class final. + (loadNativeLibrary): Make package-private. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java: + Make class final. Change scope of as many functions from public to + package-private as possible. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java: + Make class and all functions package-private. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java: + Make class package-private. + 2008-12-03 Andrew John Hughes Create hierarchical patch space. diff -r a59dccb92ae7 -r 8bf089d06e19 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java Wed Dec 03 14:31:01 2008 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java Wed Dec 03 10:07:38 2008 -0500 @@ -37,8 +37,20 @@ exception statement from your version. package org.classpath.icedtea.pulseaudio; -public class ContextEvent { +/** + * This class encapsulates a change in the PulseAudio's connection context. + * + * When this event is fired, something has happened to the connection of this + * program to the PulseAudio server. + * + */ +class ContextEvent { + + /** + * Basically, what is the new state of the context + * + */ public static enum Type { UNCONNECTED, CONNECTING, AUTHORIZING, SETTING_NAME, READY, FAILED, TERMINATED } diff -r a59dccb92ae7 -r 8bf089d06e19 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java Wed Dec 03 14:31:01 2008 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java Wed Dec 03 10:07:38 2008 -0500 @@ -37,8 +37,14 @@ exception statement from your version. package org.classpath.icedtea.pulseaudio; -public interface ContextListener { +/** + * This interface specifies a listener for a change in PulseAudio's context state + * eg: the connection to the server becomes ready, fails or ends. + * + */ - public void update(ContextEvent e); +interface ContextListener { + + void update(ContextEvent e); } diff -r a59dccb92ae7 -r 8bf089d06e19 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java Wed Dec 03 14:31:01 2008 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java Wed Dec 03 10:07:38 2008 -0500 @@ -37,15 +37,25 @@ exception statement from your version. package org.classpath.icedtea.pulseaudio; -public class Debug { +/** + * + * A simple debugging class. Set the debugging level through the system property + * pulseaudio.debugLevel=. Level is one of Verbose, Debug, Info, Warning, + * Error or None + * + * and then do DebugLevel.println(level, string) and so on + * + */ - public enum DebugLevel { +class Debug { + + enum DebugLevel { Verbose, Debug, Info, Warning, Error, None } private static DebugLevel currentDebugLevel = DebugLevel.None; - public static void initialize() { + static { // System.out.println("PulseAudio: initializing Debug"); String systemSetting; @@ -70,11 +80,11 @@ public class Debug { println(DebugLevel.Info, "Using debug level: " + currentDebugLevel); } - public static void println(String string) { + static void println(String string) { println(DebugLevel.Info, string); } - public static void print(DebugLevel level, String string) { + static void print(DebugLevel level, String string) { int result = level.compareTo(currentDebugLevel); if (result >= 0) { if (level.compareTo(DebugLevel.Error) >= 0) { @@ -87,7 +97,7 @@ public class Debug { } } - public static void println(DebugLevel level, String string) { + static void println(DebugLevel level, String string) { int result = level.compareTo(currentDebugLevel); if (result >= 0) { diff -r a59dccb92ae7 -r 8bf089d06e19 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java Wed Dec 03 14:31:01 2008 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java Wed Dec 03 10:07:38 2008 -0500 @@ -39,37 +39,39 @@ package org.classpath.icedtea.pulseaudio import java.util.ArrayList; import java.util.List; -import java.util.concurrent.Semaphore; import org.classpath.icedtea.pulseaudio.ContextEvent.Type; import org.classpath.icedtea.pulseaudio.Debug.DebugLevel; -/* - * any methods that can obstruct the behaviour of pa_mainloop should run - * synchronized +/** + * This class wraps pulseaudio's event loop. It also holds the lock used in the + * rest of pulse-java * * */ -public class EventLoop implements Runnable { +final class EventLoop implements Runnable { + + /* + * any methods that can obstruct the behaviour of pa_mainloop should run + * synchronized + */ /* * the threadLock object is the object used for synchronizing the * non-thread-safe operations of pulseaudio's c api */ - public Object threadLock = new Object(); + final Object threadLock = new Object(); private static EventLoop instance = null; private List contextListeners; // private List lines; - private String name; + private String appName; private String serverString; private int status; // private boolean eventLoopIsRunning = false; - - public Semaphore finished = new Semaphore(0); private List targetPortNameList = new ArrayList(); private List sourcePortNameList = new ArrayList(); @@ -105,27 +107,26 @@ public class EventLoop implements Runnab private EventLoop() { contextListeners = new ArrayList(); - threadLock = new Object(); - } - - synchronized public static EventLoop getEventLoop() { + } + + synchronized static EventLoop getEventLoop() { if (instance == null) { instance = new EventLoop(); } return instance; } - public void setAppName(String name) { - this.name = name; - } - - public void setServer(String serverString) { + void setAppName(String appName) { + this.appName = appName; + } + + void setServer(String serverString) { this.serverString = serverString; } @Override public void run() { - native_setup(this.name, this.serverString); + native_setup(this.appName, this.serverString); Debug.println(DebugLevel.Info, "Eventloop.run(): eventloop starting"); @@ -158,23 +159,23 @@ public class EventLoop implements Runnab } - public void addContextListener(ContextListener contextListener) { + void addContextListener(ContextListener contextListener) { synchronized (contextListeners) { contextListeners.add(contextListener); } } - public void removeContextListener(ContextListener contextListener) { + void removeContextListener(ContextListener contextListener) { synchronized (contextListeners) { contextListeners.remove(contextListener); } } - public int getStatus() { + int getStatus() { return this.status; } - public void update(int status) { + void update(int status) { synchronized (threadLock) { // System.out.println(this.getClass().getName() // + ".update() called! status = " + status); @@ -187,8 +188,10 @@ public class EventLoop implements Runnab fireEvent(new ContextEvent(Type.CONNECTING)); break; case 2: + // no op break; case 3: + // no op break; case 4: fireEvent(new ContextEvent(Type.READY)); @@ -220,17 +223,17 @@ public class EventLoop implements Runnab } - public void setVolume(byte[] streamPointer, int volume) { + void setVolume(byte[] streamPointer, int volume) { synchronized (threadLock) { native_set_sink_volume(streamPointer, volume); } } - public byte[] getContextPointer() { + byte[] getContextPointer() { return contextPointer; } - public byte[] getMainLoopPointer() { + byte[] getMainLoopPointer() { return mainloopPointer; } @@ -238,7 +241,7 @@ public class EventLoop implements Runnab private native byte[] nativeUpdateSourcePortNameList(); - protected synchronized List updateTargetPortNameList() { + synchronized List updateTargetPortNameList() { targetPortNameList = new ArrayList(); Operation op; synchronized (this.threadLock) { diff -r a59dccb92ae7 -r 8bf089d06e19 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java Wed Dec 03 14:31:01 2008 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java Wed Dec 03 10:07:38 2008 -0500 @@ -37,21 +37,25 @@ exception statement from your version. package org.classpath.icedtea.pulseaudio; - -/* +/** * Encapsulates a pa_operation object * + * This is really needed only so that we can deallocate the reference counted + * object. Any time a function returns an Operation object, the reference has + * been incremented. The object wont be freed unless a releaseReference() is + * done. * - * This is really needed only so that we can deallocate the reference counted + * Please see the pulseaudio api docs for more information on a pa_opreation * object + * * * */ -public class Operation { +class Operation { - byte[] operationPointer; - EventLoop eventLoop; + private byte[] operationPointer; + private EventLoop eventLoop; public enum State { Running, Done, Cancelled, @@ -67,7 +71,7 @@ public class Operation { private native int native_get_state(); - public Operation(byte[] operationPointer) { + Operation(byte[] operationPointer) { assert (operationPointer != null); this.operationPointer = operationPointer; this.eventLoop = EventLoop.getEventLoop(); @@ -80,14 +84,20 @@ public class Operation { super.finalize(); } - public void addReference() { + /** + * Increase reference count by 1 + */ + void addReference() { assert (operationPointer != null); synchronized (eventLoop.threadLock) { native_ref(); } } - public void releaseReference() { + /** + * Decrease reference count by 1. If the count reaches 0, object will be freed + */ + void releaseReference() { assert (operationPointer != null); synchronized (eventLoop.threadLock) { native_unref(); @@ -95,14 +105,15 @@ public class Operation { operationPointer = null; } - public boolean isNull() { + // FIXME broken function + boolean isNull() { if (operationPointer == null) { return true; } return false; } - public State getState() { + State getState() { assert (operationPointer != null); int state; synchronized (eventLoop.threadLock) { @@ -121,7 +132,11 @@ public class Operation { } - public void waitForCompletion() { + /** + * Block until the operation has completed + * + */ + void waitForCompletion() { assert (operationPointer != null); boolean interrupted = false; diff -r a59dccb92ae7 -r 8bf089d06e19 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java Wed Dec 03 14:31:01 2008 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java Wed Dec 03 10:07:38 2008 -0500 @@ -44,12 +44,13 @@ import javax.sound.sampled.AudioSystem; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sound.sampled.DataLine; +import javax.sound.sampled.Line; import javax.sound.sampled.LineUnavailableException; import org.classpath.icedtea.pulseaudio.Debug.DebugLevel; import org.classpath.icedtea.pulseaudio.Stream.WriteListener; -public class PulseAudioClip extends PulseAudioDataLine implements Clip, +public final class PulseAudioClip extends PulseAudioDataLine implements Clip, PulseAudioPlaybackLine { private byte[] data = null; @@ -69,14 +70,18 @@ public class PulseAudioClip extends Puls // the ending frame of the loop private int endFrame = 0; - public static final String DEFAULT_CLIP_NAME = "Clip"; + public static final String DEFAULT_CLIP_NAME = "Audio Clip"; private Object clipLock = new Object(); private int loopsLeft = 0; // private Semaphore clipSemaphore = new Semaphore(1); - private class ClipThread extends Thread { + /** + * This thread runs + * + */ + private final class ClipThread extends Thread { @Override public void run() { @@ -197,16 +202,18 @@ public class PulseAudioClip extends Puls stream.removeWriteListener(writeListener); } - public PulseAudioClip(AudioFormat[] formats, AudioFormat defaultFormat) { - supportedFormats = formats; + PulseAudioClip(AudioFormat[] formats, AudioFormat defaultFormat) { + this.supportedFormats = formats; this.defaultFormat = defaultFormat; this.currentFormat = defaultFormat; this.volume = PulseAudioVolumeControl.MAX_VOLUME; + this.streamName = DEFAULT_CLIP_NAME; clipThread = new ClipThread(); } + @Override protected void connectLine(int bufferSize, Stream masterStream) throws LineUnavailableException { StreamBufferAttributes bufferAttributes = new StreamBufferAttributes( @@ -263,9 +270,6 @@ public class PulseAudioClip extends Puls * * drain() on a Clip should block until the entire clip has finished playing * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4732218 - * - * - * @see org.classpath.icedtea.pulseaudio.PulseAudioDataLine#drain() */ @Override public void drain() { @@ -427,22 +431,28 @@ public class PulseAudioClip extends Puls From doko at ubuntu.com Wed Dec 3 07:32:43 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 15:32:43 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Matthias Klose changeset 0385f0e789f0 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0385f0e789f0 description: 2008-12-03 Matthias Klose * Makefile.am (stamps/extract.stamp): Only extract HOTSPOT_SRC_ZIP, if WITH_ALT_HSBUILD is defined. diffstat: 2 files changed, 14 insertions(+), 7 deletions(-) ChangeLog | 5 +++++ Makefile.am | 16 +++++++++------- diffs (40 lines): diff -r 8bf089d06e19 -r 0385f0e789f0 ChangeLog --- a/ChangeLog Wed Dec 03 10:07:38 2008 -0500 +++ b/ChangeLog Wed Dec 03 16:32:02 2008 +0100 @@ -1,3 +1,8 @@ 2008-12-02 Omair Majid + + * Makefile.am (stamps/extract.stamp): Only extract HOTSPOT_SRC_ZIP, + if WITH_ALT_HSBUILD is defined. + 2008-12-02 Omair Majid * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java: diff -r 8bf089d06e19 -r 0385f0e789f0 Makefile.am --- a/Makefile.am Wed Dec 03 10:07:38 2008 -0500 +++ b/Makefile.am Wed Dec 03 16:32:02 2008 +0100 @@ -631,15 +631,17 @@ stamps/extract.stamp: stamps/download.st mkdir openjdk ; \ $(TAR) xf $(OPENJDK_SRC_ZIP) -C openjdk; \ chmod -R ug+w openjdk ; \ - if test -e ${HOTSPOT_SRC_ZIP} ; \ - then \ - rm -rf openjdk/hotspot ; \ - $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ - chmod -R ug+w hotspot-* ; \ - mv $$(find -maxdepth 1 -name 'hotspot-*' -type d) openjdk/hotspot ; \ - fi ; \ sh $(abs_top_srcdir)/fsg.sh ; \ fi +if WITH_ALT_HSBUILD + if test -e ${HOTSPOT_SRC_ZIP} ; \ + then \ + rm -rf openjdk/hotspot ; \ + $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ + chmod -R ug+w hotspot-* ; \ + mv $$(find -maxdepth 1 -name 'hotspot-*' -type d) openjdk/hotspot ; \ + fi +endif if WITH_CACAO if !USE_SYSTEM_CACAO if ! test -d cacao ; \ From doko at ubuntu.com Wed Dec 3 07:34:25 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 15:34:25 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Matthias Klose changeset 0e428e4ada66 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0e428e4ada66 description: 2008-12-03 Matthias Klose * patches/icedtea-shark.patch: Moved to ... * patches/hotspot/original/icedtea-shark.patch: ... here. * patches/hotspot/14.0b08/icedtea-shark.patch: New, regenerated. * Makefile.am (SHARK_PATCH): Conditionalze on WITH_ALT_HSBUILD. diffstat: 5 files changed, 740 insertions(+), 386 deletions(-) ChangeLog | 7 Makefile.am | 2 patches/hotspot/14.0b08/icedtea-shark.patch | 366 ++++++++++++++++++++++++ patches/hotspot/original/icedtea-shark.patch | 366 ++++++++++++++++++++++++ patches/icedtea-shark.patch | 385 -------------------------- diffs (truncated from 1155 to 500 lines): diff -r 0385f0e789f0 -r 0e428e4ada66 ChangeLog --- a/ChangeLog Wed Dec 03 16:32:02 2008 +0100 +++ b/ChangeLog Wed Dec 03 16:33:42 2008 +0100 @@ -1,3 +1,10 @@ 2008-12-03 Matthias Klose + + * patches/icedtea-shark.patch: Moved to ... + * patches/hotspot/original/icedtea-shark.patch: ... here. + * patches/hotspot/14.0b08/icedtea-shark.patch: New, regenerated. + * Makefile.am (SHARK_PATCH): Conditionalze on WITH_ALT_HSBUILD. + 2008-12-03 Matthias Klose * Makefile.am (stamps/extract.stamp): Only extract HOTSPOT_SRC_ZIP, diff -r 0385f0e789f0 -r 0e428e4ada66 Makefile.am --- a/Makefile.am Wed Dec 03 16:32:02 2008 +0100 +++ b/Makefile.am Wed Dec 03 16:33:42 2008 +0100 @@ -491,7 +491,7 @@ endif # If Shark is required, apply shark patch if SHARK_BUILD - SHARK_PATCH = patches/icedtea-shark.patch + SHARK_PATCH = patches/hotspot/$(HSBUILD)/icedtea-shark.patch else SHARK_PATCH = endif diff -r 0385f0e789f0 -r 0e428e4ada66 patches/hotspot/14.0b08/icedtea-shark.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/14.0b08/icedtea-shark.patch Wed Dec 03 16:33:42 2008 +0100 @@ -0,0 +1,366 @@ +--- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -727,10 +727,14 @@ + } + + OrderAccess::storestore(); ++#ifdef SHARK ++ mh->_from_interpreted_entry = code->instructions_begin(); ++#else + mh->_from_compiled_entry = code->verified_entry_point(); + OrderAccess::storestore(); + // Instantly compiled code can execute. + mh->_from_interpreted_entry = mh->get_i2c_entry(); ++#endif // SHARK + + } + +--- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -44,6 +44,7 @@ + friend class VMStructs; + friend class CardTableRS; + friend class CheckForUnmarkedOops; // Needs access to raw card bytes. ++ friend class SharkBuilder; + #ifndef PRODUCT + // For debugging. + friend class GuaranteeNotModClosure; +--- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -176,6 +176,18 @@ + #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT }, + #endif + ++#define SHARK_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark product}", DEFAULT }, ++#define SHARK_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd product}", DEFAULT }, ++#define SHARK_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark diagnostic}", DEFAULT }, ++#ifdef PRODUCT ++ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */ ++ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) /* flag is constant */ ++ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) ++#else ++ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark}", DEFAULT }, ++ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd}", DEFAULT }, ++ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark notproduct}", DEFAULT }, ++#endif + + static Flag flagTable[] = { + RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT) +@@ -189,6 +201,9 @@ + #ifdef COMPILER2 + C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT) + #endif ++#ifdef SHARK ++ SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT) ++#endif + {0, NULL, NULL} + }; + +--- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp 2008-12-03 14:33:49.000000000 +0000 +@@ -64,6 +64,11 @@ + assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased"); + BasicObjectLock* dest = _monitors->at(index); + dest->set_obj(monitor->owner()); ++#ifdef SHARK ++ // XXX This can be removed when Shark knows ++ // which monitors are in use. ++ if (monitor->owner()) ++#endif // SHARK + monitor->lock()->move_to(monitor->owner(), dest->lock()); + } + } +@@ -262,6 +267,11 @@ + top = iframe()->previous_monitor_in_interpreter_frame(top); + BasicObjectLock* src = _monitors->at(index); + top->set_obj(src->obj()); ++#ifdef SHARK ++ // XXX This can be removed when Shark knows ++ // which monitors are in use. ++ if (src->obj()) ++#endif // SHARK + src->lock()->move_to(src->obj(), top->lock()); + } + if (ProfileInterpreter) { +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-03 14:23:37.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -94,12 +94,16 @@ + #ifdef TIERED + #define VMTYPE "Server" + #else ++#ifdef SHARK ++ #define VMTYPE "Shark" ++#else + #if defined(COMPILER1) || defined(COMPILER2) +- #define VMTYPE COMPILER1_PRESENT("Client") \ +- COMPILER2_PRESENT("Server") ++ #define VMTYPE COMPILER1_PRESENT("Client") \ ++ COMPILER2_PRESENT("Server") + #else + #define VMTYPE "Core" + #endif // COMPILER1 || COMPILER2 ++#endif // SHARK + #endif // TIERED + #endif // KERNEL + +--- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -229,6 +229,7 @@ + + } + ++#ifndef SHARK + // Compute the caller frame based on the sender sp of stub_frame and stored frame sizes info. + CodeBlob* cb = stub_frame.cb(); + // Verify we have the right vframeArray +@@ -239,6 +240,10 @@ + assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking"); + Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp); + #endif ++#else ++ intptr_t* unpack_sp = stub_frame.sender(&dummy_map).unextended_sp(); ++#endif // !SHARK ++ + // This is a guarantee instead of an assert because if vframe doesn't match + // we will unpack the wrong deoptimized frame and wind up in strange places + // where it will be very difficult to figure out what went wrong. Better +@@ -349,7 +354,9 @@ + + frame_pcs[0] = deopt_sender.raw_pc(); + ++#ifndef SHARK + assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc"); ++#endif // SHARK + + UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord, + caller_adjustment * BytesPerWord, +@@ -890,7 +897,20 @@ + // stuff a C2I adapter we can properly fill in the callee-save + // register locations. + frame caller = fr.sender(reg_map); ++#ifdef ZERO ++ int frame_size; ++ { ++ // In zero, frame::sp() is the *end* of the frame, so ++ // caller.sp() - fr.sp() is the size of the *caller*. ++ RegisterMap dummy_map(thread, false); ++ frame frame_1 = thread->last_frame(); ++ frame frame_2 = frame_1.sender(&dummy_map); ++ assert(frame_2.sp() == fr.sp(), "should be"); ++ frame_size = frame_2.sp() - frame_1.sp(); ++ } ++#else + int frame_size = caller.sp() - fr.sp(); ++#endif // ZERO + + frame sender = caller; + +@@ -1057,7 +1077,7 @@ + JRT_END + + +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + void Deoptimization::load_class_by_index(constantPoolHandle constant_pool, int index, TRAPS) { + // in case of an unresolved klass entry, load the class. + if (constant_pool->tag_at(index).is_unresolved_klass()) { +@@ -1808,7 +1828,7 @@ + if (xtty != NULL) xtty->tail("statistics"); + } + } +-#else // COMPILER2 ++#else // COMPILER2 || SHARK + + + // Stubs for C1 only system. +@@ -1844,4 +1864,4 @@ + return buf; + } + +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig 2008-12-03 14:22:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -22,7 +22,7 @@ + * + */ + +-#if !defined(COMPILER1) && !defined(COMPILER2) ++#if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK) + define_pd_global(bool, BackgroundCompilation, false); + define_pd_global(bool, UseTLAB, false); + define_pd_global(bool, CICompileOSR, false); +--- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -318,6 +318,7 @@ + + bool is_compiled_by_c1() const; + bool is_compiled_by_c2() const; ++ bool is_compiled_by_shark() const; + + // boundaries for different parts + address code_begin () const { return _entry_point; } +--- openjdk/hotspot/src/share/vm/code/nmethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -65,6 +65,11 @@ + assert(compiler() != NULL, "must be"); + return compiler()->is_c2(); + } ++bool nmethod::is_compiled_by_shark() const { ++ if (is_native_method()) return false; ++ assert(compiler() != NULL, "must be"); ++ return compiler()->is_shark(); ++} + + + +@@ -1567,6 +1572,7 @@ + // Method that knows how to preserve outgoing arguments at call. This method must be + // called with a frame corresponding to a Java invoke + void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { ++#ifndef SHARK + if (!method()->is_native()) { + SimpleScopeDesc ssd(this, fr.pc()); + Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci()); +@@ -1574,6 +1580,7 @@ + symbolOop signature = call->signature(); + fr.oops_compiled_arguments_do(signature, is_static, reg_map, f); + } ++#endif // !SHARK + } + + +@@ -2003,6 +2010,8 @@ + tty->print("(c1) "); + } else if (is_compiled_by_c2()) { + tty->print("(c2) "); ++ } else if (is_compiled_by_shark()) { ++ tty->print("(shark) "); + } else { + tty->print("(nm) "); + } +--- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -554,6 +554,14 @@ + #endif + #endif // COMPILER2 + ++#ifdef SHARK ++#if defined(COMPILER1) || defined(COMPILER2) ++#error "Can't use COMPILER1 or COMPILER2 with shark" ++#endif ++ _compilers[0] = new SharkCompiler(); ++ _compilers[1] = _compilers[0]; ++#endif ++ + // Initialize the CompileTask free list + _task_free_list = NULL; + +--- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -45,18 +45,26 @@ + // Missing feature tests + virtual bool supports_native() { return true; } + virtual bool supports_osr () { return true; } +-#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2)) ++#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK)) + virtual bool is_c1 () { return false; } + virtual bool is_c2 () { return false; } ++ virtual bool is_shark() { return false; } + #else + #ifdef COMPILER1 + bool is_c1 () { return true; } + bool is_c2 () { return false; } ++ bool is_shark() { return false; } + #endif // COMPILER1 + #ifdef COMPILER2 + bool is_c1 () { return false; } + bool is_c2 () { return true; } ++ bool is_shark() { return false; } + #endif // COMPILER2 ++#ifdef SHARK ++ bool is_c1 () { return false; } ++ bool is_c2 () { return false; } ++ bool is_shark() { return true; } ++#endif // SHARK + #endif // TIERED + + // Customization +--- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -69,7 +69,7 @@ + + // Optional liveness analyzer. + MethodLiveness* _liveness; +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + ciTypeFlow* _flow; + #endif + +--- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -56,9 +56,9 @@ + _liveness = NULL; + _bcea = NULL; + _method_blocks = NULL; +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + _flow = NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + + if (JvmtiExport::can_hotswap_or_post_breakpoint() && _is_compilable) { + // 6328518 check hotswap conditions under the right lock. +@@ -124,9 +124,9 @@ + _bcea = NULL; + _method_blocks = NULL; + _method_data = NULL; +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + _flow = NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + } + + +@@ -294,34 +294,34 @@ + // ------------------------------------------------------------------ + // ciMethod::get_flow_analysis + ciTypeFlow* ciMethod::get_flow_analysis() { +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + if (_flow == NULL) { + ciEnv* env = CURRENT_ENV; + _flow = new (env->arena()) ciTypeFlow(env, this); + _flow->do_flow(); + } + return _flow; +-#else // COMPILER2 ++#else // COMPILER2 || SHARK + ShouldNotReachHere(); + return NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + } + + + // ------------------------------------------------------------------ + // ciMethod::get_osr_flow_analysis + ciTypeFlow* ciMethod::get_osr_flow_analysis(int osr_bci) { +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + // OSR entry points are always place after a call bytecode of some sort + assert(osr_bci >= 0, "must supply valid OSR entry point"); + ciEnv* env = CURRENT_ENV; + ciTypeFlow* flow = new (env->arena()) ciTypeFlow(env, this, osr_bci); + flow->do_flow(); + return flow; +-#else // COMPILER2 ++#else // COMPILER2 || SHARK + ShouldNotReachHere(); + return NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + } + + // ------------------------------------------------------------------ diff -r 0385f0e789f0 -r 0e428e4ada66 patches/hotspot/original/icedtea-shark.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/icedtea-shark.patch Wed Dec 03 16:33:42 2008 +0100 @@ -0,0 +1,366 @@ +--- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -727,10 +727,14 @@ + } + + OrderAccess::storestore(); ++#ifdef SHARK ++ mh->_from_interpreted_entry = code->instructions_begin(); ++#else + mh->_from_compiled_entry = code->verified_entry_point(); + OrderAccess::storestore(); + // Instantly compiled code can execute. + mh->_from_interpreted_entry = mh->get_i2c_entry(); ++#endif // SHARK + + } + +--- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -44,6 +44,7 @@ + friend class VMStructs; + friend class CardTableRS; + friend class CheckForUnmarkedOops; // Needs access to raw card bytes. ++ friend class SharkBuilder; + #ifndef PRODUCT + // For debugging. + friend class GuaranteeNotModClosure; +--- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -176,6 +176,18 @@ + #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT }, + #endif + ++#define SHARK_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark product}", DEFAULT }, ++#define SHARK_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd product}", DEFAULT }, ++#define SHARK_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark diagnostic}", DEFAULT }, ++#ifdef PRODUCT ++ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */ ++ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) /* flag is constant */ ++ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) ++#else ++ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark}", DEFAULT }, ++ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd}", DEFAULT }, ++ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark notproduct}", DEFAULT }, ++#endif + + static Flag flagTable[] = { + RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT) +@@ -189,6 +201,9 @@ + #ifdef COMPILER2 + C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT) + #endif ++#ifdef SHARK ++ SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT) ++#endif + {0, NULL, NULL} + }; + +--- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp 2008-12-03 14:33:49.000000000 +0000 +@@ -64,6 +64,11 @@ + assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased"); + BasicObjectLock* dest = _monitors->at(index); + dest->set_obj(monitor->owner()); ++#ifdef SHARK ++ // XXX This can be removed when Shark knows ++ // which monitors are in use. ++ if (monitor->owner()) ++#endif // SHARK + monitor->lock()->move_to(monitor->owner(), dest->lock()); + } + } +@@ -262,6 +267,11 @@ + top = iframe()->previous_monitor_in_interpreter_frame(top); + BasicObjectLock* src = _monitors->at(index); + top->set_obj(src->obj()); ++#ifdef SHARK ++ // XXX This can be removed when Shark knows ++ // which monitors are in use. ++ if (src->obj()) ++#endif // SHARK + src->lock()->move_to(src->obj(), top->lock()); + } + if (ProfileInterpreter) { +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-03 14:23:37.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -94,12 +94,16 @@ + #ifdef TIERED + #define VMTYPE "Server" + #else ++#ifdef SHARK ++ #define VMTYPE "Shark" ++#else + #if defined(COMPILER1) || defined(COMPILER2) +- #define VMTYPE COMPILER1_PRESENT("Client") \ +- COMPILER2_PRESENT("Server") ++ #define VMTYPE COMPILER1_PRESENT("Client") \ ++ COMPILER2_PRESENT("Server") + #else + #define VMTYPE "Core" From doko at ubuntu.com Wed Dec 3 08:16:38 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 16:16:38 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Matthias Klose changeset 1e8622897317 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1e8622897317 description: 2008-12-03 Matthias Klose * Makefile.am (ZERO_PATCHES, ICEDTEA_PATCHES): Fix patch order. * patches/icedtea-hotspot7-build-fixes.patch: Restore. diffstat: 3 files changed, 81 insertions(+), 4 deletions(-) ChangeLog | 5 ++ Makefile.am | 16 +++++-- patches/icedtea-hotspot7-build-fixes.patch | 64 ++++++++++++++++++++++++++++ diffs (128 lines): diff -r 0e428e4ada66 -r 1e8622897317 ChangeLog --- a/ChangeLog Wed Dec 03 16:33:42 2008 +0100 +++ b/ChangeLog Wed Dec 03 17:15:58 2008 +0100 @@ -1,3 +1,8 @@ 2008-12-03 Matthias Klose + + * Makefile.am (ZERO_PATCHES, ICEDTEA_PATCHES): Fix patch order. + * patches/icedtea-hotspot7-build-fixes.patch: Restore. + 2008-12-03 Matthias Klose * patches/icedtea-shark.patch: Moved to ... diff -r 0e428e4ada66 -r 1e8622897317 Makefile.am --- a/Makefile.am Wed Dec 03 16:33:42 2008 +0100 +++ b/Makefile.am Wed Dec 03 17:15:58 2008 +0100 @@ -457,7 +457,14 @@ endif # If ZERO_BUILD is set then we are building zero and need # to patch up to OpenJDK 7 HotSpot for the C++ interpreter. +if WITH_ALT_HSBUILD +ZERO_PATCHES = +else ZERO_PATCHES = \ + patches/icedtea-hotspot-6b12-7b24.patch \ + patches/icedtea-hotspot7-build-fixes.patch +endif +ZERO_PATCHES += \ patches/hotspot/$(HSBUILD)/icedtea-bytecodeInterpreter.patch \ patches/icedtea-signature-iterator.patch \ patches/icedtea-test-atomic-operations.patch \ @@ -466,7 +473,6 @@ ZERO_PATCHES = \ if !WITH_ALT_HSBUILD ZERO_PATCHES += \ - patches/icedtea-hotspot-6b12-7b24.patch \ patches/icedtea-bytecodeInterpreterWithChecks.patch \ patches/icedtea-signed-types.patch \ patches/icedtea-hotspot-citypeflow.patch @@ -539,9 +545,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-uname.patch \ patches/icedtea-ia64-fdlibm.patch \ patches/icedtea-fonts.patch \ - patches/hotspot/$(HSBUILD)/icedtea-sparc64-linux.patch \ - patches/hotspot/$(HSBUILD)/icedtea-sparc-ptracefix.patch \ - patches/hotspot/$(HSBUILD)/icedtea-sparc-trapsfix.patch \ patches/icedtea-override-redirect-metacity.patch \ patches/icedtea-no-bcopy.patch \ patches/icedtea-shark-build.patch \ @@ -600,6 +603,11 @@ ICEDTEA_PATCHES += \ patches/icedtea-sparc.patch endif +ICEDTEA_PATCHES += \ + patches/hotspot/$(HSBUILD)/icedtea-sparc64-linux.patch \ + patches/hotspot/$(HSBUILD)/icedtea-sparc-ptracefix.patch \ + patches/hotspot/$(HSBUILD)/icedtea-sparc-trapsfix.patch + if WITH_RHINO ICEDTEA_PATCHES += \ patches/icedtea-rhino.patch diff -r 0e428e4ada66 -r 1e8622897317 patches/icedtea-hotspot7-build-fixes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-hotspot7-build-fixes.patch Wed Dec 03 17:15:58 2008 +0100 @@ -0,0 +1,64 @@ +diff -r 2323cafebabe openjdk/hotspot/src/share/vm/runtime/vm_version.cpp +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-01-31 09:19:01.000000000 -0500 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-02-29 13:12:39.000000000 -0500 +@@ -86,16 +86,12 @@ + #define VMLP "" + #endif + +-#ifdef KERNEL +- #define VMTYPE "Kernel" +-#else // KERNEL + #ifdef TIERED + #define VMTYPE "Server" + #else + #define VMTYPE COMPILER1_PRESENT("Client") \ + COMPILER2_PRESENT("Server") + #endif // TIERED +-#endif // KERNEL + + #ifndef HOTSPOT_VM_DISTRO + #error HOTSPOT_VM_DISTRO must be defined +diff -r 848a72e3bc9b openjdk/hotspot/build/linux/makefiles/top.make +--- openjdk/hotspot/build/linux/makefiles/top.make Fri Feb 29 17:02:22 2008 +0000 ++++ openjdk/hotspot/build/linux/makefiles/top.make Fri Feb 29 17:04:07 2008 +0000 +@@ -67,7 +67,9 @@ Include_DBs/GC = $(VM)/includeD + $(VM)/gc_implementation/includeDB_gc_serial \ + $(VM)/gc_implementation/includeDB_gc_shared + +-Include_DBs/CORE = $(VM)/includeDB_core $(Include_DBs/GC) ++Include_DBs/CORE = $(VM)/includeDB_core $(Include_DBs/GC) \ ++ $(VM)/includeDB_jvmti \ ++ $(VM)/includeDB_features + Include_DBs/COMPILER1 = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 + Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2 + Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2 +diff -r 2323cafebabe openjdk/hotspot/build/linux/makefiles/jvmti.make +--- openjdk/hotspot/build/linux/makefiles/jvmti.make 2008-02-29 16:50:25.000000000 +0000 ++++ openjdk/hotspot/build/linux/makefiles/jvmti.make 2008-02-29 10:21:43.000000000 +0000 +@@ -36,6 +36,7 @@ + JvmtiOutDir = $(GENERATED)/jvmtifiles + + JvmtiSrcDir = $(GAMMADIR)/src/share/vm/prims ++InterpreterSrcDir = $(GAMMADIR)/src/share/vm/interpreter + Src_Dirs += $(JvmtiSrcDir) + + # set VPATH so make knows where to look for source files +@@ -47,6 +48,7 @@ + jvmtiEnter.cpp \ + jvmtiEnterTrace.cpp \ + jvmtiEnvRecommended.cpp\ ++ bytecodeInterpreterWithChecks.cpp \ + jvmti.h \ + + JvmtiEnvFillSource = $(JvmtiSrcDir)/jvmtiEnvFill.java +@@ -77,6 +79,10 @@ + @echo Generating $@ + $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti + ++$(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl ++ @echo Generating $@ ++ $(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp ++ + $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl + @echo Generating $@ + $(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace From doko at ubuntu.com Wed Dec 3 12:09:08 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 20:09:08 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Matthias Klose changeset 18303d88247c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=18303d88247c description: 2008-12-03 Matthias Klose * patches/hotspot/14.0b08/icedtea-shark.patch: Fix path name. diffstat: 2 files changed, 5 insertions(+), 1 deletion(-) ChangeLog | 4 ++++ patches/hotspot/14.0b08/icedtea-shark-build.patch | 2 +- diffs (23 lines): diff -r ce6567001a96 -r 18303d88247c ChangeLog --- a/ChangeLog Wed Dec 03 18:27:32 2008 +0100 +++ b/ChangeLog Wed Dec 03 21:08:27 2008 +0100 @@ -1,3 +1,7 @@ 2008-12-03 Matthias Klose + + * patches/hotspot/14.0b08/icedtea-shark.patch: Fix path name. + 2008-12-03 Matthias Klose * Makefile.am (ZERO_PATCHES, ICEDTEA_PATCHES): Fix patch order. diff -r ce6567001a96 -r 18303d88247c patches/hotspot/14.0b08/icedtea-shark-build.patch --- a/patches/hotspot/14.0b08/icedtea-shark-build.patch Wed Dec 03 18:27:32 2008 +0100 +++ b/patches/hotspot/14.0b08/icedtea-shark-build.patch Wed Dec 03 21:08:27 2008 +0100 @@ -42,7 +42,7 @@ diff -Nru openjdk.orig/hotspot/make/linu $(BUILDTREE) VARIANT=core +$(SUBDIRS_SHARK): $(BUILDTREE_MAKE) -+ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/build/$(OSNAME)/Makefile checks ++ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks + $(BUILDTREE) VARIANT=shark + # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME From doko at ubuntu.com Wed Dec 3 12:09:08 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 20:09:08 +0000 Subject: changeset in /hg/icedtea6: * patches/hotspot/original/icedtea-sh... Message-ID: changeset ce6567001a96 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ce6567001a96 description: * patches/hotspot/original/icedtea-shark.patch: Regenerate. diffstat: 2 files changed, 65 insertions(+), 64 deletions(-) ChangeLog | 1 patches/hotspot/original/icedtea-shark.patch | 128 +++++++++++++------------- diffs (314 lines): diff -r 1e8622897317 -r ce6567001a96 ChangeLog --- a/ChangeLog Wed Dec 03 17:15:58 2008 +0100 +++ b/ChangeLog Wed Dec 03 18:27:32 2008 +0100 @@ -2,6 +2,7 @@ 2008-12-03 Matthias Klose diff -r 1e8622897317 -r ce6567001a96 patches/hotspot/original/icedtea-shark.patch --- a/patches/hotspot/original/icedtea-shark.patch Wed Dec 03 17:15:58 2008 +0100 +++ b/patches/hotspot/original/icedtea-shark.patch Wed Dec 03 18:27:32 2008 +0100 @@ -1,6 +1,6 @@ ---- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -727,10 +727,14 @@ +--- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-12-03 16:54:59.000000000 +0000 +@@ -730,10 +730,14 @@ } OrderAccess::storestore(); @@ -15,8 +15,8 @@ } ---- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-12-03 14:33:48.000000000 +0000 +--- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-12-03 16:54:59.000000000 +0000 @@ -44,6 +44,7 @@ friend class VMStructs; friend class CardTableRS; @@ -25,9 +25,9 @@ #ifndef PRODUCT // For debugging. friend class GuaranteeNotModClosure; ---- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -176,6 +176,18 @@ +--- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2008-12-03 16:54:59.000000000 +0000 +@@ -158,6 +158,18 @@ #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT }, #endif @@ -45,8 +45,8 @@ +#endif static Flag flagTable[] = { - RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT) -@@ -189,6 +201,9 @@ + RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT) +@@ -168,6 +180,9 @@ #ifdef COMPILER2 C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT) #endif @@ -56,8 +56,8 @@ {0, NULL, NULL} }; ---- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp 2008-12-03 14:33:49.000000000 +0000 +--- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp 2008-12-03 16:54:59.000000000 +0000 @@ -64,6 +64,11 @@ assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased"); BasicObjectLock* dest = _monitors->at(index); @@ -82,9 +82,9 @@ src->lock()->move_to(src->obj(), top->lock()); } if (ProfileInterpreter) { ---- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-03 14:23:37.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -94,12 +94,16 @@ +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-03 16:54:59.000000000 +0000 +@@ -89,12 +89,16 @@ #ifdef TIERED #define VMTYPE "Server" #else @@ -101,19 +101,19 @@ #endif // COMPILER1 || COMPILER2 +#endif // SHARK #endif // TIERED - #endif // KERNEL - ---- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -229,6 +229,7 @@ - + + #ifndef HOTSPOT_VM_DISTRO +--- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-12-03 16:54:59.000000000 +0000 +@@ -217,6 +217,7 @@ + } +#ifndef SHARK // Compute the caller frame based on the sender sp of stub_frame and stored frame sizes info. CodeBlob* cb = stub_frame.cb(); // Verify we have the right vframeArray -@@ -239,6 +240,10 @@ +@@ -227,6 +228,10 @@ assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking"); Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp); #endif @@ -124,7 +124,7 @@ // This is a guarantee instead of an assert because if vframe doesn't match // we will unpack the wrong deoptimized frame and wind up in strange places // where it will be very difficult to figure out what went wrong. Better -@@ -349,7 +354,9 @@ +@@ -337,7 +342,9 @@ frame_pcs[0] = deopt_sender.raw_pc(); @@ -132,9 +132,9 @@ assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc"); +#endif // SHARK - UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord, - caller_adjustment * BytesPerWord, -@@ -890,7 +897,20 @@ + UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord, + caller_adjustment * BytesPerWord, +@@ -832,7 +839,20 @@ // stuff a C2I adapter we can properly fill in the callee-save // register locations. frame caller = fr.sender(reg_map); @@ -154,8 +154,8 @@ +#endif // ZERO frame sender = caller; - -@@ -1057,7 +1077,7 @@ + +@@ -999,7 +1019,7 @@ JRT_END @@ -164,7 +164,7 @@ void Deoptimization::load_class_by_index(constantPoolHandle constant_pool, int index, TRAPS) { // in case of an unresolved klass entry, load the class. if (constant_pool->tag_at(index).is_unresolved_klass()) { -@@ -1808,7 +1828,7 @@ +@@ -1750,7 +1770,7 @@ if (xtty != NULL) xtty->tail("statistics"); } } @@ -173,16 +173,16 @@ // Stubs for C1 only system. -@@ -1844,4 +1864,4 @@ +@@ -1786,4 +1806,4 @@ return buf; } -#endif // COMPILER2 +#endif // COMPILER2 || SHARK ---- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig 2008-12-03 14:22:17.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-12-03 14:33:48.000000000 +0000 +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-12-03 16:55:00.000000000 +0000 @@ -22,7 +22,7 @@ - * + * */ -#if !defined(COMPILER1) && !defined(COMPILER2) @@ -190,21 +190,21 @@ define_pd_global(bool, BackgroundCompilation, false); define_pd_global(bool, UseTLAB, false); define_pd_global(bool, CICompileOSR, false); ---- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-12-03 14:33:48.000000000 +0000 -@@ -318,6 +318,7 @@ +--- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-12-03 16:55:00.000000000 +0000 +@@ -290,6 +290,7 @@ bool is_compiled_by_c1() const; bool is_compiled_by_c2() const; + bool is_compiled_by_shark() const; - + // boundaries for different parts address code_begin () const { return _entry_point; } ---- openjdk/hotspot/src/share/vm/code/nmethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2008-12-03 14:33:48.000000000 +0000 -@@ -65,6 +65,11 @@ - assert(compiler() != NULL, "must be"); - return compiler()->is_c2(); +--- openjdk/hotspot/src/share/vm/code/nmethod.cpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2008-12-03 16:55:51.000000000 +0000 +@@ -187,6 +187,11 @@ + + add_address_and_handler(pc,handler); } +bool nmethod::is_compiled_by_shark() const { + if (is_native_method()) return false; @@ -213,16 +213,16 @@ +} - -@@ -1567,6 +1572,7 @@ + address ExceptionCache::match(Handle exception, address pc) { +@@ -1448,6 +1453,7 @@ // Method that knows how to preserve outgoing arguments at call. This method must be // called with a frame corresponding to a Java invoke - void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { + void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { +#ifndef SHARK if (!method()->is_native()) { SimpleScopeDesc ssd(this, fr.pc()); Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci()); -@@ -1574,6 +1580,7 @@ +@@ -1455,6 +1461,7 @@ symbolOop signature = call->signature(); fr.oops_compiled_arguments_do(signature, is_static, reg_map, f); } @@ -230,17 +230,17 @@ } -@@ -2003,6 +2010,8 @@ +@@ -1883,6 +1890,8 @@ tty->print("(c1) "); } else if (is_compiled_by_c2()) { tty->print("(c2) "); + } else if (is_compiled_by_shark()) { + tty->print("(shark) "); } else { + assert(is_native_method(), "Who else?"); tty->print("(nm) "); - } ---- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2008-12-03 14:33:48.000000000 +0000 +--- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2008-12-03 16:55:00.000000000 +0000 @@ -554,6 +554,14 @@ #endif #endif // COMPILER2 @@ -256,26 +256,26 @@ // Initialize the CompileTask free list _task_free_list = NULL; ---- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2008-12-03 14:33:48.000000000 +0000 +--- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2008-12-03 16:55:00.000000000 +0000 @@ -45,18 +45,26 @@ // Missing feature tests virtual bool supports_native() { return true; } - virtual bool supports_osr () { return true; } + virtual bool supports_osr () { return true; } -#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2)) +#if defined(TIERED) || ( !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK)) - virtual bool is_c1 () { return false; } - virtual bool is_c2 () { return false; } + virtual bool is_c1 () { return false; } + virtual bool is_c2 () { return false; } + virtual bool is_shark() { return false; } #else #ifdef COMPILER1 - bool is_c1 () { return true; } - bool is_c2 () { return false; } + bool is_c1 () { return true; } + bool is_c2 () { return false; } + bool is_shark() { return false; } #endif // COMPILER1 #ifdef COMPILER2 - bool is_c1 () { return false; } - bool is_c2 () { return true; } + bool is_c1 () { return false; } + bool is_c2 () { return true; } + bool is_shark() { return false; } #endif // COMPILER2 +#ifdef SHARK @@ -286,8 +286,8 @@ #endif // TIERED // Customization ---- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2008-12-03 14:33:48.000000000 +0000 +--- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2008-12-03 16:55:00.000000000 +0000 @@ -69,7 +69,7 @@ // Optional liveness analyzer. @@ -297,8 +297,8 @@ ciTypeFlow* _flow; #endif ---- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2008-12-03 14:33:48.000000000 +0000 +--- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp.orig 2008-12-03 16:54:19.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2008-12-03 16:55:00.000000000 +0000 @@ -56,9 +56,9 @@ _liveness = NULL; _bcea = NULL; @@ -310,7 +310,7 @@ +#endif // COMPILER2 || SHARK if (JvmtiExport::can_hotswap_or_post_breakpoint() && _is_compilable) { - // 6328518 check hotswap conditions under the right lock. + // 6328518 check hotswap conditions under the right lock. @@ -124,9 +124,9 @@ _bcea = NULL; _method_blocks = NULL; From doko at ubuntu.com Wed Dec 3 12:13:23 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 20:13:23 +0000 Subject: changeset in /hg/icedtea: 2008-12-03 Matthias Klose changeset d0505857d8da in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=d0505857d8da description: 2008-12-03 Matthias Klose * patches/icedtea-shark-build.patch: Regenerate. * patches/icedtea-shark.patch: Regenerate. * patches/icedtea-zero.patch: Regenerate. * patches/icedtea-hotspot7-build-fixes.patch: Remove. * Makefile.am (ZERO_PATCHES): Remove icedtea-hotspot7-build-fixes.patch. diffstat: 5 files changed, 371 insertions(+), 384 deletions(-) ChangeLog | 8 Makefile.am | 2 patches/icedtea-shark-build.patch | 2 patches/icedtea-shark.patch | 651 +++++++++++++++++-------------------- patches/icedtea-zero.patch | 92 ++--- diffs (truncated from 916 to 500 lines): diff -r 7fbf1ecbc41d -r d0505857d8da ChangeLog --- a/ChangeLog Tue Dec 02 18:24:55 2008 +0100 +++ b/ChangeLog Wed Dec 03 21:12:42 2008 +0100 @@ -1,3 +1,11 @@ 2008-12-02 Matthias Klose + + * patches/icedtea-shark-build.patch: Regenerate. + * patches/icedtea-shark.patch: Regenerate. + * patches/icedtea-zero.patch: Regenerate. + * patches/icedtea-hotspot7-build-fixes.patch: Remove. + * Makefile.am (ZERO_PATCHES): Remove icedtea-hotspot7-build-fixes.patch. + 2008-12-02 Matthias Klose * patches/icedtea-format-warnings.patch: New. diff -r 7fbf1ecbc41d -r d0505857d8da Makefile.am --- a/Makefile.am Tue Dec 02 18:24:55 2008 +0100 +++ b/Makefile.am Wed Dec 03 21:12:42 2008 +0100 @@ -1750,7 +1750,6 @@ OPENJDK_PATCHES = # If ZERO_BUILD is set then we are building zero. ZERO_PATCHES = \ - patches/icedtea-hotspot7-build-fixes.patch \ patches/icedtea-bytecodeInterpreter.patch \ patches/icedtea-signature-iterator.patch \ patches/icedtea-test-atomic-operations.patch \ @@ -1850,7 +1849,6 @@ ICEDTEA_PATCHES = \ patches/icedtea-display-mode-changer.patch \ patches/icedtea-testenv.patch \ patches/icedtea-format-warnings.patch \ - patches/icedtea-fortify-source.patch \ $(ZERO_PATCHES_COND) if WITH_RHINO diff -r 7fbf1ecbc41d -r d0505857d8da patches/icedtea-shark-build.patch --- a/patches/icedtea-shark-build.patch Tue Dec 02 18:24:55 2008 +0100 +++ b/patches/icedtea-shark-build.patch Wed Dec 03 21:12:42 2008 +0100 @@ -42,7 +42,7 @@ diff -Nru openjdk.orig/hotspot/make/linu $(BUILDTREE) VARIANT=core +$(SUBDIRS_SHARK): $(BUILDTREE_MAKE) -+ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/build/$(OSNAME)/Makefile checks ++ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/Makefile checks + $(BUILDTREE) VARIANT=shark + # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME diff -r 7fbf1ecbc41d -r d0505857d8da patches/icedtea-shark.patch --- a/patches/icedtea-shark.patch Tue Dec 02 18:24:55 2008 +0100 +++ b/patches/icedtea-shark.patch Wed Dec 03 21:12:42 2008 +0100 @@ -1,87 +1,208 @@ diff -ru openjdk/hotspot/src/share/vm/ci -diff -ru openjdk/hotspot/src/share/vm/ci/ciMethod.cpp openjdk/hotspot/src/share/vm/ci/ciMethod.cpp ---- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2008-06-20 10:22:10.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2008-05-19 12:00:23.000000000 +0100 -@@ -56,9 +56,9 @@ - _liveness = NULL; - _bcea = NULL; - _method_blocks = NULL; --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - _flow = NULL; --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK - - if (JvmtiExport::can_hotswap_or_post_breakpoint() && _is_compilable) { - // 6328518 check hotswap conditions under the right lock. -@@ -124,9 +124,9 @@ - _bcea = NULL; - _method_blocks = NULL; - _method_data = NULL; --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - _flow = NULL; --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK - } - - -@@ -294,34 +294,34 @@ - // ------------------------------------------------------------------ - // ciMethod::get_flow_analysis - ciTypeFlow* ciMethod::get_flow_analysis() { --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - if (_flow == NULL) { - ciEnv* env = CURRENT_ENV; - _flow = new (env->arena()) ciTypeFlow(env, this); - _flow->do_flow(); - } - return _flow; +--- openjdk/hotspot/src/share/vm/oops/methodOop.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -727,10 +727,14 @@ + } + + OrderAccess::storestore(); ++#ifdef SHARK ++ mh->_from_interpreted_entry = code->instructions_begin(); ++#else + mh->_from_compiled_entry = code->verified_entry_point(); + OrderAccess::storestore(); + // Instantly compiled code can execute. + mh->_from_interpreted_entry = mh->get_i2c_entry(); ++#endif // SHARK + + } + +--- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -44,6 +44,7 @@ + friend class VMStructs; + friend class CardTableRS; + friend class CheckForUnmarkedOops; // Needs access to raw card bytes. ++ friend class SharkBuilder; + #ifndef PRODUCT + // For debugging. + friend class GuaranteeNotModClosure; +--- openjdk/hotspot/src/share/vm/runtime/globals.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -176,6 +176,18 @@ + #define C2_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{C2 notproduct}", DEFAULT }, + #endif + ++#define SHARK_PRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark product}", DEFAULT }, ++#define SHARK_PD_PRODUCT_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd product}", DEFAULT }, ++#define SHARK_DIAGNOSTIC_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark diagnostic}", DEFAULT }, ++#ifdef PRODUCT ++ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) /* flag is constant */ ++ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) /* flag is constant */ ++ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) ++#else ++ #define SHARK_DEVELOP_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark}", DEFAULT }, ++ #define SHARK_PD_DEVELOP_FLAG_STRUCT(type, name, doc) { #type, XSTR(name), &name, "{Shark pd}", DEFAULT }, ++ #define SHARK_NOTPRODUCT_FLAG_STRUCT(type, name, value, doc) { #type, XSTR(name), &name, "{Shark notproduct}", DEFAULT }, ++#endif + + static Flag flagTable[] = { + RUNTIME_FLAGS(RUNTIME_DEVELOP_FLAG_STRUCT, RUNTIME_PD_DEVELOP_FLAG_STRUCT, RUNTIME_PRODUCT_FLAG_STRUCT, RUNTIME_PD_PRODUCT_FLAG_STRUCT, RUNTIME_DIAGNOSTIC_FLAG_STRUCT, RUNTIME_EXPERIMENTAL_FLAG_STRUCT, RUNTIME_NOTPRODUCT_FLAG_STRUCT, RUNTIME_MANAGEABLE_FLAG_STRUCT, RUNTIME_PRODUCT_RW_FLAG_STRUCT, RUNTIME_LP64_PRODUCT_FLAG_STRUCT) +@@ -189,6 +201,9 @@ + #ifdef COMPILER2 + C2_FLAGS(C2_DEVELOP_FLAG_STRUCT, C2_PD_DEVELOP_FLAG_STRUCT, C2_PRODUCT_FLAG_STRUCT, C2_PD_PRODUCT_FLAG_STRUCT, C2_DIAGNOSTIC_FLAG_STRUCT, C2_NOTPRODUCT_FLAG_STRUCT) + #endif ++#ifdef SHARK ++ SHARK_FLAGS(SHARK_DEVELOP_FLAG_STRUCT, SHARK_PD_DEVELOP_FLAG_STRUCT, SHARK_PRODUCT_FLAG_STRUCT, SHARK_PD_PRODUCT_FLAG_STRUCT, SHARK_DIAGNOSTIC_FLAG_STRUCT, SHARK_NOTPRODUCT_FLAG_STRUCT) ++#endif + {0, NULL, NULL} + }; + +--- openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vframeArray.cpp 2008-12-03 14:33:49.000000000 +0000 +@@ -64,6 +64,11 @@ + assert(monitor->owner() == NULL || (!monitor->owner()->is_unlocked() && !monitor->owner()->has_bias_pattern()), "object must be null or locked, and unbiased"); + BasicObjectLock* dest = _monitors->at(index); + dest->set_obj(monitor->owner()); ++#ifdef SHARK ++ // XXX This can be removed when Shark knows ++ // which monitors are in use. ++ if (monitor->owner()) ++#endif // SHARK + monitor->lock()->move_to(monitor->owner(), dest->lock()); + } + } +@@ -262,6 +267,11 @@ + top = iframe()->previous_monitor_in_interpreter_frame(top); + BasicObjectLock* src = _monitors->at(index); + top->set_obj(src->obj()); ++#ifdef SHARK ++ // XXX This can be removed when Shark knows ++ // which monitors are in use. ++ if (src->obj()) ++#endif // SHARK + src->lock()->move_to(src->obj(), top->lock()); + } + if (ProfileInterpreter) { +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-03 14:23:37.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -94,12 +94,16 @@ + #ifdef TIERED + #define VMTYPE "Server" + #else ++#ifdef SHARK ++ #define VMTYPE "Shark" ++#else + #if defined(COMPILER1) || defined(COMPILER2) +- #define VMTYPE COMPILER1_PRESENT("Client") \ +- COMPILER2_PRESENT("Server") ++ #define VMTYPE COMPILER1_PRESENT("Client") \ ++ COMPILER2_PRESENT("Server") + #else + #define VMTYPE "Core" + #endif // COMPILER1 || COMPILER2 ++#endif // SHARK + #endif // TIERED + #endif // KERNEL + +--- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -229,6 +229,7 @@ + + } + ++#ifndef SHARK + // Compute the caller frame based on the sender sp of stub_frame and stored frame sizes info. + CodeBlob* cb = stub_frame.cb(); + // Verify we have the right vframeArray +@@ -239,6 +240,10 @@ + assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking"); + Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp); + #endif ++#else ++ intptr_t* unpack_sp = stub_frame.sender(&dummy_map).unextended_sp(); ++#endif // !SHARK ++ + // This is a guarantee instead of an assert because if vframe doesn't match + // we will unpack the wrong deoptimized frame and wind up in strange places + // where it will be very difficult to figure out what went wrong. Better +@@ -349,7 +354,9 @@ + + frame_pcs[0] = deopt_sender.raw_pc(); + ++#ifndef SHARK + assert(CodeCache::find_blob_unsafe(frame_pcs[0]) != NULL, "bad pc"); ++#endif // SHARK + + UnrollBlock* info = new UnrollBlock(array->frame_size() * BytesPerWord, + caller_adjustment * BytesPerWord, +@@ -890,7 +897,20 @@ + // stuff a C2I adapter we can properly fill in the callee-save + // register locations. + frame caller = fr.sender(reg_map); ++#ifdef ZERO ++ int frame_size; ++ { ++ // In zero, frame::sp() is the *end* of the frame, so ++ // caller.sp() - fr.sp() is the size of the *caller*. ++ RegisterMap dummy_map(thread, false); ++ frame frame_1 = thread->last_frame(); ++ frame frame_2 = frame_1.sender(&dummy_map); ++ assert(frame_2.sp() == fr.sp(), "should be"); ++ frame_size = frame_2.sp() - frame_1.sp(); ++ } ++#else + int frame_size = caller.sp() - fr.sp(); ++#endif // ZERO + + frame sender = caller; + +@@ -1057,7 +1077,7 @@ + JRT_END + + +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + void Deoptimization::load_class_by_index(constantPoolHandle constant_pool, int index, TRAPS) { + // in case of an unresolved klass entry, load the class. + if (constant_pool->tag_at(index).is_unresolved_klass()) { +@@ -1808,7 +1828,7 @@ + if (xtty != NULL) xtty->tail("statistics"); + } + } -#else // COMPILER2 +#else // COMPILER2 || SHARK - ShouldNotReachHere(); - return NULL; --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK - } - - - // ------------------------------------------------------------------ - // ciMethod::get_osr_flow_analysis - ciTypeFlow* ciMethod::get_osr_flow_analysis(int osr_bci) { --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - // OSR entry points are always place after a call bytecode of some sort - assert(osr_bci >= 0, "must supply valid OSR entry point"); - ciEnv* env = CURRENT_ENV; - ciTypeFlow* flow = new (env->arena()) ciTypeFlow(env, this, osr_bci); - flow->do_flow(); - return flow; --#else // COMPILER2 -+#else // COMPILER2 || SHARK - ShouldNotReachHere(); - return NULL; --#endif // COMPILER2 -+#endif // COMPILER2 || SHARK - } - - // ------------------------------------------------------------------ -diff -ru openjdk/hotspot/src/share/vm/ci/ciMethod.hpp openjdk/hotspot/src/share/vm/ci/ciMethod.hpp ---- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2008-06-20 10:22:10.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2008-05-19 12:10:30.000000000 +0100 -@@ -69,7 +69,7 @@ - - // Optional liveness analyzer. - MethodLiveness* _liveness; --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - ciTypeFlow* _flow; - #endif - -diff -ru openjdk/hotspot/src/share/vm/code/nmethod.cpp openjdk/hotspot/src/share/vm/code/nmethod.cpp ---- openjdk/hotspot/src/share/vm/code/nmethod.cpp 2008-06-20 10:22:11.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2008-04-07 11:49:27.000000000 +0100 -@@ -66,6 +66,11 @@ + + + // Stubs for C1 only system. +@@ -1844,4 +1864,4 @@ + return buf; + } + +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp.orig 2008-12-03 14:22:17.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -22,7 +22,7 @@ + * + */ + +-#if !defined(COMPILER1) && !defined(COMPILER2) ++#if !defined(COMPILER1) && !defined(COMPILER2) && !defined(SHARK) + define_pd_global(bool, BackgroundCompilation, false); + define_pd_global(bool, UseTLAB, false); + define_pd_global(bool, CICompileOSR, false); +--- openjdk/hotspot/src/share/vm/code/nmethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -318,6 +318,7 @@ + + bool is_compiled_by_c1() const; + bool is_compiled_by_c2() const; ++ bool is_compiled_by_shark() const; + + // boundaries for different parts + address code_begin () const { return _entry_point; } +--- openjdk/hotspot/src/share/vm/code/nmethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/code/nmethod.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -65,6 +65,11 @@ assert(compiler() != NULL, "must be"); return compiler()->is_c2(); } @@ -93,29 +214,50 @@ diff -ru openjdk/hotspot/src/share/vm/co -@@ -1883,6 +1888,8 @@ +@@ -1567,6 +1572,7 @@ + // Method that knows how to preserve outgoing arguments at call. This method must be + // called with a frame corresponding to a Java invoke + void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { ++#ifndef SHARK + if (!method()->is_native()) { + SimpleScopeDesc ssd(this, fr.pc()); + Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci()); +@@ -1574,6 +1580,7 @@ + symbolOop signature = call->signature(); + fr.oops_compiled_arguments_do(signature, is_static, reg_map, f); + } ++#endif // !SHARK + } + + +@@ -2003,6 +2010,8 @@ tty->print("(c1) "); } else if (is_compiled_by_c2()) { tty->print("(c2) "); + } else if (is_compiled_by_shark()) { + tty->print("(shark) "); } else { - assert(is_native_method(), "Who else?"); tty->print("(nm) "); -diff -ru openjdk/hotspot/src/share/vm/code/nmethod.hpp openjdk/hotspot/src/share/vm/code/nmethod.hpp ---- openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-06-20 10:22:11.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/code/nmethod.hpp 2008-04-07 11:48:22.000000000 +0100 -@@ -290,6 +290,7 @@ - - bool is_compiled_by_c1() const; - bool is_compiled_by_c2() const; -+ bool is_compiled_by_shark() const; - - // boundaries for different parts - address code_begin () const { return _entry_point; } -diff -ru openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp ---- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2008-06-20 10:22:11.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2008-04-07 11:50:35.000000000 +0100 + } +--- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -554,6 +554,14 @@ + #endif + #endif // COMPILER2 + ++#ifdef SHARK ++#if defined(COMPILER1) || defined(COMPILER2) ++#error "Can't use COMPILER1 or COMPILER2 with shark" ++#endif ++ _compilers[0] = new SharkCompiler(); ++ _compilers[1] = _compilers[0]; ++#endif ++ + // Initialize the CompileTask free list + _task_free_list = NULL; + +--- openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/abstractCompiler.hpp 2008-12-03 14:33:48.000000000 +0000 @@ -45,18 +45,26 @@ // Missing feature tests virtual bool supports_native() { return true; } @@ -144,242 +286,81 @@ diff -ru openjdk/hotspot/src/share/vm/co #endif // TIERED // Customization -diff -ru openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp ---- openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2008-06-20 10:22:11.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2008-04-15 17:16:38.000000000 +0100 -@@ -554,6 +554,14 @@ - #endif - #endif // COMPILER2 - -+#ifdef SHARK -+#if defined(COMPILER1) || defined(COMPILER2) -+#error "Can't use COMPILER1 or COMPILER2 with shark" -+#endif -+ _compilers[0] = new SharkCompiler(); -+ _compilers[1] = _compilers[0]; -+#endif -+ - // Initialize the CompileTask free list - _task_free_list = NULL; - -diff -ru openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp ---- openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-06-20 10:22:11.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/memory/cardTableModRefBS.hpp 2008-05-06 10:43:55.000000000 +0100 -@@ -44,6 +44,7 @@ - friend class VMStructs; - friend class CardTableRS; - friend class CheckForUnmarkedOops; // Needs access to raw card bytes. -+ friend class SharkBuilder; - #ifndef PRODUCT - // For debugging. - friend class GuaranteeNotModClosure; -diff -ru openjdk/hotspot/src/share/vm/oops/methodOop.cpp openjdk/hotspot/src/share/vm/oops/methodOop.cpp ---- openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-06-20 10:22:11.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/oops/methodOop.cpp 2008-04-15 10:52:44.000000000 +0100 -@@ -730,10 +730,14 @@ void methodOopDesc::set_code(methodHandl - } - - OrderAccess::storestore(); -+#ifdef SHARK -+ mh->_from_interpreted_entry = code->instructions_begin(); -+#else - mh->_from_compiled_entry = code->verified_entry_point(); - OrderAccess::storestore(); - // Instantly compiled code can execute. - mh->_from_interpreted_entry = mh->get_i2c_entry(); -+#endif // SHARK - - } - -diff -ru openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp ---- openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-06-20 10:22:12.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/deoptimization.cpp 2008-05-19 13:19:54.000000000 +0100 -@@ -999,7 +999,7 @@ - JRT_END - - --#ifdef COMPILER2 -+#if defined(COMPILER2) || defined(SHARK) - void Deoptimization::load_class_by_index(constantPoolHandle constant_pool, int index, TRAPS) { - // in case of an unresolved klass entry, load the class. - if (constant_pool->tag_at(index).is_unresolved_klass()) { -@@ -1750,7 +1750,7 @@ - if (xtty != NULL) xtty->tail("statistics"); - } - } +--- openjdk/hotspot/src/share/vm/ci/ciMethod.hpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciMethod.hpp 2008-12-03 14:33:48.000000000 +0000 +@@ -69,7 +69,7 @@ + + // Optional liveness analyzer. + MethodLiveness* _liveness; +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + ciTypeFlow* _flow; + #endif + +--- openjdk/hotspot/src/share/vm/ci/ciMethod.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciMethod.cpp 2008-12-03 14:33:48.000000000 +0000 +@@ -56,9 +56,9 @@ + _liveness = NULL; + _bcea = NULL; + _method_blocks = NULL; +-#ifdef COMPILER2 ++#if defined(COMPILER2) || defined(SHARK) + _flow = NULL; +-#endif // COMPILER2 ++#endif // COMPILER2 || SHARK + + if (JvmtiExport::can_hotswap_or_post_breakpoint() && _is_compilable) { + // 6328518 check hotswap conditions under the right lock. +@@ -124,9 +124,9 @@ From doko at ubuntu.com Wed Dec 3 12:22:59 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 20:22:59 +0000 Subject: changeset in /hg/icedtea6: * patches/icedtea-fortify-source.patc... Message-ID: changeset 1df8eaba0e60 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1df8eaba0e60 description: * patches/icedtea-fortify-source.patch: Don't introduce new warnings. diffstat: 2 files changed, 7 insertions(+), 6 deletions(-) ChangeLog | 1 + patches/icedtea-fortify-source.patch | 12 ++++++------ diffs (68 lines): diff -r 18303d88247c -r 1df8eaba0e60 ChangeLog --- a/ChangeLog Wed Dec 03 21:08:27 2008 +0100 +++ b/ChangeLog Wed Dec 03 21:22:19 2008 +0100 @@ -1,6 +1,7 @@ 2008-12-03 Matthias Klose * patches/hotspot/14.0b08/icedtea-shark.patch: Fix path name. + * patches/icedtea-fortify-source.patch: Don't introduce new warnings. 2008-12-03 Matthias Klose diff -r 18303d88247c -r 1df8eaba0e60 patches/icedtea-fortify-source.patch --- a/patches/icedtea-fortify-source.patch Wed Dec 03 21:08:27 2008 +0100 +++ b/patches/icedtea-fortify-source.patch Wed Dec 03 21:22:19 2008 +0100 @@ -5,7 +5,7 @@ jio_fprintf(defaultStream::output_stream(), "%s", s); } else { - ::write(defaultStream::output_fd(), s, (int)strlen(s)); -+ ssize_t neverused_rv = ::write(defaultStream::output_fd(), s, (int)strlen(s)); ++ ssize_t rv_neverused __attribute__((unused)) = ::write(defaultStream::output_fd(), s, (int)strlen(s)); } } @@ -16,7 +16,7 @@ void fileStream::write(const char* s, size_t len) { - if (_file != NULL) fwrite(s, 1, len, _file); -+ if (_file != NULL) size_t neverused_rv = fwrite(s, 1, len, _file); ++ if (_file != NULL) size_t rv_neverused __attribute__((unused)) = fwrite(s, 1, len, _file); update_position(s, len); } @@ -25,7 +25,7 @@ void fdStream::write(const char* s, size_t len) { - if (_fd != -1) ::write(_fd, s, (int)len); -+ if (_fd != -1) ssize_t neverused_rv = ::write(_fd, s, (int)len); ++ if (_fd != -1) ssize_t rv_neverused __attribute__((unused)) = ::write(_fd, s, (int)len); update_position(s, len); } @@ -36,7 +36,7 @@ dli_fname, sizeof(dli_fname), NULL); assert(ret != 0, "cannot locate libjvm"); - realpath(dli_fname, buf); -+ char *neverused_rv = realpath(dli_fname, buf); ++ char *rv_neverused __attribute__((unused)) = realpath(dli_fname, buf); if (strcmp(Arguments::sun_java_launcher(), "gamma") == 0) { // Support for the gamma launcher. Typical value for buf is @@ -45,7 +45,7 @@ p = strstr(p, "_g") ? "_g" : ""; - realpath(java_home_var, buf); -+ char *neverused_rv = realpath(java_home_var, buf); ++ char *rv_neverused __attribute__((unused)) = realpath(java_home_var, buf); sprintf(buf + strlen(buf), "/jre/lib/%s", cpu_arch); if (0 == access(buf, F_OK)) { // Use current module name "libjvm[_g].so" instead of @@ -54,7 +54,7 @@ } else { // Go back to path of .so - realpath(dli_fname, buf); -+ neverused_rv = realpath(dli_fname, buf); ++ rv_neverused = realpath(dli_fname, buf); } } } From Kelly.Ohair at Sun.COM Wed Dec 3 12:24:55 2008 From: Kelly.Ohair at Sun.COM (Kelly O'Hair) Date: Wed, 03 Dec 2008 12:24:55 -0800 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <1228314050.1541.839.camel@localhost.localdomain> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> <4935DF0E.5040701@sun.com> <49368DA0.8060808@ubuntu.com> <1228314050.1541.839.camel@localhost.localdomain> Message-ID: <4936EB17.3070607@sun.com> Casting a function call to (void) is a well defined, well understood and explicit language syntax. The function return is being explicitly ignored. If we have to jump through hoops for this gcc then maybe the -Werror should just be turned off for this gcc release in the Makefiles. -kto Christian Thalinger wrote: > On Wed, 2008-12-03 at 14:46 +0100, Matthias Klose wrote: >> int fn () __attribute__ ((warn_unused_result)); >> int foo () >> { >> if (fn () < 0) return -1; >> (void) fn (); >> return 0; >> } >> >> gcc (4.3.x, 4.4) still warns about the unused return value. > > I see the problem. write is defined with __wur (which is most likely > __attribute__ ((warn_unused_result)), I did not check) in glibc-2.7, but > not in e.g. glibc-2.3.6, and GCC warns about it even when a (void) cast > is used. > > I'd say this is a bug in GCC. When I explicitly ask for ignoring the > return value, it should do it. > > - Christian > From doko at ubuntu.com Wed Dec 3 12:36:35 2008 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 03 Dec 2008 21:36:35 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <4936EB17.3070607@sun.com> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> <4935DF0E.5040701@sun.com> <49368DA0.8060808@ubuntu.com> <1228314050.1541.839.camel@localhost.localdomain> <4936EB17.3070607@sun.com> Message-ID: <4936EDD3.6040809@ubuntu.com> Kelly O'Hair schrieb: > Casting a function call to (void) is a well defined, well understood > and explicit language syntax. The function return is being explicitly > ignored. > If we have to jump through hoops for this gcc then maybe the -Werror should > just be turned off for this gcc release in the Makefiles. > > -kto > > Christian Thalinger wrote: >> On Wed, 2008-12-03 at 14:46 +0100, Matthias Klose wrote: >>> int fn () __attribute__ ((warn_unused_result)); >>> int foo () >>> { >>> if (fn () < 0) return -1; >>> (void) fn (); >>> return 0; >>> } >>> >>> gcc (4.3.x, 4.4) still warns about the unused return value. >> >> I see the problem. write is defined with __wur (which is most likely >> __attribute__ ((warn_unused_result)), I did not check) in glibc-2.7, but >> not in e.g. glibc-2.3.6, and GCC warns about it even when a (void) cast >> is used. >> >> I'd say this is a bug in GCC. When I explicitly ask for ignoring the >> return value, it should do it. this is http://gcc.gnu.org/PR25509, not seen as a bug in GCC. I'll discuss a solution for Ubuntu with my coworkers next week. Matthias From mark at klomp.org Wed Dec 3 13:49:21 2008 From: mark at klomp.org (Mark Wielaard) Date: Wed, 03 Dec 2008 22:49:21 +0100 Subject: OpenJDK 6 build 14 source posted In-Reply-To: <4936E036.7030407@sun.com> References: <4936E036.7030407@sun.com> Message-ID: <1228340961.16913.11.camel@hermans.wildebeest.org> On Wed, 2008-12-03 at 11:38 -0800, Joe Darcy wrote: > The source bundle for OpenJDK 6 build 14 is available for download from: > > http://download.java.net/openjdk/jdk6/ Thanks. imported into mercurial for those that want easy diffs: http://icedtea.classpath.org/hg/openjdk6 Matthias is importing it into icedtea6 now. > Fixes of note include: > > * All relevant security fixes in the current round of security updates: > http://blogs.sun.com/security/category/news [1] Thanks, you have the test fixes we needed for MultipleJRE.sh. http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2008-December/004145.html Do you know the status of the two extra tests (TestLimits.java and GuessNext.java) that came in with Lillian's security fix import? > * Upgrading the HotSpot in OpenJDK 6 from HotSpot 10 to HotSpot 11 [2] We are discussing whether or not to update to this for icedtea6 or skip it completely and go with HotSpot 14 (which is already the default now). I see the hotspot tests for 10 were removed and some new ones added. The newer hotspot in jdk7 has even other tests. In icedtea we have combined them all to have a bigger set of tests (there are 20 now). It might be an idea to do the same (and push the hs 10 and hs 11 tests towards hotspot in jdk7). > This will be the last teamware based source drop; all future source > drops will be based on the forthcoming public OpenJDK 6 Mercurial > repositories. Thanks, looking forward to it. Cheers, Mark From doko at ubuntu.com Wed Dec 3 13:51:21 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 03 Dec 2008 21:51:21 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Matthias Klose changeset c8712800dc87 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c8712800dc87 description: 2008-12-03 Matthias Klose * Makefile.am: Update for b14. * Makefile.am (ICEDTEA_PATCHES): Remove patches applied in b14. * patches/icedtea-4486841.patch, patches/icedtea-6484091.patch, patches/icedtea-6497740.patch, patches/icedtea-6588160.patch, patches/icedtea-6592792.patch, patches/icedtea-6721753.patch, patches/icedtea-6726779.patch, patches/icedtea-6733959.patch, patches/icedtea-6734167.patch, patches/icedtea-6755943.patch, patches/icedtea-6766136.patch: Remove. * patches/icedtea-rhino.patch: Update. diffstat: 14 files changed, 117 insertions(+), 4852 deletions(-) ChangeLog | 12 Makefile.am | 19 patches/icedtea-rhino.patch | 202 ++-- patches/security/icedtea-4486841.patch | 1234 ------------------------ patches/security/icedtea-6484091.patch | 129 -- patches/security/icedtea-6497740.patch | 1587 -------------------------------- patches/security/icedtea-6588160.patch | 42 patches/security/icedtea-6592792.patch | 360 ------- patches/security/icedtea-6721753.patch | 116 -- patches/security/icedtea-6726779.patch | 142 -- patches/security/icedtea-6733959.patch | 231 ---- patches/security/icedtea-6734167.patch | 89 - patches/security/icedtea-6755943.patch | 617 ------------ patches/security/icedtea-6766136.patch | 189 --- diffs (truncated from 5073 to 500 lines): diff -r 1df8eaba0e60 -r c8712800dc87 ChangeLog --- a/ChangeLog Wed Dec 03 21:22:19 2008 +0100 +++ b/ChangeLog Wed Dec 03 22:50:40 2008 +0100 @@ -1,3 +1,15 @@ 2008-12-03 Matthias Klose + + * Makefile.am: Update for b14. + * Makefile.am (ICEDTEA_PATCHES): Remove patches applied in b14. + * patches/icedtea-4486841.patch, patches/icedtea-6484091.patch, + patches/icedtea-6497740.patch, patches/icedtea-6588160.patch, + patches/icedtea-6592792.patch, patches/icedtea-6721753.patch, + patches/icedtea-6726779.patch, patches/icedtea-6733959.patch, + patches/icedtea-6734167.patch, patches/icedtea-6755943.patch, + patches/icedtea-6766136.patch: Remove. + * patches/icedtea-rhino.patch: Update. + 2008-12-03 Matthias Klose * patches/hotspot/14.0b08/icedtea-shark.patch: Fix path name. diff -r 1df8eaba0e60 -r c8712800dc87 Makefile.am --- a/Makefile.am Wed Dec 03 21:22:19 2008 +0100 +++ b/Makefile.am Wed Dec 03 22:50:40 2008 +0100 @@ -1,6 +1,6 @@ OPENJDK_DATE = 05_nov_2008 -OPENJDK_DATE = 05_nov_2008 -OPENJDK_MD5SUM = eb9a408ac0215f3f0aa5c02fa86d5b30 -OPENJDK_VERSION = b13 +OPENJDK_DATE = 25_nov_2008 +OPENJDK_MD5SUM = 9f9773a822156dd3d576d83d794364ce +OPENJDK_VERSION = b14 CACAO_VERSION = 0.99.3 CACAO_MD5SUM = 80de3ad344c1a20c086ec5f1390bd1b8 @@ -578,18 +578,7 @@ ICEDTEA_PATCHES = \ patches/icedtea-display-mode-changer.patch \ patches/icedtea-testenv.patch \ patches/icedtea-samejvm-safe.patch \ - patches/icedtea-6728542-epoll.patch \ - patches/security/icedtea-4486841.patch \ - patches/security/icedtea-6484091.patch \ - patches/security/icedtea-6497740.patch \ - patches/security/icedtea-6588160.patch \ - patches/security/icedtea-6592792.patch \ - patches/security/icedtea-6721753.patch \ - patches/security/icedtea-6726779.patch \ - patches/security/icedtea-6733959.patch \ - patches/security/icedtea-6734167.patch \ - patches/security/icedtea-6755943.patch \ - patches/security/icedtea-6766136.patch + patches/icedtea-6728542-epoll.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r 1df8eaba0e60 -r c8712800dc87 patches/icedtea-rhino.patch --- a/patches/icedtea-rhino.patch Wed Dec 03 21:22:19 2008 +0100 +++ b/patches/icedtea-rhino.patch Wed Dec 03 22:50:40 2008 +0100 @@ -1,5 +1,26 @@ ---- openjdk.orig/jdk/make/com/sun/Makefile 2008-06-22 18:53:03.000000000 +0200 -+++ openjdk/jdk/make/com/sun/Makefile 2008-06-22 18:56:41.000000000 +0200 +--- openjdk/hotspot/src/share/vm/runtime/os.cpp.orig 2008-11-22 00:11:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2008-12-03 21:16:14.000000000 +0000 +@@ -886,6 +886,7 @@ + "%/lib/jsse.jar:" + "%/lib/jce.jar:" + "%/lib/charsets.jar:" ++ "%/lib/rhino.jar:" + "%/classes"; + char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep); + if (sysclasspath == NULL) return false; +--- openjdk/jdk/make/com/sun/script/Makefile.orig 2008-11-25 09:01:10.000000000 +0000 ++++ openjdk/jdk/make/com/sun/script/Makefile 2008-12-03 21:13:14.000000000 +0000 +@@ -31,6 +31,8 @@ + + AUTO_FILES_JAVA_DIRS = com/sun/script + ++OTHER_JAVACFLAGS = -classpath $(RHINO_JAR) ++ + # + # Files that need to be copied + # +--- openjdk/jdk/make/com/sun/Makefile.orig 2008-11-25 09:01:09.000000000 +0000 ++++ openjdk/jdk/make/com/sun/Makefile 2008-12-03 21:14:36.000000000 +0000 @@ -31,15 +31,8 @@ PRODUCT = sun include $(BUILDDIR)/common/Defs.gmk @@ -14,11 +35,54 @@ # Omit mirror since it's built with the apt tool. -SUBDIRS = $(SCRIPT_SUBDIR) image security crypto/provider jndi jmx \ +SUBDIRS = script image security crypto/provider jndi jmx \ - java inputmethods org xml rowset net/httpserver net/ssl demo \ + java inputmethods org rowset net/httpserver net/ssl demo \ tools jarsigner ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java 2008-06-22 19:02:39.000000000 +0200 +--- openjdk/jdk/make/common/Release.gmk.orig 2008-12-03 21:12:23.000000000 +0000 ++++ openjdk/jdk/make/common/Release.gmk 2008-12-03 21:13:14.000000000 +0000 +@@ -772,6 +772,7 @@ + $(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar + $(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar + $(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar ++ $(LN) -sf $(RHINO_JAR) $(JRE_IMAGE_DIR)/lib/rhino.jar + @# Generate meta-index to make boot and extension class loaders lazier + $(CD) $(JRE_IMAGE_DIR)/lib && \ + $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java 2008-12-03 21:13:13.000000000 +0000 +@@ -25,7 +25,7 @@ + + package com.sun.script.javascript; + +-import sun.org.mozilla.javascript.internal.*; ++import org.mozilla.javascript.*; + import javax.script.*; + + /** +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java 2008-12-03 21:13:05.000000000 +0000 +@@ -26,7 +26,7 @@ + package com.sun.script.javascript; + import javax.script.*; + import java.util.*; +-import sun.org.mozilla.javascript.internal.*; ++import org.mozilla.javascript.*; + import com.sun.script.util.*; + + /** +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java 2008-12-03 21:13:14.000000000 +0000 +@@ -24,7 +24,7 @@ + */ + + package com.sun.script.javascript; +-import sun.org.mozilla.javascript.internal.*; ++import org.mozilla.javascript.*; + import javax.script.*; + import java.util.*; + +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java 2008-12-03 21:13:05.000000000 +0000 @@ -26,7 +26,7 @@ package com.sun.script.javascript; import com.sun.script.util.*; @@ -28,8 +92,30 @@ import java.lang.reflect.Method; import java.io.*; import java.util.*; ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java 2008-06-22 19:02:49.000000000 +0200 +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java 2008-12-03 21:13:05.000000000 +0000 +@@ -26,7 +26,7 @@ + package com.sun.script.javascript; + + import java.util.*; +-import sun.org.mozilla.javascript.internal.*; ++import org.mozilla.javascript.*; + + /** + * This class prevents script access to certain sensitive classes. +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java 2008-12-03 21:13:14.000000000 +0000 +@@ -26,7 +26,7 @@ + package com.sun.script.javascript; + + import javax.script.Invocable; +-import sun.org.mozilla.javascript.internal.*; ++import org.mozilla.javascript.*; + + /** + * This class implements Rhino-like JavaAdapter to help implement a Java +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java 2008-12-03 21:13:05.000000000 +0000 @@ -25,7 +25,7 @@ package com.sun.script.javascript; @@ -39,30 +125,19 @@ import java.util.*; /** ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java 2008-06-22 19:03:00.000000000 +0200 -@@ -26,7 +26,7 @@ - package com.sun.script.javascript; +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java 2008-12-03 21:13:14.000000000 +0000 +@@ -27,7 +27,7 @@ - import java.util.*; + import java.lang.reflect.*; + import static sun.security.util.SecurityConstants.*; -import sun.org.mozilla.javascript.internal.*; +import org.mozilla.javascript.*; /** - * This class prevents script access to certain sensitive classes. ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java 2008-06-22 19:03:10.000000000 +0200 -@@ -26,7 +26,7 @@ - package com.sun.script.javascript; - import javax.script.*; - import java.util.*; --import sun.org.mozilla.javascript.internal.*; -+import org.mozilla.javascript.*; - import com.sun.script.util.*; - - /** ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java 2008-06-22 19:03:25.000000000 +0200 + * This wrap factory is used for security reasons. JSR 223 script +--- openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java.orig 2008-11-25 09:02:56.000000000 +0000 ++++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java 2008-12-03 21:13:05.000000000 +0000 @@ -25,7 +25,7 @@ package com.sun.script.javascript; @@ -72,78 +147,3 @@ /** * Represents compiled JavaScript code. ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java 2008-06-22 19:03:35.000000000 +0200 -@@ -25,7 +25,7 @@ - - package com.sun.script.javascript; - --import sun.org.mozilla.javascript.internal.*; -+import org.mozilla.javascript.*; - import javax.script.*; - - /** ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java 2008-06-22 19:03:48.000000000 +0200 -@@ -27,7 +27,7 @@ - - import java.lang.reflect.*; - import static sun.security.util.SecurityConstants.*; --import sun.org.mozilla.javascript.internal.*; -+import org.mozilla.javascript.*; - - /** - * This wrap factory is used for security reasons. JSR 223 script ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java 2008-06-22 19:05:17.000000000 +0200 -@@ -26,7 +26,7 @@ - package com.sun.script.javascript; - - import javax.script.Invocable; --import sun.org.mozilla.javascript.internal.*; -+import org.mozilla.javascript.*; - - /** - * This class implements Rhino-like JavaAdapter to help implement a Java ---- openjdk.orig/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java 2008-06-22 18:52:46.000000000 +0200 -+++ openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java 2008-06-22 19:05:31.000000000 +0200 -@@ -24,7 +24,7 @@ - */ - - package com.sun.script.javascript; --import sun.org.mozilla.javascript.internal.*; -+import org.mozilla.javascript.*; - import javax.script.*; - import java.util.*; - ---- openjdk.orig/jdk/make/com/sun/script/Makefile 2008-06-22 18:53:02.000000000 +0200 -+++ openjdk/jdk/make/com/sun/script/Makefile 2008-06-22 21:12:35.000000000 +0200 -@@ -31,6 +31,8 @@ - - AUTO_FILES_JAVA_DIRS = com/sun/script - -+OTHER_JAVACFLAGS = -classpath $(RHINO_JAR) -+ - # - # Files that need to be copied - # ---- openjdk.orig/jdk/make/common/Release.gmk 2008-06-22 18:53:02.000000000 +0200 -+++ openjdk/jdk/make/common/Release.gmk 2008-06-23 00:14:02.000000000 +0200 -@@ -772,6 +772,7 @@ - $(CP) $(RT_JAR) $(JRE_IMAGE_DIR)/lib/rt.jar - $(CP) $(RESOURCES_JAR) $(JRE_IMAGE_DIR)/lib/resources.jar - $(CP) $(JSSE_JAR) $(JRE_IMAGE_DIR)/lib/jsse.jar -+ $(LN) -sf $(RHINO_JAR) $(JRE_IMAGE_DIR)/lib/rhino.jar - @# Generate meta-index to make boot and extension class loaders lazier - $(CD) $(JRE_IMAGE_DIR)/lib && \ - $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ ---- openjdk/hotspot/src/share/vm/runtime/os.cpp.orig 2008-06-23 00:17:03.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2008-06-22 22:34:33.000000000 +0200 -@@ -949,6 +949,7 @@ - "%/lib/jsse.jar:" - "%/lib/jce.jar:" - "%/lib/charsets.jar:" -+ "%/lib/rhino.jar:" - "%/classes"; - char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep); - if (sysclasspath == NULL) return false; diff -r 1df8eaba0e60 -r c8712800dc87 patches/security/icedtea-4486841.patch --- a/patches/security/icedtea-4486841.patch Wed Dec 03 21:22:19 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1234 +0,0 @@ ---- old/src/share/classes/sun/nio/cs/UTF_8.java Thu Oct 9 16:02:01 2008 -+++ openjdk/jdk/src/share/classes/sun/nio/cs/UTF_8.java Thu Oct 9 16:02:01 2008 -@@ -1,5 +1,5 @@ - /* -- * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. -+ * Copyright 2000-2008 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 -@@ -25,34 +25,36 @@ - - package sun.nio.cs; - -+import java.nio.Buffer; - import java.nio.ByteBuffer; - import java.nio.CharBuffer; --import java.nio.BufferOverflowException; --import java.nio.BufferUnderflowException; - import java.nio.charset.Charset; - import java.nio.charset.CharsetDecoder; - import java.nio.charset.CharsetEncoder; - import java.nio.charset.CoderResult; --import java.nio.charset.CharacterCodingException; --import java.nio.charset.MalformedInputException; --import java.nio.charset.UnmappableCharacterException; - -- --/* -- * # Bits Bit pattern -- * 1 7 0xxxxxxx -- * 2 11 110xxxxx 10xxxxxx -- * 3 16 1110xxxx 10xxxxxx 10xxxxxx -- * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx -- * 5 26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx -- * 6 31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx -+/* Legal UTF-8 Byte Sequences - * -- * UCS-2 uses 1-3, UTF-16 uses 1-4, UCS-4 uses 1-6 -+ * # Code Points Bits Bit/Byte pattern -+ * 1 7 0xxxxxxx -+ * U+0000..U+007F 00..7F -+ * -+ * 2 11 110xxxxx 10xxxxxx -+ * U+0080..U+07FF C2..DF 80..BF -+ * -+ * 3 16 1110xxxx 10xxxxxx 10xxxxxx -+ * U+0800..U+0FFF E0 A0..BF 80..BF -+ * U+1000..U+FFFF E1..EF 80..BF 80..BF -+ * -+ * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx -+ * U+10000..U+3FFFF F0 90..BF 80..BF 80..BF -+ * U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF -+ * U+100000..U10FFFF F4 80..8F 80..BF 80..BF -+ * - */ - - class UTF_8 extends Unicode - { -- - public UTF_8() { - super("UTF-8", StandardCharsets.aliases_UTF_8); - } -@@ -69,6 +71,11 @@ - return new Encoder(this); - } - -+ static final void updatePositions(Buffer src, int sp, -+ Buffer dst, int dp) { -+ src.position(sp - src.arrayOffset()); -+ dst.position(dp - dst.arrayOffset()); -+ } - - private static class Decoder extends CharsetDecoder { - private Decoder(Charset cs) { -@@ -75,161 +82,182 @@ - super(cs, 1.0f, 1.0f); - } - -- private boolean isContinuation(int b) { -- return ((b & 0xc0) == 0x80); -+ private static boolean isNotContinuation(int b) { -+ return (b & 0xc0) != 0x80; - } - -- private final Surrogate.Generator sgg = new Surrogate.Generator(); -+ // [C2..DF] [80..BF] -+ private static boolean isMalformed2(int b1, int b2) { -+ return (b1 & 0x1e) == 0x0 || (b2 & 0xc0) != 0x80; -+ } - -+ // [E0] [A0..BF] [80..BF] -+ // [E1..EF] [80..BF] [80..BF] -+ private static boolean isMalformed3(int b1, int b2, int b3) { -+ return (b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) || -+ (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80; -+ } -+ -+ // [F0] [90..BF] [80..BF] [80..BF] -+ // [F1..F3] [80..BF] [80..BF] [80..BF] -+ // [F4] [80..8F] [80..BF] [80..BF] -+ // only check 80-be range here, the [0xf0,0x80...] and [0xf4,0x90-...] -+ // will be checked by Surrogate.neededFor(uc) -+ private static boolean isMalformed4(int b2, int b3, int b4) { -+ return (b2 & 0xc0) != 0x80 || (b3 & 0xc0) != 0x80 || -+ (b4 & 0xc0) != 0x80; -+ } -+ -+ private static CoderResult lookupN(ByteBuffer src, int n) -+ { -+ for (int i = 1; i < n; i++) { -+ if (isNotContinuation(src.get())) -+ return CoderResult.malformedForLength(i); -+ } -+ return CoderResult.malformedForLength(n); -+ } -+ -+ private static CoderResult malformedN(ByteBuffer src, int nb) { -+ switch (nb) { -+ case 1: -+ int b1 = src.get(); -+ if ((b1 >> 2) == -2) { -+ // 5 bytes 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx -+ if (src.remaining() < 4) -+ return CoderResult.UNDERFLOW; -+ return lookupN(src, 5); -+ } -+ if ((b1 >> 1) == -2) { -+ // 6 bytes 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx -+ if (src.remaining() < 5) -+ return CoderResult.UNDERFLOW; -+ return lookupN(src, 6); -+ } -+ return CoderResult.malformedForLength(1); -+ case 2: // always 1 -+ return CoderResult.malformedForLength(1); -+ case 3: -+ b1 = src.get(); -+ int b2 = src.get(); // no need to lookup b3 -+ return CoderResult.malformedForLength( -+ ((b1 == (byte)0xe0 && (b2 & 0xe0) == 0x80) || -+ isNotContinuation(b2))?1:2); -+ case 4: // we don't care the speed here -+ b1 = src.get() & 0xff; -+ b2 = src.get() & 0xff; -+ if (b1 > 0xf4 || -+ (b1 == 0xf0 && (b2 < 0x90 || b2 > 0xbf)) || -+ (b1 == 0xf4 && (b2 & 0xf0) != 0x80) || -+ isNotContinuation(b2)) -+ return CoderResult.malformedForLength(1); -+ if (isNotContinuation(src.get())) -+ return CoderResult.malformedForLength(2); -+ return CoderResult.malformedForLength(3); -+ default: -+ assert false; -+ return null; -+ } -+ } -+ -+ private static CoderResult malformed(ByteBuffer src, int sp, -+ CharBuffer dst, int dp, -+ int nb) -+ { -+ src.position(sp - src.arrayOffset()); -+ CoderResult cr = malformedN(src, nb); -+ updatePositions(src, sp, dst, dp); -+ return cr; -+ } -+ -+ private static CoderResult malformed(ByteBuffer src, -+ int mark, int nb) -+ { -+ src.position(mark); -+ CoderResult cr = malformedN(src, nb); -+ src.position(mark); -+ return cr; -+ } -+ -+ private static CoderResult xflow(Buffer src, int sp, int sl, -+ Buffer dst, int dp, int nb) { -+ updatePositions(src, sp, dst, dp); -+ return (nb == 0 || sl - sp < nb) -+ ?CoderResult.UNDERFLOW:CoderResult.OVERFLOW; -+ } -+ -+ private static CoderResult xflow(Buffer src, int mark, int nb) { -+ CoderResult cr = (nb == 0 || src.remaining() < (nb - 1)) -+ ?CoderResult.UNDERFLOW:CoderResult.OVERFLOW; -+ src.position(mark); -+ return cr; -+ } -+ - private CoderResult decodeArrayLoop(ByteBuffer src, - CharBuffer dst) - { -+ // This method is optimized for ASCII input. - byte[] sa = src.array(); - int sp = src.arrayOffset() + src.position(); - int sl = src.arrayOffset() + src.limit(); -- assert (sp <= sl); -- sp = (sp <= sl ? sp : sl); -+ - char[] da = dst.array(); - int dp = dst.arrayOffset() + dst.position(); From Joe.Darcy at Sun.COM Wed Dec 3 14:35:29 2008 From: Joe.Darcy at Sun.COM (Joe Darcy) Date: Wed, 03 Dec 2008 14:35:29 -0800 Subject: OpenJDK 6 build 14 source posted In-Reply-To: <1228340961.16913.11.camel@hermans.wildebeest.org> References: <4936E036.7030407@sun.com> <1228340961.16913.11.camel@hermans.wildebeest.org> Message-ID: <493709B1.2030708@sun.com> Hello. On 12/03/08 01:49 PM, Mark Wielaard wrote: > On Wed, 2008-12-03 at 11:38 -0800, Joe Darcy wrote: > >> The source bundle for OpenJDK 6 build 14 is available for download from: >> >> http://download.java.net/openjdk/jdk6/ >> [snip] >> * Upgrading the HotSpot in OpenJDK 6 from HotSpot 10 to HotSpot 11 [2] >> > > We are discussing whether or not to update to this for icedtea6 or skip > it completely and go with HotSpot 14 (which is already the default now). > I see the hotspot tests for 10 were removed and some new ones added. The > newer hotspot in jdk7 has even other tests. In icedtea we have combined > them all to have a bigger set of tests (there are 20 now). It might be > an idea to do the same (and push the hs 10 and hs 11 tests towards > hotspot in jdk7). > I think it is useful to at least have the HS11 sources published in OpenJDK 6 to give the option of using the same version of HotSpot as currently being used in 6u10 and 6u11. However, as previously discussed on the list, going forward the HotSpot team has agreed to use the same code base for OpenJDK 6 and the 6 update release; that transition will occur with HS 14 sometime early in 2009. I hope this new arrangement will both keep OpenJDK 6 more up to date as well as reduce overall bug porting efforts. (Unlike HS 10 and HS 11, HS 14 is already in Mercurial so the initial OpenJDK 6 HotSpot Mercurial repository will probably be retired once this switchover occurs.) >> This will be the last teamware based source drop; all future source >> drops will be based on the forthcoming public OpenJDK 6 Mercurial >> repositories. >> > > Thanks, looking forward to it. > Me too :-) Within the next few days, I anticipate having information about the timeline for publishing trial read-only repositories so any problems can be sorted out before we start to use the final read-writes ones. -Joe -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081203/13634fe9/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Dec 3 14:59:05 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 03 Dec 2008 22:59:05 +0000 Subject: [Bug 269] New: icedtea crashed in libgtk Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=269 Summary: icedtea crashed in libgtk Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: icedtea-bugs at cryptobitch.de I used Jameica with the Hibiscus Plugin and it crashed out of the blue. Actually, it's pretty unstable. I have this kind of crasher a couple of time a day, though I don't know how to trigger that. It's probably related to some widget magic like Tooltips. # # An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x0000003b87cd5078, pid=23146, tid=5278032 # # Java VM: OpenJDK 64-Bit Server VM (1.6.0-b09 mixed mode linux-amd64) # Problematic frame: # C [libgtk-x11-2.0.so.0+0x2d5078] # # An error report file with more information is saved as: # /opt/jameica/hs_err_pid23146.log # # If you would like to submit a bug report, please visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # I'll attach the log. I don't have debug symbols compiled into libgtk-x11 but I can do it if it's of any help. Please let me know if I can provide any further information. -- 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 Wed Dec 3 14:59:46 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 03 Dec 2008 22:59:46 +0000 Subject: [Bug 269] icedtea crashed in libgtk Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=269 ------- Comment #1 from icedtea-bugs at cryptobitch.de 2008-12-03 22:59 ------- Created an attachment (id=149) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=149&action=view) Java 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 David.Holmes at Sun.COM Wed Dec 3 18:04:32 2008 From: David.Holmes at Sun.COM (David Holmes - Sun Microsystems) Date: Thu, 04 Dec 2008 12:04:32 +1000 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <4936EDD3.6040809@ubuntu.com> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> <4935DF0E.5040701@sun.com> <49368DA0.8060808@ubuntu.com> <1228314050.1541.839.camel@localhost.localdomain> <4936EB17.3070607@sun.com> <4936EDD3.6040809@ubuntu.com> Message-ID: <49373AB0.1000209@sun.com> Matthias Klose said the following on 12/04/08 06:36: > this is http://gcc.gnu.org/PR25509, not seen as a bug in GCC. I'll discuss a > solution for Ubuntu with my coworkers next week. What a dismal state of affairs. :( David From twisti at complang.tuwien.ac.at Thu Dec 4 00:22:43 2008 From: twisti at complang.tuwien.ac.at (Christian Thalinger) Date: Thu, 04 Dec 2008 09:22:43 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <49373AB0.1000209@sun.com> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> <4935DF0E.5040701@sun.com> <49368DA0.8060808@ubuntu.com> <1228314050.1541.839.camel@localhost.localdomain> <4936EB17.3070607@sun.com> <4936EDD3.6040809@ubuntu.com> <49373AB0.1000209@sun.com> Message-ID: <1228378964.1541.844.camel@localhost.localdomain> On Thu, 2008-12-04 at 12:04 +1000, David Holmes - Sun Microsystems wrote: > Matthias Klose said the following on 12/04/08 06:36: > > this is http://gcc.gnu.org/PR25509, not seen as a bug in GCC. I'll discuss a > > solution for Ubuntu with my coworkers next week. > > What a dismal state of affairs. :( Ugh, yeah. After reading some of the comments, I'd say it's a bug in GCC and glibc. I wonder if that ever gets changed... on either side... - Christian From mark at klomp.org Thu Dec 4 01:42:51 2008 From: mark at klomp.org (Mark Wielaard) Date: Thu, 04 Dec 2008 10:42:51 +0100 Subject: OpenJDK 6 build 14 source posted In-Reply-To: <493709B1.2030708@sun.com> References: <4936E036.7030407@sun.com> <1228340961.16913.11.camel@hermans.wildebeest.org> <493709B1.2030708@sun.com> Message-ID: <1228383771.5105.5.camel@dijkstra.wildebeest.org> Hi Joe, On Wed, 2008-12-03 at 14:35 -0800, Joe Darcy wrote: > On 12/03/08 01:49 PM, Mark Wielaard wrote: > > We are discussing whether or not to update to this for icedtea6 or skip > > it completely and go with HotSpot 14 (which is already the default now). > > I see the hotspot tests for 10 were removed and some new ones added. The > > newer hotspot in jdk7 has even other tests. In icedtea we have combined > > them all to have a bigger set of tests (there are 20 now). It might be > > an idea to do the same (and push the hs 10 and hs 11 tests towards > > hotspot in jdk7). > > > I think it is useful to at least have the HS11 sources published in > OpenJDK 6 to give the option of using the same version of HotSpot as > currently being used in 6u10 and 6u11. However, as previously > discussed on the list, going forward the HotSpot team has agreed to > use the same code base for OpenJDK 6 and the 6 update release; that > transition will occur with HS 14 sometime early in 2009. I hope this > new arrangement will both keep OpenJDK 6 more up to date as well as > reduce overall bug porting efforts. (Unlike HS 10 and HS 11, HS 14 is > already in Mercurial so the initial OpenJDK 6 HotSpot Mercurial > repository will probably be retired once this switchover occurs.) Yes. Currently in icedtea6 (and Andrew is fixing up some last issues for icedtea[7]) HS14 is the default, but you can configure --with-hotspot=traditional to get HS11. --with-hotspot=traditional should also work for the default linux/sparc integration, but won't work when combined with --enable-zero and/or --enable-shark. Cheers, Mark From bugzilla-daemon at icedtea.classpath.org Thu Dec 4 01:47:22 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 04 Dec 2008 09:47:22 +0000 Subject: [Bug 269] icedtea crashed in libgtk Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=269 ------- Comment #2 from mark at klomp.org 2008-12-04 09:47 ------- If you could upgrade to a newer release (1.3.1/b12 is latest stable) that would be interesting, the release you are using is somewhat old and lots of bugs have been fixed since then. But I don't immediately see whether this is a known bug or not. Having debug symbols would indeed help a bit, especially so we can better see in which native methods the crash occurs. -- 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 gnu_andrew at member.fsf.org Thu Dec 4 03:49:13 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Thu, 4 Dec 2008 11:49:13 +0000 Subject: OpenJDK 6 build 14 source posted In-Reply-To: <1228383771.5105.5.camel@dijkstra.wildebeest.org> References: <4936E036.7030407@sun.com> <1228340961.16913.11.camel@hermans.wildebeest.org> <493709B1.2030708@sun.com> <1228383771.5105.5.camel@dijkstra.wildebeest.org> Message-ID: <17c6771e0812040349g6f2c9796o6cbf9f898c311023@mail.gmail.com> 2008/12/4 Mark Wielaard : > Hi Joe, > > On Wed, 2008-12-03 at 14:35 -0800, Joe Darcy wrote: >> On 12/03/08 01:49 PM, Mark Wielaard wrote: >> > We are discussing whether or not to update to this for icedtea6 or skip >> > it completely and go with HotSpot 14 (which is already the default now). >> > I see the hotspot tests for 10 were removed and some new ones added. The >> > newer hotspot in jdk7 has even other tests. In icedtea we have combined >> > them all to have a bigger set of tests (there are 20 now). It might be >> > an idea to do the same (and push the hs 10 and hs 11 tests towards >> > hotspot in jdk7). >> > >> I think it is useful to at least have the HS11 sources published in >> OpenJDK 6 to give the option of using the same version of HotSpot as >> currently being used in 6u10 and 6u11. However, as previously >> discussed on the list, going forward the HotSpot team has agreed to >> use the same code base for OpenJDK 6 and the 6 update release; that >> transition will occur with HS 14 sometime early in 2009. I hope this >> new arrangement will both keep OpenJDK 6 more up to date as well as >> reduce overall bug porting efforts. (Unlike HS 10 and HS 11, HS 14 is >> already in Mercurial so the initial OpenJDK 6 HotSpot Mercurial >> repository will probably be retired once this switchover occurs.) > > Yes. Currently in icedtea6 (and Andrew is fixing up some last issues for > icedtea[7]) I'm merging the security fixes to 7. 7 has had HS14 since it first existed. HS14 is the default, but you can configure > --with-hotspot=traditional to get HS11. --with-hotspot=traditional > should also work for the default linux/sparc integration, but won't work > when combined with --enable-zero and/or --enable-shark. The option is original, not traditional :) > > Cheers, > > Mark > > -- Andrew :-) 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 bugzilla-daemon at icedtea.classpath.org Thu Dec 4 04:44:04 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 04 Dec 2008 12:44:04 +0000 Subject: [Bug 270] New: GoogleVideoUploader fails when using OpenJDK Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=270 Summary: GoogleVideoUploader fails when using OpenJDK Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: gst at sysfrog.org When using the GoogleVideoUploader to upload videos to video.google.com, an SSL exception is thrown. The video uploader is available at: http://www.google.com/video/upload/GoogleVideoUploader.jar To reproduce this problem use the "Login" button and login with a valid Google username/password. This works fine with the JRE provided by Sun, the error only occurs in OpenJDK6. My Java version is: java version "1.6.0_0" IcedTea6 1.3.1 Runtime Environment (build 1.6.0_0-b12) OpenJDK 64-Bit Server VM (build 1.6.0_0-b12, mixed mode) (from the ArchLinux package openjdk6 1.3.1-2) [gst at nano ~]$ java -jar GoogleVideoUploader.jar javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1574) at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1557) at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1483) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:83) at com.google.uploader.StreamWriter.write(StreamWriter.java:28) at com.google.uploader.StreamWriter.print(StreamWriter.java:66) at com.google.uploader.StreamWriter.print(StreamWriter.java:49) at com.google.uploader.Connection.send(Connection.java:56) at com.google.uploader.Protocol.sendLogin(Protocol.java:385) at com.google.uploader.Protocol.doLogin(Protocol.java:335) at com.google.uploader.CommThread.doLogin(CommThread.java:121) at com.google.uploader.CommThread.access$000(CommThread.java:24) at com.google.uploader.CommThread$1.run(CommThread.java:87) at java.lang.Thread.run(Thread.java:636) Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty at sun.security.validator.PKIXValidator.(PKIXValidator.java:75) at sun.security.validator.Validator.getInstance(Validator.java:178) at sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:129) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:225) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:270) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:973) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:142) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:533) at sun.security.ssl.Handshaker.process_record(Handshaker.java:471) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:904) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1116) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:643) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:78) ... 10 more Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200) at java.security.cert.PKIXParameters.(PKIXParameters.java:120) at java.security.cert.PKIXBuilderParameters.(PKIXBuilderParameters.java:104) at sun.security.validator.PKIXValidator.(PKIXValidator.java:73) ... 22 more -- 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 Dec 4 05:06:06 2008 From: gbenson at redhat.com (Gary Benson) Date: Thu, 04 Dec 2008 13:06:06 +0000 Subject: changeset in /hg/icedtea6: Oops Message-ID: changeset 472389018526 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=472389018526 description: Oops diffstat: 1 file changed, 2 insertions(+), 2 deletions(-) ChangeLog | 4 ++-- diffs (15 lines): diff -r c8712800dc87 -r 472389018526 ChangeLog --- a/ChangeLog Wed Dec 03 22:50:40 2008 +0100 +++ b/ChangeLog Thu Dec 04 13:05:59 2008 +0000 @@ -233,9 +233,9 @@ 2008-12-03 Gary Benson - * a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp (os::is_allocatable): New method. - * a/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp (os::is_allocatable): Likewise. 2008-12-03 Matthias Klose From bugzilla-daemon at icedtea.classpath.org Thu Dec 4 05:55:23 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 04 Dec 2008 13:55:23 +0000 Subject: [Bug 179] javascript script support through rhino should not be on bootclasspath Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=179 hannes at helma.at changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hannes at helma.at ------- Comment #2 from hannes at helma.at 2008-12-04 13:55 ------- I've thought about this a bit, and I think the only reasonable way to fix it (short of repackaging rhino with the jvm like Sun does) is to have the RhinoScriptEngine implementation bundled with the Rhino classes instead of the jre library. If rhino.jar is loaded though a custom classloader and the ScriptEngine sits on the jvm side, it has to go through reflection API for each interaction with Rhino, which is painful to say the least. If, OTOH, the ScriptEngine(Factory) is loaded by the same classloader as rhino.jar all that is needed are a few lines of class loading and casting. Bundling a ScriptEngine implementation with rhino would have a number of other advantages, like allowing people to use a more cutting edge Rhino version than the one bundled with the jvm (maybe using alternative name/mimetype/extensions to avoid clashes with Sun's internal rhino engine). The easy way to get there would be to import the openjdk rhinoengine code into rhino, but I doubt the GPLed code is compatible with Rhino's MPL1.1/GPL2 dual license. As an alternative, implementing a ScriptEngine withing Rhino looks like a viable alternative. -- 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 Dec 4 05:59:48 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 04 Dec 2008 13:59:48 +0000 Subject: [Bug 179] javascript script support through rhino should not be on bootclasspath Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=179 ------- Comment #3 from hannes at helma.at 2008-12-04 13:59 ------- Of course, a related approach would be to split the Rhine engine implementation out of rt.jar into a separate jar file and load that with the same classloader as rhino.jar. Being a Rhino developer I just tend to think the other way around :-) -- 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 Dec 4 06:01:29 2008 From: gbenson at redhat.com (Gary Benson) Date: Thu, 04 Dec 2008 14:01:29 +0000 Subject: changeset in /hg/icedtea6: 2008-12-04 Gary Benson changeset 0256f5de086a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0256f5de086a description: 2008-12-04 Gary Benson * .hgignore: Ignore rt/javax/script/*. diffstat: 2 files changed, 16 insertions(+) .hgignore | 12 ++++++++++++ ChangeLog | 4 ++++ diffs (33 lines): diff -r 472389018526 -r 0256f5de086a .hgignore --- a/.hgignore Thu Dec 04 13:05:59 2008 +0000 +++ b/.hgignore Thu Dec 04 09:03:27 2008 -0500 @@ -441,6 +441,18 @@ rt/javax/net/ssl/X509ExtendedKeyManager. rt/javax/net/ssl/X509ExtendedKeyManager.java rt/javax/net/ssl/X509KeyManager.java rt/javax/net/ssl/X509TrustManager.java +rt/javax/script/AbstractScriptEngine.java +rt/javax/script/Bindings.java +rt/javax/script/Compilable.java +rt/javax/script/CompiledScript.java +rt/javax/script/Invocable.java +rt/javax/script/ScriptContext.java +rt/javax/script/ScriptEngine.java +rt/javax/script/ScriptEngineFactory.java +rt/javax/script/ScriptEngineManager.java +rt/javax/script/ScriptException.java +rt/javax/script/SimpleBindings.java +rt/javax/script/SimpleScriptContext.java rt/java/io/ rt/sun/awt rt/netscape/javascript/JSException.java diff -r 472389018526 -r 0256f5de086a ChangeLog --- a/ChangeLog Thu Dec 04 13:05:59 2008 +0000 +++ b/ChangeLog Thu Dec 04 09:03:27 2008 -0500 @@ -1,3 +1,7 @@ 2008-12-03 Matthias Klose + + * .hgignore: Ignore rt/javax/script/*. + 2008-12-03 Matthias Klose * Makefile.am: Update for b14. From omajid at redhat.com Thu Dec 4 06:11:19 2008 From: omajid at redhat.com (Omair Majid) Date: Thu, 04 Dec 2008 14:11:19 +0000 Subject: changeset in /hg/icedtea: 2008-11-17 Omair Majid changeset ccf50a917765 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=ccf50a917765 description: 2008-11-17 Omair Majid * HACKING: Document icedtea-alsa-default-device.patch and icedtea-linker-libs-order.patch. diffstat: 2 files changed, 7 insertions(+) ChangeLog | 5 +++++ HACKING | 2 ++ diffs (24 lines): diff -r 3d0cabbaa2b3 -r ccf50a917765 ChangeLog --- a/ChangeLog Mon Nov 17 09:29:48 2008 +0100 +++ b/ChangeLog Mon Nov 17 09:53:50 2008 -0500 @@ -1,3 +1,8 @@ 2008-11-17 Matthias Klose + + * HACKING: Document icedtea-alsa-default-device.patch and + icedtea-linker-libs-order.patch. + 2008-11-17 Matthias Klose * fsg.sh: Don't remove xml-stylesheet files. diff -r 3d0cabbaa2b3 -r ccf50a917765 HACKING --- a/HACKING Mon Nov 17 09:29:48 2008 +0100 +++ b/HACKING Mon Nov 17 09:53:50 2008 -0500 @@ -63,6 +63,8 @@ The following patches are currently appl * icedtea-alt-jar.patch: Add support for using an alternate jar tool in JDK building. * icedtea-hotspot7-tests.patch: Adds hotspot compiler tests from jdk7 tree. * icedtea-renderer-crossing.patch: Check whether crossing is initialized in Pisces Renderer. +* icedtea-alsa-default-device.patch: Fix problems with using the ALSA 'default' device. +* icedtea-linker-libs-order.patch: When linking, put the referenced libraries after the object files (PR237). * icedtea-f2i-overflow.patch: Replaces the code used by [fd]2[il] bytecodes to correctly handle overflows. (PR244) * icedtea-cc-interp-no-fer.patch: Report that we cannot force early returns with the C++ interpreter. * icedtea-6761856-freetypescaler.patch: Fix IcedTea bug #227, OpenJDK bug From dbhole at redhat.com Thu Dec 4 06:11:20 2008 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 04 Dec 2008 14:11:20 +0000 Subject: changeset in /hg/icedtea: - Encode newline characters instead of... Message-ID: changeset ff7010bc3cae in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=ff7010bc3cae description: - Encode newline characters instead of stripping them. - Fix bug in code that computed width factor. - Try to load images from local cache first. - Update parser to skip comments in applet tag. - Take into consideration system policy in addition to applet policy when determining permissions. - Return from jar verifier function immediately if jar could not be fetched (fixes NPE crash). diffstat: 7 files changed, 238 insertions(+), 76 deletions(-) ChangeLog | 12 IcedTeaPlugin.cc | 26 + plugin/icedtea/sun/applet/PluginAppletSecurityContext.java | 2 plugin/icedtea/sun/applet/PluginAppletViewer.java | 247 ++++++++---- rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 5 rt/net/sourceforge/jnlp/runtime/JNLPPolicy.java | 11 rt/net/sourceforge/jnlp/tools/JarSigner.java | 11 diffs (truncated from 542 to 500 lines): diff -r ccf50a917765 -r ff7010bc3cae ChangeLog --- a/ChangeLog Mon Nov 17 09:53:50 2008 -0500 +++ b/ChangeLog Tue Nov 18 11:04:46 2008 -0500 @@ -1,3 +1,15 @@ 2008-11-17 Omair Majid + * IcedTeaPlugin.cc: Encode newline characters instead of stripping them. + * plugin/icedtea/sun/applet/PluginAppletSecurityContext.java: Minor debug + output change. + * plugin/icedtea/sun/applet/PluginAppletViewer.java: Fix bug in code that + computed width factor. Try to load images from local cache first. Decode + newline characters. Update parser to skip comments in applet tag. + * rt/net/sourceforge/jnlp/runtime/JNLPPolicy.java: Take into consideration + system policy in addition to applet policy when determining permissions. + * rt/net/sourceforge/jnlp/tools/JarSigner.java: Return immediately if jar + could not be fetched. + 2008-11-17 Omair Majid * HACKING: Document icedtea-alsa-default-device.patch and diff -r ccf50a917765 -r ff7010bc3cae IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Mon Nov 17 09:53:50 2008 -0500 +++ b/IcedTeaPlugin.cc Tue Nov 18 11:04:46 2008 -0500 @@ -2310,10 +2310,28 @@ IcedTeaPluginInstance::Initialize (nsIPl tagMessage += appletTag; tagMessage += ""; - // remove newline characters from the message - tagMessage.StripChars("\r\n"); - - factory->SendMessageToAppletViewer (tagMessage); + PLUGIN_DEBUG_1ARG("TAG FROM BROWSER = %s\n", tagMessage.get()); + + // encode newline characters in the message + nsCString toSend(""); + for (int i=0; i < tagMessage.Length(); i++) + { + if (tagMessage.get()[i] == '\r') + { + toSend += " "; + continue; + } + + if (tagMessage.get()[i] == '\n') + { + toSend += " "; + continue; + } + + toSend += tagMessage.get()[i]; + } + + factory->SendMessageToAppletViewer (toSend); // Set back-pointer to peer instance. PLUGIN_DEBUG_1ARG ("SETTING PEER!!!: %p\n", aPeer); diff -r ccf50a917765 -r ff7010bc3cae plugin/icedtea/sun/applet/PluginAppletSecurityContext.java --- a/plugin/icedtea/sun/applet/PluginAppletSecurityContext.java Mon Nov 17 09:53:50 2008 -0500 +++ b/plugin/icedtea/sun/applet/PluginAppletSecurityContext.java Tue Nov 18 11:04:46 2008 -0500 @@ -996,7 +996,7 @@ public class PluginAppletSecurityContext String classSrc = this.classLoaders.get(target.getClassLoader()); - PluginDebug.debug("jsSrc=" + jsSrc + " classSrc=" + classSrc); + PluginDebug.debug("target = " + target + " jsSrc=" + jsSrc + " classSrc=" + classSrc); // if src is not a file and class loader does not map to the same base, UniversalBrowserRead (BrowserReadPermission) must be set if (jsSrc != "file://" && !classSrc.equals(jsSrc)) { diff -r ccf50a917765 -r ff7010bc3cae plugin/icedtea/sun/applet/PluginAppletViewer.java --- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Mon Nov 17 09:53:50 2008 -0500 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Tue Nov 18 11:04:46 2008 -0500 @@ -63,6 +63,7 @@ import javax.swing.SwingUtilities; import javax.swing.SwingUtilities; import net.sourceforge.jnlp.NetxPanel; +import net.sourceforge.jnlp.runtime.JNLPClassLoader; import sun.awt.AppContext; import sun.awt.SunToolkit; import sun.awt.X11.XEmbeddedFrame; @@ -103,7 +104,7 @@ import sun.misc.Ref; * Some constants... */ private static String defaultSaveFile = "Applet.ser"; - + /** * The panel in which the applet is being displayed. */ @@ -138,6 +139,8 @@ import sun.misc.Ref; private double proposedHeightFactor; private double proposedWidthFactor; + + private JNLPClassLoader pluginCL; /** * Null constructor to allow instantiation via newInstance() @@ -168,7 +171,7 @@ import sun.misc.Ref; proposedHeightFactor = (Integer) atts.get("heightPercentage")/100.0; } - if (((String) atts.get("width")).endsWith("%")) { + if (atts.get("widthPercentage") != null) { proposedWidthFactor = (Integer) atts.get("widthPercentage")/100.0; } @@ -177,6 +180,7 @@ import sun.misc.Ref; try { panel = new NetxPanel(doc, atts, true); AppletViewerPanel.debug("Using NetX panel"); + PluginDebug.debug(atts.toString()); } catch (Exception ex) { AppletViewerPanel.debug("Unable to start NetX applet - defaulting to Sun applet", ex); panel = new AppletViewerPanel(doc, atts); @@ -284,6 +288,9 @@ import sun.misc.Ref; return; } + if (panel instanceof NetxPanel) + pluginCL = (JNLPClassLoader) panel.getApplet().getClass().getClassLoader(); + PluginDebug.debug("Applet initialized"); // Applet initialized. Find out it's classloader and add it to the list @@ -291,7 +298,7 @@ import sun.misc.Ref; if (atts.get("codebase") != null) { try { - URL appletSrcURL = new URL((String) atts.get("codebase")); + URL appletSrcURL = new URL(codeBase + (String) atts.get("codebase")); codeBase = appletSrcURL.getProtocol() + "://" + appletSrcURL.getHost(); } catch (MalformedURLException mfue) { // do nothing @@ -587,7 +594,7 @@ import sun.misc.Ref; return getCachedImage(url); } - static Image getCachedImage(URL url) { + private Image getCachedImage(URL url) { // System.getSecurityManager().checkConnection(url.getHost(), url.getPort()); return (Image)getCachedImageRef(url).get(); } @@ -595,15 +602,45 @@ import sun.misc.Ref; /** * Get an image ref. */ - static Ref getCachedImageRef(URL url) { - synchronized (imageRefs) { - AppletImageRef ref = (AppletImageRef)imageRefs.get(url); - if (ref == null) { - ref = new AppletImageRef(url); - imageRefs.put(url, ref); - } - return ref; - } + private synchronized Ref getCachedImageRef(URL url) { + PluginDebug.debug("getCachedImageRef() searching for " + url); + + try { + + // wait till aplet initializes + while (pluginCL == null) { + PluginDebug.debug("Plugin CL is null. Waiting in getCachedImageRef().."); + } + + String originalURL = url.toString(); + String codeBase = pluginCL.getJNLPFile().getCodeBase().toString(); + + if (originalURL.startsWith("http")) { + PluginDebug.debug("getCachedImageRef() got URL = " + url); + PluginDebug.debug("getCachedImageRef() plugin codebase = " + pluginCL.getJNLPFile().getCodeBase().toString()); + + URL localURL = null; + if (originalURL.startsWith(codeBase)) + localURL = pluginCL.getResource(originalURL.substring(codeBase.length())); + + url = localURL != null ? localURL : url; + } + + PluginDebug.debug("getCachedImageRef() getting img from URL = " + url); + + synchronized (imageRefs) { + AppletImageRef ref = (AppletImageRef)imageRefs.get(url); + if (ref == null) { + ref = new AppletImageRef(url); + imageRefs.put(url, ref); + } + return ref; + } + } catch (Exception e) { + System.err.println("Error occurred wgen trying to fetch image:"); + e.printStackTrace(); + return null; + } } /** @@ -1221,6 +1258,16 @@ import sun.misc.Ref; */ public static String scanIdentifier(Reader in) throws IOException { StringBuffer buf = new StringBuffer(); + + if (c == '!') { + // Technically, we should be scanning for '!--' but we are reading + // from a stream, and there is no way to peek ahead. That said, + // a ! at this point can only mean comment here afaik, so we + // should be okay + skipComment(in); + return ""; + } + while (true) { if (((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')) || @@ -1231,6 +1278,41 @@ import sun.misc.Ref; return buf.toString(); } } + } + + public static void skipComment(Reader in) throws IOException { + StringBuffer buf = new StringBuffer(); + boolean commentHeaderPassed = false; + c = in.read(); + buf.append((char)c); + + while (true) { + if (c == '-' && (c = in.read()) == '-') { + buf.append((char)c); + if (commentHeaderPassed) { + // -- encountered ... is > next? + if ((c = in.read()) == '>') { + buf.append((char)c); + + PluginDebug.debug("Comment skipped: " + buf.toString()); + + // comment skipped. + return; + } + } else { + // first -- is part of (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=150&action=view) Patch to allow jars without an index and to retry indexed jars JarIndex.getIndex() can return null when there is no index for the jar. In that case we shouldn't store the null result (and crash with a NullPointer as in the reporters testcase). Additionally when a resource/class cannot be found in an indexed jar then we should retry searching for it in other jars. -- 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 Fri Dec 5 00:39:48 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 05 Dec 2008 08:39:48 +0000 Subject: [Bug 271] JavaFX sample no longer runs with javaws, runs fine with java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 ------- Comment #3 from mark at klomp.org 2008-12-05 08:39 ------- Additionally it seems our SecurityManager denies some actions (like getting getClassLoader()) that might be essential. You can get a better overview of what javaws does (and denies) with -verbose -- 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 Fri Dec 5 02:29:35 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 05 Dec 2008 10:29:35 +0000 Subject: [Bug 271] JavaFX sample no longer runs with javaws, runs fine with java Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=271 ------- Comment #4 from mark at klomp.org 2008-12-05 10:29 ------- Andrew asked me about the patch in attachment #1 and while explaining it I noticed that the second part is not correct. We shouldn't die on a missing INDEX.LIST (the null check fix, that part is OK). But if the first INDEX.LIST cannot find an item we shouldn't retry (the second part of the fix): http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#JAR Index "Once the class loader finds a INDEX.LIST file in a particular jar file, it always trusts the information listed in it. If a mapping is found for a particular class, but the class loader fails to find it by following the link, an InvalidJarIndexException is thrown. When this occurs, the application developer should rerun the jar tool on the extension to get the right information into the index file." So the second part of my patch is actually wrong. I am trying to recover from the index gone bonkers. Apparently we should just crap out... -- 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 gnu_andrew at member.fsf.org Fri Dec 5 03:49:15 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 5 Dec 2008 11:49:15 +0000 Subject: openjdk6 javafx In-Reply-To: <49389598.6060706@sun.com> References: <49388C51.8020602@enelserver.com> <49389598.6060706@sun.com> Message-ID: <17c6771e0812050349rbfd177bq19da27d4e217ebb9@mail.gmail.com> 2008/12/5 David Herron @ Sun : > P.S. Please pardon me discussing this non-free technology here. I sincerely > hope its status becomes free software. > So do I and I think it's preferably that the current problems are discussed out in the open so that they can be dealt with. Had JavaFX being a FOSS project from the start, I doubt GNU/Linux support would be missing now. -- Andrew :-) 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 doko at ubuntu.com Fri Dec 5 05:08:47 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Fri, 05 Dec 2008 13:08:47 +0000 Subject: changeset in /hg/icedtea6: 2008-12-05 Matthias Klose changeset 81363fed525c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=81363fed525c description: 2008-12-05 Matthias Klose * patches/icedtea-lucene-crash.patch: Update for b14. * patches/hotspot/original/icedtea-memory-limits.patch: Likewise. * patches/hotspot/original/icedtea-core-build.patch: Likewise. * patches/hotspot/original/icedtea-static-libstdc++.patch: Likewise. * patches/hotspot/original/icedtea-zero-build.patch: Likewise. * patches/hotspot/original/icedtea-shark-build.patch: Likewise. * patches/hotspot/original/icedtea-sparc64-linux.patch: Likewise. * Makefile.am (ICEDTEA_PATCHES): Remove icedtea-hotspot7-tests.patch, apply patches/icedtea-bytecodeInterpreterWithChecks.patch for original hotspot build. * patches/icedtea-hotspot7-tests.patch: Remove. diffstat: 10 files changed, 254 insertions(+), 7750 deletions(-) ChangeLog | 14 Makefile.am | 2 patches/hotspot/original/icedtea-core-build.patch | 89 patches/hotspot/original/icedtea-memory-limits.patch | 14 patches/hotspot/original/icedtea-shark-build.patch | 301 patches/hotspot/original/icedtea-sparc64-linux.patch | 107 patches/hotspot/original/icedtea-static-libstdc++.patch | 29 patches/hotspot/original/icedtea-zero-build.patch | 20 patches/icedtea-hotspot7-tests.patch | 7408 --------------- patches/icedtea-lucene-crash.patch | 20 diffs (truncated from 8198 to 500 lines): diff -r 644b7ff854fc -r 81363fed525c ChangeLog --- a/ChangeLog Thu Dec 04 21:38:54 2008 +0100 +++ b/ChangeLog Fri Dec 05 14:08:01 2008 +0100 @@ -1,3 +1,17 @@ 2008-12-04 Matthias Klose + + * patches/icedtea-lucene-crash.patch: Update for b14. + * patches/hotspot/original/icedtea-memory-limits.patch: Likewise. + * patches/hotspot/original/icedtea-core-build.patch: Likewise. + * patches/hotspot/original/icedtea-static-libstdc++.patch: Likewise. + * patches/hotspot/original/icedtea-zero-build.patch: Likewise. + * patches/hotspot/original/icedtea-shark-build.patch: Likewise. + * patches/hotspot/original/icedtea-sparc64-linux.patch: Likewise. + * Makefile.am (ICEDTEA_PATCHES): Remove icedtea-hotspot7-tests.patch, + apply patches/icedtea-bytecodeInterpreterWithChecks.patch for original + hotspot build. + * patches/icedtea-hotspot7-tests.patch: Remove. + 2008-12-04 Matthias Klose * patches/hotspot/14.0b08/icedtea-sparc-buildfixes.patch: Readd diff -r 644b7ff854fc -r 81363fed525c Makefile.am --- a/Makefile.am Thu Dec 04 21:38:54 2008 +0100 +++ b/Makefile.am Fri Dec 05 14:08:01 2008 +0100 @@ -589,7 +589,7 @@ endif if !WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ - patches/icedtea-hotspot7-tests.patch \ + patches/icedtea-bytecodeInterpreterWithChecks.patch \ patches/icedtea-sparc.patch endif diff -r 644b7ff854fc -r 81363fed525c patches/hotspot/original/icedtea-core-build.patch --- a/patches/hotspot/original/icedtea-core-build.patch Thu Dec 04 21:38:54 2008 +0100 +++ b/patches/hotspot/original/icedtea-core-build.patch Fri Dec 05 14:08:01 2008 +0100 @@ -1,25 +1,8 @@ diff -u openjdk.orig/hotspot/build/linux -diff -u openjdk.orig/hotspot/build/linux/makefiles/defs.make openjdk/hotspot/build/linux/makefiles/defs.make ---- openjdk.orig/hotspot/build/linux/makefiles/defs.make 2008-01-31 14:19:00.000000000 +0000 -+++ openjdk/hotspot/build/linux/makefiles/defs.make 2008-02-01 15:57:40.000000000 +0000 -@@ -97,6 +97,7 @@ EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusa - EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so -+ifndef ICEDTEA_CORE_BUILD - ifeq ($(ARCH_DATA_MODEL), 32) - EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt -@@ -111,3 +112,4 @@ else - EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar - endif - endif -+endif -diff -r 79d639c8a75f openjdk/hotspot/make/Makefile ---- openjdk/hotspot/make/Makefile Wed Apr 16 08:42:01 2008 +0100 -+++ openjdk/hotspot/make/Makefile Wed Apr 16 08:49:31 2008 +0100 -@@ -90,6 +90,15 @@ all_debug: jvmg jvmg1 docs export_de - all_debug: jvmg jvmg1 docs export_debug - all_optimized: optimized optimized1 docs export_optimized +--- openjdk/hotspot/make/Makefile.orig 2008-11-25 09:11:57.000000000 +0000 ++++ openjdk/hotspot/make/Makefile 2008-12-05 10:25:12.000000000 +0000 +@@ -91,6 +91,15 @@ + all_debug: jvmg jvmg1 jvmgkernel docs export_debug + all_optimized: optimized optimized1 optimizedkernel docs export_optimized +# Core (non-compiler) targets made available with this Makefile +CORE_VM_TARGETS=productcore fastdebugcore optimizedcore jvmgcore @@ -33,31 +16,31 @@ diff -r 79d639c8a75f openjdk/hotspot/mak # Do everything world: all create_jdk -@@ -111,6 +120,10 @@ endif - $(C2_VM_TARGETS): +@@ -113,6 +122,10 @@ $(CD) $(GAMMADIR)/make; \ $(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT) -+ + +$(CORE_VM_TARGETS): + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT) - - # Build compiler1 (client) rule, different for platforms - generic_build1: -@@ -153,6 +166,12 @@ else - $(MAKE) -f $(ABS_OS_MAKEFILE) \ ++ + $(KERNEL_VM_TARGETS): + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) +@@ -159,6 +172,12 @@ $(MAKE_ARGS) $(VM_TARGET) endif -+ + +generic_buildcore: + $(MKDIR) -p $(OUTPUTDIR) + $(CD) $(OUTPUTDIR); \ + $(MAKE) -f $(ABS_OS_MAKEFILE) \ + $(MAKE_ARGS) $(VM_TARGET) - - # Export file rule - generic_export: $(EXPORT_LIST) -@@ -182,11 +201,19 @@ XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt ++ + generic_buildkernel: + $(MKDIR) -p $(OUTPUTDIR) + ifeq ($(OSNAME),windows) +@@ -205,13 +224,21 @@ XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1 @@ -66,8 +49,10 @@ diff -r 79d639c8a75f openjdk/hotspot/mak +else C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 +endif + KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) + KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR) # Misc files and generated files need to come from C1 or C2 area +ifdef ICEDTEA_CORE_BUILD @@ -77,7 +62,7 @@ diff -r 79d639c8a75f openjdk/hotspot/mak ifeq ($(ARCH_DATA_MODEL), 32) MISC_DIR=$(C1_DIR) GEN_DIR=$(C1_BASE_DIR)/generated -@@ -194,6 +221,7 @@ else +@@ -219,6 +246,7 @@ MISC_DIR=$(C2_DIR) GEN_DIR=$(C2_BASE_DIR)/generated endif @@ -85,18 +70,9 @@ diff -r 79d639c8a75f openjdk/hotspot/mak # Bin files (windows) ifeq ($(OSNAME),windows) -@@ -264,6 +292,7 @@ endif - - # Xusage file - $(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt: $(XUSAGE) -+$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE) - $(prep-target) - $(RM) $@.temp - $(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp -diff -r 79d639c8a75f openjdk/hotspot/src/share/vm/runtime/vm_version.cpp ---- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-02-12 04:14:24.000000000 -0500 -+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-02-14 17:39:45.000000000 -0500 -@@ -89,8 +89,12 @@ +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-11-25 09:12:13.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-05 10:22:42.000000000 +0000 +@@ -95,8 +95,12 @@ #ifdef TIERED #define VMTYPE "Server" #else @@ -109,5 +85,20 @@ diff -r 79d639c8a75f openjdk/hotspot/src + #define VMTYPE "Core" +#endif // COMPILER1 || COMPILER2 #endif // TIERED + #endif // KERNEL - #ifndef HOTSPOT_VM_DISTRO +--- openjdk/hotspot/build/linux/makefiles/defs.make.orig 2008-11-25 09:11:51.000000000 +0000 ++++ openjdk/hotspot/build/linux/makefiles/defs.make 2008-12-05 10:22:42.000000000 +0000 +@@ -97,6 +97,7 @@ + EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so ++ifndef ICEDTEA_CORE_BUILD + ifeq ($(ARCH_DATA_MODEL), 32) + EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt +@@ -111,3 +112,4 @@ + EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar + endif + endif ++endif diff -r 644b7ff854fc -r 81363fed525c patches/hotspot/original/icedtea-memory-limits.patch --- a/patches/hotspot/original/icedtea-memory-limits.patch Thu Dec 04 21:38:54 2008 +0100 +++ b/patches/hotspot/original/icedtea-memory-limits.patch Fri Dec 05 14:08:01 2008 +0100 @@ -1,12 +1,14 @@ ---- penjdk6/hotspot/src/cpu/i486/vm/c2_globals_i486.hpp 2008-02-12 04:14:17.000000000 -0500 -+++ openjdk/hotspot/src/cpu/i486/vm/c2_globals_i486.hpp 2008-02-14 16:32:33.000000000 -0500 -@@ -79,6 +79,6 @@ - define_pd_global(uintx,CodeCacheMinBlockLength, 4); - +diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp +--- openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp 2008-05-23 22:30:44.000000000 +0100 ++++ openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp 2008-05-23 22:30:59.000000000 +0100 +@@ -98,7 +98,7 @@ + + // Heap related flags define_pd_global(uintx, PermSize, ScaleForWordSize(16*M)); -define_pd_global(uintx, MaxPermSize, ScaleForWordSize(64*M)); +define_pd_global(uintx, MaxPermSize, ScaleForWordSize(128*M)); - + + // Ergonomics related flags define_pd_global(bool, NeverActAsServerClassMachine, false); --- penjdk6/hotspot/src/share/vm/runtime/globals.hpp 2008-02-12 04:14:24.000000000 -0500 +++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2008-02-14 16:34:00.000000000 -0500 diff -r 644b7ff854fc -r 81363fed525c patches/hotspot/original/icedtea-shark-build.patch --- a/patches/hotspot/original/icedtea-shark-build.patch Thu Dec 04 21:38:54 2008 +0100 +++ b/patches/hotspot/original/icedtea-shark-build.patch Fri Dec 05 14:08:01 2008 +0100 @@ -1,7 +1,80 @@ diff -r 8e41d25d7665 openjdk/hotspot/bui -diff -r 8e41d25d7665 openjdk/hotspot/build/linux/Makefile ---- openjdk/hotspot/build/linux/Makefile Fri Jun 20 13:26:10 2008 +0100 -+++ openjdk/hotspot/build/linux/Makefile Fri Jun 20 13:26:20 2008 +0100 -@@ -152,6 +152,13 @@ endif +--- openjdk/hotspot/make/Makefile.orig 2008-12-05 10:41:32.000000000 +0000 ++++ openjdk/hotspot/make/Makefile 2008-12-05 10:50:53.000000000 +0000 +@@ -100,6 +100,15 @@ + all_debugcore: jvmgcore docs export_debug + all_optimizedcore: optimizedcore docs export_optimized + ++# Shark (C0) targets made available with this Makefile ++SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark ++ ++allshark: all_productshark all_fastdebugshark ++all_productshark: productshark docs export_product ++all_fastdebugshark: fastdebugshark docs export_fastdebug ++all_debugshark: jvmgshark docs export_debug ++all_optimizedshark: optimizedshark docs export_optimized ++ + # Do everything + world: all create_jdk + +@@ -126,6 +135,10 @@ + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT) + ++$(SHARK_VM_TARGETS): ++ $(CD) $(GAMMADIR)/make; \ ++ $(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT) ++ + $(KERNEL_VM_TARGETS): + $(CD) $(GAMMADIR)/make; \ + $(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT) +@@ -178,6 +191,12 @@ + $(MAKE) -f $(ABS_OS_MAKEFILE) \ + $(MAKE_ARGS) $(VM_TARGET) + ++generic_buildshark: ++ $(MKDIR) -p $(OUTPUTDIR) ++ $(CD) $(OUTPUTDIR); \ ++ $(MAKE) -f $(ABS_OS_MAKEFILE) \ ++ $(MAKE_ARGS) $(VM_TARGET) ++ + generic_buildkernel: + $(MKDIR) -p $(OUTPUTDIR) + ifeq ($(OSNAME),windows) +@@ -227,8 +246,12 @@ + ifdef ICEDTEA_CORE_BUILD + C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core + else ++ifdef ICEDTEA_SHARK_BUILD ++C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark ++else + C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2 + endif ++endif + KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel + C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR) + C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR) +@@ -239,6 +262,10 @@ + MISC_DIR=$(C2_DIR) + GEN_DIR=$(C2_BASE_DIR)/generated + else ++ifdef ICEDTEA_SHARK_BUILD ++ MISC_DIR=$(C2_DIR) ++ GEN_DIR=$(C2_BASE_DIR)/generated ++else + ifeq ($(ARCH_DATA_MODEL), 32) + MISC_DIR=$(C1_DIR) + GEN_DIR=$(C1_BASE_DIR)/generated +@@ -247,6 +274,7 @@ + GEN_DIR=$(C2_BASE_DIR)/generated + endif + endif ++endif + + # Bin files (windows) + ifeq ($(OSNAME),windows) +--- openjdk/hotspot/build/linux/Makefile.orig 2008-11-25 09:11:51.000000000 +0000 ++++ openjdk/hotspot/build/linux/Makefile 2008-12-05 10:50:52.000000000 +0000 +@@ -153,6 +153,13 @@ # profiledcore core __core/profiled # productcore core __core/product # @@ -15,7 +88,7 @@ diff -r 8e41d25d7665 openjdk/hotspot/bui # What you get with each target: # # debug* - "thin" libjvm_g - debug info linked into the gamma_g launcher -@@ -172,11 +179,13 @@ SUBDIRS_C2 = $(addprefix $(OSNAME +@@ -171,11 +178,13 @@ SUBDIRS_C2 = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS)) SUBDIRS_TIERED = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS)) SUBDIRS_CORE = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS)) @@ -29,7 +102,7 @@ diff -r 8e41d25d7665 openjdk/hotspot/bui BUILDTREE_MAKE = $(GAMMADIR)/build/$(OSNAME)/makefiles/buildtree.make BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) -@@ -190,6 +199,7 @@ all: +@@ -191,6 +200,7 @@ @echo " $(TARGETS_C2)" @echo " $(TARGETS_C1)" @echo " $(TARGETS_CORE)" @@ -37,7 +110,7 @@ diff -r 8e41d25d7665 openjdk/hotspot/bui checks: check_os_version check_j2se_version -@@ -239,6 +249,10 @@ endif +@@ -240,6 +250,10 @@ $(QUIETLY) $(MAKE) -f $(GAMMADIR)/build/$(OSNAME)/Makefile checks $(BUILDTREE) VARIANT=core @@ -48,20 +121,20 @@ diff -r 8e41d25d7665 openjdk/hotspot/bui # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME $(TARGETS_C2): $(SUBDIRS_C2) -@@ -267,6 +281,12 @@ endif - cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma - ifdef INSTALL +@@ -270,6 +284,12 @@ cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install -+endif -+ + endif + +$(TARGETS_SHARK): $(SUBDIRS_SHARK) + cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) +ifdef INSTALL + cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install - endif - ++endif ++ # Just build the tree, and nothing else: -@@ -299,7 +319,7 @@ include $(GAMMADIR)/build/$(OSNAME)/make + tree: $(SUBDIRS_C2) + tree1: $(SUBDIRS_C1) +@@ -300,7 +320,7 @@ #------------------------------------------------------------------------------- @@ -70,10 +143,61 @@ diff -r 8e41d25d7665 openjdk/hotspot/bui .PHONY: tree tree1 treecore .PHONY: all compiler1 compiler2 core .PHONY: clean clean_compiler1 clean_compiler2 clean_core docs clean_docs -diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/buildtree.make ---- openjdk/hotspot/build/linux/makefiles/buildtree.make Fri Jun 20 13:26:10 2008 +0100 -+++ openjdk/hotspot/build/linux/makefiles/buildtree.make Fri Jun 20 13:26:20 2008 +0100 -@@ -171,8 +171,8 @@ flags_vm.make: $(BUILDTREE_MAKE) ../shar +--- openjdk/hotspot/build/linux/makefiles/gcc.make.orig 2008-12-05 10:41:34.000000000 +0000 ++++ openjdk/hotspot/build/linux/makefiles/gcc.make 2008-12-05 10:50:52.000000000 +0000 +@@ -60,6 +60,9 @@ + ifdef ICEDTEA_ZERO_BUILD + CFLAGS += $(LIBFFI_CFLAGS) + endif ++ifdef ICEDTEA_SHARK_BUILD ++CFLAGS += $(LLVM_CFLAGS) ++endif + CFLAGS += $(VM_PICFLAG) + CFLAGS += -fno-rtti + CFLAGS += -fno-exceptions +--- openjdk/hotspot/build/linux/makefiles/top.make.orig 2008-11-25 09:11:51.000000000 +0000 ++++ openjdk/hotspot/build/linux/makefiles/top.make 2008-12-05 10:50:52.000000000 +0000 +@@ -73,6 +73,7 @@ + Include_DBs/COMPILER1 = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 + Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2 + Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2 ++Include_DBs/SHARK = $(Include_DBs/CORE) $(VM)/includeDB_shark + Include_DBs = $(Include_DBs/$(TYPE)) + + Cached_plat = $(GENERATED)/platform.current +--- openjdk/hotspot/build/linux/makefiles/vm.make.orig 2008-12-05 10:41:34.000000000 +0000 ++++ openjdk/hotspot/build/linux/makefiles/vm.make 2008-12-05 10:50:53.000000000 +0000 +@@ -128,10 +128,14 @@ + + STATIC_CXX = true + +-ifeq ($(ZERO_LIBARCH), ppc64) ++ifdef ICEDTEA_SHARK_BUILD + STATIC_CXX = false + else +- STATIC_CXX = true ++ ifeq ($(ZERO_LIBARCH), ppc64) ++ STATIC_CXX = false ++ else ++ STATIC_CXX = true ++ endif + endif + + ifeq ($(LINK_INTO),AOUT) +@@ -159,6 +163,10 @@ + ifdef ICEDTEA_ZERO_BUILD + LIBS_VM += $(LIBFFI_LIBS) + endif ++ifdef ICEDTEA_SHARK_BUILD ++LFLAGS_VM += $(LLVM_LDFLAGS) ++LIBS_VM += $(LLVM_LIBS) ++endif + + LINK_VM = $(LINK_LIB.c) + +--- openjdk/hotspot/build/linux/makefiles/buildtree.make.orig 2008-12-05 10:41:34.000000000 +0000 ++++ openjdk/hotspot/build/linux/makefiles/buildtree.make 2008-12-05 10:50:52.000000000 +0000 +@@ -211,8 +211,8 @@ ../shared_dirs.lst: $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm @echo Creating directory list $@ @@ -84,10 +208,9 @@ diff -r 8e41d25d7665 openjdk/hotspot/bui \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@ Makefile: $(BUILDTREE_MAKE) -diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/defs.make ---- openjdk/hotspot/build/linux/makefiles/defs.make Fri Jun 20 13:26:10 2008 +0100 -+++ openjdk/hotspot/build/linux/makefiles/defs.make Fri Jun 20 13:26:39 2008 +0100 -@@ -118,6 +118,7 @@ EXPORT_LIST += $(EXPORT_SERVER_DIR)/libj +--- openjdk/hotspot/build/linux/makefiles/defs.make.orig 2008-12-05 10:41:34.000000000 +0000 ++++ openjdk/hotspot/build/linux/makefiles/defs.make 2008-12-05 10:50:52.000000000 +0000 +@@ -110,6 +110,7 @@ EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so ifndef ICEDTEA_CORE_BUILD @@ -95,138 +218,8 @@ diff -r 8e41d25d7665 openjdk/hotspot/bui ifeq ($(ARCH_DATA_MODEL), 32) EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt -@@ -133,3 +134,4 @@ else +@@ -125,3 +126,4 @@ endif endif endif +endif -diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/gcc.make ---- openjdk/hotspot/build/linux/makefiles/gcc.make Fri Jun 20 13:26:10 2008 +0100 -+++ openjdk/hotspot/build/linux/makefiles/gcc.make Fri Jun 20 13:26:20 2008 +0100 -@@ -63,6 +63,9 @@ VM_PICFLAG = $(VM_PICFLAG/$(LINK_ - - ifdef ICEDTEA_ZERO_BUILD - CFLAGS += $(LIBFFI_CFLAGS) -+endif -+ifdef ICEDTEA_SHARK_BUILD -+CFLAGS += $(LLVM_CFLAGS) - endif - CFLAGS += $(VM_PICFLAG) - CFLAGS += -fno-rtti -diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/top.make ---- openjdk/hotspot/build/linux/makefiles/top.make Fri Jun 20 13:26:10 2008 +0100 -+++ openjdk/hotspot/build/linux/makefiles/top.make Fri Jun 20 13:26:20 2008 +0100 -@@ -71,6 +71,7 @@ Include_DBs/COMPILER1 = $(Include_DBs/ - Include_DBs/COMPILER1 = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 - Include_DBs/COMPILER2 = $(Include_DBs/CORE) $(VM)/includeDB_compiler2 - Include_DBs/TIERED = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2 -+Include_DBs/SHARK = $(Include_DBs/CORE) $(VM)/includeDB_shark - Include_DBs = $(Include_DBs/$(TYPE)) - - Cached_plat = $(GENERATED)/platform.current -diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/vm.make ---- openjdk/hotspot/build/linux/makefiles/vm.make Fri Jun 20 13:26:10 2008 +0100 -+++ openjdk/hotspot/build/linux/makefiles/vm.make Fri Jun 20 13:26:20 2008 +0100 -@@ -149,10 +149,14 @@ mapfile_reorder : mapfile $(REORDERFILE) - rm -f $@ - cat $^ > $@ - --ifeq ($(ZERO_LIBARCH), ppc64) -+ifdef ICEDTEA_SHARK_BUILD - STATIC_CXX = false - else -- STATIC_CXX = true -+ ifeq ($(ZERO_LIBARCH), ppc64) -+ STATIC_CXX = false -+ else -+ STATIC_CXX = true -+ endif - endif - - ifeq ($(LINK_INTO),AOUT) -@@ -179,6 +183,10 @@ endif - endif - ifdef ICEDTEA_ZERO_BUILD - LIBS_VM += $(LIBFFI_LIBS) -+endif -+ifdef ICEDTEA_SHARK_BUILD -+LFLAGS_VM += $(LLVM_LDFLAGS) -+LIBS_VM += $(LLVM_LIBS) - endif - - LINK_VM = $(LINK_LIB.c) -diff -r 8e41d25d7665 openjdk/hotspot/make/Makefile ---- openjdk/hotspot/make/Makefile Fri Jun 20 13:26:10 2008 +0100 -+++ openjdk/hotspot/make/Makefile Fri Jun 20 13:30:28 2008 +0100 -@@ -99,6 +99,15 @@ all_debugcore: jvmgcore docs export_ - all_debugcore: jvmgcore docs export_debug - all_optimizedcore: optimizedcore docs export_optimized - -+# Shark (C0) targets made available with this Makefile -+SHARK_VM_TARGETS=productshark fastdebugshark optimizedshark jvmgshark -+ -+allshark: all_productshark all_fastdebugshark From Coleen.Phillimore at Sun.COM Fri Dec 5 04:37:50 2008 From: Coleen.Phillimore at Sun.COM (Coleen Phillimore) Date: Fri, 05 Dec 2008 07:37:50 -0500 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <49387EAD.7020202@sun.com> References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> <4935DF0E.5040701@sun.com> <49368DA0.8060808@ubuntu.com> <1228314050.1541.839.camel@localhost.localdomain> <4936EB17.3070607@sun.com> <4936EDD3.6040809@ubuntu.com> <49373AB0.1000209@sun.com> <1228378964.1541.844.camel@localhost.localdomain> <493822A7.4070605@sun.com> <49382914.4080808@redhat.com> <49383619.3010401@sun.com> <49383D3D.9070805@redhat.com> <49384EA8.6040305@sun.com> <49387EAD.7020202@sun.com> Message-ID: <4939209E.9080406@sun.com> Are there pragmas in gcc to disable selected warning messages like there are in the windows Visual C++ and as far as I can remember, the EDG front ends? An implementation is free to warn about whatever it wants but generally provides pragmas or command line options to disable certain warnings. It's better than turning them all off or remembering to write silly code to satisfy a certain compiler. Coleen David Holmes - Sun Microsystems wrote: > I don't know who is most at fault here: the glibc folk for marking > these methods with an attribute that forces a warning to always be > issued regardless of what the developer writes in his code, or selects > for her compiler options; or the gcc folk for providing such an > attribute in the first place. :-( Too much hand-holding if you ask me. > > But having to store into an unused local to get around this is plain > absurd! > > David Holmes > > Kelly O'Hair said the following on 12/05/08 07:42: >> It's a quality of the compiler implementation issue. >> I know there are no formal standard violations here, but the >> intent of an explicit void cast has always been clear. >> >> -kto >> >> Andrew Haley wrote: >>> Kelly O'Hair wrote: >>>> Both fwrite() and (void)fwrite() are legal, >>>> the first one is a potential error, but the later >>>> is defined by the standard as having the function return value >>>> explicitly "discarded". >>> >>> The standard doesn't distinguish between them. Both are evaluated >>> as void expressions. >>> >>>> So warning about a value that has been explicitly "discarded" by >>>> the terms of the standard seems like a very questionable warning. >>> >>> Perhaps so, but that is nothing to do with standards conformance, >>> which you were questioning. Let me be clear: a C compiler is allowed >>> to warn about anything at all, as long as every standard program is >>> executed according to the rules of the abstract machine. >>> >>> Andrew. >>> >>> >>>> Andrew Haley wrote: >>>>> Kelly O'Hair wrote: >>>>>> The issue seems so simple to me. >>>>>> If the function return is to be ignored, you make an explicit cast >>>>>> to void. This practice is so old and common I don't understand why >>>>>> it's so complicated. >>>>>> gcc/g++ are not the only compilers on the planet. >>>>>> Writing portable C or C++ code becomes increasingly more complicated >>>>>> when you have to rely on special features of the compiler to get >>>>>> them >>>>>> to shut up about perfectly valid code. >>>>>> >>>>>> What happened to following the standards? >>>>>> >>>>>> WG14/N1124 6.3.2.2 void >>>>>> >>>>>> "... If an expression of any other type is evaluated as a void >>>>>> expression, its value or designator is discarded. >>>>>> (A void expression is evaluated for its side effects.)" >>>>> Huh? The standard doesn't say that you should not warn about >>>>> legal but potentially problematic code. That's what most >>>>> warnings are, after all. >>>>> >>>>> Andrew. >>> From langel at redhat.com Fri Dec 5 07:56:33 2008 From: langel at redhat.com (Lillian Angel) Date: Fri, 05 Dec 2008 15:56:33 +0000 Subject: changeset in /hg/icedtea6: 2008-12-05 Mark Wielaard changeset d1cbd5d9d782 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d1cbd5d9d782 description: 2008-12-05 Mark Wielaard * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: JarIndex.getIndex() can return null when there is no index for the jar. In that case we shouldn't store the null result. diffstat: 2 files changed, 14 insertions(+), 3 deletions(-) ChangeLog | 6 ++++++ rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 11 ++++++++--- diffs (41 lines): diff -r 81363fed525c -r d1cbd5d9d782 ChangeLog --- a/ChangeLog Fri Dec 05 14:08:01 2008 +0100 +++ b/ChangeLog Fri Dec 05 10:56:29 2008 -0500 @@ -1,3 +1,9 @@ 2008-12-05 Matthias Klose + + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: + JarIndex.getIndex() can return null when there is no index for the + jar. In that case we shouldn't store the null result. + 2008-12-05 Matthias Klose * patches/icedtea-lucene-crash.patch: Update for b14. diff -r 81363fed525c -r d1cbd5d9d782 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Dec 05 14:08:01 2008 +0100 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Dec 05 10:56:29 2008 -0500 @@ -494,8 +494,12 @@ public class JNLPClassLoader extends URL // there is currently no mechanism to cache files per // instance.. so only index cached files - if (localFile != null) - jarIndexes.add(JarIndex.getJarIndex(new JarFile(localFile.getAbsolutePath()), null)); + if (localFile != null) { + JarFile file = new JarFile(localFile.getAbsolutePath()); + JarIndex index = JarIndex.getJarIndex(file, null); + if (index != null) + jarIndexes.add(index); + } if (JNLPRuntime.isDebug()) System.err.println("Activate jar: "+location); @@ -692,7 +696,8 @@ public class JNLPClassLoader extends URL // Currently this loads jars directly from the site. We cannot cache it because this // call is initiated from within the applet, which does not have disk read/write permissions for (JarIndex index: jarIndexes) { - LinkedList jarList = index.get(name.replace('.', '/')); + + LinkedList jarList = index.get(name.replace('.', '/')); if (jarList != null) { for (String jarName: jarList) { From langel at redhat.com Fri Dec 5 08:15:48 2008 From: langel at redhat.com (Lillian Angel) Date: Fri, 05 Dec 2008 16:15:48 +0000 Subject: changeset in /hg/icedtea6: 2008-12-05 Lillian Angel changeset b3016fa940b5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b3016fa940b5 description: 2008-12-05 Lillian Angel * Makefile.am: (EXTRA_DIST): Added hotspot.tar.gz diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ Makefile.am | 3 ++- diffs (25 lines): diff -r d1cbd5d9d782 -r b3016fa940b5 ChangeLog --- a/ChangeLog Fri Dec 05 10:56:29 2008 -0500 +++ b/ChangeLog Fri Dec 05 11:15:44 2008 -0500 @@ -1,3 +1,8 @@ 2008-12-05 Mark Wielaard + + * Makefile.am: + (EXTRA_DIST): Added hotspot.tar.gz + 2008-12-05 Mark Wielaard * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: diff -r d1cbd5d9d782 -r b3016fa940b5 Makefile.am --- a/Makefile.am Fri Dec 05 10:56:29 2008 -0500 +++ b/Makefile.am Fri Dec 05 11:15:44 2008 -0500 @@ -104,7 +104,8 @@ EXTRA_DIST = rt generated \ test/jtreg \ IcedTeaPlugin.cc \ HACKING pulseaudio fsg.sh \ - plugin + plugin \ + hotspot.tar.gz # The Binary plugs directory is called jdk1.7.0 for historical reasons. The # name is completely irrelevant; only contains the plugs to build IcedTea. From langel at redhat.com Fri Dec 5 08:22:12 2008 From: langel at redhat.com (Lillian Angel) Date: Fri, 05 Dec 2008 16:22:12 +0000 Subject: changeset in /hg/icedtea6: Reverted last commit Message-ID: changeset aafa46776b27 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=aafa46776b27 description: Reverted last commit diffstat: 2 files changed, 1 insertion(+), 7 deletions(-) ChangeLog | 5 ----- Makefile.am | 3 +-- diffs (25 lines): diff -r b3016fa940b5 -r aafa46776b27 ChangeLog --- a/ChangeLog Fri Dec 05 11:15:44 2008 -0500 +++ b/ChangeLog Fri Dec 05 11:22:08 2008 -0500 @@ -1,8 +1,3 @@ 2008-12-05 Lillian Angel - - * Makefile.am: - (EXTRA_DIST): Added hotspot.tar.gz - 2008-12-05 Mark Wielaard * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: diff -r b3016fa940b5 -r aafa46776b27 Makefile.am --- a/Makefile.am Fri Dec 05 11:15:44 2008 -0500 +++ b/Makefile.am Fri Dec 05 11:22:08 2008 -0500 @@ -104,8 +104,7 @@ EXTRA_DIST = rt generated \ test/jtreg \ IcedTeaPlugin.cc \ HACKING pulseaudio fsg.sh \ - plugin \ - hotspot.tar.gz + plugin # The Binary plugs directory is called jdk1.7.0 for historical reasons. The # name is completely irrelevant; only contains the plugs to build IcedTea. From langel at redhat.com Fri Dec 5 08:28:01 2008 From: langel at redhat.com (Lillian Angel) Date: Fri, 05 Dec 2008 16:28:01 +0000 Subject: changeset in /hg/icedtea6: 2008-12-05 Lillian Angel changeset 0d2220a76fad in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0d2220a76fad description: 2008-12-05 Lillian Angel * Makefile.am: (EXTRA_DIST): Added hotspot.map. diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ Makefile.am | 3 ++- diffs (25 lines): diff -r aafa46776b27 -r 0d2220a76fad ChangeLog --- a/ChangeLog Fri Dec 05 11:22:08 2008 -0500 +++ b/ChangeLog Fri Dec 05 11:27:57 2008 -0500 @@ -1,3 +1,8 @@ 2008-12-05 Mark Wielaard + + * Makefile.am: + (EXTRA_DIST): Added hotspot.map. + 2008-12-05 Mark Wielaard * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: diff -r aafa46776b27 -r 0d2220a76fad Makefile.am --- a/Makefile.am Fri Dec 05 11:22:08 2008 -0500 +++ b/Makefile.am Fri Dec 05 11:27:57 2008 -0500 @@ -104,7 +104,8 @@ EXTRA_DIST = rt generated \ test/jtreg \ IcedTeaPlugin.cc \ HACKING pulseaudio fsg.sh \ - plugin + plugin \ + hotspot.map # The Binary plugs directory is called jdk1.7.0 for historical reasons. The # name is completely irrelevant; only contains the plugs to build IcedTea. From langel at redhat.com Fri Dec 5 08:30:45 2008 From: langel at redhat.com (Lillian Angel) Date: Fri, 05 Dec 2008 16:30:45 +0000 Subject: changeset in /hg/icedtea6: 2008-12-05 Lillian Angel changeset aacdd2457cbe in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=aacdd2457cbe description: 2008-12-05 Lillian Angel * Makefile.am: (EXTRA_DIST): Added autogen.sh diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ Makefile.am | 3 ++- diffs (25 lines): diff -r 0d2220a76fad -r aacdd2457cbe ChangeLog --- a/ChangeLog Fri Dec 05 11:27:57 2008 -0500 +++ b/ChangeLog Fri Dec 05 11:30:42 2008 -0500 @@ -1,3 +1,8 @@ 2008-12-05 Lillian Angel + + * Makefile.am: + (EXTRA_DIST): Added autogen.sh + 2008-12-05 Lillian Angel * Makefile.am: diff -r 0d2220a76fad -r aacdd2457cbe Makefile.am --- a/Makefile.am Fri Dec 05 11:27:57 2008 -0500 +++ b/Makefile.am Fri Dec 05 11:30:42 2008 -0500 @@ -105,7 +105,8 @@ EXTRA_DIST = rt generated \ IcedTeaPlugin.cc \ HACKING pulseaudio fsg.sh \ plugin \ - hotspot.map + hotspot.map \ + autogen.sh # The Binary plugs directory is called jdk1.7.0 for historical reasons. The # name is completely irrelevant; only contains the plugs to build IcedTea. From langel at redhat.com Fri Dec 5 08:39:21 2008 From: langel at redhat.com (Lillian Angel) Date: Fri, 05 Dec 2008 16:39:21 +0000 Subject: changeset in /hg/icedtea6: 2008-12-05 Lillian Angel changeset 7801bbe25e3a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7801bbe25e3a description: 2008-12-05 Lillian Angel * Makefile.am: (EXTRA_DIST): Added everything under patches/. diffstat: 2 files changed, 6 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ Makefile.am | 2 +- diffs (24 lines): diff -r aacdd2457cbe -r 7801bbe25e3a ChangeLog --- a/ChangeLog Fri Dec 05 11:30:42 2008 -0500 +++ b/ChangeLog Fri Dec 05 11:39:17 2008 -0500 @@ -1,3 +1,8 @@ 2008-12-05 Lillian Angel + + * Makefile.am: + (EXTRA_DIST): Added everything under patches/. + 2008-12-05 Lillian Angel * Makefile.am: diff -r aacdd2457cbe -r 7801bbe25e3a Makefile.am --- a/Makefile.am Fri Dec 05 11:30:42 2008 -0500 +++ b/Makefile.am Fri Dec 05 11:39:17 2008 -0500 @@ -96,7 +96,7 @@ install: clean-jtreg clean-jtreg-r