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-reports clean-visualvm clean-nbplatform EXTRA_DIST = rt generated \ - patches/icedtea-*.patch \ + patches/* \ gcjwebplugin.cc tools-copy contrib ports \ extra overlays \ javaws.png javaws.desktop visualvm.desktop \ From Dalibor.Topic at Sun.COM Fri Dec 5 08:50:49 2008 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Fri, 05 Dec 2008 17:50:49 +0100 Subject: openjdk6 javafx In-Reply-To: <17c6771e0812050349rbfd177bq19da27d4e217ebb9@mail.gmail.com> References: <49388C51.8020602@enelserver.com> <49389598.6060706@sun.com> <17c6771e0812050349rbfd177bq19da27d4e217ebb9@mail.gmail.com> Message-ID: <49395BE9.6030908@sun.com> Andrew John Hughes wrote: > 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. I think a better place to discuss whatever problems JavaFX has on GNU/Linux, than this particular mailing list, would be the comment section of http://blogs.sun.com/javafx/entry/a_word_on_linux_and . cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From doko at ubuntu.com Fri Dec 5 09:31:00 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Fri, 05 Dec 2008 17:31:00 +0000 Subject: changeset in /hg/icedtea6: 2008-12-05 Matthias Klose changeset 0623a28ecba1 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=0623a28ecba1 description: 2008-12-05 Matthias Klose * patches/icedtea-hotspot7-build-fixes.patch: Update. * patches/hotspot/original/icedtea-core-zero-build.patch: Regenerate from original/icedtea-core-build.patch. * patches/icedtea-hotspot-6b14-7b24.patch: Newly generated. * patches/icedtea-hotspot-6b12-7b24.patch: Remove. * Makefile.am (ICEDTEA_PATCHES): Update for zero, based on original hotspot. diffstat: 14 files changed, 14108 insertions(+), 57039 deletions(-) ChangeLog | 10 Makefile.am | 21 generated/com/sun/corba/se/impl/logging/ActivationSystemException.java | 2 generated/com/sun/corba/se/impl/logging/IORSystemException.java | 2 generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java | 2 generated/com/sun/corba/se/impl/logging/NamingSystemException.java | 2 generated/com/sun/corba/se/impl/logging/OMGSystemException.java | 2 generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java | 2 generated/com/sun/corba/se/impl/logging/POASystemException.java | 2 generated/com/sun/corba/se/impl/logging/UtilSystemException.java | 2 patches/hotspot/original/icedtea-core-zero-build.patch | 104 patches/icedtea-hotspot-6b12-7b24.patch |56979 ---------- patches/icedtea-hotspot-6b14-7b24.patch |13966 ++ patches/icedtea-hotspot7-build-fixes.patch | 51 diffs (truncated from 71286 to 500 lines): diff -r 7801bbe25e3a -r 0623a28ecba1 ChangeLog --- a/ChangeLog Fri Dec 05 11:39:17 2008 -0500 +++ b/ChangeLog Fri Dec 05 18:30:11 2008 +0100 @@ -1,3 +1,13 @@ 2008-12-05 Lillian Angel + + * patches/icedtea-hotspot7-build-fixes.patch: Update. + * patches/hotspot/original/icedtea-core-zero-build.patch: Regenerate + from original/icedtea-core-build.patch. + * patches/icedtea-hotspot-6b14-7b24.patch: Newly generated. + * patches/icedtea-hotspot-6b12-7b24.patch: Remove. + * Makefile.am (ICEDTEA_PATCHES): Update for zero, based on original + hotspot. + 2008-12-05 Lillian Angel * Makefile.am: diff -r 7801bbe25e3a -r 0623a28ecba1 Makefile.am --- a/Makefile.am Fri Dec 05 11:39:17 2008 -0500 +++ b/Makefile.am Fri Dec 05 18:30:11 2008 +0100 @@ -463,7 +463,7 @@ ZERO_PATCHES = ZERO_PATCHES = else ZERO_PATCHES = \ - patches/icedtea-hotspot-6b12-7b24.patch \ + patches/icedtea-hotspot-6b14-7b24.patch \ patches/icedtea-hotspot7-build-fixes.patch endif ZERO_PATCHES += \ @@ -475,7 +475,6 @@ ZERO_PATCHES += \ if !WITH_ALT_HSBUILD ZERO_PATCHES += \ - patches/icedtea-bytecodeInterpreterWithChecks.patch \ patches/icedtea-signed-types.patch \ patches/icedtea-hotspot-citypeflow.patch endif @@ -534,8 +533,22 @@ ICEDTEA_PATCHES = \ patches/icedtea-sunsrc.patch \ patches/icedtea-libraries.patch \ patches/icedtea-javafiles.patch \ - patches/icedtea-core-build.patch \ - patches/hotspot/$(HSBUILD)/icedtea-core-build.patch \ + patches/icedtea-core-build.patch + +if WITH_ALT_HSBUILD +ICEDTEA_PATCHES += \ + patches/hotspot/$(HSBUILD)/icedtea-core-build.patch +else +if ZERO_BUILD +ICEDTEA_PATCHES += \ + patches/hotspot/$(HSBUILD)/icedtea-core-zero-build.patch +else +ICEDTEA_PATCHES += \ + patches/hotspot/$(HSBUILD)/icedtea-core-build.patch +endif +endif + +ICEDTEA_PATCHES += \ patches/icedtea-linker-options.patch \ patches/hotspot/$(HSBUILD)/icedtea-static-libstdc++.patch \ patches/icedtea-timerqueue.patch \ diff -r 7801bbe25e3a -r 0623a28ecba1 generated/com/sun/corba/se/impl/logging/ActivationSystemException.java --- a/generated/com/sun/corba/se/impl/logging/ActivationSystemException.java Fri Dec 05 11:39:17 2008 -0500 +++ b/generated/com/sun/corba/se/impl/logging/ActivationSystemException.java Fri Dec 05 18:30:11 2008 +0100 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group ACTIVATION // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Activation.mc on Fri Sep 12 21:18:58 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Activation.mc on Fri Dec 05 17:29:35 GMT 2008 package com.sun.corba.se.impl.logging ; diff -r 7801bbe25e3a -r 0623a28ecba1 generated/com/sun/corba/se/impl/logging/IORSystemException.java --- a/generated/com/sun/corba/se/impl/logging/IORSystemException.java Fri Dec 05 11:39:17 2008 -0500 +++ b/generated/com/sun/corba/se/impl/logging/IORSystemException.java Fri Dec 05 18:30:11 2008 +0100 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group IOR // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/IOR.mc on Fri Sep 12 21:18:58 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/IOR.mc on Fri Dec 05 17:29:35 GMT 2008 package com.sun.corba.se.impl.logging ; diff -r 7801bbe25e3a -r 0623a28ecba1 generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java --- a/generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java Fri Dec 05 11:39:17 2008 -0500 +++ b/generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java Fri Dec 05 18:30:11 2008 +0100 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group INTERCEPTORS // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Interceptors.mc on Fri Sep 12 21:18:58 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Interceptors.mc on Fri Dec 05 17:29:35 GMT 2008 package com.sun.corba.se.impl.logging ; diff -r 7801bbe25e3a -r 0623a28ecba1 generated/com/sun/corba/se/impl/logging/NamingSystemException.java --- a/generated/com/sun/corba/se/impl/logging/NamingSystemException.java Fri Dec 05 11:39:17 2008 -0500 +++ b/generated/com/sun/corba/se/impl/logging/NamingSystemException.java Fri Dec 05 18:30:11 2008 +0100 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group NAMING // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Naming.mc on Fri Sep 12 21:18:58 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Naming.mc on Fri Dec 05 17:29:35 GMT 2008 package com.sun.corba.se.impl.logging ; diff -r 7801bbe25e3a -r 0623a28ecba1 generated/com/sun/corba/se/impl/logging/OMGSystemException.java --- a/generated/com/sun/corba/se/impl/logging/OMGSystemException.java Fri Dec 05 11:39:17 2008 -0500 +++ b/generated/com/sun/corba/se/impl/logging/OMGSystemException.java Fri Dec 05 18:30:11 2008 +0100 @@ -1,7 +1,7 @@ // Log wrapper class for standard exceptions // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/OMG.mc on Fri Sep 12 21:18:59 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/OMG.mc on Fri Dec 05 17:29:35 GMT 2008 package com.sun.corba.se.impl.logging ; diff -r 7801bbe25e3a -r 0623a28ecba1 generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java --- a/generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java Fri Dec 05 11:39:17 2008 -0500 +++ b/generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java Fri Dec 05 18:30:11 2008 +0100 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group ORBUTIL // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/ORBUtil.mc on Fri Sep 12 21:18:59 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/ORBUtil.mc on Fri Dec 05 17:29:35 GMT 2008 package com.sun.corba.se.impl.logging ; diff -r 7801bbe25e3a -r 0623a28ecba1 generated/com/sun/corba/se/impl/logging/POASystemException.java --- a/generated/com/sun/corba/se/impl/logging/POASystemException.java Fri Dec 05 11:39:17 2008 -0500 +++ b/generated/com/sun/corba/se/impl/logging/POASystemException.java Fri Dec 05 18:30:11 2008 +0100 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group POA // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/POA.mc on Fri Sep 12 21:18:59 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/POA.mc on Fri Dec 05 17:29:36 GMT 2008 package com.sun.corba.se.impl.logging ; diff -r 7801bbe25e3a -r 0623a28ecba1 generated/com/sun/corba/se/impl/logging/UtilSystemException.java --- a/generated/com/sun/corba/se/impl/logging/UtilSystemException.java Fri Dec 05 11:39:17 2008 -0500 +++ b/generated/com/sun/corba/se/impl/logging/UtilSystemException.java Fri Dec 05 18:30:11 2008 +0100 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group UTIL // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Util.mc on Fri Sep 12 21:18:59 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Util.mc on Fri Dec 05 17:29:36 GMT 2008 package com.sun.corba.se.impl.logging ; diff -r 7801bbe25e3a -r 0623a28ecba1 patches/hotspot/original/icedtea-core-zero-build.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/icedtea-core-zero-build.patch Fri Dec 05 18:30:11 2008 +0100 @@ -0,0 +1,104 @@ +--- openjdk/hotspot/make/Makefile.orig 2008-11-25 09:11:57.000000000 +0000 ++++ openjdk/hotspot/make/Makefile 2008-12-05 16:54:54.000000000 +0000 +@@ -91,6 +91,15 @@ + all_debug: jvmg jvmg1 jvmgkernel docs export_debug + all_optimized: optimized optimized1 optimizedkernel docs export_optimized + ++# Core (non-compiler) targets made available with this Makefile ++CORE_VM_TARGETS=productcore fastdebugcore optimizedcore jvmgcore ++ ++allcore: all_productcore all_fastdebugcore ++all_productcore: productcore docs export_product ++all_fastdebugcore: fastdebugcore docs export_fastdebug ++all_debugcore: jvmgcore docs export_debug ++all_optimizedcore: optimizedcore docs export_optimized ++ + # Do everything + world: all create_jdk + +@@ -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) ++ + $(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) ++ + 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 ++ifdef ICEDTEA_CORE_BUILD ++C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core ++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 ++ 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 +@@ -219,6 +246,7 @@ + MISC_DIR=$(C2_DIR) + GEN_DIR=$(C2_BASE_DIR)/generated + endif ++endif + + # Bin files (windows) + ifeq ($(OSNAME),windows) +--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig 2008-12-05 16:54:13.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp 2008-12-05 16:54:54.000000000 +0000 +@@ -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 +--- 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 16:54:54.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 7801bbe25e3a -r 0623a28ecba1 patches/icedtea-hotspot-6b12-7b24.patch --- a/patches/icedtea-hotspot-6b12-7b24.patch Fri Dec 05 11:39:17 2008 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56979 +0,0 @@ -diff -ruNb openjdk6/hotspot/src/share/tools/MakeDeps/BuildConfig.java openjdk/hotspot/src/share/tools/MakeDeps/BuildConfig.java ---- openjdk6/hotspot/src/share/tools/MakeDeps/BuildConfig.java 2008-08-28 10:23:06.000000000 +0200 -+++ openjdk/hotspot/src/share/tools/MakeDeps/BuildConfig.java 2007-12-14 08:57:02.000000000 +0100 -@@ -704,6 +704,3 @@ - receiver.add(attr); receiver.add(value); - } - } -- -- -- -diff -ruNb openjdk6/hotspot/src/share/tools/MakeDeps/Macro.java openjdk/hotspot/src/share/tools/MakeDeps/Macro.java ---- openjdk6/hotspot/src/share/tools/MakeDeps/Macro.java 2008-08-28 10:23:06.000000000 +0200 -+++ openjdk/hotspot/src/share/tools/MakeDeps/Macro.java 2007-12-14 08:57:02.000000000 +0100 -@@ -26,4 +26,3 @@ - public String name; - public String contents; - } -- -diff -ruNb openjdk6/hotspot/src/share/tools/MakeDeps/Platform.java openjdk/hotspot/src/share/tools/MakeDeps/Platform.java ---- openjdk6/hotspot/src/share/tools/MakeDeps/Platform.java 2008-08-28 10:23:06.000000000 +0200 -+++ openjdk/hotspot/src/share/tools/MakeDeps/Platform.java 2007-12-14 08:57:02.000000000 +0100 -@@ -169,7 +169,7 @@ - - /** max is 31 on mac, so warn */ - public int fileNameLengthLimit() { -- return 40; -+ return 45; - } - - public int defaultGrandIncludeThreshold() { -diff -ruNb openjdk6/hotspot/src/share/tools/MakeDeps/WinGammaPlatformVC6.java openjdk/hotspot/src/share/tools/MakeDeps/WinGammaPlatformVC6.java ---- openjdk6/hotspot/src/share/tools/MakeDeps/WinGammaPlatformVC6.java 2008-08-28 10:23:06.000000000 +0200 -+++ openjdk/hotspot/src/share/tools/MakeDeps/WinGammaPlatformVC6.java 2007-12-14 08:57:02.000000000 +0100 -@@ -236,7 +236,7 @@ - " /nologo /base:\"0x8000000\" /subsystem:windows /dll" + - " /export:JNI_GetDefaultJavaVMInitArgs /export:JNI_CreateJavaVM /export:JNI_GetCreatedJavaVMs "+ - " /export:jio_snprintf /export:jio_printf /export:jio_fprintf /export:jio_vfprintf "+ -- " /export:jio_vsnprintf /export:JVM_EnqueueOperation "); -+ " /export:jio_vsnprintf "); - rv.add("SUBTRACT LINK32 /pdb:none /map"); - - return rv; -diff -ruNb openjdk6/hotspot/src/share/tools/MakeDeps/WinGammaPlatformVC7.java openjdk/hotspot/src/share/tools/MakeDeps/WinGammaPlatformVC7.java ---- openjdk6/hotspot/src/share/tools/MakeDeps/WinGammaPlatformVC7.java 2008-08-28 10:23:06.000000000 +0200 -+++ openjdk/hotspot/src/share/tools/MakeDeps/WinGammaPlatformVC7.java 2007-12-14 08:57:02.000000000 +0100 -@@ -262,6 +262,8 @@ - - rv.add(new SpecificNameFilter("JVMTI Generated", new String[] {"^jvmti.+"})); - -+ rv.add(new SpecificNameFilter("C++ Interpreter Generated", new String[] {"^bytecodeInterpreterWithChecks.+"})); -+ - rv.add(new SpecificNameFilter("Include DBs", new String[] {"^includeDB_.+"})); - - // this one is to catch files not caught by other filters -@@ -574,8 +576,7 @@ - "/export:JNI_GetCreatedJavaVMs "+ - "/export:jio_snprintf /export:jio_printf "+ - "/export:jio_fprintf /export:jio_vfprintf "+ -- "/export:jio_vsnprintf "+ -- "/export:JVM_EnqueueOperation "); -+ "/export:jio_vsnprintf "); - addAttr(rv, "AdditionalDependencies", "Wsock32.lib winmm.lib"); - addAttr(rv, "OutputFile", outDll); - addAttr(rv, "LinkIncremental", "1"); -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/adlc.hpp openjdk/hotspot/src/share/vm/adlc/adlc.hpp ---- openjdk6/hotspot/src/share/vm/adlc/adlc.hpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/adlc.hpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_HDR --#pragma ident "@(#)adlc.hpp 1.28 07/05/05 17:04:59 JVM" --#endif - /* - * Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/adlparse.cpp openjdk/hotspot/src/share/vm/adlc/adlparse.cpp ---- openjdk6/hotspot/src/share/vm/adlc/adlparse.cpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/adlparse.cpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_SRC --#pragma ident "@(#)adlparse.cpp 1.205 07/05/05 17:05:00 JVM" --#endif - /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/adlparse.hpp openjdk/hotspot/src/share/vm/adlc/adlparse.hpp ---- openjdk6/hotspot/src/share/vm/adlc/adlparse.hpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/adlparse.hpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_HDR --#pragma ident "@(#)adlparse.hpp 1.79 07/05/05 17:05:00 JVM" --#endif - /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -273,5 +270,3 @@ - static bool is_int_token(const char* token, int& intval); - static void trim(char* &token); // trim leading & trailing spaces - }; -- -- -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/archDesc.cpp openjdk/hotspot/src/share/vm/adlc/archDesc.cpp ---- openjdk6/hotspot/src/share/vm/adlc/archDesc.cpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/archDesc.cpp 2007-12-14 08:57:02.000000000 +0100 -@@ -22,6 +22,7 @@ - // - // - -+ - // archDesc.cpp - Internal format for architecture definition - #include "adlc.hpp" - -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/arena.cpp openjdk/hotspot/src/share/vm/adlc/arena.cpp ---- openjdk6/hotspot/src/share/vm/adlc/arena.cpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/arena.cpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_SRC --#pragma ident "@(#)arena.cpp 1.16 07/05/05 17:05:00 JVM" --#endif - /* - * Copyright 1998-2002 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -173,4 +170,3 @@ - void CHeapObj::operator delete(void* p){ - free(p); - } -- -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/arena.hpp openjdk/hotspot/src/share/vm/adlc/arena.hpp ---- openjdk6/hotspot/src/share/vm/adlc/arena.hpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/arena.hpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_HDR --#pragma ident "@(#)arena.hpp 1.17 07/05/05 17:05:00 JVM" --#endif - /* - * Copyright 1998-2002 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -158,4 +155,3 @@ - size_t size_in_bytes() const { return _size_in_bytes; } - void set_size_in_bytes(size_t size) { _size_in_bytes = size; } - }; -- -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/dfa.cpp openjdk/hotspot/src/share/vm/adlc/dfa.cpp ---- openjdk6/hotspot/src/share/vm/adlc/dfa.cpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/dfa.cpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_SRC --#pragma ident "@(#)dfa.cpp 1.83 07/05/05 17:04:59 JVM" --#endif - /* - * Copyright 1997-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -1022,4 +1019,3 @@ - void ProductionState::print() { - _production.print(print_key, print_production); - } -- -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/dict2.cpp openjdk/hotspot/src/share/vm/adlc/dict2.cpp ---- openjdk6/hotspot/src/share/vm/adlc/dict2.cpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/dict2.cpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_SRC --#pragma ident "@(#)dict2.cpp 1.19 07/05/05 17:04:59 JVM" --#endif - /* - * Copyright 1998-2002 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -354,5 +351,3 @@ - } - _key = _value = NULL; - } -- -- -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/dict2.hpp openjdk/hotspot/src/share/vm/adlc/dict2.hpp ---- openjdk6/hotspot/src/share/vm/adlc/dict2.hpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/dict2.hpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_HDR --#pragma ident "@(#)dict2.hpp 1.16 07/05/05 17:05:01 JVM" --#endif - /* - * Copyright 1998-2000 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -121,5 +118,3 @@ - }; - - #endif // _DICT_ -- -- -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/filebuff.cpp openjdk/hotspot/src/share/vm/adlc/filebuff.cpp ---- openjdk6/hotspot/src/share/vm/adlc/filebuff.cpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/filebuff.cpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_SRC --#pragma ident "@(#)filebuff.cpp 1.30 07/05/05 17:05:01 JVM" --#endif - /* - * Copyright 1997-2002 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -297,4 +294,3 @@ - va_end(args); - _AD._no_output = 1; - } -- -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/filebuff.hpp openjdk/hotspot/src/share/vm/adlc/filebuff.hpp ---- openjdk6/hotspot/src/share/vm/adlc/filebuff.hpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/filebuff.hpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_HDR --#pragma ident "@(#)filebuff.hpp 1.27 07/05/05 17:05:01 JVM" --#endif - /* - * Copyright 1997-2004 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/forms.cpp openjdk/hotspot/src/share/vm/adlc/forms.cpp ---- openjdk6/hotspot/src/share/vm/adlc/forms.cpp 2008-08-28 10:23:07.000000000 +0200 -+++ openjdk/hotspot/src/share/vm/adlc/forms.cpp 2007-12-14 08:57:02.000000000 +0100 -@@ -1,6 +1,3 @@ --#ifdef USE_PRAGMA_IDENT_SRC --#pragma ident "@(#)forms.cpp 1.161 07/05/05 17:04:59 JVM" --#endif - /* - * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -@@ -386,4 +383,3 @@ - void SourceForm::output(FILE *fp) { - fprintf(fp,"\n//%s\n%s\n",classname(),(_code?_code:"")); - } -- -diff -ruNb openjdk6/hotspot/src/share/vm/adlc/forms.hpp openjdk/hotspot/src/share/vm/adlc/forms.hpp ---- openjdk6/hotspot/src/share/vm/adlc/forms.hpp 2008-08-28 10:23:07.000000000 +0200 From doko at ubuntu.com Sun Dec 7 12:05:17 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Sun, 07 Dec 2008 20:05:17 +0000 Subject: changeset in /hg/icedtea6: 2008-12-07 Matthias Klose changeset cb878729b4ff in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cb878729b4ff description: 2008-12-07 Matthias Klose * patches/icedtea-uname.patch: Update for PARISC. diffstat: 2 files changed, 6 insertions(+), 2 deletions(-) ChangeLog | 4 ++++ patches/icedtea-uname.patch | 4 ++-- diffs (32 lines): diff -r 0623a28ecba1 -r cb878729b4ff ChangeLog --- a/ChangeLog Fri Dec 05 18:30:11 2008 +0100 +++ b/ChangeLog Sun Dec 07 21:04:26 2008 +0100 @@ -1,3 +1,7 @@ 2008-12-05 Matthias Klose + + * patches/icedtea-uname.patch: Update for PARISC. + 2008-12-05 Matthias Klose * patches/icedtea-hotspot7-build-fixes.patch: Update. diff -r 0623a28ecba1 -r cb878729b4ff patches/icedtea-uname.patch --- a/patches/icedtea-uname.patch Fri Dec 05 18:30:11 2008 +0100 +++ b/patches/icedtea-uname.patch Sun Dec 07 21:04:26 2008 +0100 @@ -5,7 +5,7 @@ # Arch and OS name/version mach := $(shell uname -m) + ifneq (,$(wildcard /usr/bin/dpkg-architecture)) -+ mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/') ++ mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/') + endif archExpr = case "$(mach)" in \ i[3-9]86) \ @@ -27,7 +27,7 @@ # Arch and OS name/version mach := $(shell uname -m) + ifneq (,$(wildcard /usr/bin/dpkg-architecture)) -+ mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/') ++ mach := $(shell (dpkg-architecture -qDEB_BUILD_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/powerpc$$/ppc/;s/hppa/parisc/') + endif archExpr = case "$(mach)" in \ i[3-9]86) \ From Xiaobin.Lu at Sun.COM Sun Dec 7 21:47:32 2008 From: Xiaobin.Lu at Sun.COM (Xiaobin Lu) Date: Sun, 07 Dec 2008 21:47:32 -0800 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: <493CB4F4.7090203@Sun.COm> FYI, I've filed bug 6781583 to address this, there are also some casts problems when doing compilation on 64 bit platforms. I agree it is ugly to use a unused local variable to make the aggressive compiler happy, but I don't find other options such as pragam etc to get around this. Luckily, we don't have many of these except for a few fwrite and write calls, so it is not so bad to just put unused variables there ( I would also put a comment to tell why it is there.) -Xiaobin 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 bugzilla-daemon at icedtea.classpath.org Mon Dec 8 02:39:21 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 08 Dec 2008 10:39:21 +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 #5 from mark at klomp.org 2008-12-08 10:39 ------- Lillian checked in the first part of the patch in attachment #1 to fix another issue she was seeing. changeset: 1257:d1cbd5d9d782 user: Lillian Angel date: Fri Dec 05 10:56:29 2008 -0500 files: ChangeLog rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java 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. But I am not sure that is the full solution for this bug report. Please do report any additional issues seen after this patch. -- 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 Mon Dec 8 03:33:45 2008 From: gbenson at redhat.com (Gary Benson) Date: Mon, 08 Dec 2008 11:33:45 +0000 Subject: changeset in /hg/icedtea6: 2008-12-08 Gary Benson changeset e80c09b99b46 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=e80c09b99b46 description: 2008-12-08 Gary Benson * contrib/jck/compile-native-code.sh: New file. diffstat: 2 files changed, 68 insertions(+) ChangeLog | 4 ++ contrib/jck/compile-native-code.sh | 64 ++++++++++++++++++++++++++++++++++++ diffs (79 lines): diff -r cb878729b4ff -r e80c09b99b46 ChangeLog --- a/ChangeLog Sun Dec 07 21:04:26 2008 +0100 +++ b/ChangeLog Mon Dec 08 11:33:38 2008 +0000 @@ -1,3 +1,7 @@ 2008-12-07 Matthias Klose + + * contrib/jck/compile-native-code.sh: New file. + 2008-12-07 Matthias Klose * patches/icedtea-uname.patch: Update for PARISC. diff -r cb878729b4ff -r e80c09b99b46 contrib/jck/compile-native-code.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/jck/compile-native-code.sh Mon Dec 08 11:33:38 2008 +0000 @@ -0,0 +1,64 @@ +#!/bin/sh + +if [ $# != 1 ]; then + echo 1>&2 "usage: `basename $0` JCKDIR" + exit 1 +fi + +JCKDIR=$(cd $1 && pwd) +if [ ! -f $JCKDIR/src/share/lib/atr/jckatr.c ]; then + echo 1>&2 "error: $JCKDIR is not a runtime JCK" + exit 1 +fi + +basedir=$(dirname $JCKDIR) +if [ -z $basedir ]; then + echo 1>&2 "error: don't let me delete /lib"\! + exit 1 +fi + +LIBDIR=$basedir/lib +RESDIR=$basedir/resources + +for dir in $LIBDIR $RESDIR; do + rm -Rf $dir + mkdir -p $dir +done + +set -x +cp -r $JCKDIR/tests/api/javax_management/loading/data/* $RESDIR +chmod -R +w $RESDIR + +gcc -fPIC -shared -o $LIBDIR/libjckatr.so -I$JCKDIR \ + $JCKDIR/src/share/lib/atr/jckatr.c + +gcc -fPIC -shared -o $LIBDIR/libjckjni.so -I$JCKDIR \ + -I$JCKDIR/src/share/lib/jni/include \ + -I$JCKDIR/src/share/lib/jni/include/solaris \ + $JCKDIR/src/share/lib/jni/jckjni.c + +gcc -fPIC -shared -o $LIBDIR/libjckjvmti.so -I$JCKDIR \ + -I$JCKDIR/src/share/lib/jvmti/include \ + -I$JCKDIR/src/share/lib/jni/include \ + -I$JCKDIR/src/share/lib/jni/include/solaris \ + $JCKDIR/src/share/lib/jvmti/jckjvmti.c + +gcc -fPIC -shared -o $LIBDIR/libsystemInfo.so \ + -I$JCKDIR/src/share/lib/jni/include \ + -I$JCKDIR/src/share/lib/jni/include/solaris \ + $JCKDIR/tests/api/javax_management/loading/data/archives/src/C/com_sun_management_mbeans_loading_SystemInfoUseNativeLib.c + +gcc -fPIC -shared -o $LIBDIR/libjmxlibid.so \ + -I$JCKDIR/src/share/lib/jni/include \ + -I$JCKDIR/src/share/lib/jni/include/solaris \ + $JCKDIR/tests/api/javax_management/loading/data/archives/src/C/com_sun_management_mbeans_loading_GetLibIdFromNativeLib.c + +gcc -fPIC -shared -o $LIBDIR/libgenrandom.so \ + -I$JCKDIR/src/share/lib/jni/include \ + -I$JCKDIR/src/share/lib/jni/include/solaris \ + $JCKDIR/tests/api/javax_management/loading/data/archives/src/C/com_sun_management_mbeans_loading_RandomGen.c + +jar uf $RESDIR/archives/MBeanUseNativeLib.jar $LIBDIR/libsystemInfo.so +rm -f $LIBDIR/libsystemInfo.so +jar cf $RESDIR/archives/OnlyLibs.jar $LIBDIR/libjmxlibid.so +rm -f $LIBDIR/libjmxlibid.so From mark at klomp.org Mon Dec 8 03:49:25 2008 From: mark at klomp.org (Mark Wielaard) Date: Mon, 08 Dec 2008 12:49:25 +0100 Subject: Public open specs In-Reply-To: <49219AF0.6070407@sun.com> References: <20080917084136.GA10250@bamboo.destinee.acro.gen.nz> <1226579378.4563.15.camel@dijkstra.wildebeest.org> <491C9E25.6050301@sun.com> <1226614223.10363.4.camel@hermans.wildebeest.org> <491CAD1C.8040106@sun.com> <1226619088.5290.4.camel@dijkstra.wildebeest.org> <491D858C.70109@sun.com> <1226674908.3266.58.camel@dijkstra.wildebeest.org> <491DC160.4030004@sun.com> <1226739682.16426.29.camel@hermans.wildebeest.org> <17c6771e0811151650g798290b3t7f76f78bb463442b@mail.gmail.com> <49219AF0.6070407@sun.com> Message-ID: <1228736965.3712.14.camel@dijkstra.wildebeest.org> Hi Dalibor, On Mon, 2008-11-17 at 17:25 +0100, Dalibor Topic wrote: > Andrew John Hughes wrote: > >> Getting all these JSRs published freely and openly without click-through > >> like you want to do for the JVM spec would solve all these issues. > > > > Couldn't agree more. Why is it the specs for TCP (an RFC) and HTML > > (W3C recommendation) are published openly on the web, yet the JSR > > specifications are hidden behind pages of legalese? Whether its onus > > or not, it still has to be read and approved and is enough to > > introduce doubt into people's minds. If we could just load up a web > > page and read them with no click-throughs, life would be much easier. > > > Thank you both for taking the time to explain your concerns, and > provide me with a toolchest of arguments to pick from. > > I'll go work on my poking tools now. Much appreciated. Please do let us know what the progress/timeline is. If we can do anything to speed things up, just yell. Should we move this thread to the general discuss mailinglist? Thanks, Mark From Dalibor.Topic at Sun.COM Mon Dec 8 04:25:52 2008 From: Dalibor.Topic at Sun.COM (Dalibor Topic) Date: Mon, 08 Dec 2008 13:25:52 +0100 Subject: Public open specs In-Reply-To: <1228736965.3712.14.camel@dijkstra.wildebeest.org> References: <20080917084136.GA10250@bamboo.destinee.acro.gen.nz> <1226579378.4563.15.camel@dijkstra.wildebeest.org> <491C9E25.6050301@sun.com> <1226614223.10363.4.camel@hermans.wildebeest.org> <491CAD1C.8040106@sun.com> <1226619088.5290.4.camel@dijkstra.wildebeest.org> <491D858C.70109@sun.com> <1226674908.3266.58.camel@dijkstra.wildebeest.org> <491DC160.4030004@sun.com> <1226739682.16426.29.camel@hermans.wildebeest.org> <17c6771e0811151650g798290b3t7f76f78bb463442b@mail.gmail.com> <49219AF0.6070407@sun.com> <1228736965.3712.14.camel@dijkstra.wildebeest.org> Message-ID: <493D1250.7090007@Sun.COM> On 12/ 8/08 12:49 PM, Mark Wielaard wrote: > Hi Dalibor, > > On Mon, 2008-11-17 at 17:25 +0100, Dalibor Topic wrote: > >> Andrew John Hughes wrote: >> >>>> Getting all these JSRs published freely and openly without click-through >>>> like you want to do for the JVM spec would solve all these issues. >>>> >>> Couldn't agree more. Why is it the specs for TCP (an RFC) and HTML >>> (W3C recommendation) are published openly on the web, yet the JSR >>> specifications are hidden behind pages of legalese? Whether its onus >>> or not, it still has to be read and approved and is enough to >>> introduce doubt into people's minds. If we could just load up a web >>> page and read them with no click-throughs, life would be much easier. >>> >>> >> Thank you both for taking the time to explain your concerns, and >> provide me with a toolchest of arguments to pick from. >> >> I'll go work on my poking tools now. >> > > Much appreciated. Please do let us know what the progress/timeline is. > If we can do anything to speed things up, just yell. Should we move this > thread to the general discuss mailinglist? Since I'll be at Devoxx later this week, and a bunch of other people involved should be there, too, I plan to have some face to face conversations about it there and then. Usually finding time to get everyone in the same spot to discuss such issues is really hard in my experience, as everyone is terribly busy doing all kinds of other OpenJDK (un)related things, but that's exactly what conferences like Devoxx are for. ;) cheers, dalibor topic -- ******************************************************************* Dalibor Topic Tel: (+49 40) 23 646 738 Java F/OSS Ambassador AIM: robiladonaim Sun Microsystems GmbH Mobile: (+49 177) 2664 192 Nagelsweg 55 http://openjdk.java.net D-20097 Hamburg mailto:Dalibor.Topic at sun.com Sitz der Gesellschaft: Sonnenallee 1, D-85551 Kirchheim-Heimstetten Amtsgericht M?nchen: HRB 161028 Gesch?ftsf?hrer: Thomas Schr?der, Wolfgang Engels, Dr. Roland B?mer Vorsitzender des Aufsichtsrates: Martin H?ring From tromey at redhat.com Mon Dec 8 10:37:26 2008 From: tromey at redhat.com (Tom Tromey) Date: Mon, 08 Dec 2008 11:37:26 -0700 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <493CB4F4.7090203@Sun.COm> (Xiaobin Lu's message of "Sun\, 07 Dec 2008 21\:47\:32 -0800") 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> <493CB4F4.7090203@Sun.COm> Message-ID: >>>>> ">" == Xiaobin Lu writes: >> I agree it is ugly to use a unused local variable to make the >> aggressive compiler happy, but I don't find other options such as >> pragam etc to get around this. You could try an inline wrapper function. This did not warn for me: int fn () __attribute__ ((warn_unused_result)); static inline int fn2() { return fn (); } int foo () { fn2 (); return 0; } I don't know whether or not this would be considered a bug in gcc, though. Tom From gbenson at redhat.com Tue Dec 9 00:27:24 2008 From: gbenson at redhat.com (Gary Benson) Date: Tue, 09 Dec 2008 08:27:24 +0000 Subject: changeset in /hg/icedtea6: 2008-12-09 Gary Benson changeset a8303cf14c13 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a8303cf14c13 description: 2008-12-09 Gary Benson * contrib/jck/compile-native-code.sh: Fix library paths. diffstat: 2 files changed, 9 insertions(+), 4 deletions(-) ChangeLog | 4 ++++ contrib/jck/compile-native-code.sh | 9 +++++---- diffs (27 lines): diff -r e80c09b99b46 -r a8303cf14c13 ChangeLog --- a/ChangeLog Mon Dec 08 11:33:38 2008 +0000 +++ b/ChangeLog Tue Dec 09 08:27:15 2008 +0000 @@ -1,3 +1,7 @@ 2008-12-08 Gary Benson + + * contrib/jck/compile-native-code.sh: Fix library paths. + 2008-12-08 Gary Benson * contrib/jck/compile-native-code.sh: New file. diff -r e80c09b99b46 -r a8303cf14c13 contrib/jck/compile-native-code.sh --- a/contrib/jck/compile-native-code.sh Mon Dec 08 11:33:38 2008 +0000 +++ b/contrib/jck/compile-native-code.sh Tue Dec 09 08:27:15 2008 +0000 @@ -58,7 +58,8 @@ gcc -fPIC -shared -o $LIBDIR/libgenrando -I$JCKDIR/src/share/lib/jni/include/solaris \ $JCKDIR/tests/api/javax_management/loading/data/archives/src/C/com_sun_management_mbeans_loading_RandomGen.c -jar uf $RESDIR/archives/MBeanUseNativeLib.jar $LIBDIR/libsystemInfo.so -rm -f $LIBDIR/libsystemInfo.so -jar cf $RESDIR/archives/OnlyLibs.jar $LIBDIR/libjmxlibid.so -rm -f $LIBDIR/libjmxlibid.so +cd $LIBDIR +jar uf $RESDIR/archives/MBeanUseNativeLib.jar libsystemInfo.so +rm -f libsystemInfo.so +jar cf $RESDIR/archives/OnlyLibs.jar libjmxlibid.so +rm -f libjmxlibid.so From gnu_andrew at member.fsf.org Tue Dec 9 06:43:17 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 09 Dec 2008 14:43:17 +0000 Subject: changeset in /hg/icedtea6: Fix use of find which breaks on Solaris. Message-ID: changeset f22738446a8f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f22738446a8f description: Fix use of find which breaks on Solaris. 2008-12-09 Andrew John Hughes * Makefile.am: Don't use find to locate the hotspot directory, explicitly use 'hotspot-' plus the changeset. diffstat: 2 files changed, 7 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ Makefile.am | 2 +- diffs (25 lines): diff -r a8303cf14c13 -r f22738446a8f ChangeLog --- a/ChangeLog Tue Dec 09 08:27:15 2008 +0000 +++ b/ChangeLog Tue Dec 09 14:42:57 2008 +0000 @@ -1,3 +1,9 @@ 2008-12-09 Gary Benson + + * Makefile.am: + Don't use find to locate the hotspot directory, + explicitly use 'hotspot-' plus the changeset. + 2008-12-09 Gary Benson * contrib/jck/compile-native-code.sh: Fix library paths. diff -r a8303cf14c13 -r f22738446a8f Makefile.am --- a/Makefile.am Tue Dec 09 08:27:15 2008 +0000 +++ b/Makefile.am Tue Dec 09 14:42:57 2008 +0000 @@ -652,7 +652,7 @@ if WITH_ALT_HSBUILD rm -rf openjdk/hotspot ; \ $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ chmod -R ug+w hotspot-* ; \ - mv $$(find -maxdepth 1 -name 'hotspot-*' -type d) openjdk/hotspot ; \ + mv hotspot-$$(cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2) openjdk/hotspot ; \ fi endif if WITH_CACAO From twisti at complang.tuwien.ac.at Tue Dec 9 07:48:07 2008 From: twisti at complang.tuwien.ac.at (Christian Thalinger) Date: Tue, 09 Dec 2008 16:48:07 +0100 Subject: changeset in /hg/icedtea6: Fix use of find which breaks on Solaris. In-Reply-To: References: Message-ID: <1228837687.20039.12.camel@localhost.localdomain> On Tue, 2008-12-09 at 14:43 +0000, Andrew John Hughes wrote: > changeset f22738446a8f in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f22738446a8f > description: > Fix use of find which breaks on Solaris. > > 2008-12-09 Andrew John Hughes > > * Makefile.am: > Don't use find to locate the hotspot directory, > explicitly use 'hotspot-' plus the changeset. Thanks, that fixed my build problems on OpenSolaris. I will commit my changes soon (they are lying around on my harddisk for so long now). - Christian From gnu_andrew at member.fsf.org Tue Dec 9 12:07:16 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 09 Dec 2008 20:07:16 +0000 Subject: changeset in /hg/icedtea: Fix XRender on OpenJDK7. Message-ID: changeset a5aedf022d19 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=a5aedf022d19 description: Fix XRender on OpenJDK7. 2008-12-04 Andrew John Hughes * patches/xrender/icedtea-000.patch: Removed, already applied in OpenJDK7. * Makefile.am: Fix XRender wildcard to work where srcdir != builddir. * patches/xrender/icedtea-001.patch, * patches/xrender/icedtea-003.patch, * patches/xrender/icedtea-004.patch: Recreated against OpenJDK7. diffstat: 6 files changed, 292 insertions(+), 767 deletions(-) ChangeLog | 12 Makefile.am | 3 patches/xrender/icedtea-000.patch | 430 ------------------------------ patches/xrender/icedtea-001.patch | 529 ++++++++++++++++--------------------- patches/xrender/icedtea-003.patch | 36 -- patches/xrender/icedtea-004.patch | 49 +-- diffs (truncated from 1542 to 500 lines): diff -r d6e0712415c3 -r a5aedf022d19 ChangeLog --- a/ChangeLog Thu Dec 04 18:38:00 2008 +0000 +++ b/ChangeLog Tue Dec 09 20:07:01 2008 +0000 @@ -1,3 +1,15 @@ 2008-12-04 Andrew John Hughes + + * patches/xrender/icedtea-000.patch: + Removed, already applied in OpenJDK7. + * Makefile.am: + Fix XRender wildcard to work where + srcdir != builddir. + * patches/xrender/icedtea-001.patch, + * patches/xrender/icedtea-003.patch, + * patches/xrender/icedtea-004.patch: + Recreated against OpenJDK7. + 2008-12-04 Andrew John Hughes * patches/ecj/icedtea-hotspot-14.0b08.patch, diff -r d6e0712415c3 -r a5aedf022d19 Makefile.am --- a/Makefile.am Thu Dec 04 18:38:00 2008 +0000 +++ b/Makefile.am Tue Dec 09 20:07:01 2008 +0000 @@ -1907,7 +1907,8 @@ endif if ENABLE_XRENDER XRENDER_PATCHES = patches/xrender/icedtea-???.patch -ICEDTEA_PATCHES += $(sort $(wildcard $(XRENDER_PATCHES))) +XRENDER_PATCH_FILES = $(sort $(wildcard $(abs_top_srcdir)/$(XRENDER_PATCHES))) +ICEDTEA_PATCHES += $(sort $(subst $(abs_top_srcdir)/,,$(XRENDER_PATCH_FILES))) endif if !USE_CVMI diff -r d6e0712415c3 -r a5aedf022d19 patches/xrender/icedtea-000.patch --- a/patches/xrender/icedtea-000.patch Thu Dec 04 18:38:00 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,430 +0,0 @@ -6675596: SurfaceManagerFactory should allow plugging in different implementations -Reviewed-by: tdv, campbell -Contributed-by: Roman Kennke - -diff -r ed68352f7e42 -r 4af4867ed787 src/share/classes/sun/awt/image/SunVolatileImage.java ---- openjdk/jdk/src/share/classes/sun/awt/image/SunVolatileImage.java Wed May 14 09:16:18 2008 -0700 -+++ openjdk/jdk/src/share/classes/sun/awt/image/SunVolatileImage.java Wed May 14 16:05:07 2008 -0700 -@@ -165,7 +165,8 @@ - { - return new BufImgVolatileSurfaceManager(this, context); - } -- return SurfaceManagerFactory.createVolatileManager(this, context); -+ SurfaceManagerFactory smf = SurfaceManagerFactory.getInstance(); -+ return smf.createVolatileManager(this, context); - } - - private Color getForeground() { -diff -r ed68352f7e42 -r 4af4867ed787 src/share/classes/sun/java2d/SurfaceManagerFactory.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ openjdk/jdk/src/share/classes/sun/java2d/SurfaceManagerFactory.java Wed May 14 16:05:07 2008 -0700 -@@ -0,0 +1,91 @@ -+/* -+ * Copyright 2003-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 -+ * under the terms of the GNU General Public License version 2 only, as -+ * published by the Free Software Foundation. Sun designates this -+ * particular file as subject to the "Classpath" exception as provided -+ * by Sun in the LICENSE file that accompanied this code. -+ * -+ * This code is distributed in the hope that it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+ * version 2 for more details (a copy is included in the LICENSE file that -+ * accompanied this code). -+ * -+ * You should have received a copy of the GNU General Public License version -+ * 2 along with this work; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -+ * CA 95054 USA or visit www.sun.com if you need additional information or -+ * have any questions. -+ */ -+ -+package sun.java2d; -+ -+import sun.awt.image.SunVolatileImage; -+import sun.awt.image.VolatileSurfaceManager; -+ -+/** -+ * This factory creates platform specific VolatileSurfaceManager -+ * implementations. -+ * -+ * There are two platform specific SurfaceManagerFactories in OpenJDK, -+ * UnixSurfaceManagerFactory and WindowsSurfaceManagerFactory. -+ * The actually used SurfaceManagerFactory is set by the respective platform -+ * GraphicsEnvironment implementations in the static initializer. -+ */ -+public abstract class SurfaceManagerFactory { -+ -+ /** -+ * The single shared instance. -+ */ -+ private static SurfaceManagerFactory instance; -+ -+ /** -+ * Returns the surface manager factory instance. This returns a factory -+ * that has been set by {@link #setInstance(SurfaceManagerFactory)}. -+ * -+ * @return the surface manager factory -+ */ -+ public synchronized static SurfaceManagerFactory getInstance() { -+ -+ if (instance == null) { -+ throw new IllegalStateException("No SurfaceManagerFactory set."); -+ } -+ return instance; -+ } -+ -+ /** -+ * Sets the surface manager factory. This may only be called once, and it -+ * may not be set back to {@code null} when the factory is already -+ * instantiated. -+ * -+ * @param factory the factory to set -+ */ -+ public synchronized static void setInstance(SurfaceManagerFactory factory) { -+ -+ if (factory == null) { -+ // We don't want to allow setting this to null at any time. -+ throw new IllegalArgumentException("factory must be non-null"); -+ } -+ -+ if (instance != null) { -+ // We don't want to re-set the instance at any time. -+ throw new IllegalStateException("The surface manager factory is already initialized"); -+ } -+ -+ instance = factory; -+ } -+ -+ /** -+ * Creates a new instance of a VolatileSurfaceManager given any -+ * arbitrary SunVolatileImage. An optional context Object can be supplied -+ * as a way for the caller to pass pipeline-specific context data to -+ * the VolatileSurfaceManager (such as a backbuffer handle, for example). -+ */ -+ public abstract VolatileSurfaceManager -+ createVolatileManager(SunVolatileImage image, Object context); -+} -diff -r ed68352f7e42 -r 4af4867ed787 src/solaris/classes/sun/awt/X11GraphicsEnvironment.java ---- openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java Wed May 14 09:16:18 2008 -0700 -+++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java Wed May 14 16:05:07 2008 -0700 -@@ -48,6 +48,8 @@ - import sun.font.FontManager; - import sun.font.NativeFont; - import sun.java2d.SunGraphicsEnvironment; -+import sun.java2d.SurfaceManagerFactory; -+import sun.java2d.UnixSurfaceManagerFactory; - - /** - * This is an implementation of a GraphicsEnvironment object for the -@@ -177,6 +179,10 @@ - return null; - } - }); -+ -+ // Install the correct surface manager factory. -+ SurfaceManagerFactory.setInstance(new UnixSurfaceManagerFactory()); -+ - } - - private static boolean glxAvailable; -diff -r ed68352f7e42 -r 4af4867ed787 src/solaris/classes/sun/java2d/SurfaceManagerFactory.java ---- openjdk/jdk/src/solaris/classes/sun/java2d/SurfaceManagerFactory.java Wed May 14 09:16:18 2008 -0700 -+++ /dev/null Thu Jan 01 00:00:00 1970 +0000 -@@ -1,65 +0,0 @@ --/* -- * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. -- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -- * -- * This code is free software; you can redistribute it and/or modify it -- * under the terms of the GNU General Public License version 2 only, as -- * published by the Free Software Foundation. Sun designates this -- * particular file as subject to the "Classpath" exception as provided -- * by Sun in the LICENSE file that accompanied this code. -- * -- * This code is distributed in the hope that it will be useful, but WITHOUT -- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- * version 2 for more details (a copy is included in the LICENSE file that -- * accompanied this code). -- * -- * You should have received a copy of the GNU General Public License version -- * 2 along with this work; if not, write to the Free Software Foundation, -- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -- * -- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -- * CA 95054 USA or visit www.sun.com if you need additional information or -- * have any questions. -- */ -- --package sun.java2d; -- --import java.awt.GraphicsConfiguration; --import java.awt.image.BufferedImage; --import sun.awt.X11GraphicsConfig; --import sun.awt.image.SunVolatileImage; --import sun.awt.image.SurfaceManager; --import sun.awt.image.VolatileSurfaceManager; --import sun.java2d.opengl.GLXGraphicsConfig; --import sun.java2d.opengl.GLXVolatileSurfaceManager; --import sun.java2d.x11.X11VolatileSurfaceManager; -- --/** -- * This is a factory class with static methods for creating a -- * platform-specific instance of a particular SurfaceManager. Each platform -- * (Windows, Unix, etc.) has its own specialized SurfaceManagerFactory. -- */ --public class SurfaceManagerFactory { -- /** -- * Creates a new instance of a VolatileSurfaceManager given any -- * arbitrary SunVolatileImage. An optional context Object can be supplied -- * as a way for the caller to pass pipeline-specific context data to -- * the VolatileSurfaceManager (such as a backbuffer handle, for example). -- * -- * For Unix platforms, this method returns either an X11- or a GLX- -- * specific VolatileSurfaceManager based on the GraphicsConfiguration -- * under which the SunVolatileImage was created. -- */ -- public static VolatileSurfaceManager -- createVolatileManager(SunVolatileImage vImg, -- Object context) -- { -- GraphicsConfiguration gc = vImg.getGraphicsConfig(); -- if (gc instanceof GLXGraphicsConfig) { -- return new GLXVolatileSurfaceManager(vImg, context); -- } else { -- return new X11VolatileSurfaceManager(vImg, context); -- } -- } --} -diff -r ed68352f7e42 -r 4af4867ed787 src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ openjdk/jdk/src/solaris/classes/sun/java2d/UnixSurfaceManagerFactory.java Wed May 14 16:05:07 2008 -0700 -@@ -0,0 +1,64 @@ -+/* -+ * Copyright 2003-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 -+ * under the terms of the GNU General Public License version 2 only, as -+ * published by the Free Software Foundation. Sun designates this -+ * particular file as subject to the "Classpath" exception as provided -+ * by Sun in the LICENSE file that accompanied this code. -+ * -+ * This code is distributed in the hope that it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+ * version 2 for more details (a copy is included in the LICENSE file that -+ * accompanied this code). -+ * -+ * You should have received a copy of the GNU General Public License version -+ * 2 along with this work; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -+ * CA 95054 USA or visit www.sun.com if you need additional information or -+ * have any questions. -+ */ -+ -+ -+package sun.java2d; -+ -+import java.awt.GraphicsConfiguration; -+ -+import sun.awt.image.SunVolatileImage; -+import sun.awt.image.VolatileSurfaceManager; -+import sun.java2d.opengl.GLXGraphicsConfig; -+import sun.java2d.opengl.GLXVolatileSurfaceManager; -+import sun.java2d.x11.X11VolatileSurfaceManager; -+ -+/** -+ * The SurfaceManagerFactory that creates VolatileSurfaceManager -+ * implementations for the Unix volatile images. -+ */ -+public class UnixSurfaceManagerFactory extends SurfaceManagerFactory { -+ -+ /** -+ * Creates a new instance of a VolatileSurfaceManager given any -+ * arbitrary SunVolatileImage. An optional context Object can be supplied -+ * as a way for the caller to pass pipeline-specific context data to -+ * the VolatileSurfaceManager (such as a backbuffer handle, for example). -+ * -+ * For Unix platforms, this method returns either an X11- or a GLX- -+ * specific VolatileSurfaceManager based on the GraphicsConfiguration -+ * under which the SunVolatileImage was created. -+ */ -+ public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg, -+ Object context) -+ { -+ GraphicsConfiguration gc = vImg.getGraphicsConfig(); -+ if (gc instanceof GLXGraphicsConfig) { -+ return new GLXVolatileSurfaceManager(vImg, context); -+ } else { -+ return new X11VolatileSurfaceManager(vImg, context); -+ } -+ } -+ -+} -diff -r ed68352f7e42 -r 4af4867ed787 src/windows/classes/sun/awt/Win32GraphicsEnvironment.java ---- openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Wed May 14 09:16:18 2008 -0700 -+++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Wed May 14 16:05:07 2008 -0700 -@@ -42,6 +42,8 @@ - import sun.awt.windows.WToolkit; - import sun.font.FontManager; - import sun.java2d.SunGraphicsEnvironment; -+import sun.java2d.SurfaceManagerFactory; -+import sun.java2d.WindowsSurfaceManagerFactory; - import sun.java2d.windows.WindowsFlags; - - /** -@@ -64,6 +66,9 @@ - WindowsFlags.initFlags(); - initDisplayWrapper(); - eudcFontFileName = getEUDCFontFile(); -+ -+ // Install correct surface manager factory. -+ SurfaceManagerFactory.setInstance(new WindowsSurfaceManagerFactory()); - } - - /** -diff -r ed68352f7e42 -r 4af4867ed787 src/windows/classes/sun/java2d/SurfaceManagerFactory.java ---- openjdk/jdk/src/windows/classes/sun/java2d/SurfaceManagerFactory.java Wed May 14 09:16:18 2008 -0700 -+++ /dev/null Thu Jan 01 00:00:00 1970 +0000 -@@ -1,64 +0,0 @@ --/* -- * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved. -- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -- * -- * This code is free software; you can redistribute it and/or modify it -- * under the terms of the GNU General Public License version 2 only, as -- * published by the Free Software Foundation. Sun designates this -- * particular file as subject to the "Classpath" exception as provided -- * by Sun in the LICENSE file that accompanied this code. -- * -- * This code is distributed in the hope that it will be useful, but WITHOUT -- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- * version 2 for more details (a copy is included in the LICENSE file that -- * accompanied this code). -- * -- * You should have received a copy of the GNU General Public License version -- * 2 along with this work; if not, write to the Free Software Foundation, -- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -- * -- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -- * CA 95054 USA or visit www.sun.com if you need additional information or -- * have any questions. -- */ -- --package sun.java2d; -- --import java.awt.GraphicsConfiguration; --import java.awt.image.BufferedImage; --import sun.awt.image.SunVolatileImage; --import sun.awt.image.SurfaceManager; --import sun.awt.image.VolatileSurfaceManager; --import sun.java2d.opengl.WGLGraphicsConfig; --import sun.java2d.opengl.WGLVolatileSurfaceManager; --import sun.java2d.windows.WindowsFlags; --import sun.java2d.windows.WinVolatileSurfaceManager; -- --/** -- * This is a factory class with static methods for creating a -- * platform-specific instance of a particular SurfaceManager. Each platform -- * (Windows, Unix, etc.) has its own specialized SurfaceManagerFactory. -- */ --public class SurfaceManagerFactory { -- /** -- * Creates a new instance of a VolatileSurfaceManager given any -- * arbitrary SunVolatileImage. An optional context Object can be supplied -- * as a way for the caller to pass pipeline-specific context data to -- * the VolatileSurfaceManager (such as a backbuffer handle, for example). -- * -- * For Windows platforms, this method returns a Windows-specific -- * VolatileSurfaceManager. -- */ -- public static VolatileSurfaceManager -- createVolatileManager(SunVolatileImage vImg, -- Object context) -- { -- GraphicsConfiguration gc = vImg.getGraphicsConfig(); -- if (gc instanceof WGLGraphicsConfig) { -- return new WGLVolatileSurfaceManager(vImg, context); -- } else { -- return new WinVolatileSurfaceManager(vImg, context); -- } -- } --} -diff -r ed68352f7e42 -r 4af4867ed787 src/windows/classes/sun/java2d/WindowsSurfaceManagerFactory.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ openjdk/jdk/src/windows/classes/sun/java2d/WindowsSurfaceManagerFactory.java Wed May 14 16:05:07 2008 -0700 -@@ -0,0 +1,64 @@ -+/* -+ * Copyright 2003-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 -+ * under the terms of the GNU General Public License version 2 only, as -+ * published by the Free Software Foundation. Sun designates this -+ * particular file as subject to the "Classpath" exception as provided -+ * by Sun in the LICENSE file that accompanied this code. -+ * -+ * This code is distributed in the hope that it will be useful, but WITHOUT -+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -+ * version 2 for more details (a copy is included in the LICENSE file that -+ * accompanied this code). -+ * -+ * You should have received a copy of the GNU General Public License version -+ * 2 along with this work; if not, write to the Free Software Foundation, -+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -+ * -+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, -+ * CA 95054 USA or visit www.sun.com if you need additional information or -+ * have any questions. -+ */ -+ -+package sun.java2d; -+ -+import java.awt.GraphicsConfiguration; -+import java.awt.image.BufferedImage; -+import sun.awt.image.SunVolatileImage; -+import sun.awt.image.SurfaceManager; -+import sun.awt.image.VolatileSurfaceManager; -+import sun.java2d.opengl.WGLGraphicsConfig; -+import sun.java2d.opengl.WGLVolatileSurfaceManager; -+import sun.java2d.windows.WindowsFlags; -+import sun.java2d.windows.WinVolatileSurfaceManager; -+ -+/** -+ * The SurfaceManagerFactory that creates VolatileSurfaceManager -+ * implementations for the Windows volatile images. -+ */ -+public class WindowsSurfaceManagerFactory extends SurfaceManagerFactory { -+ -+ /** -+ * Creates a new instance of a VolatileSurfaceManager given any -+ * arbitrary SunVolatileImage. An optional context Object can be supplied -+ * as a way for the caller to pass pipeline-specific context data to -+ * the VolatileSurfaceManager (such as a backbuffer handle, for example). -+ * -+ * For Windows platforms, this method returns a Windows-specific -+ * VolatileSurfaceManager. -+ */ -+ public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg, -+ Object context) -+ { -+ GraphicsConfiguration gc = vImg.getGraphicsConfig(); -+ if (gc instanceof WGLGraphicsConfig) { -+ return new WGLVolatileSurfaceManager(vImg, context); -+ } else { -+ return new WinVolatileSurfaceManager(vImg, context); -+ } -+ } -+ -+} diff -r d6e0712415c3 -r a5aedf022d19 patches/xrender/icedtea-001.patch --- a/patches/xrender/icedtea-001.patch Thu Dec 04 18:38:00 2008 +0000 +++ b/patches/xrender/icedtea-001.patch Tue Dec 09 20:07:01 2008 +0000 @@ -1,23 +1,18 @@ changeset: 6d294fa2bd42 -changeset: 6d294fa2bd42 -user: ceisserer -date: Sat Jul 26 00:13:41 2008 +0200 -summary: summary: initial implementation of the X render pipeline - -diff -r dc592ff5af5e jdk/make/sun/font/FILES_c.gmk ---- openjdk/jdk/make/sun/font/FILES_c.gmk Fri Nov 28 22:59:23 2008 +0100 -+++ openjdk/jdk/make/sun/font/FILES_c.gmk Sat Nov 29 19:56:09 2008 +0100 -@@ -117,6 +117,7 @@ - FILES_cpp_platform = D3DTextRenderer.cpp +diff -Nru openjdk.orig/jdk/make/sun/font/FILES_c.gmk openjdk/jdk/make/sun/font/FILES_c.gmk +--- openjdk.orig/jdk/make/sun/font/FILES_c.gmk 2008-11-20 08:44:12.000000000 +0000 ++++ openjdk/jdk/make/sun/font/FILES_c.gmk 2008-12-09 18:22:57.000000000 +0000 +@@ -119,6 +119,7 @@ + FILES_cpp_platform = else FILES_c_platform = X11FontScaler.c \ + XRTextRenderer.c \ X11TextRenderer.c FILES_cpp_platform = endif -diff -r dc592ff5af5e jdk/make/sun/font/Makefile ---- openjdk/jdk/make/sun/font/Makefile Fri Nov 28 22:59:23 2008 +0100 -+++ openjdk/jdk/make/sun/font/Makefile Sat Nov 29 19:56:09 2008 +0100 -@@ -92,6 +92,7 @@ +diff -Nru openjdk.orig/jdk/make/sun/font/Makefile openjdk/jdk/make/sun/font/Makefile +--- openjdk.orig/jdk/make/sun/font/Makefile 2008-12-09 18:21:59.000000000 +0000 ++++ openjdk/jdk/make/sun/font/Makefile 2008-12-09 18:22:57.000000000 +0000 +@@ -86,6 +86,7 @@ sun/font/NativeStrike.java \ From gnu_andrew at member.fsf.org Tue Dec 9 12:09:39 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 09 Dec 2008 20:09:39 +0000 Subject: changeset in /hg/icedtea6: Fix XRender build where srcdir != bui... Message-ID: changeset 62b109d14405 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=62b109d14405 description: Fix XRender build where srcdir != builddir. 2008-12-09 Andrew John Hughes * Makefile.am: Make XRender patch wildcard work where srcdir != builddir. * configure.ac: Capitalise 'XRender' in configure option. diffstat: 3 files changed, 11 insertions(+), 2 deletions(-) ChangeLog | 8 ++++++++ Makefile.am | 3 ++- configure.ac | 2 +- diffs (40 lines): diff -r f22738446a8f -r 62b109d14405 ChangeLog --- a/ChangeLog Tue Dec 09 14:42:57 2008 +0000 +++ b/ChangeLog Tue Dec 09 20:09:24 2008 +0000 @@ -1,3 +1,11 @@ 2008-12-09 Andrew John Hughes + + * Makefile.am: + Make XRender patch wildcard work where + srcdir != builddir. + * configure.ac: + Capitalise 'XRender' in configure option. + 2008-12-09 Andrew John Hughes * Makefile.am: diff -r f22738446a8f -r 62b109d14405 Makefile.am --- a/Makefile.am Tue Dec 09 14:42:57 2008 +0000 +++ b/Makefile.am Tue Dec 09 20:09:24 2008 +0000 @@ -632,7 +632,8 @@ endif if ENABLE_XRENDER XRENDER_PATCHES = patches/xrender/icedtea-???.patch -ICEDTEA_PATCHES += $(sort $(wildcard $(XRENDER_PATCHES))) +XRENDER_PATCH_FILES = $(sort $(wildcard $(abs_top_srcdir)/$(XRENDER_PATCHES))) +ICEDTEA_PATCHES += $(sort $(subst $(abs_top_srcdir)/,,$(XRENDER_PATCH_FILES))) endif ICEDTEA_PATCHES += \ diff -r f22738446a8f -r 62b109d14405 configure.ac --- a/configure.ac Tue Dec 09 14:42:57 2008 +0000 +++ b/configure.ac Tue Dec 09 20:09:24 2008 +0000 @@ -161,7 +161,7 @@ AM_CONDITIONAL([ENABLE_DOCS], [test x$EN AM_CONDITIONAL([ENABLE_DOCS], [test x$ENABLE_DOCS = xyes]) AC_MSG_RESULT(${ENABLE_DOCS}) -AC_MSG_CHECKING(whether to include xrender pipeline) +AC_MSG_CHECKING(whether to include the XRender pipeline) AC_ARG_ENABLE([xrender], [AS_HELP_STRING([--disable-xrender], [Disable inclusion of xrender pipeline])], From gnu_andrew at member.fsf.org Tue Dec 9 12:37:40 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 09 Dec 2008 20:37:40 +0000 Subject: changeset in /hg/icedtea: Correct ChangeLog to properly credit M... Message-ID: changeset 0819e406a371 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=0819e406a371 description: Correct ChangeLog to properly credit Mark for the wildcard fix. diffstat: 1 file changed, 7 insertions(+), 4 deletions(-) ChangeLog | 11 +++++++---- diffs (25 lines): diff -r a5aedf022d19 -r 0819e406a371 ChangeLog --- a/ChangeLog Tue Dec 09 20:07:01 2008 +0000 +++ b/ChangeLog Tue Dec 09 20:37:33 2008 +0000 @@ -1,14 +1,17 @@ 2008-12-04 Andrew John Hughes +2008-12-09 Andrew John Hughes * patches/xrender/icedtea-000.patch: Removed, already applied in OpenJDK7. - * Makefile.am: - Fix XRender wildcard to work where - srcdir != builddir. * patches/xrender/icedtea-001.patch, * patches/xrender/icedtea-003.patch, * patches/xrender/icedtea-004.patch: Recreated against OpenJDK7. + +2008-12-09 Mark Wielaard + + * Makefile.am: + Fix XRender wildcard to work where + srcdir != builddir. 2008-12-04 Andrew John Hughes From gnu_andrew at member.fsf.org Tue Dec 9 12:39:38 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 09 Dec 2008 20:39:38 +0000 Subject: changeset in /hg/icedtea: Comment on wildcard fix. Message-ID: changeset d9eec6614be5 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=d9eec6614be5 description: Comment on wildcard fix. 2008-12-09 Mark Wielaard * Makefile.am: Add comment to describe wildcard fix. diffstat: 2 files changed, 7 insertions(+) ChangeLog | 5 +++++ Makefile.am | 2 ++ diffs (24 lines): diff -r 0819e406a371 -r d9eec6614be5 ChangeLog --- a/ChangeLog Tue Dec 09 20:37:33 2008 +0000 +++ b/ChangeLog Tue Dec 09 20:39:31 2008 +0000 @@ -1,3 +1,8 @@ 2008-12-09 Andrew John Hughes + + * Makefile.am: + Add comment to describe wildcard fix. + 2008-12-09 Andrew John Hughes * patches/xrender/icedtea-000.patch: diff -r 0819e406a371 -r d9eec6614be5 Makefile.am --- a/Makefile.am Tue Dec 09 20:37:33 2008 +0000 +++ b/Makefile.am Tue Dec 09 20:39:31 2008 +0000 @@ -1906,6 +1906,8 @@ endif endif if ENABLE_XRENDER +# match against $(abs_top_srcdir) and then remove it again, +# because stamps/patch.stamp target will also add it XRENDER_PATCHES = patches/xrender/icedtea-???.patch XRENDER_PATCH_FILES = $(sort $(wildcard $(abs_top_srcdir)/$(XRENDER_PATCHES))) ICEDTEA_PATCHES += $(sort $(subst $(abs_top_srcdir)/,,$(XRENDER_PATCH_FILES))) From gnu_andrew at member.fsf.org Tue Dec 9 13:42:29 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 09 Dec 2008 21:42:29 +0000 Subject: changeset in /hg/icedtea6: Backport IcedTea7 support for --enabl... Message-ID: changeset 7e85e3fd25d7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7e85e3fd25d7 description: Backport IcedTea7 support for --enable-hg. 2008-12-09 Andrew John Hughes * Makefile.am: Support downloading from the Mercurial repository. * acinclude.m4: (ENABLE_HG): New macro. * configure.ac: Check for --enable-hg. diffstat: 4 files changed, 61 insertions(+), 1 deletion(-) ChangeLog | 9 +++++++++ Makefile.am | 30 +++++++++++++++++++++++++++++- acinclude.m4 | 22 ++++++++++++++++++++++ configure.ac | 1 + diffs (123 lines): diff -r 62b109d14405 -r 7e85e3fd25d7 ChangeLog --- a/ChangeLog Tue Dec 09 20:09:24 2008 +0000 +++ b/ChangeLog Tue Dec 09 21:42:14 2008 +0000 @@ -1,3 +1,12 @@ 2008-12-09 Andrew John Hughes + + * Makefile.am: + Support downloading from the Mercurial repository. + * acinclude.m4: + (ENABLE_HG): New macro. + * configure.ac: + Check for --enable-hg. + 2008-12-09 Andrew John Hughes * Makefile.am: diff -r 62b109d14405 -r 7e85e3fd25d7 Makefile.am --- a/Makefile.am Tue Dec 09 20:09:24 2008 +0000 +++ b/Makefile.am Tue Dec 09 21:42:14 2008 +0000 @@ -290,11 +290,16 @@ 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/ +OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk6/jdk6 if USE_ALT_OPENJDK_SRC_ZIP OPENJDK_SRC_ZIP = $(ALT_OPENJDK_SRC_ZIP) else +if USE_HG + OPENJDK_SRC_ZIP = +else OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz +endif endif if USE_ALT_HOTSPOT_SRC_ZIP @@ -336,8 +341,27 @@ else VISUALVM_SRC_ZIP = visualvm-20081031-src.tar.gz endif -stamps/download.stamp: +stamps/hgforest.stamp: if USE_ALT_OPENJDK_SRC_ZIP +else +if !USE_HG +else + if ! $(HG) fclone -h; \ + then \ + echo "No forest extension found. Please refer to" \ + "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \ + exit 1; \ + fi; +endif +endif + mkdir -p stamps + touch stamps/hgforest.stamp + +stamps/download.stamp: stamps/hgforest.stamp +if USE_ALT_OPENJDK_SRC_ZIP +else +if USE_HG + $(HG) fclone -r jdk6-$(OPENJDK_VERSION) $(OPENJDK_HG_URL) openjdk; else if ! echo "$(OPENJDK_MD5SUM) $(OPENJDK_SRC_ZIP)" \ | $(MD5SUM) --check ; \ @@ -348,6 +372,7 @@ else fi ; \ $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP) -O $(OPENJDK_SRC_ZIP); \ fi +endif endif if WITH_ALT_HSBUILD if USE_ALT_HOTSPOT_SRC_ZIP @@ -414,6 +439,9 @@ endif endif mkdir -p stamps touch stamps/download.stamp + +clean-hgforest: + rm -f stamps/hgforest.stamp clean-download: rm -f stamps/download.stamp diff -r 62b109d14405 -r 7e85e3fd25d7 acinclude.m4 --- a/acinclude.m4 Tue Dec 09 20:09:24 2008 +0000 +++ b/acinclude.m4 Tue Dec 09 21:42:14 2008 +0000 @@ -966,3 +966,25 @@ AC_DEFUN([WITH_HOTSPOT_SRC_ZIP], AC_MSG_RESULT(${ALT_HOTSPOT_SRC_ZIP}) AC_SUBST(ALT_HOTSPOT_SRC_ZIP) ]) + +AC_DEFUN([ENABLE_HG], +[ + AC_MSG_CHECKING(whether to retrieve the source code from Mercurial) + AC_ARG_ENABLE([hg], + [AS_HELP_STRING(--enable-hg,download source code from Mercurial [[default=no]])], + [ + case "${enableval}" in + no) + enable_hg=no + ;; + *) + enable_hg=yes + ;; + esac + ], + [ + enable_hg=no + ]) + AC_MSG_RESULT([${enable_hg}]) + AM_CONDITIONAL([USE_HG], test x"${enable_hg}" = "xyes") +]) diff -r 62b109d14405 -r 7e85e3fd25d7 configure.ac --- a/configure.ac Tue Dec 09 20:09:24 2008 +0000 +++ b/configure.ac Tue Dec 09 21:42:14 2008 +0000 @@ -314,6 +314,7 @@ ENABLE_OPTIMIZATIONS ENABLE_OPTIMIZATIONS ENABLE_ZERO_BUILD SET_CORE_OR_SHARK_BUILD +ENABLE_HG if test "x${enable_pulse_java}" = "xyes" then From gnu_andrew at member.fsf.org Tue Dec 9 14:38:50 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 09 Dec 2008 22:38:50 +0000 Subject: changeset in /hg/icedtea6: Support building using --with-openjdk... Message-ID: changeset 7b1c3278c88a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=7b1c3278c88a description: Support building using --with-openjdk-src-dir. 2008-12-09 Andrew John Hughes * Makefile.am: Properly support --with-openjdk-src-dir. * acinclude.m4: Correct the define for OPENJDK_SRC_DIR. diffstat: 3 files changed, 18 insertions(+), 1 deletion(-) ChangeLog | 7 +++++++ Makefile.am | 10 ++++++++++ acinclude.m4 | 2 +- diffs (78 lines): diff -r 7e85e3fd25d7 -r 7b1c3278c88a ChangeLog --- a/ChangeLog Tue Dec 09 21:42:14 2008 +0000 +++ b/ChangeLog Tue Dec 09 22:30:54 2008 +0000 @@ -1,3 +1,10 @@ 2008-12-09 Andrew John Hughes + + * Makefile.am: + Properly support --with-openjdk-src-dir. + * acinclude.m4: + Correct the define for OPENJDK_SRC_DIR. + 2008-12-09 Andrew John Hughes * Makefile.am: diff -r 7e85e3fd25d7 -r 7b1c3278c88a Makefile.am --- a/Makefile.am Tue Dec 09 21:42:14 2008 +0000 +++ b/Makefile.am Tue Dec 09 22:30:54 2008 +0000 @@ -342,6 +342,8 @@ endif endif stamps/hgforest.stamp: +if OPENJDK_SRC_DIR_FOUND +else if USE_ALT_OPENJDK_SRC_ZIP else if !USE_HG @@ -354,10 +356,13 @@ else fi; endif endif +endif mkdir -p stamps touch stamps/hgforest.stamp stamps/download.stamp: stamps/hgforest.stamp +if OPENJDK_SRC_DIR_FOUND +else if USE_ALT_OPENJDK_SRC_ZIP else if USE_HG @@ -379,6 +384,7 @@ else else changeset="`cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2`"; \ $(WGET) $(HOTSPOT_URL)$${changeset}.tar.gz -O $(HOTSPOT_SRC_ZIP); +endif endif endif if WITH_CACAO @@ -668,6 +674,9 @@ ICEDTEA_PATCHES += \ $(DISTRIBUTION_PATCHES) stamps/extract.stamp: stamps/download.stamp +if OPENJDK_SRC_DIR_FOUND + cp -a $(OPENJDK_SRC_DIR) openjdk +else if ! test -d openjdk ; \ then \ mkdir openjdk ; \ @@ -683,6 +692,7 @@ if WITH_ALT_HSBUILD chmod -R ug+w hotspot-* ; \ mv hotspot-$$(cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2) openjdk/hotspot ; \ fi +endif endif if WITH_CACAO if !USE_SYSTEM_CACAO diff -r 7e85e3fd25d7 -r 7b1c3278c88a acinclude.m4 --- a/acinclude.m4 Tue Dec 09 21:42:14 2008 +0000 +++ b/acinclude.m4 Tue Dec 09 22:30:54 2008 +0000 @@ -198,7 +198,7 @@ AC_DEFUN([WITH_OPENJDK_SRC_DIR], AC_MSG_RESULT(${OPENJDK_SRC_DIR}) ]) AC_SUBST(OPENJDK_SRC_DIR) - AM_CONDITIONAL(GNU_CLASSLIB_FOUND, test "x${conditional_with_openjdk_sources}" = xtrue) + AM_CONDITIONAL(OPENJDK_SRC_DIR_FOUND, test "x${conditional_with_openjdk_sources}" = xtrue) ]) AC_DEFUN([FIND_ECJ_JAR], From gnu_andrew at member.fsf.org Tue Dec 9 14:38:50 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 09 Dec 2008 22:38:50 +0000 Subject: changeset in /hg/icedtea6: Allow Mercurial revision to be specif... Message-ID: changeset 569f19d48956 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=569f19d48956 description: Allow Mercurial revision to be specified. 2008-12-09 Andrew John Hughes * Makefile.am: Support use of HGREV. * acinclude.m4: (AC_CHECK_WITH_HG_REVISION): Add --with-hg-revision. * configure.ac: Call AC_CHECK_WITH_HG_REVISION. diffstat: 4 files changed, 32 insertions(+), 1 deletion(-) ChangeLog | 9 +++++++++ Makefile.am | 6 +++++- acinclude.m4 | 17 +++++++++++++++++ configure.ac | 1 + diffs (67 lines): diff -r 7b1c3278c88a -r 569f19d48956 ChangeLog --- a/ChangeLog Tue Dec 09 22:30:54 2008 +0000 +++ b/ChangeLog Tue Dec 09 22:38:21 2008 +0000 @@ -1,3 +1,12 @@ 2008-12-09 Andrew John Hughes + + * Makefile.am: + Support use of HGREV. + * acinclude.m4: + (AC_CHECK_WITH_HG_REVISION): Add --with-hg-revision. + * configure.ac: + Call AC_CHECK_WITH_HG_REVISION. + 2008-12-09 Andrew John Hughes * Makefile.am: diff -r 7b1c3278c88a -r 569f19d48956 Makefile.am --- a/Makefile.am Tue Dec 09 22:30:54 2008 +0000 +++ b/Makefile.am Tue Dec 09 22:38:21 2008 +0000 @@ -366,7 +366,11 @@ if USE_ALT_OPENJDK_SRC_ZIP if USE_ALT_OPENJDK_SRC_ZIP else if USE_HG - $(HG) fclone -r jdk6-$(OPENJDK_VERSION) $(OPENJDK_HG_URL) openjdk; +if WITH_HGREV + $(HG) fclone -r $(HGREV) $(OPENJDK_HG_URL) openjdk; +else + $(HG) fclone $(OPENJDK_HG_URL) openjdk; +endif else if ! echo "$(OPENJDK_MD5SUM) $(OPENJDK_SRC_ZIP)" \ | $(MD5SUM) --check ; \ diff -r 7b1c3278c88a -r 569f19d48956 acinclude.m4 --- a/acinclude.m4 Tue Dec 09 22:30:54 2008 +0000 +++ b/acinclude.m4 Tue Dec 09 22:38:21 2008 +0000 @@ -988,3 +988,20 @@ AC_DEFUN([ENABLE_HG], AC_MSG_RESULT([${enable_hg}]) AM_CONDITIONAL([USE_HG], test x"${enable_hg}" = "xyes") ]) + +AC_DEFUN([AC_CHECK_WITH_HG_REVISION], +[ + AC_MSG_CHECKING([which Mercurial revision to use]) + AC_ARG_WITH([hg-revision], + [AS_HELP_STRING(--with-hg-revision,the Mercurial revision to use)], + [ + HGREV="${withval}" + AC_MSG_RESULT([${HGREV}]) + ], + [ + HGREV="" + AC_MSG_RESULT([tip]) + ]) + AC_SUBST([HGREV]) + AM_CONDITIONAL(WITH_HGREV, test "x${HGREV}" != "x") +]) diff -r 7b1c3278c88a -r 569f19d48956 configure.ac --- a/configure.ac Tue Dec 09 22:30:54 2008 +0000 +++ b/configure.ac Tue Dec 09 22:38:21 2008 +0000 @@ -315,6 +315,7 @@ ENABLE_ZERO_BUILD ENABLE_ZERO_BUILD SET_CORE_OR_SHARK_BUILD ENABLE_HG +AC_CHECK_WITH_HG_REVISION if test "x${enable_pulse_java}" = "xyes" then From Jonathan.Gibbons at Sun.COM Tue Dec 9 17:43:45 2008 From: Jonathan.Gibbons at Sun.COM (Jonathan Gibbons) Date: Tue, 09 Dec 2008 17:43:45 -0800 Subject: Some new security tests failing (one by removing the j2sdk-image dir!) (Was: changeset in /hg/icedtea6...) In-Reply-To: <1228262819.23877.38.camel@dijkstra.wildebeest.org> References: <1228262819.23877.38.camel@dijkstra.wildebeest.org> Message-ID: <493F1ED1.5020508@sun.com> Mark, FYI, I finally investigated the jtreg issue you describe. It's come up once before internally. jtreg is suffering from the simplicities of the java.io.File API, and is following symbolic links when cleaning the scratch directory in preparation for each new test to be run. I have a patch, but I'll probably leave it till after the holidays before pushing it, as I will be leaving for vacation next week. Thanks for pointing out the issue again. -- Jon Mark Wielaard wrote: > 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 > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081209/18527fc3/attachment.html From mark at klomp.org Wed Dec 10 00:31:01 2008 From: mark at klomp.org (Mark Wielaard) Date: Wed, 10 Dec 2008 09:31:01 +0100 Subject: Some new security tests failing (one by removing the j2sdk-image dir!) (Was: changeset in /hg/icedtea6...) In-Reply-To: <493F1ED1.5020508@sun.com> References: <1228262819.23877.38.camel@dijkstra.wildebeest.org> <493F1ED1.5020508@sun.com> Message-ID: <1228897861.6787.1.camel@dijkstra.wildebeest.org> Hi Jon, On Tue, 2008-12-09 at 17:43 -0800, Jonathan Gibbons wrote: > FYI, I finally investigated the jtreg issue you describe. It's come > up once before internally. > jtreg is suffering from the simplicities of the java.io.File API, and > is following symbolic links > when cleaning the scratch directory in preparation for each new test > to be run. I have a > patch, but I'll probably leave it till after the holidays before > pushing it, as I will be leaving > for vacation next week. Thanks for pointing out the issue again. Thanks. I wasn't sure how to fix the issue in jtreg itself (except just saying "don't use symlinks" - which apparently really only is an issue for this particular test case). Glad you found some way. Feel free to post the patch if you want some feedback. Cheers, Mark From dbhole at redhat.com Wed Dec 10 13:02:29 2008 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 10 Dec 2008 21:02:29 +0000 Subject: changeset in /hg/icedtea6: Fix bug#233 -- cache_archive and cach... Message-ID: changeset 96607b3b6ec8 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=96607b3b6ec8 description: Fix bug#233 -- cache_archive and cache_archive_ex parameters are now tracked Fix NPE when applets called getApplet(Ljava/lang/String;) in PluginAppletViewer diffstat: 9 files changed, 151 insertions(+), 25 deletions(-) ChangeLog | 19 +++ plugin/icedtea/sun/applet/PluginAppletViewer.java | 1 rt/net/sourceforge/jnlp/JARDesc.java | 15 ++ rt/net/sourceforge/jnlp/Parser.java | 2 rt/net/sourceforge/jnlp/PluginBridge.java | 91 ++++++++++++++++-- rt/net/sourceforge/jnlp/cache/Resource.java | 20 +++ rt/net/sourceforge/jnlp/cache/ResourceTracker.java | 11 +- rt/net/sourceforge/jnlp/cache/UpdatePolicy.java | 1 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 16 +-- diffs (375 lines): diff -r 569f19d48956 -r 96607b3b6ec8 ChangeLog --- a/ChangeLog Tue Dec 09 22:38:21 2008 +0000 +++ b/ChangeLog Wed Dec 10 16:02:21 2008 -0500 @@ -1,3 +1,22 @@ 2008-12-09 Andrew John Hughes + + * plugin/icedtea/sun/applet/PluginAppletViewer.java: Remove spurious + call to getSecuritymanager() that was causing a CCE. + * rt/net/sourceforge/jnlp/JARDesc.java: Track if the jar is cacheable or + not. + * rt/net/sourceforge/jnlp/Parser.java: Provide new cacheable param to + JARDesc constructor. + * rt/net/sourceforge/jnlp/PluginBridge.java: Track cache_archive and + cache_archive_ex parameters in addition to archive. + * rt/net/sourceforge/jnlp/cache/Resource.java: Track per resource update + policy. + * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: Take into account a + new update policy of "forced" update on each instantiation. + * rt/net/sourceforge/jnlp/cache/UpdatePolicy.java: Create new FORCE update + policy. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Provide new + cacheable param to JARDesc constructor. + 2008-12-09 Andrew John Hughes * Makefile.am: diff -r 569f19d48956 -r 96607b3b6ec8 plugin/icedtea/sun/applet/PluginAppletViewer.java --- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Tue Dec 09 22:38:21 2008 +0000 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Wed Dec 10 16:02:21 2008 -0500 @@ -649,7 +649,6 @@ import sun.misc.Ref; * Get an applet by name. */ public Applet getApplet(String name) { - AppletSecurity security = (AppletSecurity)System.getSecurityManager(); name = name.toLowerCase(); SocketPermission panelSp = new SocketPermission(panel.getCodeBase().getHost(), "connect"); diff -r 569f19d48956 -r 96607b3b6ec8 rt/net/sourceforge/jnlp/JARDesc.java --- a/rt/net/sourceforge/jnlp/JARDesc.java Tue Dec 09 22:38:21 2008 +0000 +++ b/rt/net/sourceforge/jnlp/JARDesc.java Wed Dec 10 16:02:21 2008 -0500 @@ -46,6 +46,9 @@ public class JARDesc { /** whether the JAR contains native libraries */ private boolean nativeJar; + + /** whether the JAR can be cached */ + private boolean cacheable; /** * Create a JAR descriptor. @@ -57,13 +60,14 @@ public class JARDesc { * @param main whether the JAR contains the main class * @param nativeJam whether the JAR contains native libraries */ - public JARDesc(URL location, Version version, String part, boolean lazy, boolean main, boolean nativeJar) { + public JARDesc(URL location, Version version, String part, boolean lazy, boolean main, boolean nativeJar, boolean cacheable) { this.location = location; this.version = version; this.part = part; this.lazy = lazy; this.main = main; this.nativeJar = nativeJar; + this.cacheable = cacheable; } /** @@ -124,6 +128,15 @@ public class JARDesc { public boolean isMain() { return main; } + + /** + * Returns if this jar is cacheable + * + * @return Whether or not this jar is cacheable + */ + public boolean isCacheable() { + return cacheable; + } } diff -r 569f19d48956 -r 96607b3b6ec8 rt/net/sourceforge/jnlp/Parser.java --- a/rt/net/sourceforge/jnlp/Parser.java Tue Dec 09 22:38:21 2008 +0000 +++ b/rt/net/sourceforge/jnlp/Parser.java Wed Dec 10 16:02:21 2008 -0500 @@ -308,7 +308,7 @@ class Parser { if (strict) throw new ParseException(R("PNativeHasMain")); - return new JARDesc(location, version, part, lazy, main, nativeJar); + return new JARDesc(location, version, part, lazy, main, nativeJar, true); } diff -r 569f19d48956 -r 96607b3b6ec8 rt/net/sourceforge/jnlp/PluginBridge.java --- a/rt/net/sourceforge/jnlp/PluginBridge.java Tue Dec 09 22:38:21 2008 +0000 +++ b/rt/net/sourceforge/jnlp/PluginBridge.java Wed Dec 10 16:02:21 2008 -0500 @@ -36,7 +36,9 @@ public class PluginBridge extends JNLPFi Version fileVersion = new Version("1.1"); String name; - String[] jars; + String[] jars = new String[0]; + String[] cache_jars = new String[0]; + String[] cache_ex_jars = new String[0]; Hashtable atts; public PluginBridge(URL codebase, URL documentBase, String jar, String main, @@ -46,7 +48,34 @@ public class PluginBridge extends JNLPFi this.codeBase = codebase; this.sourceLocation = documentBase; - if (jar != null) { + // also, see if cache_archive is specified + if (atts.get("cache_archive") != null && ((String) atts.get("cache_archive")).length() > 0) { + + String[] versions = new String[0]; + + // are there accompanying versions? + if (atts.get("cache_version") != null) { + versions = ((String) atts.get("cache_version")).split(","); + } + + String[] jars = ((String) atts.get("cache_archive")).split(","); + cache_jars = new String[jars.length]; + + for (int i=0; i < jars.length; i++) { + + cache_jars[i] = jars[i].trim(); + + if (versions.length > 0) { + cache_jars[i] += ";" + versions[i].trim(); + } + } + } + + if (atts.get("cache_archive_ex") != null && ((String) atts.get("cache_archive_ex")).length() > 0) { + cache_ex_jars = ((String) atts.get("cache_archive_ex")).split(","); + } + + if (jar != null && jar.length() > 0) { System.err.println("Jar string: " + jar); this.jars = jar.split(","); System.err.println("jars length: " + jars.length); @@ -103,11 +132,59 @@ public class PluginBridge extends JNLPFi //should this be done to sharedResources on init? try { - if (launchType.equals(JARDesc.class) && jars != null) + if (launchType.equals(JARDesc.class)) { for (int i = 0; i < jars.length; i++) result.add(new JARDesc(new URL(codeBase, jars[i]), - null, null, false, true, false)); + null, null, false, true, false, true)); + + boolean cacheable = true; + + if (atts.get("cache_option") != null && + ((String) atts.get("cache_option")).equalsIgnoreCase("no")) + cacheable = false; + + for (int i = 0; i < cache_jars.length; i++) { + + String[] jar_and_ver = cache_jars[i].split(";"); + + String jar = jar_and_ver[0]; + Version version = null; + + if (jar_and_ver.length > 1) { + version = new Version(jar_and_ver[1]); + } + + result.add(new JARDesc(new URL(codeBase, jar), + version, null, false, true, false, cacheable)); + } + + for (int i = 0; i < cache_ex_jars.length; i++) { + String[] jar_info = cache_ex_jars[i].split(";"); + + String jar = jar_info[0].trim(); + Version version = null; + boolean lazy = true; + + if (jar_info.length > 1) { + + // format is name[[;preload];version] + + if (jar_info[1].equals("preload")) { + lazy = false; + } else { + version = new Version(jar_info[1].trim()); + } + + if (jar_info.length > 2) { + lazy = false; + version = new Version(jar_info[2].trim()); + } + } + + result.add(new JARDesc(new URL(codeBase, jar), + version, null, lazy, true, false, false)); + } } } catch (MalformedURLException ex) @@ -132,9 +209,9 @@ public class PluginBridge extends JNLPFi for (int i = 0; i < objectArray.length; i++) jarArray[i] = (JARDesc) objectArray[i]; - return jarArray; - } - + return jarArray; + } + public void addResource(Object resource) { // todo: honor the current locale, os, arch values diff -r 569f19d48956 -r 96607b3b6ec8 rt/net/sourceforge/jnlp/cache/Resource.java --- a/rt/net/sourceforge/jnlp/cache/Resource.java Tue Dec 09 22:38:21 2008 +0000 +++ b/rt/net/sourceforge/jnlp/cache/Resource.java Wed Dec 10 16:02:21 2008 -0500 @@ -88,23 +88,26 @@ public class Resource { /** the status of the resource */ int status = UNINITIALIZED; - + + /** Update policy for this resource */ + UpdatePolicy updatePolicy; /** * Create a resource. */ - private Resource(URL location, Version requestVersion) { + private Resource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { this.location = location; this.requestVersion = requestVersion; + this.updatePolicy = updatePolicy; } /** * Return a shared Resource object representing the given * location and version. */ - public static Resource getResource(URL location, Version requestVersion) { + public static Resource getResource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { synchronized (resources) { - Resource resource = new Resource(location, requestVersion); + Resource resource = new Resource(location, updatePolicy, requestVersion); int index = resources.indexOf(resource); if (index >= 0) { // return existing object @@ -149,6 +152,15 @@ public class Resource { return status == UNINITIALIZED; else return (status & flag) != 0; + } + + /** + * Returns the update policy for this resource + * + * @return The update policy + */ + public UpdatePolicy getUpdatePolicy() { + return this.updatePolicy; } /** diff -r 569f19d48956 -r 96607b3b6ec8 rt/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Tue Dec 09 22:38:21 2008 +0000 +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Wed Dec 10 16:02:21 2008 -0500 @@ -152,7 +152,7 @@ public class ResourceTracker { if (location == null) throw new IllegalArgumentException("location==null"); - Resource resource = Resource.getResource(location, version); + Resource resource = Resource.getResource(location, updatePolicy, version); boolean downloaded = false; synchronized (resources) { @@ -215,7 +215,7 @@ public class ResourceTracker { return true; } - if (updatePolicy != UpdatePolicy.ALWAYS) { // save loading entry props file + if (updatePolicy != UpdatePolicy.ALWAYS && updatePolicy != UpdatePolicy.FORCE) { // save loading entry props file CacheEntry entry = new CacheEntry(resource.location, resource.downloadVersion); if (entry.isCached() && !updatePolicy.shouldUpdate(entry)) { @@ -232,6 +232,11 @@ public class ResourceTracker { return true; } } + + if (updatePolicy == UpdatePolicy.FORCE) { // ALWAYS update + // When we are "always" updating, we update for each instance. Reset resource status. + resource.changeStatus(Integer.MAX_VALUE, 0); + } // may or may not be cached, but check update when connection // is open to possibly save network communication time if it @@ -649,7 +654,7 @@ public class ResourceTracker { // connect URLConnection connection = resource.location.openConnection(); // this won't change so should be okay unsynchronized int size = connection.getContentLength(); - boolean current = CacheUtil.isCurrent(resource.location, resource.requestVersion, connection); + boolean current = CacheUtil.isCurrent(resource.location, resource.requestVersion, connection) && resource.getUpdatePolicy() != UpdatePolicy.FORCE; synchronized(resource) { resource.localFile = localFile; diff -r 569f19d48956 -r 96607b3b6ec8 rt/net/sourceforge/jnlp/cache/UpdatePolicy.java --- a/rt/net/sourceforge/jnlp/cache/UpdatePolicy.java Tue Dec 09 22:38:21 2008 +0000 +++ b/rt/net/sourceforge/jnlp/cache/UpdatePolicy.java Wed Dec 10 16:02:21 2008 -0500 @@ -47,6 +47,7 @@ public class UpdatePolicy { public static UpdatePolicy ALWAYS = new UpdatePolicy(0); public static UpdatePolicy SESSION = new UpdatePolicy(-1); + public static UpdatePolicy FORCE = new UpdatePolicy(Long.MIN_VALUE); public static UpdatePolicy NEVER = new UpdatePolicy(Long.MAX_VALUE); private long timeDiff = -1; diff -r 569f19d48956 -r 96607b3b6ec8 rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Dec 09 22:38:21 2008 +0000 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Dec 10 16:02:21 2008 -0500 @@ -302,6 +302,7 @@ public class JNLPClassLoader extends URL List initialJars = new ArrayList(); for (int i=0; i < jars.length; i++) { + available.add(jars[i]); if (jars[i].isEager()) @@ -309,7 +310,7 @@ public class JNLPClassLoader extends URL tracker.addResource(jars[i].getLocation(), jars[i].getVersion(), - JNLPRuntime.getDefaultUpdatePolicy() + jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE ); } @@ -495,10 +496,10 @@ public class JNLPClassLoader extends URL // there is currently no mechanism to cache files per // instance.. so only index cached files if (localFile != null) { - JarFile file = new JarFile(localFile.getAbsolutePath()); - JarIndex index = JarIndex.getJarIndex(file, null); - if (index != null) - jarIndexes.add(index); + JarIndex index = JarIndex.getJarIndex(new JarFile(localFile.getAbsolutePath()), null); + + if (index != null) + jarIndexes.add(index); } if (JNLPRuntime.isDebug()) @@ -696,15 +697,14 @@ 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) { JARDesc desc; try { desc = new JARDesc(new URL(file.getCodeBase(), jarName), - null, null, false, true, false); + null, null, false, true, false, true); } catch (MalformedURLException mfe) { throw new ClassNotFoundException(name); } From bugzilla-daemon at icedtea.classpath.org Wed Dec 10 14:18:58 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 10 Dec 2008 22:18:58 +0000 Subject: [Bug 272] New: JVM crashes if pulseaudio fails to start Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=272 Summary: JVM crashes if pulseaudio fails to start Product: IcedTea Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: omajid at redhat.com If the pulseaudio daemon fails to start, the JVM crashes. Happens with both the alsa-based backend and the direct pulseaudio backend -- 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 10 14:20:07 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 10 Dec 2008 22:20:07 +0000 Subject: [Bug 272] JVM crashes if pulseaudio fails to start Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=272 ------- Comment #1 from omajid at redhat.com 2008-12-10 22:20 ------- Created an attachment (id=151) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=151&action=view) Test program used -- 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 10 14:21:15 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 10 Dec 2008 22:21:15 +0000 Subject: [Bug 272] JVM crashes if pulseaudio fails to start Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=272 ------- Comment #2 from omajid at redhat.com 2008-12-10 22:21 ------- Created an attachment (id=152) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=152&action=view) Log when using the pulseaudio backend directly -- 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 10 14:24:02 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 10 Dec 2008 22:24:02 +0000 Subject: [Bug 272] JVM crashes if pulseaudio fails to start Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=272 ------- Comment #3 from omajid at redhat.com 2008-12-10 22:24 ------- Created an attachment (id=153) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=153&action=view) JVM crash log when using the alsa-based backend -- 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 doko at ubuntu.com Wed Dec 10 15:35:59 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 10 Dec 2008 23:35:59 +0000 Subject: changeset in /hg/icedtea6: 2008-12-10 Matthias Klose changeset 88c957e14fdd in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=88c957e14fdd description: 2008-12-10 Matthias Klose * patches/hotspot/*/icedtea-text-relocations.patch: Update for PARISC. * patches/icedtea-zero.patch: Likewise. * patches/hotspot/*/icedtea-parisc-opt.patch: New. * Makefile.am (ICEDTEA_PATCHES): Apply icedtea-parisc-opt.patch. diffstat: 6 files changed, 67 insertions(+), 3 deletions(-) ChangeLog | 7 +++ Makefile.am | 3 + patches/hotspot/14.0b08/icedtea-parisc-opt.patch | 28 +++++++++++++++ patches/hotspot/14.0b08/icedtea-text-relocations.patch | 2 - patches/hotspot/original/icedtea-parisc-opt.patch | 28 +++++++++++++++ patches/hotspot/original/icedtea-text-relocations.patch | 2 - diffs (115 lines): diff -r 96607b3b6ec8 -r 88c957e14fdd ChangeLog --- a/ChangeLog Wed Dec 10 16:02:21 2008 -0500 +++ b/ChangeLog Thu Dec 11 00:35:05 2008 +0100 @@ -1,3 +1,10 @@ 2008-12-10 Deepak Bhole + + * patches/hotspot/*/icedtea-text-relocations.patch: Update for PARISC. + * patches/icedtea-zero.patch: Likewise. + * patches/hotspot/*/icedtea-parisc-opt.patch: New. + * Makefile.am (ICEDTEA_PATCHES): Apply icedtea-parisc-opt.patch. + 2008-12-10 Deepak Bhole * plugin/icedtea/sun/applet/PluginAppletViewer.java: Remove spurious diff -r 96607b3b6ec8 -r 88c957e14fdd Makefile.am --- a/Makefile.am Wed Dec 10 16:02:21 2008 -0500 +++ b/Makefile.am Thu Dec 11 00:35:05 2008 +0100 @@ -509,7 +509,8 @@ ZERO_PATCHES += \ patches/icedtea-signature-iterator.patch \ patches/icedtea-test-atomic-operations.patch \ patches/icedtea-zero.patch \ - patches/icedtea-ia64-bugfix.patch + patches/icedtea-ia64-bugfix.patch \ + patches/hotspot/$(HSBUILD)/icedtea-parisc-opt.patch if !WITH_ALT_HSBUILD ZERO_PATCHES += \ diff -r 96607b3b6ec8 -r 88c957e14fdd patches/hotspot/14.0b08/icedtea-parisc-opt.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/14.0b08/icedtea-parisc-opt.patch Thu Dec 11 00:35:05 2008 +0100 @@ -0,0 +1,28 @@ +--- openjdk/hotspot/make/linux/makefiles/product.make.orig 2008-12-10 19:02:31.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/product.make 2008-12-10 19:24:53.000000000 +0100 +@@ -25,6 +25,11 @@ + # Sets make macros for making optimized version of Gamma VM + # (This is the "product", not the "release" version.) + ++# work around an ICE in gcc-4.1 and gcc-4.3 on parisc-linux ++ifeq ($(BUILDARCH)-$(ZERO_LIBARCH), zero-parisc) ++ OPT_CFLAGS/codeBlob.o = $(OPT_CFLAGS/NOOPT) ++endif ++ + # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make + OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) + OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@)) +--- openjdk/hotspot/make/linux/makefiles/optimized.make.orig 2008-12-10 19:02:22.000000000 +0100 ++++ openjdk/hotspot/make/linux/makefiles/optimized.make 2008-12-10 19:24:24.000000000 +0100 +@@ -25,6 +25,11 @@ + # Sets make macros for making optimized version of Gamma VM + # (This is the "product", not the "release" version.) + ++# work around an ICE in gcc-4.1 and gcc-4.3 on parisc-linux ++ifeq ($(BUILDARCH)-$(ZERO_LIBARCH), zero-parisc) ++ OPT_CFLAGS/codeBlob.o = $(OPT_CFLAGS/NOOPT) ++endif ++ + # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make + OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) + OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@)) diff -r 96607b3b6ec8 -r 88c957e14fdd patches/hotspot/14.0b08/icedtea-text-relocations.patch --- a/patches/hotspot/14.0b08/icedtea-text-relocations.patch Wed Dec 10 16:02:21 2008 -0500 +++ b/patches/hotspot/14.0b08/icedtea-text-relocations.patch Thu Dec 11 00:35:05 2008 +0100 @@ -5,7 +5,7 @@ diff -Nru openjdk.orig/hotspot/make/linu # Compiler flags # position-independent code -+ifneq ($(filter ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),) ++ifneq ($(filter parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),) PICFLAG = -fPIC +else +PICFLAG = -fpic diff -r 96607b3b6ec8 -r 88c957e14fdd patches/hotspot/original/icedtea-parisc-opt.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/icedtea-parisc-opt.patch Thu Dec 11 00:35:05 2008 +0100 @@ -0,0 +1,28 @@ +--- openjdk/hotspot/build/linux/makefiles/product.make.orig 2008-12-10 19:02:31.000000000 +0100 ++++ openjdk/hotspot/build/linux/makefiles/product.make 2008-12-10 19:24:53.000000000 +0100 +@@ -25,6 +25,11 @@ + # Sets make macros for making optimized version of Gamma VM + # (This is the "product", not the "release" version.) + ++# work around an ICE in gcc-4.1 and gcc-4.3 on parisc-linux ++ifeq ($(BUILDARCH)-$(ZERO_LIBARCH), zero-parisc) ++ OPT_CFLAGS/codeBlob.o = $(OPT_CFLAGS/NOOPT) ++endif ++ + # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make + OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) + OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@)) +--- openjdk/hotspot/build/linux/makefiles/optimized.make.orig 2008-12-10 19:02:22.000000000 +0100 ++++ openjdk/hotspot/build/linux/makefiles/optimized.make 2008-12-10 19:24:24.000000000 +0100 +@@ -25,6 +25,11 @@ + # Sets make macros for making optimized version of Gamma VM + # (This is the "product", not the "release" version.) + ++# work around an ICE in gcc-4.1 and gcc-4.3 on parisc-linux ++ifeq ($(BUILDARCH)-$(ZERO_LIBARCH), zero-parisc) ++ OPT_CFLAGS/codeBlob.o = $(OPT_CFLAGS/NOOPT) ++endif ++ + # Compiler specific OPT_CFLAGS are passed in from gcc.make, sparcWorks.make + OPT_CFLAGS/DEFAULT= $(OPT_CFLAGS) + OPT_CFLAGS/BYFILE = $(OPT_CFLAGS/$@)$(OPT_CFLAGS/DEFAULT$(OPT_CFLAGS/$@)) diff -r 96607b3b6ec8 -r 88c957e14fdd patches/hotspot/original/icedtea-text-relocations.patch --- a/patches/hotspot/original/icedtea-text-relocations.patch Wed Dec 10 16:02:21 2008 -0500 +++ b/patches/hotspot/original/icedtea-text-relocations.patch Thu Dec 11 00:35:05 2008 +0100 @@ -4,7 +4,7 @@ # Compiler flags # position-independent code -+ifneq ($(filter ppc ppc64 s390 s390x sparc sparc64,$(ZERO_LIBARCH)),) ++ifneq ($(filter parisc ppc ppc64 s390 s390x sparc sparc64,$(ZERO_LIBARCH)),) PICFLAG = -fPIC +else +PICFLAG = -fpic From bugzilla-daemon at icedtea.classpath.org Thu Dec 11 04:39:51 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 11 Dec 2008 12:39:51 +0000 Subject: [Bug 272] JVM crashes if pulseaudio fails to start Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=272 langel at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|omajid at redhat.com |.org | -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From dbhole at redhat.com Thu Dec 11 11:11:50 2008 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 11 Dec 2008 19:11:50 +0000 Subject: changeset in /hg/icedtea6: Clean up output shown in non debug mo... Message-ID: changeset 894d50f03bc4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=894d50f03bc4 description: Clean up output shown in non debug mode -- it is now shown only if the debug var is set. diffstat: 5 files changed, 46 insertions(+), 32 deletions(-) ChangeLog | 7 ++ IcedTeaPlugin.cc | 52 +++++++++++----------- plugin/icedtea/netscape/javascript/JSObject.java | 4 - rt/net/sourceforge/jnlp/NetxPanel.java | 7 ++ rt/net/sourceforge/jnlp/PluginBridge.java | 8 ++- diffs (227 lines): diff -r 88c957e14fdd -r 894d50f03bc4 ChangeLog --- a/ChangeLog Thu Dec 11 00:35:05 2008 +0100 +++ b/ChangeLog Thu Dec 11 14:11:45 2008 -0500 @@ -1,3 +1,10 @@ 2008-12-10 Matthias Klose + + * IcedTeaPlugin.cc: Clean up output shown in non debug mode. + * plugin/icedtea/netscape/javascript/JSObject.java: Same. + * rt/net/sourceforge/jnlp/NetxPanel.java: Same. + * rt/net/sourceforge/jnlp/PluginBridge.java: Same. + 2008-12-10 Matthias Klose * patches/hotspot/*/icedtea-text-relocations.patch: Update for PARISC. diff -r 88c957e14fdd -r 894d50f03bc4 IcedTeaPlugin.cc --- a/IcedTeaPlugin.cc Thu Dec 11 00:35:05 2008 +0100 +++ b/IcedTeaPlugin.cc Thu Dec 11 14:11:45 2008 -0500 @@ -88,7 +88,7 @@ PRThread* current_thread (); #define TIMEOUT 20 #define NOT_IMPLEMENTED() \ - printf ("NOT IMPLEMENTED: %s\n", __PRETTY_FUNCTION__) + PLUGIN_DEBUG_1ARG ("NOT IMPLEMENTED: %s\n", __PRETTY_FUNCTION__) #define ID(object) \ (object == NULL ? (PRUint32) 0 : reinterpret_cast (object)->identifier) @@ -103,7 +103,7 @@ static int plugin_debug = 0; { \ if (plugin_debug) \ { \ - printf (str); \ + fprintf (stderr, str); \ } \ } while (0) @@ -112,35 +112,35 @@ static int plugin_debug = 0; { \ if (plugin_debug) \ { \ - printf (str, arg1); \ + fprintf (stderr, str, arg1); \ } \ } while (0) -#define PLUGIN_DEBUG_2ARG(str, arg1, arg2) \ +#define PLUGIN_DEBUG_2ARG(str, arg1, arg2) \ do \ { \ if (plugin_debug) \ { \ - printf (str, arg1, arg2); \ + fprintf (stderr, str, arg1, arg2); \ } \ } while (0) #define PLUGIN_DEBUG_3ARG(str, arg1, arg2, arg3) \ - do \ - { \ - if (plugin_debug) \ - { \ - printf (str, arg1, arg2, arg3); \ - } \ + do \ + { \ + if (plugin_debug) \ + { \ + fprintf (stderr, str, arg1, arg2, arg3); \ + } \ } while (0) #define PLUGIN_DEBUG_4ARG(str, arg1, arg2, arg3, arg4) \ - do \ - { \ - if (plugin_debug) \ - { \ - printf (str, arg1, arg2, arg3, arg4); \ - } \ + do \ + { \ + if (plugin_debug) \ + { \ + fprintf (stderr, str, arg1, arg2, arg3, arg4); \ + } \ } while (0) #define PLUGIN_DEBUG(message) \ @@ -504,7 +504,7 @@ char const* TYPES[10] = { "Object", #define PROCESS_PENDING_EVENTS_REF(reference) \ if (jvm_attached == PR_FALSE) \ { \ - fprintf(stderr, "Error on Java side detected. Abandoning wait and returning.\n"); \ + PLUGIN_DEBUG_0ARG("Error on Java side detected. Abandoning wait and returning.\n"); \ return NS_ERROR_FAILURE; \ } \ if (g_main_context_pending (NULL)) { \ @@ -1500,7 +1500,7 @@ IcedTeaPluginFactory::IcedTeaPluginFacto js_cleared_handles.Init(); result_map.Init(); PLUGIN_DEBUG_0ARG ("CONSTRUCTING FACTORY\n"); - printf("ICEDTEAPLUGIN_DEBUG = %s\n", getenv ("ICEDTEAPLUGIN_DEBUG")); + PLUGIN_DEBUG_1ARG("ICEDTEAPLUGIN_DEBUG = %s\n", getenv ("ICEDTEAPLUGIN_DEBUG")); } IcedTeaPluginFactory::~IcedTeaPluginFactory () @@ -1617,7 +1617,7 @@ IcedTeaPluginFactory::Initialize () if (jvm_attached == PR_FALSE) { // using printf on purpose.. this should happen rarely - printf("Initializing JVM...\n"); + PLUGIN_DEBUG_0ARG("Initializing JVM...\n"); // mark attached right away, in case another initialize() call //is made (happens if multiple applets are present on the same page) @@ -2295,7 +2295,7 @@ IcedTeaPluginInstance::Initialize (nsIPl if (jvm_attached == PR_FALSE) { // using printf on purpose.. this should happen rarely - fprintf(stderr, "WARNING: Looks like the JVM is not up. Attempting to re-initialize...\n"); + PLUGIN_DEBUG_0ARG("WARNING: Looks like the JVM is not up. Attempting to re-initialize...\n"); // mark attached right away, in case another initialize() call //is made (happens if multiple applets are present on the same page) @@ -2668,7 +2668,7 @@ IcedTeaPluginFactory::GetJavaObject (PRU PLUGIN_DEBUG_1ARG ("GOT JAVA OBJECT IDENTIFIER: %d\n", object_identifier_return); if (object_identifier_return == 0) - printf ("WARNING: received object identifier 0\n"); + PLUGIN_DEBUG_0ARG ("WARNING: received object identifier 0\n"); *object = references.ReferenceObject (object_identifier_return); @@ -4360,7 +4360,7 @@ IcedTeaSocketListener::OnStopListening ( PLUGIN_TRACE_LISTENER (); nsCString shutdownStr("shutdown"); - printf("stop listening: %uld\n", aStatus); + PLUGIN_DEBUG_1ARG("stop listening: %uld\n", aStatus); nsresult result = NS_OK; @@ -4374,7 +4374,7 @@ IcedTeaSocketListener::OnStopListening ( PLUGIN_CHECK_RETURN ("clear async wait", result); break; default: - printf ("ERROR %x\n", aStatus); + PLUGIN_DEBUG_1ARG ("ERROR %x\n", aStatus); PLUGIN_DEBUG ("Listener: Unknown status value."); } return NS_OK; @@ -4740,7 +4740,7 @@ IcedTeaJNIEnv::ParseValue (jni_type type retval.i = 0; break; default: - printf ("WARNING: didn't handle parse type\n"); + PLUGIN_DEBUG_0ARG ("WARNING: didn't handle parse type\n"); break; } @@ -4830,7 +4830,7 @@ IcedTeaJNIEnv::ExpandArgs (JNIID* id, jv break; default: PLUGIN_ERROR_TWO ("Failed to parse signature", id->signature); - printf ("FAILED ID: %d\n", id->identifier); + PLUGIN_DEBUG_1ARG ("FAILED ID: %d\n", id->identifier); break; } diff -r 88c957e14fdd -r 894d50f03bc4 plugin/icedtea/netscape/javascript/JSObject.java --- a/plugin/icedtea/netscape/javascript/JSObject.java Thu Dec 11 00:35:05 2008 +0100 +++ b/plugin/icedtea/netscape/javascript/JSObject.java Thu Dec 11 14:11:45 2008 -0500 @@ -188,9 +188,9 @@ public final class JSObject { if (args == null) args = new Object[0]; - System.err.print ("JSObject.call " + methodName); + PluginDebug.debug ("JSObject.call " + methodName); for (int i = 0; i < args.length; i++) - System.err.print (" " + args[i]); + PluginDebug.debug (" " + args[i]); PluginDebug.debug(""); return PluginAppletViewer.call(internal, methodName, args); } diff -r 88c957e14fdd -r 894d50f03bc4 rt/net/sourceforge/jnlp/NetxPanel.java --- a/rt/net/sourceforge/jnlp/NetxPanel.java Thu Dec 11 00:35:05 2008 +0100 +++ b/rt/net/sourceforge/jnlp/NetxPanel.java Thu Dec 11 14:11:45 2008 -0500 @@ -70,10 +70,13 @@ public class NetxPanel extends AppletVie synchronized(JNLPRuntime.initMutex) { //The custom NetX Policy and SecurityManager are set here. if (!JNLPRuntime.isInitialized()) { - System.out.println("initializing JNLPRuntime..."); + if (JNLPRuntime.isDebug()) + System.out.println("initializing JNLPRuntime..."); + JNLPRuntime.initialize(); } else { - System.out.println("JNLPRuntime already initialized"); + if (JNLPRuntime.isDebug()) + System.out.println("JNLPRuntime already initialized"); } } diff -r 88c957e14fdd -r 894d50f03bc4 rt/net/sourceforge/jnlp/PluginBridge.java --- a/rt/net/sourceforge/jnlp/PluginBridge.java Thu Dec 11 00:35:05 2008 +0100 +++ b/rt/net/sourceforge/jnlp/PluginBridge.java Thu Dec 11 14:11:45 2008 -0500 @@ -29,6 +29,8 @@ import java.util.List; import java.util.List; import java.util.ArrayList; +import net.sourceforge.jnlp.runtime.JNLPRuntime; + public class PluginBridge extends JNLPFile { @@ -76,9 +78,11 @@ public class PluginBridge extends JNLPFi } if (jar != null && jar.length() > 0) { - System.err.println("Jar string: " + jar); this.jars = jar.split(","); - System.err.println("jars length: " + jars.length); + if (JNLPRuntime.isDebug()) { + System.err.println("Jar string: " + jar); + System.err.println("jars length: " + jars.length); + } } this.atts = atts; From fw at deneb.enyo.de Fri Dec 12 12:57:21 2008 From: fw at deneb.enyo.de (Florian Weimer) Date: Fri, 12 Dec 2008 21:57:21 +0100 Subject: fix hotspot build failures with -D_FORTIFY_SOURCE=2 and -Wformat=1 In-Reply-To: <4935CA58.70403@sun.com> (David Holmes's message of "Wed, 03 Dec 2008 09:52:56 +1000") References: <49356C74.2000700@ubuntu.com> <4935CA58.70403@sun.com> Message-ID: <87k5a56rim.fsf@mid.deneb.enyo.de> * David Holmes: > 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!) Looks like a bug to me because the file descriptor might refer to a terminal. From langel at redhat.com Mon Dec 15 09:31:13 2008 From: langel at redhat.com (Lillian Angel) Date: Mon, 15 Dec 2008 17:31:13 +0000 Subject: changeset in /hg/icedtea6: 2008-12-15 Lillian Angel changeset edaae21dab0b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=edaae21dab0b description: 2008-12-15 Lillian Angel Fixes #475888 * patches/icedtea-version.patch: Added patch to set bug report link to icedtea's bugzilla. diffstat: 2 files changed, 18 insertions(+), 1 deletion(-) ChangeLog | 8 +++++++- patches/icedtea-version.patch | 11 +++++++++++ diffs (33 lines): diff -r 894d50f03bc4 -r edaae21dab0b ChangeLog --- a/ChangeLog Thu Dec 11 14:11:45 2008 -0500 +++ b/ChangeLog Mon Dec 15 12:31:08 2008 -0500 @@ -1,4 +1,10 @@ 2008-12-11 Deepak Bhole +2008-12-15 Lillian Angel + + Fixes #475888 + * patches/icedtea-version.patch: Added patch to set bug report link to + icedtea's bugzilla. + +2008-12-11 Deepak Bhole * IcedTeaPlugin.cc: Clean up output shown in non debug mode. * plugin/icedtea/netscape/javascript/JSObject.java: Same. diff -r 894d50f03bc4 -r edaae21dab0b patches/icedtea-version.patch --- a/patches/icedtea-version.patch Thu Dec 11 14:11:45 2008 -0500 +++ b/patches/icedtea-version.patch Mon Dec 15 12:31:08 2008 -0500 @@ -26,3 +26,14 @@ diff -Nru openjdk.orig/jdk/make/common/s endif ifdef BUILD_NUMBER +--- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 12:25:32.000000000 -0500 +@@ -25,7 +25,7 @@ + #include "incls/_precompiled.incl" + #include "incls/_arguments.cpp.incl" + +-#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp" ++#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" + #define DEFAULT_JAVA_LAUNCHER "generic" + + char** Arguments::_jvm_flags_array = NULL; From gnu_andrew at member.fsf.org Mon Dec 15 11:48:17 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 15 Dec 2008 19:48:17 +0000 Subject: changeset in /hg/icedtea6: 2008-12-15 Lillian Angel References: Message-ID: <17c6771e0812151148p20637218x12299222ce86de8@mail.gmail.com> 2008/12/15 Lillian Angel : > changeset edaae21dab0b in /hg/icedtea6 > details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=edaae21dab0b > description: > 2008-12-15 Lillian Angel > > Fixes #475888 > * patches/icedtea-version.patch: Added patch to set bug report link to > icedtea's bugzilla. > > diffstat: > > 2 files changed, 18 insertions(+), 1 deletion(-) > ChangeLog | 8 +++++++- > patches/icedtea-version.patch | 11 +++++++++++ > > diffs (33 lines): > > diff -r 894d50f03bc4 -r edaae21dab0b ChangeLog > --- a/ChangeLog Thu Dec 11 14:11:45 2008 -0500 > +++ b/ChangeLog Mon Dec 15 12:31:08 2008 -0500 > @@ -1,4 +1,10 @@ 2008-12-11 Deepak Bhole -2008-12-11 Deepak Bhole > +2008-12-15 Lillian Angel > + > + Fixes #475888 > + * patches/icedtea-version.patch: Added patch to set bug report link to > + icedtea's bugzilla. > + > +2008-12-11 Deepak Bhole > > * IcedTeaPlugin.cc: Clean up output shown in non debug mode. > * plugin/icedtea/netscape/javascript/JSObject.java: Same. > diff -r 894d50f03bc4 -r edaae21dab0b patches/icedtea-version.patch > --- a/patches/icedtea-version.patch Thu Dec 11 14:11:45 2008 -0500 > +++ b/patches/icedtea-version.patch Mon Dec 15 12:31:08 2008 -0500 > @@ -26,3 +26,14 @@ diff -Nru openjdk.orig/jdk/make/common/s > endif > > ifdef BUILD_NUMBER > +--- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 > ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 12:25:32.000000000 -0500 > +@@ -25,7 +25,7 @@ > + #include "incls/_precompiled.incl" > + #include "incls/_arguments.cpp.incl" > + > +-#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp" > ++#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" > + #define DEFAULT_JAVA_LAUNCHER "generic" > + > + char** Arguments::_jvm_flags_array = NULL; > Hotspot patches should now be in patches/hotspot/${version}. Thanks, -- 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 langel at redhat.com Mon Dec 15 11:52:18 2008 From: langel at redhat.com (Lillian Angel) Date: Mon, 15 Dec 2008 14:52:18 -0500 Subject: changeset in /hg/icedtea6: 2008-12-15 Lillian Angel References: <17c6771e0812151148p20637218x12299222ce86de8@mail.gmail.com> Message-ID: <4946B572.6080305@redhat.com> Andrew John Hughes wrote: > 2008/12/15 Lillian Angel : > >> changeset edaae21dab0b in /hg/icedtea6 >> details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=edaae21dab0b >> description: >> 2008-12-15 Lillian Angel >> >> Fixes #475888 >> * patches/icedtea-version.patch: Added patch to set bug report link to >> icedtea's bugzilla. >> >> diffstat: >> >> 2 files changed, 18 insertions(+), 1 deletion(-) >> ChangeLog | 8 +++++++- >> patches/icedtea-version.patch | 11 +++++++++++ >> >> diffs (33 lines): >> >> diff -r 894d50f03bc4 -r edaae21dab0b ChangeLog >> --- a/ChangeLog Thu Dec 11 14:11:45 2008 -0500 >> +++ b/ChangeLog Mon Dec 15 12:31:08 2008 -0500 >> @@ -1,4 +1,10 @@ 2008-12-11 Deepak Bhole > -2008-12-11 Deepak Bhole >> +2008-12-15 Lillian Angel >> + >> + Fixes #475888 >> + * patches/icedtea-version.patch: Added patch to set bug report link to >> + icedtea's bugzilla. >> + >> +2008-12-11 Deepak Bhole >> >> * IcedTeaPlugin.cc: Clean up output shown in non debug mode. >> * plugin/icedtea/netscape/javascript/JSObject.java: Same. >> diff -r 894d50f03bc4 -r edaae21dab0b patches/icedtea-version.patch >> --- a/patches/icedtea-version.patch Thu Dec 11 14:11:45 2008 -0500 >> +++ b/patches/icedtea-version.patch Mon Dec 15 12:31:08 2008 -0500 >> @@ -26,3 +26,14 @@ diff -Nru openjdk.orig/jdk/make/common/s >> endif >> >> ifdef BUILD_NUMBER >> +--- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 >> ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 12:25:32.000000000 -0500 >> +@@ -25,7 +25,7 @@ >> + #include "incls/_precompiled.incl" >> + #include "incls/_arguments.cpp.incl" >> + >> +-#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp" >> ++#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" >> + #define DEFAULT_JAVA_LAUNCHER "generic" >> + >> + char** Arguments::_jvm_flags_array = NULL; >> >> > > > Hotspot patches should now be in patches/hotspot/${version}. Hmm, I double checked and the patches/icedtea-version.patch is still getting applied. Is there a bit of redundancy? Which of the 3 icedtea-version.patch can be eliminated? Thanks, Lillian From gbenson at redhat.com Tue Dec 16 02:46:51 2008 From: gbenson at redhat.com (Gary Benson) Date: Tue, 16 Dec 2008 10:46:51 +0000 Subject: Zero with OpenJDK6 HotSpot Message-ID: <20081216104650.GA4128@redhat.com> Hi all, I've been doing some JCK testing of Zero with HotSpot 14. It's not 100% there yet, but there are no serious regressions compared with the previous codebase, and a bunch of things that did fail before now work. With that in mind may I suggest we drop support for the old stuff with the hacky icedtea-hotspot-6bxx-7byy.patch? Cheers, Gary -- http://gbenson.net/ From aph at redhat.com Tue Dec 16 03:07:39 2008 From: aph at redhat.com (Andrew Haley) Date: Tue, 16 Dec 2008 11:07:39 +0000 Subject: Zero with OpenJDK6 HotSpot In-Reply-To: <20081216104650.GA4128@redhat.com> References: <20081216104650.GA4128@redhat.com> Message-ID: <49478BFB.1060705@redhat.com> Gary Benson wrote: > I've been doing some JCK testing of Zero with HotSpot 14. It's not > 100% there yet, but there are no serious regressions compared with > the previous codebase, and a bunch of things that did fail before > now work. With that in mind may I suggest we drop support for the > old stuff with the hacky icedtea-hotspot-6bxx-7byy.patch? Oh, please, yes! Andrew. From doko at ubuntu.com Tue Dec 16 04:14:25 2008 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 16 Dec 2008 13:14:25 +0100 Subject: Zero with OpenJDK6 HotSpot In-Reply-To: <20081216104650.GA4128@redhat.com> References: <20081216104650.GA4128@redhat.com> Message-ID: <49479BA1.1010800@ubuntu.com> Gary Benson schrieb: > Hi all, > > I've been doing some JCK testing of Zero with HotSpot 14. It's not > 100% there yet, but there are no serious regressions compared with > the previous codebase, and a bunch of things that did fail before > now work. With that in mind may I suggest we drop support for the > old stuff with the hacky icedtea-hotspot-6bxx-7byy.patch? not yet please. I didn't have a chance to build and run the new hotspot on some architectures. please let's wait with this until after a 1.4 release. Matthias From gnu_andrew at member.fsf.org Tue Dec 16 06:19:14 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 16 Dec 2008 14:19:14 +0000 Subject: changeset in /hg/icedtea6: 2008-12-15 Lillian Angel References: <17c6771e0812151148p20637218x12299222ce86de8@mail.gmail.com> <4946B572.6080305@redhat.com> Message-ID: <17c6771e0812160619h28037aacu7a04dce7daefe78b@mail.gmail.com> 2008/12/15 Lillian Angel : > Andrew John Hughes wrote: >> >> 2008/12/15 Lillian Angel : >> >>> >>> changeset edaae21dab0b in /hg/icedtea6 >>> details: >>> http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=edaae21dab0b >>> description: >>> 2008-12-15 Lillian Angel >>> >>> Fixes #475888 >>> * patches/icedtea-version.patch: Added patch to set bug >>> report link to >>> icedtea's bugzilla. >>> >>> diffstat: >>> >>> 2 files changed, 18 insertions(+), 1 deletion(-) >>> ChangeLog | 8 +++++++- >>> patches/icedtea-version.patch | 11 +++++++++++ >>> >>> diffs (33 lines): >>> >>> diff -r 894d50f03bc4 -r edaae21dab0b ChangeLog >>> --- a/ChangeLog Thu Dec 11 14:11:45 2008 -0500 >>> +++ b/ChangeLog Mon Dec 15 12:31:08 2008 -0500 >>> @@ -1,4 +1,10 @@ 2008-12-11 Deepak Bhole >> -2008-12-11 Deepak Bhole >>> +2008-12-15 Lillian Angel >>> + >>> + Fixes #475888 >>> + * patches/icedtea-version.patch: Added patch to set bug report >>> link to >>> + icedtea's bugzilla. >>> + >>> +2008-12-11 Deepak Bhole >>> >>> * IcedTeaPlugin.cc: Clean up output shown in non debug mode. >>> * plugin/icedtea/netscape/javascript/JSObject.java: Same. >>> diff -r 894d50f03bc4 -r edaae21dab0b patches/icedtea-version.patch >>> --- a/patches/icedtea-version.patch Thu Dec 11 14:11:45 2008 -0500 >>> +++ b/patches/icedtea-version.patch Mon Dec 15 12:31:08 2008 -0500 >>> @@ -26,3 +26,14 @@ diff -Nru openjdk.orig/jdk/make/common/s >>> endif >>> >>> ifdef BUILD_NUMBER >>> +--- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 >>> ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 >>> 12:25:32.000000000 -0500 >>> +@@ -25,7 +25,7 @@ >>> + #include "incls/_precompiled.incl" >>> + #include "incls/_arguments.cpp.incl" >>> + >>> +-#define DEFAULT_VENDOR_URL_BUG >>> "http://java.sun.com/webapps/bugreport/crash.jsp" >>> ++#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" >>> + #define DEFAULT_JAVA_LAUNCHER "generic" >>> + >>> + char** Arguments::_jvm_flags_array = NULL; >>> >>> >> >> >> Hotspot patches should now be in patches/hotspot/${version}. > > Hmm, I double checked and the patches/icedtea-version.patch is still getting > applied. Is there a bit of redundancy? Which of the 3 icedtea-version.patch > can be eliminated? > > Thanks, > Lillian > It is still applied, because icedtea-version still exists for the common stuff like JDK, while the HotSpot specific bits were split off into different subdirectories which apply against different versions. So all 3 are needed and used, assuming people still want to use the bundled HotSpot - the default is now to delete it and use b14. In other words, your change really should have been appended to patches/hotspot/14.0b08/icedtea-version.patch because I assume it will break applying against the bundled HotSpot. Of course no-one has actually complained about that yet, so it may not or if it does, it may not matter because no-one is using it... :) -- 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 16 06:21:13 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 16 Dec 2008 14:21:13 +0000 Subject: Zero with OpenJDK6 HotSpot In-Reply-To: <49478BFB.1060705@redhat.com> References: <20081216104650.GA4128@redhat.com> <49478BFB.1060705@redhat.com> Message-ID: <17c6771e0812160621g2084f969x4c907db826ae1367@mail.gmail.com> 2008/12/16 Andrew Haley : > Gary Benson wrote: > >> I've been doing some JCK testing of Zero with HotSpot 14. It's not >> 100% there yet, but there are no serious regressions compared with >> the previous codebase, and a bunch of things that did fail before >> now work. With that in mind may I suggest we drop support for the >> old stuff with the hacky icedtea-hotspot-6bxx-7byy.patch? > > Oh, please, yes! > > Andrew. > Yes please -- it will mean we have the same Zero baseline for 7 then too! -- 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 Tue Dec 16 07:48:04 2008 From: aph at redhat.com (Andrew Haley) Date: Tue, 16 Dec 2008 15:48:04 +0000 Subject: A bunch of Shark fixes In-Reply-To: <492703DA.60505@redhat.com> References: <492703DA.60505@redhat.com> Message-ID: <4947CDB4.1040604@redhat.com> Andrew Haley wrote: > This is a combination of endian fixes, wordsize fizes, and a change to work > with the latest LLVM. > > Shark still doesn't work right on x86_64, though: more to do. Better. Now runs a couple of SPEC benchmarks on x86_64. Onwards... 2008-12-16 Andrew Haley * ports/hotspot/src/share/vm/shark/sharkFunction.cpp (SharkFunction::CreatePopFrame): Remove _LP64 special-case code. * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::parse): Don't call pop() more than once in an arglist. diff -r 8af2ec380258 ports/hotspot/src/share/vm/shark/sharkBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Fri Nov 21 18:56:47 2008 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Tue Dec 16 15:44:12 2008 +0000 @@ -838,10 +838,12 @@ do_if(ICmpInst::ICMP_NE, SharkValue::null(), pop()); break; case Bytecodes::_if_acmpeq: - do_if(ICmpInst::ICMP_EQ, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_EQ, b, a); break; case Bytecodes::_if_acmpne: - do_if(ICmpInst::ICMP_NE, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_NE, b, a); break; case Bytecodes::_ifeq: do_if(ICmpInst::ICMP_EQ, SharkValue::jint_constant(0), pop()); @@ -862,22 +864,28 @@ do_if(ICmpInst::ICMP_SGE, SharkValue::jint_constant(0), pop()); break; case Bytecodes::_if_icmpeq: - do_if(ICmpInst::ICMP_EQ, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_EQ, b, a); break; case Bytecodes::_if_icmpne: - do_if(ICmpInst::ICMP_NE, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_NE, b, a); break; case Bytecodes::_if_icmplt: - do_if(ICmpInst::ICMP_SLT, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_SLT, b, a); break; case Bytecodes::_if_icmple: - do_if(ICmpInst::ICMP_SLE, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_SLE, b, a); break; case Bytecodes::_if_icmpgt: - do_if(ICmpInst::ICMP_SGT, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_SGT, b, a); break; case Bytecodes::_if_icmpge: - do_if(ICmpInst::ICMP_SGE, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_SGE, b, a); break; case Bytecodes::_tableswitch: diff -r 8af2ec380258 ports/hotspot/src/share/vm/shark/sharkFunction.cpp --- a/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Fri Nov 21 18:56:47 2008 +0000 +++ b/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Tue Dec 16 15:44:12 2008 +0000 @@ -190,10 +190,6 @@ builder()->CreateIntToPtr( fp, PointerType::getUnqual(SharkType::intptr_type())))); -#ifdef _LP64 - if (result_slots == 2) - return builder()->CreateAdd(sp, LLVMValue::jint_constant(wordSize)); -#endif // _LP64 return sp; } From aph at redhat.com Tue Dec 16 07:58:36 2008 From: aph at redhat.com (Andrew Haley) Date: Tue, 16 Dec 2008 15:58:36 +0000 Subject: changeset in /hg/icedtea6: 2008-12-16 Andrew Haley changeset eb264976c3df in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=eb264976c3df description: 2008-12-16 Andrew Haley * ports/hotspot/src/share/vm/shark/sharkFunction.cpp (SharkFunction::CreatePopFrame): Remove _LP64 special-case code. * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::parse): Don't call pop() more than once in an arglist. diffstat: 3 files changed, 24 insertions(+), 12 deletions(-) ChangeLog | 8 ++++++ ports/hotspot/src/share/vm/shark/sharkBlock.cpp | 24 +++++++++++++------- ports/hotspot/src/share/vm/shark/sharkFunction.cpp | 4 --- diffs (82 lines): diff -r edaae21dab0b -r eb264976c3df ChangeLog --- a/ChangeLog Mon Dec 15 12:31:08 2008 -0500 +++ b/ChangeLog Tue Dec 16 15:57:47 2008 +0000 @@ -1,3 +1,11 @@ 2008-12-15 Lillian Angel + + * ports/hotspot/src/share/vm/shark/sharkFunction.cpp + (SharkFunction::CreatePopFrame): Remove _LP64 special-case code. + + * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::parse): + Don't call pop() more than once in an arglist. + 2008-12-15 Lillian Angel Fixes #475888 diff -r edaae21dab0b -r eb264976c3df ports/hotspot/src/share/vm/shark/sharkBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Mon Dec 15 12:31:08 2008 -0500 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Tue Dec 16 15:57:47 2008 +0000 @@ -838,10 +838,12 @@ void SharkBlock::parse() do_if(ICmpInst::ICMP_NE, SharkValue::null(), pop()); break; case Bytecodes::_if_acmpeq: - do_if(ICmpInst::ICMP_EQ, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_EQ, b, a); break; case Bytecodes::_if_acmpne: - do_if(ICmpInst::ICMP_NE, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_NE, b, a); break; case Bytecodes::_ifeq: do_if(ICmpInst::ICMP_EQ, SharkValue::jint_constant(0), pop()); @@ -862,22 +864,28 @@ void SharkBlock::parse() do_if(ICmpInst::ICMP_SGE, SharkValue::jint_constant(0), pop()); break; case Bytecodes::_if_icmpeq: - do_if(ICmpInst::ICMP_EQ, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_EQ, b, a); break; case Bytecodes::_if_icmpne: - do_if(ICmpInst::ICMP_NE, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_NE, b, a); break; case Bytecodes::_if_icmplt: - do_if(ICmpInst::ICMP_SLT, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_SLT, b, a); break; case Bytecodes::_if_icmple: - do_if(ICmpInst::ICMP_SLE, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_SLE, b, a); break; case Bytecodes::_if_icmpgt: - do_if(ICmpInst::ICMP_SGT, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_SGT, b, a); break; case Bytecodes::_if_icmpge: - do_if(ICmpInst::ICMP_SGE, pop(), pop()); + b = pop(); a = pop(); + do_if(ICmpInst::ICMP_SGE, b, a); break; case Bytecodes::_tableswitch: diff -r edaae21dab0b -r eb264976c3df ports/hotspot/src/share/vm/shark/sharkFunction.cpp --- a/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Mon Dec 15 12:31:08 2008 -0500 +++ b/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Tue Dec 16 15:57:47 2008 +0000 @@ -190,10 +190,6 @@ Value* SharkFunction::CreatePopFrame(int builder()->CreateIntToPtr( fp, PointerType::getUnqual(SharkType::intptr_type())))); -#ifdef _LP64 - if (result_slots == 2) - return builder()->CreateAdd(sp, LLVMValue::jint_constant(wordSize)); -#endif // _LP64 return sp; } From langel at redhat.com Tue Dec 16 11:24:43 2008 From: langel at redhat.com (Lillian Angel) Date: Tue, 16 Dec 2008 19:24:43 +0000 Subject: changeset in /hg/icedtea6: 2008-12-16 Lillian Angel changeset a30fada94a6c in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a30fada94a6c description: 2008-12-16 Lillian Angel * patches/icedtea-version.patch: Moved bug report link patch to following file. * patches/hotspot/14.0b08/icedtea-version.patch: Added patch. diffstat: 3 files changed, 16 insertions(+), 11 deletions(-) ChangeLog | 6 ++++++ patches/hotspot/14.0b08/icedtea-version.patch | 10 ++++++++++ patches/icedtea-version.patch | 11 ----------- diffs (49 lines): diff -r eb264976c3df -r a30fada94a6c ChangeLog --- a/ChangeLog Tue Dec 16 15:57:47 2008 +0000 +++ b/ChangeLog Tue Dec 16 14:24:38 2008 -0500 @@ -1,3 +1,9 @@ 2008-12-16 Andrew Haley + + * patches/icedtea-version.patch: Moved bug report link + patch to following file. + * patches/hotspot/14.0b08/icedtea-version.patch: Added patch. + 2008-12-16 Andrew Haley * ports/hotspot/src/share/vm/shark/sharkFunction.cpp diff -r eb264976c3df -r a30fada94a6c patches/hotspot/14.0b08/icedtea-version.patch --- a/patches/hotspot/14.0b08/icedtea-version.patch Tue Dec 16 15:57:47 2008 +0000 +++ b/patches/hotspot/14.0b08/icedtea-version.patch Tue Dec 16 14:24:38 2008 -0500 @@ -35,4 +35,14 @@ diff -Nru openjdk.orig/hotspot/src/share STEP(60, "(printing problematic frame)") +--- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 12:25:32.000000000 -0500 +@@ -25,7 +25,7 @@ + #include "incls/_precompiled.incl" + #include "incls/_arguments.cpp.incl" +-#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp" ++#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" + #define DEFAULT_JAVA_LAUNCHER "generic" + + char** Arguments::_jvm_flags_array = NULL; diff -r eb264976c3df -r a30fada94a6c patches/icedtea-version.patch --- a/patches/icedtea-version.patch Tue Dec 16 15:57:47 2008 +0000 +++ b/patches/icedtea-version.patch Tue Dec 16 14:24:38 2008 -0500 @@ -26,14 +26,3 @@ diff -Nru openjdk.orig/jdk/make/common/s endif ifdef BUILD_NUMBER ---- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 -+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 12:25:32.000000000 -0500 -@@ -25,7 +25,7 @@ - #include "incls/_precompiled.incl" - #include "incls/_arguments.cpp.incl" - --#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp" -+#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" - #define DEFAULT_JAVA_LAUNCHER "generic" - - char** Arguments::_jvm_flags_array = NULL; From langel at redhat.com Tue Dec 16 11:24:56 2008 From: langel at redhat.com (Lillian Angel) Date: Tue, 16 Dec 2008 14:24:56 -0500 Subject: changeset in /hg/icedtea6: 2008-12-15 Lillian Angel References: <17c6771e0812151148p20637218x12299222ce86de8@mail.gmail.com> <4946B572.6080305@redhat.com> <17c6771e0812160619h28037aacu7a04dce7daefe78b@mail.gmail.com> Message-ID: <49480088.2080308@redhat.com> Andrew John Hughes wrote: > 2008/12/15 Lillian Angel : > >> Andrew John Hughes wrote: >> >>> 2008/12/15 Lillian Angel : >>> >>> >>>> changeset edaae21dab0b in /hg/icedtea6 >>>> details: >>>> http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=edaae21dab0b >>>> description: >>>> 2008-12-15 Lillian Angel >>>> >>>> Fixes #475888 >>>> * patches/icedtea-version.patch: Added patch to set bug >>>> report link to >>>> icedtea's bugzilla. >>>> >>>> diffstat: >>>> >>>> 2 files changed, 18 insertions(+), 1 deletion(-) >>>> ChangeLog | 8 +++++++- >>>> patches/icedtea-version.patch | 11 +++++++++++ >>>> >>>> diffs (33 lines): >>>> >>>> diff -r 894d50f03bc4 -r edaae21dab0b ChangeLog >>>> --- a/ChangeLog Thu Dec 11 14:11:45 2008 -0500 >>>> +++ b/ChangeLog Mon Dec 15 12:31:08 2008 -0500 >>>> @@ -1,4 +1,10 @@ 2008-12-11 Deepak Bhole >>> -2008-12-11 Deepak Bhole >>>> +2008-12-15 Lillian Angel >>>> + >>>> + Fixes #475888 >>>> + * patches/icedtea-version.patch: Added patch to set bug report >>>> link to >>>> + icedtea's bugzilla. >>>> + >>>> +2008-12-11 Deepak Bhole >>>> >>>> * IcedTeaPlugin.cc: Clean up output shown in non debug mode. >>>> * plugin/icedtea/netscape/javascript/JSObject.java: Same. >>>> diff -r 894d50f03bc4 -r edaae21dab0b patches/icedtea-version.patch >>>> --- a/patches/icedtea-version.patch Thu Dec 11 14:11:45 2008 -0500 >>>> +++ b/patches/icedtea-version.patch Mon Dec 15 12:31:08 2008 -0500 >>>> @@ -26,3 +26,14 @@ diff -Nru openjdk.orig/jdk/make/common/s >>>> endif >>>> >>>> ifdef BUILD_NUMBER >>>> +--- arguments.cpp 2008-12-15 12:25:14.000000000 -0500 >>>> ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-15 >>>> 12:25:32.000000000 -0500 >>>> +@@ -25,7 +25,7 @@ >>>> + #include "incls/_precompiled.incl" >>>> + #include "incls/_arguments.cpp.incl" >>>> + >>>> +-#define DEFAULT_VENDOR_URL_BUG >>>> "http://java.sun.com/webapps/bugreport/crash.jsp" >>>> ++#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" >>>> + #define DEFAULT_JAVA_LAUNCHER "generic" >>>> + >>>> + char** Arguments::_jvm_flags_array = NULL; >>>> >>>> >>>> >>> Hotspot patches should now be in patches/hotspot/${version}. >>> >> Hmm, I double checked and the patches/icedtea-version.patch is still getting >> applied. Is there a bit of redundancy? Which of the 3 icedtea-version.patch >> can be eliminated? >> >> Thanks, >> Lillian >> >> > > > It is still applied, because icedtea-version still exists for the > common stuff like JDK, while the HotSpot specific bits were split off > into different subdirectories which apply against different versions. > So all 3 are needed and used, assuming people still want to use the > bundled HotSpot - the default is now to delete it and use b14. In > other words, your change really should have been appended to > patches/hotspot/14.0b08/icedtea-version.patch because I assume it will > break applying against the bundled HotSpot. Of course no-one has > actually complained about that yet, so it may not or if it does, it > may not matter because no-one is using it... :) Fixed. Thanks for the explanation. Lillian From gnu_andrew at member.fsf.org Tue Dec 16 11:44:17 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 16 Dec 2008 19:44:17 +0000 Subject: HotSpot Patching post-b14 Message-ID: <17c6771e0812161144t745b88b1h7b51a4366708a12a@mail.gmail.com> Hi all, You will recall that we switched to using HotSpot b14 recently. As you may have seen in my e-mails with Lillian, this has resulted in some changes in the way patches are applied to HotSpot. I'm sending this e-mail in the hope of explaining this process and hopefully being able to convince people to simplify things a little... ;) When I ported IcedTea6 over to b14, the patches changed substantially. Basically, the following process was applied: 1. Each patch was examined to see if they altered files in the hotspot tree. 2. If they did, the patch was moved to patches/hotspot/original. In some cases, this meant splitting the patch so that there was a common patch in patches and a HotSpot-specific part in patches/hotspot/original. This was the case with icedtea-version.patch and hence the confusion when Lillian patched this. 3. IcedTea7 was used as the source for HotSpot 14.0b08 patches. Basically, the same copying/splitting of patches was applied using IcedTea7's patches directory and the results placed in patches/hotspot/14.0b08. This means that for an original patch like icedtea-version.patch, 2 out of 3 patches are applied during a build in place of the original. The one in patches is always applied. The other patch to be applied depends on the value of HSBUILD. This defaults to 14.0b08 (i.e. the new HotSpot). Hopefully it's clear from this explanation that if you add a HotSpot patch to the main shared patch, it will work on your default run but may fail if --with-hotspot-build=original is used as the patch will be applied to a different version of HotSpot. If instead it is placed with the 14.0b08 patches, it will only apply on builds using this version of HotSpot. The question now is which one do we maintain? At present, most people will be building and testing 14.0b08 as this is the default. Testing each HotSpot patch using a --with-hotspot=original build is obviously going to be time consuming so we need to decide if it is worth supporting this option. If not, we should remove original. The hierarchical system will be left in place to give others the option of playing around, but we would use the same process as before, except HotSpot patches would be added to patches/hotspot/14.0b08. A similar hierarchical system has been applied for xrender, ecj and security patches so it's not unique to HotSpot and I hope it makes the patches directory more manageable. Finally, with respect to IcedTea7, the change to HotSpot b14 in IcedTea6 means they should now be able to more readily share patches and in particular, Shark and Zero should apply identically to IcedTea6 and IcedTea7. With this in place, the option becomes available for Gary to base development in the upstream hotspot tree of the zero project and we can just pull the version of HotSpot from there instead of jdk7 as at present when a zero/shark build is required. Hope that makes things clear! So thoughts on dropping original? -- 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 omajid at redhat.com Tue Dec 16 11:44:19 2008 From: omajid at redhat.com (Omair Majid) Date: Tue, 16 Dec 2008 14:44:19 -0500 Subject: Compiling libjvm.so as PIC Message-ID: <49480513.8060309@redhat.com> Hi all, Ionana and I have been trying to get icedtea to work when built as a normal user with SELinux enabled. SELinux stops java from loading libjvm.so which is built as non-PIC. Please see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6538311 for more information. The bug report states that building libjvm.so as PIC has performance penalties. Ioana and I have been comparing the performance of a JVM built as PIC with one built as non-PIC for the last few days. For the JVM built as PIC, the fastest run was about 3% faster than the slowest. For the JVM built as non-PIC, the fastest run was about 1% faster than the slowest. Comparing the average performance, the PIC JVM seems to be faster by 0.59% which indicates that any difference in performance is negligible. Building libjmv.so as PIC should also result in memory savings as the code segment will be shared across processes. The attached patch will build libjvm.so as PIC. Any objections to applying it? Thanks, Omair -------------- next part -------------- A non-text attachment was scrubbed... Name: pic.patch Type: text/x-patch Size: 1410 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081216/1c489bd8/pic.patch From doko at ubuntu.com Tue Dec 16 23:08:41 2008 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 17 Dec 2008 08:08:41 +0100 Subject: Compiling libjvm.so as PIC In-Reply-To: <49480513.8060309@redhat.com> References: <49480513.8060309@redhat.com> Message-ID: <4948A579.30900@ubuntu.com> Omair Majid schrieb: > Ionana and I have been trying to get icedtea to work when built as a > normal user with SELinux enabled. SELinux stops java from loading > libjvm.so which is built as non-PIC. Please see > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6538311 for more > information. > > The bug report states that building libjvm.so as PIC has performance > penalties. Ioana and I have been comparing the performance of a JVM > built as PIC with one built as non-PIC for the last few days. For the > JVM built as PIC, the fastest run was about 3% faster than the slowest. > For the JVM built as non-PIC, the fastest run was about 1% faster than > the slowest. Comparing the average performance, the PIC JVM seems to be > faster by 0.59% which indicates that any difference in performance is > negligible. > > Building libjmv.so as PIC should also result in memory savings as the > code segment will be shared across processes. > > The attached patch will build libjvm.so as PIC. Any objections to > applying it? does it make a difference with SELinux disabled? From doko at ubuntu.com Tue Dec 16 23:11:49 2008 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 17 Dec 2008 08:11:49 +0100 Subject: HotSpot Patching post-b14 In-Reply-To: <17c6771e0812161144t745b88b1h7b51a4366708a12a@mail.gmail.com> References: <17c6771e0812161144t745b88b1h7b51a4366708a12a@mail.gmail.com> Message-ID: <4948A635.5080906@ubuntu.com> Andrew John Hughes schrieb: > So thoughts on dropping original? as said in the "Zero with OpenJDK6 HotSpot" thread: not yet please. I didn't have a chance to build and run the new hotspot on some architectures. please let's wait with this until after a 1.4 release. could we make a 1.4 release, and then drop it? Matthias From doko at ubuntu.com Wed Dec 17 01:04:32 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Wed, 17 Dec 2008 09:04:32 +0000 Subject: changeset in /hg/icedtea6: 2008-12-17 Matthias Klose changeset b95615866532 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b95615866532 description: 2008-12-17 Matthias Klose * patches/icedtea-zero.patch: Update for PARISC. diffstat: 2 files changed, 7 insertions(+), 3 deletions(-) ChangeLog | 4 ++++ patches/icedtea-zero.patch | 6 +++--- diffs (41 lines): diff -r a30fada94a6c -r b95615866532 ChangeLog --- a/ChangeLog Tue Dec 16 14:24:38 2008 -0500 +++ b/ChangeLog Wed Dec 17 10:03:26 2008 +0100 @@ -1,3 +1,7 @@ 2008-12-16 Lillian Angel + + * patches/icedtea-zero.patch: Update for PARISC. + 2008-12-16 Lillian Angel * patches/icedtea-version.patch: Moved bug report link diff -r a30fada94a6c -r b95615866532 patches/icedtea-zero.patch --- a/patches/icedtea-zero.patch Tue Dec 16 14:24:38 2008 -0500 +++ b/patches/icedtea-zero.patch Wed Dec 17 10:03:26 2008 +0100 @@ -22,7 +22,7 @@ + {EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"}, + {EM_MIPS_RS3_LE, EM_MIPS_RS3_LE, ELFCLASS32, ELFDATA2LSB, (char*)"MIPSel"}, + {EM_MIPS, EM_MIPS, ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"}, -+ {EM_PARISC, EM_PARISC, ELFCLASS32, ELFDATA2MSB, (char*)"HPPA"}, ++ {EM_PARISC, EM_PARISC, ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"}, + {EM_68K, EM_68K, ELFCLASS32, ELFDATA2MSB, (char*)"M68k"} }; @@ -39,7 +39,7 @@ + static Elf32_Half running_arch_code=EM_ALPHA; + #elif (defined MIPSEL) + static Elf32_Half running_arch_code=EM_MIPS_RS3_LE; -+ #elif (defined HPPA) ++ #elif (defined PARISC) + static Elf32_Half running_arch_code=EM_PARISC; + #elif (defined MIPS) + static Elf32_Half running_arch_code=EM_MIPS; @@ -48,7 +48,7 @@ #else #error Method os::dll_load requires that one of following is defined:\ - IA32, AMD64, IA64, __sparc, __powerpc__ -+ IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, HPPA, M68K ++ IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K #endif // Identify compatability class for VM's architecture and library's architecture From twisti at complang.tuwien.ac.at Wed Dec 17 00:10:28 2008 From: twisti at complang.tuwien.ac.at (Christian Thalinger) Date: Wed, 17 Dec 2008 09:10:28 +0100 Subject: HotSpot Patching post-b14 In-Reply-To: <4948A635.5080906@ubuntu.com> References: <17c6771e0812161144t745b88b1h7b51a4366708a12a@mail.gmail.com> <4948A635.5080906@ubuntu.com> Message-ID: <1229501428.8229.25.camel@localhost.localdomain> On Wed, 2008-12-17 at 08:11 +0100, Matthias Klose wrote: > Andrew John Hughes schrieb: > > > So thoughts on dropping original? > > as said in the "Zero with OpenJDK6 HotSpot" thread: > > not yet please. I didn't have a chance to build and run the new hotspot on some > architectures. please let's wait with this until after a 1.4 release. > > could we make a 1.4 release, and then drop it? Sounds like a good plan. - Christian From gbenson at redhat.com Wed Dec 17 04:54:06 2008 From: gbenson at redhat.com (Gary Benson) Date: Wed, 17 Dec 2008 12:54:06 +0000 Subject: changeset in /hg/icedtea6: 2008-12-17 Gary Benson changeset 515916374161 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=515916374161 description: 2008-12-17 Gary Benson * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp (_Copy_conjoint_jshorts_atomic): Implemented. diffstat: 2 files changed, 17 insertions(+), 1 deletion(-) ChangeLog | 5 +++++ ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp | 13 ++++++++++++- diffs (35 lines): diff -r b95615866532 -r 515916374161 ChangeLog --- a/ChangeLog Wed Dec 17 10:03:26 2008 +0100 +++ b/ChangeLog Wed Dec 17 07:55:15 2008 -0500 @@ -1,3 +1,8 @@ 2008-12-17 Matthias Klose + + * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp + (_Copy_conjoint_jshorts_atomic): Implemented. + 2008-12-17 Matthias Klose * patches/icedtea-zero.patch: Update for PARISC. diff -r b95615866532 -r 515916374161 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 17 10:03:26 2008 +0100 +++ b/ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp Wed Dec 17 07:55:15 2008 -0500 @@ -388,7 +388,18 @@ extern "C" { void _Copy_conjoint_jshorts_atomic(jshort* from, jshort* to, size_t count) { - Unimplemented(); + if (from > to) { + jshort *end = from + count; + while (from < end) + *(to++) = *(from++); + } + else if (from < to) { + jshort *end = from; + from += count - 1; + to += count - 1; + while (from >= end) + *(to--) = *(from--); + } } void _Copy_conjoint_jints_atomic(jint* from, jint* to, size_t count) { From gnu_andrew at member.fsf.org Wed Dec 17 08:23:29 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 17 Dec 2008 16:23:29 +0000 Subject: HotSpot Patching post-b14 In-Reply-To: <4948A635.5080906@ubuntu.com> References: <17c6771e0812161144t745b88b1h7b51a4366708a12a@mail.gmail.com> <4948A635.5080906@ubuntu.com> Message-ID: <17c6771e0812170823o46a87f8dw75f578d01cb6c997@mail.gmail.com> 2008/12/17 Matthias Klose : > Andrew John Hughes schrieb: > >> So thoughts on dropping original? > > as said in the "Zero with OpenJDK6 HotSpot" thread: > > not yet please. I didn't have a chance to build and run the new hotspot on some > architectures. please let's wait with this until after a 1.4 release. > > could we make a 1.4 release, and then drop it? > > Matthias > Does original work at present? If it works, then waiting until 1.4 is fine. I just don't want this to become a huge maintenance headache with no real gain. -- 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 Wed Dec 17 08:33:03 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 17 Dec 2008 16:33:03 +0000 Subject: changeset in /hg/icedtea6: 2008-12-03 Matthias Klose References: Message-ID: <17c6771e0812170833u45e16696y532273e0e394ecc8@mail.gmail.com> 2008/12/3 : > 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 +2008-12-03 Matthias Klose > + > + * 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 ; \ > With this change, we now nuke an existing openjdk/hotspot directory, which clearly isn't a good idea... Is there a better fix? -- 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 Wed Dec 17 09:01:18 2008 From: gbenson at redhat.com (Gary Benson) Date: Wed, 17 Dec 2008 17:01:18 +0000 Subject: changeset in /hg/icedtea6: 2008-12-17 Gary Benson changeset 30c77d225ff7 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=30c77d225ff7 description: 2008-12-17 Gary Benson * contrib/mixtec-hacks.patch: Updated. diffstat: 2 files changed, 22 insertions(+), 18 deletions(-) ChangeLog | 4 ++++ contrib/mixtec-hacks.patch | 36 ++++++++++++++++++------------------ diffs (90 lines): diff -r 515916374161 -r 30c77d225ff7 ChangeLog --- a/ChangeLog Wed Dec 17 07:55:15 2008 -0500 +++ b/ChangeLog Wed Dec 17 12:02:26 2008 -0500 @@ -1,3 +1,7 @@ 2008-12-17 Gary Benson + + * contrib/mixtec-hacks.patch: Updated. + 2008-12-17 Gary Benson * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp diff -r 515916374161 -r 30c77d225ff7 contrib/mixtec-hacks.patch --- a/contrib/mixtec-hacks.patch Wed Dec 17 07:55:15 2008 -0500 +++ b/contrib/mixtec-hacks.patch Wed Dec 17 12:02:26 2008 -0500 @@ -1,7 +1,7 @@ diff -r 4f4d268762d7 Makefile.am -diff -r 4f4d268762d7 Makefile.am ---- a/Makefile.am Wed Aug 20 04:24:45 2008 -0400 -+++ b/Makefile.am Thu Aug 28 03:53:35 2008 -0400 -@@ -442,6 +442,13 @@ +diff -r 515916374161 Makefile.am +--- a/Makefile.am Wed Dec 17 07:55:15 2008 -0500 ++++ b/Makefile.am Wed Dec 17 11:59:55 2008 -0500 +@@ -543,6 +543,13 @@ endif ICEDTEA_FSG_PATCHES = @@ -15,15 +15,15 @@ diff -r 4f4d268762d7 Makefile.am ICEDTEA_PATCHES = \ $(ZERO_PATCHES_COND) \ -diff -r 4f4d268762d7 patches/mixtec-assertions.patch +diff -r 515916374161 patches/mixtec-assertions.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/patches/mixtec-assertions.patch Thu Aug 28 03:53:35 2008 -0400 ++++ b/patches/mixtec-assertions.patch Wed Dec 17 11:59:55 2008 -0500 @@ -0,0 +1,14 @@ +diff -r d384f5a5bd0c hotspot/build/linux/makefiles/product.make -+--- openjdk/hotspot/build/linux/makefiles/product.make Mon Aug 06 13:11:51 2007 +0100 -++++ openjdk/hotspot/build/linux/makefiles/product.make Fri Sep 14 09:58:33 2007 +0100 ++--- openjdk/hotspot/make/linux/makefiles/product.make Mon Aug 06 13:11:51 2007 +0100 +++++ openjdk/hotspot/make/linux/makefiles/product.make Fri Sep 14 09:58:33 2007 +0100 +@@ -41,8 +41,8 @@ MAPFILE = $(GAMMADIR)/build/linux/makefi -+ MAPFILE = $(GAMMADIR)/build/linux/makefiles/mapfile-vers-product ++ MAPFILE = $(GAMMADIR)/make/linux/makefiles/mapfile-vers-product + + G_SUFFIX = +-SYSDEFS += -DPRODUCT @@ -33,9 +33,9 @@ diff -r 4f4d268762d7 patches/mixtec-asse + + # use -g to strip library as -x will discard its symbol table; -x is fine for + # executables. -diff -r 4f4d268762d7 patches/mixtec-no-log-vm-output.patch +diff -r 515916374161 patches/mixtec-no-log-vm-output.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/patches/mixtec-no-log-vm-output.patch Thu Aug 28 03:53:35 2008 -0400 ++++ b/patches/mixtec-no-log-vm-output.patch Wed Dec 17 11:59:55 2008 -0500 @@ -0,0 +1,11 @@ +--- openjdk-ecj/hotspot/src/share/vm/runtime/globals.hpp 2007-11-13 09:19:54.000000000 -0500 ++++ openjdk/hotspot/src/share/vm/runtime/globals.hpp 2007-11-13 17:13:24.000000000 -0500 @@ -48,9 +48,9 @@ diff -r 4f4d268762d7 patches/mixtec-no-l + "Save VM output to hotspot.log, or to LogFile") \ + \ + diagnostic(ccstr, LogFile, NULL, \ -diff -r 4f4d268762d7 patches/mixtec-no-print-vm-options.patch +diff -r 515916374161 patches/mixtec-no-print-vm-options.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/patches/mixtec-no-print-vm-options.patch Thu Aug 28 03:53:35 2008 -0400 ++++ b/patches/mixtec-no-print-vm-options.patch Wed Dec 17 11:59:55 2008 -0500 @@ -0,0 +1,12 @@ +diff -r c5904941581b openjdk-ecj/hotspot/src/share/vm/runtime/globals.hpp +--- openjdk/hotspot/src/share/vm/runtime/globals.hpp Tue Nov 13 14:09:56 2007 +0000 @@ -64,13 +64,13 @@ diff -r 4f4d268762d7 patches/mixtec-no-p + "print VM flag settings") \ + \ + diagnostic(bool, SerializeVMOutput, true, \ -diff -r 4f4d268762d7 patches/mixtec-optimization.patch +diff -r 515916374161 patches/mixtec-optimization.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/patches/mixtec-optimization.patch Thu Aug 28 03:53:35 2008 -0400 ++++ b/patches/mixtec-optimization.patch Wed Dec 17 11:59:55 2008 -0500 @@ -0,0 +1,34 @@ -+diff -urN openjdk.orig/hotspot/build/linux/makefiles/gcc.make openjdk/hotspot/build/linux/makefiles/gcc.make -+--- openjdk.orig/hotspot/build/linux/makefiles/gcc.make 2007-10-12 03:46:25.000000000 -0400 -++++ openjdk/hotspot/build/linux/makefiles/gcc.make 2007-10-12 17:41:02.000000000 -0400 ++diff -urN openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ++--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2007-10-12 03:46:25.000000000 -0400 +++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2007-10-12 17:41:02.000000000 -0400 +@@ -111,7 +111,7 @@ + CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) + From gnu_andrew at member.fsf.org Wed Dec 17 10:04:20 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 17 Dec 2008 18:04:20 +0000 Subject: changeset in /hg/icedtea6: 2008-12-09 Andrew John Hughes changeset 4f248bc51029 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=4f248bc51029 description: 2008-12-09 Andrew John Hughes * Makefile.am: Remove the HotSpot directory while extracting OpenJDK and then only when HSBUILD is not original. diffstat: 2 files changed, 15 insertions(+), 4 deletions(-) ChangeLog | 6 ++++++ Makefile.am | 13 +++++++++---- diffs (41 lines): diff -r 30c77d225ff7 -r 4f248bc51029 ChangeLog --- a/ChangeLog Wed Dec 17 12:02:26 2008 -0500 +++ b/ChangeLog Wed Dec 17 18:03:57 2008 +0000 @@ -1,3 +1,9 @@ 2008-12-17 Gary Benson + + * Makefile.am: + Remove the HotSpot directory while extracting + OpenJDK and then only when HSBUILD is not original. + 2008-12-17 Gary Benson * contrib/mixtec-hacks.patch: Updated. diff -r 30c77d225ff7 -r 4f248bc51029 Makefile.am --- a/Makefile.am Wed Dec 17 12:02:26 2008 -0500 +++ b/Makefile.am Wed Dec 17 18:03:57 2008 +0000 @@ -687,15 +687,20 @@ else mkdir openjdk ; \ $(TAR) xf $(OPENJDK_SRC_ZIP) -C openjdk; \ chmod -R ug+w openjdk ; \ + if test "x${HSBUILD}" != "xoriginal"; then \ + rm -rf 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 hotspot-$$(cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2) openjdk/hotspot ; \ + if ! test -d openjdk/hotspot ; \ + then \ + $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ + chmod -R ug+w hotspot-* ; \ + mv hotspot-$$(cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2) openjdk/hotspot ; \ + fi ; \ fi endif endif From gnu_andrew at member.fsf.org Wed Dec 17 12:17:07 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 17 Dec 2008 20:17:07 +0000 Subject: changeset in /hg/icedtea6: Remove detection of libgcj.jar and th... Message-ID: changeset cedcd6958a6f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cedcd6958a6f description: Remove detection of libgcj.jar and the corresponding LIBGCJ_JAR. We already detect/accept the home directory for GCJ, the JAR file can be derived from this. The LIBGCJ_JAR macro was hiding a GCC_OLD macro to enable the 4.3 patches, which assumes a connection between the JAR file and the version of GCC. I converted this to a proper check. 2008-12-17 Andrew John Hughes * Makefile.am: Remove use of LIBGCJ_JAR, replacing with SYSTEM_GCJ_DIR/jre/lib/rt.jar. * acinclude.m4: (AC_CHECK_GCC_VERSION): Added. (FIND_LIBGCJ_JAR): Removed. * configure.ac: Call AC_CHECK_GCC_VERSION, don't call FIND_LIBGCJ_JAR. * javac.in: Use SYSTEM_GCJ_DIR/jre/lib/rt.jar not LIBGCJ_JAR. diffstat: 5 files changed, 26 insertions(+), 43 deletions(-) ChangeLog | 16 +++++++++++++++- Makefile.am | 3 +-- acinclude.m4 | 46 ++++++++-------------------------------------- configure.ac | 2 +- javac.in | 2 +- diffs (130 lines): diff -r 4f248bc51029 -r cedcd6958a6f ChangeLog --- a/ChangeLog Wed Dec 17 18:03:57 2008 +0000 +++ b/ChangeLog Wed Dec 17 20:16:53 2008 +0000 @@ -1,4 +1,18 @@ 2008-12-09 Andrew John Hughes +2008-12-17 Andrew John Hughes + + * Makefile.am: + Remove use of LIBGCJ_JAR, replacing with + SYSTEM_GCJ_DIR/jre/lib/rt.jar. + * acinclude.m4: + (AC_CHECK_GCC_VERSION): Added. + (FIND_LIBGCJ_JAR): Removed. + * configure.ac: + Call AC_CHECK_GCC_VERSION, don't + call FIND_LIBGCJ_JAR. + * javac.in: + Use SYSTEM_GCJ_DIR/jre/lib/rt.jar not LIBGCJ_JAR. + +2008-12-17 Andrew John Hughes * Makefile.am: Remove the HotSpot directory while extracting diff -r 4f248bc51029 -r cedcd6958a6f Makefile.am --- a/Makefile.am Wed Dec 17 18:03:57 2008 +0000 +++ b/Makefile.am Wed Dec 17 20:16:53 2008 +0000 @@ -224,7 +224,6 @@ ICEDTEA_ENV_ECJ = \ "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ "ALT_BINARY_PLUGS_PATH=$(abs_top_builddir)/bootstrap/jdk1.7.0" \ "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ - "LIBGCJ_JAR=$(LIBGCJ_JAR)" \ "ICEDTEA_RT=$(ICEDTEA_RT)" \ "ICEDTEA_BUILD_DIR=$(ICEDTEA_BUILD_DIR_ECJ)" \ "ICEDTEA_CLS_DIR=$(ICEDTEA_CLS_DIR_ECJ)" \ @@ -233,7 +232,7 @@ ICEDTEA_ENV_ECJ = \ "BOOTCLASSPATH_CLS_RT=-bootclasspath \ $(ICEDTEA_CLS_DIR_ECJ):$(ICEDTEA_RT)" \ "BOOTCLASSPATH_CLS=-bootclasspath $(ICEDTEA_CLS_DIR_ECJ)" \ - "BOOTCLASSPATH_RT_LIBGCJ=-bootclasspath $(ICEDTEA_RT):$(LIBGCJ_JAR)" \ + "BOOTCLASSPATH_RT_LIBGCJ=-bootclasspath $(ICEDTEA_RT):$(SYSTEM_GCJ_DIR)/jre/lib/rt.jar" \ "CLASSPATH=" \ "LD_LIBRARY_PATH=" \ "GENSRCDIR=$(abs_top_builddir)/generated" \ diff -r 4f248bc51029 -r cedcd6958a6f acinclude.m4 --- a/acinclude.m4 Wed Dec 17 18:03:57 2008 +0000 +++ b/acinclude.m4 Wed Dec 17 20:16:53 2008 +0000 @@ -242,44 +242,14 @@ AC_DEFUN([FIND_ECJ_JAR], AC_SUBST(ECJ_JAR) ]) -AC_DEFUN([FIND_LIBGCJ_JAR], -[ - AM_CONDITIONAL(GCC_OLD, test x != x) - AC_ARG_WITH([libgcj-jar], - [AS_HELP_STRING(--with-libgcj-jar,specify location of the libgcj 4.3.x jar)], - [ - if test -f "${withval}"; then - AC_MSG_CHECKING(for libgcj jar) - LIBGCJ_JAR="${withval}" - AC_MSG_RESULT(${withval}) - fi - ], - [ - LIBGCJ_JAR= - ]) - if test -z "${LIBGCJ_JAR}"; then - AC_MSG_CHECKING(for libgcj-4.3.*.jar, libgcj-4.2.*.jar or libgcj-4.1.*.jar) - for jar in /usr/share/java/libgcj-4.3*.jar; do - test -e $jar && LIBGCJ_JAR=$jar - done - if test -n "${LIBGCJ_JAR}"; then - AC_MSG_RESULT(${LIBGCJ_JAR}) - else - AM_CONDITIONAL(GCC_OLD, test x = x) - for jar in /usr/share/java/libgcj-4.1*.jar /usr/share/java/libgcj-4.2*.jar; do - test -e $jar && LIBGCJ_JAR=$jar - done - if test -n ${LIBGCJ_JAR}; then - AC_MSG_RESULT(${LIBGCJ_JAR}) - else - AC_MSG_RESULT(no) - fi - fi - fi - if test -z "${LIBGCJ_JAR}"; then - AC_MSG_ERROR("A LIBGCJ jar was not found.") - fi - AC_SUBST(LIBGCJ_JAR) +AC_DEFUN([AC_CHECK_GCC_VERSION], +[ + AC_MSG_CHECKING([version of GCC]) + gcc_ver=`${CC} -dumpversion` + gcc_major_ver=`echo ${gcc_ver}|cut -d'.' -f1` + gcc_minor_ver=`echo ${gcc_ver}|cut -d'.' -f2` + AM_CONDITIONAL(GCC_OLD, test ! ${gcc_major_ver} -ge 4 -a ${gcc_minor_ver} -ge 3) + AC_MSG_RESULT([${gcc_ver} (major version ${gcc_major_ver}, minor version ${gcc_minor_ver})]) ]) AC_DEFUN([FIND_JAVAH], diff -r 4f248bc51029 -r cedcd6958a6f configure.ac --- a/configure.ac Wed Dec 17 18:03:57 2008 +0000 +++ b/configure.ac Wed Dec 17 20:16:53 2008 +0000 @@ -35,6 +35,7 @@ AC_CHECK_WITH_GCJ AC_CHECK_WITH_GCJ AC_CHECK_WITH_HOTSPOT_BUILD AC_PATH_TOOL([LINUX32],[linux32]) +AC_CHECK_GCC_VERSION AC_MSG_CHECKING([for a JDK home directory]) AC_ARG_WITH([gcj-home], @@ -292,7 +293,6 @@ else FIND_JAR FIND_RMIC FIND_ECJ_JAR - FIND_LIBGCJ_JAR FIND_XALAN2_JAR FIND_XALAN2_SERIALIZER_JAR FIND_XERCES2_JAR diff -r 4f248bc51029 -r cedcd6958a6f javac.in --- a/javac.in Wed Dec 17 18:03:57 2008 +0000 +++ b/javac.in Wed Dec 17 20:16:53 2008 +0000 @@ -2,7 +2,7 @@ case "$*" in *-bootclasspath*) ;; - *) bcoption="-bootclasspath @LIBGCJ_JAR@" + *) bcoption="-bootclasspath @SYSTEM_GCJ_DIR@/jre/lib/rt.jar" esac # Work around ecj's inability to handle duplicate command-line From gnu_andrew at member.fsf.org Wed Dec 17 14:16:49 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 17 Dec 2008 22:16:49 +0000 Subject: changeset in /hg/icedtea6: Add an additional path to check for t... Message-ID: changeset 83952ccf276b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=83952ccf276b description: Add an additional path to check for the Rhino JAR. 2008-12-17 Andrew John Hughes * acinclude.m4: (FIND_RHINO_JAR): Check for js.jar in Gentoo install location too. diffstat: 2 files changed, 8 insertions(+) ChangeLog | 6 ++++++ acinclude.m4 | 2 ++ diffs (25 lines): diff -r 90358389b2d4 -r 83952ccf276b ChangeLog --- a/ChangeLog Wed Dec 17 22:14:33 2008 +0000 +++ b/ChangeLog Wed Dec 17 22:16:21 2008 +0000 @@ -1,3 +1,9 @@ 2008-12-17 Andrew John Hughes + + * acinclude.m4: + (FIND_RHINO_JAR): Check for js.jar + in Gentoo install location too. + 2008-12-17 Andrew John Hughes * Makefile.am: diff -r 90358389b2d4 -r 83952ccf276b acinclude.m4 --- a/acinclude.m4 Wed Dec 17 22:14:33 2008 +0000 +++ b/acinclude.m4 Wed Dec 17 22:16:21 2008 +0000 @@ -645,6 +645,8 @@ AC_DEFUN([FIND_RHINO_JAR], RHINO_JAR=/usr/share/java/rhino.jar elif test -e "/usr/share/java/js.jar"; then RHINO_JAR=/usr/share/java/js.jar + elif test -e "/usr/share/rhino-1.6/lib/js.jar"; then + RHINO_JAR=/usr/share/rhino-1.6/lib/js.jar fi if test x"${RHINO_JAR}" = "xyes"; then AC_MSG_RESULT([not found]) From gnu_andrew at member.fsf.org Wed Dec 17 14:16:49 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 17 Dec 2008 22:16:49 +0000 Subject: changeset in /hg/icedtea6: This cleanups up the --with-x-home ch... Message-ID: changeset 90358389b2d4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=90358389b2d4 description: This cleanups up the --with-x-home checks so they work correctly with all possible options and adds some additional defaults for Gentoo and Debian systems. 2008-12-17 Andrew John Hughes * Makefile.am: No need to check again that SYSTEM_GCJ_DIR exists. * acinclude.m4: (AC_CHECK_FOR_GCJ_JDK): Added. (AC_CHECK_FOR_OPENJDK): Likewise. (AC_CHECK_FOR_ICEDTEA): Likewise. * configure.ac: Do --with-icedtea/--with-openjdk check earlier. More --with-x-home options to macros in acinclude.m4. Remove redundant erroneous use of GCC_OLD. diffstat: 4 files changed, 166 insertions(+), 114 deletions(-) ChangeLog | 13 +++++ Makefile.am | 35 ++++++--------- acinclude.m4 | 101 ++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 131 ++++++++++++++++------------------------------------------ diffs (347 lines): diff -r cedcd6958a6f -r 90358389b2d4 ChangeLog --- a/ChangeLog Wed Dec 17 20:16:53 2008 +0000 +++ b/ChangeLog Wed Dec 17 22:14:33 2008 +0000 @@ -1,3 +1,16 @@ 2008-12-17 Andrew John Hughes + + * Makefile.am: + No need to check again that SYSTEM_GCJ_DIR exists. + * acinclude.m4: + (AC_CHECK_FOR_GCJ_JDK): Added. + (AC_CHECK_FOR_OPENJDK): Likewise. + (AC_CHECK_FOR_ICEDTEA): Likewise. + * configure.ac: + Do --with-icedtea/--with-openjdk check earlier. + More --with-x-home options to macros in acinclude.m4. + Remove redundant erroneous use of GCC_OLD. + 2008-12-17 Andrew John Hughes * Makefile.am: diff -r cedcd6958a6f -r 90358389b2d4 Makefile.am --- a/Makefile.am Wed Dec 17 20:16:53 2008 +0000 +++ b/Makefile.am Wed Dec 17 22:14:33 2008 +0000 @@ -1028,28 +1028,21 @@ stamps/bootstrap-directory-ecj.stamp: st ln -sf $(XALAN2_SERIALIZER_JAR) \ bootstrap/ecj/lib/endorsed/xalan-j2-serializer.jar ln -sf $(XERCES2_JAR) bootstrap/ecj/lib/endorsed/xerces-j2.jar - if test -d $(SYSTEM_GCJ_DIR); \ - then \ - mkdir -p bootstrap/ecj/jre/lib; \ - ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR) \ - bootstrap/ecj/jre/lib/; \ - if ! test -d bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ + mkdir -p bootstrap/ecj/jre/lib; \ + ln -sf $(SYSTEM_GCJ_DIR)/jre/lib/$(JRE_ARCH_DIR) \ + bootstrap/ecj/jre/lib/; \ + if ! test -d bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ then \ - ln -sf ./$(JRE_ARCH_DIR) \ - bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ - fi; \ - mkdir -p bootstrap/ecj/include; \ - for i in $(SYSTEM_GCJ_DIR)/include/*; do \ - test -r $$i | continue; \ - i=`basename $$i`; \ - rm -f bootstrap/ecj/include/$$i; \ - ln -s $(SYSTEM_GCJ_DIR)/include/$$i bootstrap/ecj/include/$$i; \ - done; \ - else \ - echo $(SYSTEM_GCJ_DIR) " cannot be found. Try reconfiguring with " \ - --with-gcj-home=/path/to/java-gcj-devel ; \ - exit 1; \ - fi + ln -sf ./$(JRE_ARCH_DIR) \ + bootstrap/ecj/jre/lib/$(INSTALL_ARCH_DIR); \ + fi; \ + mkdir -p bootstrap/ecj/include; \ + for i in $(SYSTEM_GCJ_DIR)/include/*; do \ + test -r $$i | continue; \ + i=`basename $$i`; \ + rm -f bootstrap/ecj/include/$$i; \ + ln -s $(SYSTEM_GCJ_DIR)/include/$$i bootstrap/ecj/include/$$i; \ + done; \ if test -f $(abs_top_builddir)/bootstrap/jdk1.7.0/jre/lib/tools.jar ; \ then \ mkdir -p $(abs_top_builddir)/bootstrap/ecj/lib ; \ diff -r cedcd6958a6f -r 90358389b2d4 acinclude.m4 --- a/acinclude.m4 Wed Dec 17 20:16:53 2008 +0000 +++ b/acinclude.m4 Wed Dec 17 22:14:33 2008 +0000 @@ -975,3 +975,104 @@ AC_DEFUN([AC_CHECK_WITH_HG_REVISION], AC_SUBST([HGREV]) AM_CONDITIONAL(WITH_HGREV, test "x${HGREV}" != "x") ]) + +AC_DEFUN([AC_CHECK_FOR_GCJ_JDK], +[ + AC_MSG_CHECKING([for a GCJ JDK home directory]) + AC_ARG_WITH([gcj-home], + [AS_HELP_STRING([--with-gcj-home], + [gcj home directory \ + (default is /usr/lib/jvm/java-gcj or /usr/lib/jvm/gcj-jdk)])], + [ + if test "x${withval}" = xyes + then + SYSTEM_GCJ_DIR= + elif test "x${withval}" = xno + then + SYSTEM_GCJ_DIR= + else + SYSTEM_GCJ_DIR=${withval} + fi + ], + [ + SYSTEM_GCJ_DIR= + ]) + if test -z "${SYSTEM_GCJ_DIR}"; then + for dir in /usr/lib/jvm/java-gcj /usr/lib/jvm/gcj-jdk /usr/lib/jvm/cacao ; do + test -d $dir && SYSTEM_GCJ_DIR=$dir + done + fi + AC_MSG_RESULT(${SYSTEM_GCJ_DIR}) + if ! test -d "${SYSTEM_GCJ_DIR}"; then + AC_MSG_ERROR("A GCJ JDK home directory could not be found.") + fi + AC_SUBST(SYSTEM_GCJ_DIR) +]) + +AC_DEFUN([AC_CHECK_FOR_OPENJDK], +[ + AC_MSG_CHECKING([for an existing OpenJDK installation]) + AC_ARG_WITH([openjdk-home], + [AS_HELP_STRING([--with-openjdk-home], + [OpenJDK home directory \ + (default is /usr/lib/jvm/java-openjdk)])], + [ + if test "x${withval}" = xyes + then + SYSTEM_OPENJDK_DIR= + elif test "x${withval}" = xno + then + SYSTEM_OPENJDK_DIR= + else + SYSTEM_OPENJDK_DIR=${withval} + fi + ], + [ + SYSTEM_OPENJDK_DIR= + ]) + if test -z "${SYSTEM_OPENJDK_DIR}"; then + for dir in /usr/lib/jvm/java-openjdk /usr/lib/jvm/openjdk ; do + test -d $dir && SYSTEM_OPENJDK_DIR=$dir + done + fi + AC_MSG_RESULT(${SYSTEM_OPENJDK_DIR}) + if ! test -d "${SYSTEM_OPENJDK_DIR}"; then + AC_MSG_ERROR("An OpenJDK home directory could not be found.") + fi + AC_SUBST(SYSTEM_OPENJDK_DIR) +]) + +AC_DEFUN([AC_CHECK_FOR_ICEDTEA], +[ + AC_MSG_CHECKING(for an existing IcedTea installation) + AC_ARG_WITH([icedtea-home], + [AS_HELP_STRING([--with-icedtea-home], + [IcedTea home directory \ + (default is /usr/lib/jvm/java-icedtea)])], + [ + if test "x${withval}" = xyes + then + SYSTEM_ICEDTEA_DIR= + elif test "x${withval}" = xno + then + SYSTEM_ICEDTEA_DIR= + else + SYSTEM_ICEDTEA_DIR=${withval} + fi + ], + [ + SYSTEM_ICEDTEA_DIR= + ]) + if test -z "${SYSTEM_ICEDTEA_DIR}"; then + for dir in /usr/lib/jvm/java-icedtea /usr/lib/jvm/icedtea6 /usr/lib/jvm/java-6-openjdk ; do + test -d $dir && SYSTEM_ICEDTEA_DIR=$dir + done + fi + AC_MSG_RESULT(${SYSTEM_ICEDTEA_DIR}) + if ! test -d "${SYSTEM_ICEDTEA_DIR}"; then + AC_MSG_ERROR("An IcedTea home directory could not be found.") + fi + AC_SUBST(SYSTEM_ICEDTEA_DIR) +]) + + diff -r cedcd6958a6f -r 90358389b2d4 configure.ac --- a/configure.ac Wed Dec 17 20:16:53 2008 +0000 +++ b/configure.ac Wed Dec 17 22:14:33 2008 +0000 @@ -37,62 +37,41 @@ AC_PATH_TOOL([LINUX32],[linux32]) AC_PATH_TOOL([LINUX32],[linux32]) AC_CHECK_GCC_VERSION -AC_MSG_CHECKING([for a JDK home directory]) -AC_ARG_WITH([gcj-home], - [AS_HELP_STRING([--with-gcj-home], - [gcj home directory \ - (default is /usr/lib/jvm/java-gcj)])], - [ - if test "x${withval}" = x - then - SYSTEM_GCJ_DIR=/usr/lib/jvm/java-gcj - else - SYSTEM_GCJ_DIR=${withval} - fi - ], - [ - SYSTEM_GCJ_DIR=/usr/lib/jvm/java-gcj - ]) -AC_MSG_RESULT(${SYSTEM_GCJ_DIR}) -AC_SUBST(SYSTEM_GCJ_DIR) - -AC_MSG_CHECKING([for an existing OpenJDK installation]) -AC_ARG_WITH([openjdk-home], - [AS_HELP_STRING([--with-openjdk-home], - [OpenJDK home directory \ - (default is /usr/lib/jvm/java-openjdk)])], - [ - if test "x${withval}" = x - then - SYSTEM_OPENJDK_DIR=/usr/lib/jvm/java-openjdk - else - SYSTEM_OPENJDK_DIR=${withval} - fi - ], - [ - SYSTEM_OPENJDK_DIR=/usr/lib/jvm/java-openjdk - ]) -AC_MSG_RESULT(${SYSTEM_OPENJDK_DIR}) -AC_SUBST(SYSTEM_OPENJDK_DIR) - -AC_MSG_CHECKING(for an existing IcedTea installation) -AC_ARG_WITH([icedtea-home], - [AS_HELP_STRING([--with-icedtea-home], - [IcedTea home directory \ - (default is /usr/lib/jvm/java-icedtea)])], - [ - if test "x${withval}" = x - then - SYSTEM_ICEDTEA_DIR=/usr/lib/jvm/java-icedtea - else - SYSTEM_ICEDTEA_DIR=${withval} - fi - ], - [ - SYSTEM_ICEDTEA_DIR=/usr/lib/jvm/java-icedtea - ]) -AC_MSG_RESULT(${SYSTEM_ICEDTEA_DIR}) -AC_SUBST(SYSTEM_ICEDTEA_DIR) +AC_MSG_CHECKING([whether to build using an existing installation of IcedTea]) +AC_ARG_WITH([icedtea], + [AS_HELP_STRING([--with-icedtea], + [build IcedTea with system-installed IcedTea])], + [ + if test "x${withval}" != xno + then + with_icedtea=true + else + with_icedtea=false + fi + ], + [ + with_icedtea=false + ]) +AM_CONDITIONAL(WITH_ICEDTEA, test "${with_icedtea}" = true) +AC_MSG_RESULT(${with_icedtea}) + +AC_MSG_CHECKING([whether to build using an existing installation of OpenJDK]) +AC_ARG_WITH([openjdk], + [AS_HELP_STRING([--with-openjdk], + [build IcedTea with system-installed OpenJDK])], + [ + if test "x${withval}" != xno + then + with_openjdk=true + else + with_openjdk=false + fi + ], + [ + with_openjdk=false + ]) +AM_CONDITIONAL(WITH_OPENJDK, test "${with_openjdk}" = true) +AC_MSG_RESULT(${with_openjdk}) AC_MSG_CHECKING([for a NetBeans installation]) AC_ARG_WITH([netbeans-home], @@ -182,41 +161,6 @@ then FIND_NETBEANS fi -AC_ARG_WITH([icedtea], - [AS_HELP_STRING([--with-icedtea], - [build IcedTea with system-installed IcedTea])], - [ - if test "x${withval}" != xno - then - with_icedtea=true - else - with_icedtea=false - fi - ], - [ - with_icedtea=false - ]) -AM_CONDITIONAL(WITH_ICEDTEA, test "${with_icedtea}" = true) -AC_MSG_RESULT(${with_icedtea}) - -AC_MSG_CHECKING(whether to build using an existing installation of OpenJDK) -AC_ARG_WITH([openjdk], - [AS_HELP_STRING([--with-openjdk], - [build IcedTea with system-installed OpenJDK])], - [ - if test "x${withval}" != xno - then - with_openjdk=true - else - with_openjdk=false - fi - ], - [ - with_openjdk=false - ]) -AM_CONDITIONAL(WITH_OPENJDK, test "${with_openjdk}" = true) -AC_MSG_RESULT(${with_openjdk}) - AC_MSG_CHECKING(how many parallel build jobs to execute) AC_ARG_WITH([parallel-jobs], [AS_HELP_STRING([--with-parallel-jobs], @@ -261,6 +205,7 @@ SET_ARCH_DIRS SET_ARCH_DIRS if test "${with_openjdk}" = true then + AC_CHECK_FOR_OPENJDK JAVA=$SYSTEM_OPENJDK_DIR/bin/java AC_SUBST(JAVA) JAVAC=${SYSTEM_OPENJDK_DIR}/bin/javac @@ -271,10 +216,10 @@ then AC_SUBST(JAR) RMIC=${SYSTEM_OPENJDK_DIR}/bin/rmic AC_SUBST(RMIC) - AM_CONDITIONAL(GCC_OLD, test x != x) else if test "${with_icedtea}" = true then + AC_CHECK_FOR_ICEDTEA JAVA=$SYSTEM_ICEDTEA_DIR/bin/java AC_SUBST(JAVA) JAVAC=${SYSTEM_ICEDTEA_DIR}/bin/javac @@ -285,8 +230,8 @@ then AC_SUBST(JAR) RMIC=${SYSTEM_ICEDTEA_DIR}/bin/rmic AC_SUBST(RMIC) - AM_CONDITIONAL(GCC_OLD, test x != x) else + AC_CHECK_FOR_GCJ_JDK FIND_JAVA FIND_JAVAC FIND_JAVAH From theBohemian at gmx.net Thu Dec 18 06:05:52 2008 From: theBohemian at gmx.net (Robert Schuster) Date: Thu, 18 Dec 2008 15:05:52 +0100 Subject: lcms dependency Message-ID: <494A58C0.3000802@gmx.net> Hi, compiles icedtea against the lcms.h included in the sources or one that is provided by the system? I ask because http://icedtea.classpath.org/wiki/DebianBuildingInstructions lists liblcms1-dev as a dependency. Regards Robert -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081218/eef34fc0/signature.asc From theBohemian at gmx.net Thu Dec 18 06:36:59 2008 From: theBohemian at gmx.net (Robert Schuster) Date: Thu, 18 Dec 2008 15:36:59 +0100 Subject: lcms dependency In-Reply-To: <494A58C0.3000802@gmx.net> References: <494A58C0.3000802@gmx.net> Message-ID: <494A600B.5030606@gmx.net> A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 260 bytes Desc: OpenPGP digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081218/c5670457/signature.asc From mark at klomp.org Thu Dec 18 06:57:49 2008 From: mark at klomp.org (Mark Wielaard) Date: Thu, 18 Dec 2008 14:57:49 +0000 Subject: lcms dependency In-Reply-To: <494A600B.5030606@gmx.net> References: <494A58C0.3000802@gmx.net> <494A600B.5030606@gmx.net> Message-ID: <1229612269.3441.41.camel@dijkstra.wildebeest.org> On Thu, 2008-12-18 at 15:36 +0100, Robert Schuster wrote: > mjw answered on this at #classpath and was under the impression that the > system provided lcms will be used. However it turned out that this is > not true - the openjdk sources contains lcms.h and the implementation > and those are used. > > This is especially interesting because there is a known security issue > with lcms: > http://www.debian.org/security/2008/dsa-1684 Just to followup on this particular security issue. It seems we already picked up the fixes for the issue mentioned in CVE-2008-5316, but we are missing the fixes mention in CVE-2008-5317 in the sources we ship under jdk/src/share/native/sun/java2d/cmm/lcms. I haven't checked yet whether or not we actually build these in. If we do, that is clearly a bug. We should be linking against the system provided libraries, precisely to make sure these kind of security issues can be handled by the distributions. Cheers, Mark From omajid at redhat.com Thu Dec 18 07:26:09 2008 From: omajid at redhat.com (Omair Majid) Date: Thu, 18 Dec 2008 10:26:09 -0500 Subject: Compiling libjvm.so as PIC In-Reply-To: <4948A579.30900@ubuntu.com> References: <49480513.8060309@redhat.com> <4948A579.30900@ubuntu.com> Message-ID: <494A6B91.602@redhat.com> Matthias Klose wrote: > Omair Majid schrieb: >> Ionana and I have been trying to get icedtea to work when built as a >> normal user with SELinux enabled. SELinux stops java from loading >> libjvm.so which is built as non-PIC. Please see >> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6538311 for more >> information. >> >> The bug report states that building libjvm.so as PIC has performance >> penalties. Ioana and I have been comparing the performance of a JVM >> built as PIC with one built as non-PIC for the last few days. For the >> JVM built as PIC, the fastest run was about 3% faster than the slowest. >> For the JVM built as non-PIC, the fastest run was about 1% faster than >> the slowest. Comparing the average performance, the PIC JVM seems to be >> faster by 0.59% which indicates that any difference in performance is >> negligible. >> >> Building libjmv.so as PIC should also result in memory savings as the >> code segment will be shared across processes. >> >> The attached patch will build libjvm.so as PIC. Any objections to >> applying it? > > does it make a difference with SELinux disabled? > I just finished running the tests with SELinux disabled. The performance difference between a PIC jvm and a non-PIC jvm was about 0.9%, with the PIC jvm being actually faster. So any performance loss is negligible. Omair From aph at redhat.com Thu Dec 18 07:34:31 2008 From: aph at redhat.com (Andrew Haley) Date: Thu, 18 Dec 2008 15:34:31 +0000 Subject: Compiling libjvm.so as PIC In-Reply-To: <494A6B91.602@redhat.com> References: <49480513.8060309@redhat.com> <4948A579.30900@ubuntu.com> <494A6B91.602@redhat.com> Message-ID: <494A6D87.40700@redhat.com> Omair Majid wrote: > Matthias Klose wrote: >> Omair Majid schrieb: >>> Ionana and I have been trying to get icedtea to work when built as a >>> normal user with SELinux enabled. SELinux stops java from loading >>> libjvm.so which is built as non-PIC. Please see >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6538311 for more >>> information. >>> >>> The bug report states that building libjvm.so as PIC has performance >>> penalties. Ioana and I have been comparing the performance of a JVM >>> built as PIC with one built as non-PIC for the last few days. For the >>> JVM built as PIC, the fastest run was about 3% faster than the slowest. >>> For the JVM built as non-PIC, the fastest run was about 1% faster than >>> the slowest. Comparing the average performance, the PIC JVM seems to be >>> faster by 0.59% which indicates that any difference in performance is >>> negligible. >>> >>> Building libjmv.so as PIC should also result in memory savings as the >>> code segment will be shared across processes. >>> >>> The attached patch will build libjvm.so as PIC. Any objections to >>> applying it? >> >> does it make a difference with SELinux disabled? > > I just finished running the tests with SELinux disabled. The performance > difference between a PIC jvm and a non-PIC jvm was about 0.9%, with the > PIC jvm being actually faster. So any performance loss is negligible. Thanks. I suspect that the problem this non-PIC compile was supposed to fix may be a bit of ancient history based on an old version of gcc. It's not entirely surprising that PIC might be faster, since fixing up the non-PIC relocations takes extra time. I think you proved your point and should check this change in. Andrew. From doko at ubuntu.com Thu Dec 18 10:03:05 2008 From: doko at ubuntu.com (Matthias Klose) Date: Thu, 18 Dec 2008 19:03:05 +0100 Subject: Compiling libjvm.so as PIC In-Reply-To: <494A6D87.40700@redhat.com> References: <49480513.8060309@redhat.com> <4948A579.30900@ubuntu.com> <494A6B91.602@redhat.com> <494A6D87.40700@redhat.com> Message-ID: <494A9059.3000403@ubuntu.com> Andrew Haley schrieb: > Omair Majid wrote: >> Matthias Klose wrote: >>> Omair Majid schrieb: >>>> Ionana and I have been trying to get icedtea to work when built as a >>>> normal user with SELinux enabled. SELinux stops java from loading >>>> libjvm.so which is built as non-PIC. Please see >>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6538311 for more >>>> information. >>>> >>>> The bug report states that building libjvm.so as PIC has performance >>>> penalties. Ioana and I have been comparing the performance of a JVM >>>> built as PIC with one built as non-PIC for the last few days. For the >>>> JVM built as PIC, the fastest run was about 3% faster than the slowest. >>>> For the JVM built as non-PIC, the fastest run was about 1% faster than >>>> the slowest. Comparing the average performance, the PIC JVM seems to be >>>> faster by 0.59% which indicates that any difference in performance is >>>> negligible. >>>> >>>> Building libjmv.so as PIC should also result in memory savings as the >>>> code segment will be shared across processes. >>>> >>>> The attached patch will build libjvm.so as PIC. Any objections to >>>> applying it? >>> does it make a difference with SELinux disabled? >> I just finished running the tests with SELinux disabled. The performance >> difference between a PIC jvm and a non-PIC jvm was about 0.9%, with the >> PIC jvm being actually faster. So any performance loss is negligible. > > Thanks. I suspect that the problem this non-PIC compile was supposed to fix > may be a bit of ancient history based on an old version of gcc. It's not > entirely surprising that PIC might be faster, since fixing up the non-PIC > relocations takes extra time. I don't share this point. The python interpreter, statically built with gcc-4.2.x is about 10% faster than the version built with -fPIC. When built with gcc-4.3.x it runs the pybench in pic/non-pic with the same speed as the gcc-4.2.x build with pic. So with gcc-4.3.x it doesn't make a difference, while it did with gcc-4.2.x. However I didn't explicitely check jvm builds. How were the performance checks done? Matthias From aph at redhat.com Thu Dec 18 10:20:54 2008 From: aph at redhat.com (Andrew Haley) Date: Thu, 18 Dec 2008 18:20:54 +0000 Subject: Compiling libjvm.so as PIC In-Reply-To: <494A9059.3000403@ubuntu.com> References: <49480513.8060309@redhat.com> <4948A579.30900@ubuntu.com> <494A6B91.602@redhat.com> <494A6D87.40700@redhat.com> <494A9059.3000403@ubuntu.com> Message-ID: <494A9486.1030409@redhat.com> Matthias Klose wrote: > Andrew Haley schrieb: >> Omair Majid wrote: >>> I just finished running the tests with SELinux disabled. The performance >>> difference between a PIC jvm and a non-PIC jvm was about 0.9%, with the >>> PIC jvm being actually faster. So any performance loss is negligible. >> Thanks. I suspect that the problem this non-PIC compile was supposed to fix >> may be a bit of ancient history based on an old version of gcc. It's not >> entirely surprising that PIC might be faster, since fixing up the non-PIC >> relocations takes extra time. > > I don't share this point. The python interpreter, statically built with > gcc-4.2.x is about 10% faster than the version built with -fPIC. > When built with > gcc-4.3.x it runs the pybench in pic/non-pic with the same speed as the > gcc-4.2.x build with pic. So with gcc-4.3.x it doesn't make a difference, while > it did with gcc-4.2.x. However I didn't explicitely check jvm builds. How were > the performance checks done? With SPEC JVM. I doubt very much that it makes any difference with gcc-4.2.x either, but we've already spent of ton of time on this and the case is proved for 4.3.x. We could conditionalize this on gcc-4.3.x, I suppose, Andrew. From omajid at redhat.com Thu Dec 18 14:29:59 2008 From: omajid at redhat.com (Omair Majid) Date: Thu, 18 Dec 2008 17:29:59 -0500 Subject: Compiling libjvm.so as PIC In-Reply-To: <494A6B91.602@redhat.com> References: <49480513.8060309@redhat.com> <4948A579.30900@ubuntu.com> <494A6B91.602@redhat.com> Message-ID: <494ACEE7.3010208@redhat.com> Omair Majid wrote: > Matthias Klose wrote: >> Omair Majid schrieb: >>> Ionana and I have been trying to get icedtea to work when built as a >>> normal user with SELinux enabled. SELinux stops java from loading >>> libjvm.so which is built as non-PIC. Please see >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6538311 for more >>> information. >>> >>> The bug report states that building libjvm.so as PIC has performance >>> penalties. Ioana and I have been comparing the performance of a JVM >>> built as PIC with one built as non-PIC for the last few days. For the >>> JVM built as PIC, the fastest run was about 3% faster than the slowest. >>> For the JVM built as non-PIC, the fastest run was about 1% faster than >>> the slowest. Comparing the average performance, the PIC JVM seems to be >>> faster by 0.59% which indicates that any difference in performance is >>> negligible. >>> >>> Building libjmv.so as PIC should also result in memory savings as the >>> code segment will be shared across processes. >>> >>> The attached patch will build libjvm.so as PIC. Any objections to >>> applying it? >> >> does it make a difference with SELinux disabled? >> > > I just finished running the tests with SELinux disabled. The performance > difference between a PIC jvm and a non-PIC jvm was about 0.9%, with the > PIC jvm being actually faster. So any performance loss is negligible. > > Omair Just wanted to add that the libjvm.so in the old hotspot was built as PIC: http://icedtea.classpath.org/hg/icedtea6/rev/e19c20030ba4 Omair From aph at redhat.com Fri Dec 19 03:37:07 2008 From: aph at redhat.com (Andrew Haley) Date: Fri, 19 Dec 2008 11:37:07 +0000 Subject: Compiling libjvm.so as PIC In-Reply-To: <494ACEE7.3010208@redhat.com> References: <49480513.8060309@redhat.com> <4948A579.30900@ubuntu.com> <494A6B91.602@redhat.com> <494ACEE7.3010208@redhat.com> Message-ID: <494B8763.2020806@redhat.com> Omair Majid wrote: > Omair Majid wrote: >> >> I just finished running the tests with SELinux disabled. The >> performance difference between a PIC jvm and a non-PIC jvm was about >> 0.9%, with the PIC jvm being actually faster. So any performance loss >> is negligible. > > Just wanted to add that the libjvm.so in the old hotspot was built as > PIC: http://icedtea.classpath.org/hg/icedtea6/rev/e19c20030ba4 Very good, quite right too. It's a fault in our processes that important patches like this get lost when we merge from upstream. I'm hoping that when we have hg upstream we'll find it easier to keep track of our local modifications. Andrew. From aph at redhat.com Fri Dec 19 05:57:41 2008 From: aph at redhat.com (Andrew Haley) Date: Fri, 19 Dec 2008 13:57:41 +0000 Subject: Check md5sum on hotspot downloads Message-ID: <494BA855.8080909@redhat.com> We weren't checking for an md5sum on the downloaded hotspot; fixed thusly. Also, the hotspot.map parser was insisting on tabs rather than any whitespace character as a separator, so I fixed that too. Andrew. 2008-12-19 Andrew Haley * Makefile.am (stamps/download.stamp): Check MD5sum on hotspot.tar.gz. * hotspot.map: Add md5sum for 14.0b08. diff -r 83952ccf276b Makefile.am --- a/Makefile.am Wed Dec 17 22:16:21 2008 +0000 +++ b/Makefile.am Fri Dec 19 13:54:41 2008 +0000 @@ -385,8 +385,19 @@ 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); + hotspot_md5sum="`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) \ + $(abs_top_srcdir)/hotspot.map`" ; \ + if ! echo "$${hotspot_md5sum} $(HOTSPOT_SRC_ZIP)" \ + | $(MD5SUM) --check ; \ + then \ + if [ $(HOTSPOT_SRC_ZIP) ] ; \ + then \ + mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ + fi ; \ + changeset="`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) \ + $(abs_top_srcdir)/hotspot.map`" ; \ + $(WGET) $(HOTSPOT_URL)$${changeset}.tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ + fi endif endif endif diff -r 83952ccf276b hotspot.map --- a/hotspot.map Wed Dec 17 22:16:21 2008 +0000 +++ b/hotspot.map Fri Dec 19 13:54:41 2008 +0000 @@ -1,1 +1,2 @@ -14.0b08 f9d938ede196 +# version changeset md5sum +14.0b08 f9d938ede196 c8f78d48ac83987bc2adebeebcd354e9 From aph at redhat.com Fri Dec 19 06:02:53 2008 From: aph at redhat.com (Andrew Haley) Date: Fri, 19 Dec 2008 14:02:53 +0000 Subject: changeset in /hg/icedtea6: 2008-12-19 Andrew Haley changeset fc3dc99a545d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=fc3dc99a545d description: 2008-12-19 Andrew Haley * Makefile.am (stamps/download.stamp): Check MD5sum on hotspot.tar.gz. * hotspot.map: Add md5sum for 14.0b08. diffstat: 3 files changed, 20 insertions(+), 3 deletions(-) ChangeLog | 5 +++++ Makefile.am | 15 +++++++++++++-- hotspot.map | 3 ++- diffs (44 lines): diff -r 83952ccf276b -r fc3dc99a545d ChangeLog --- a/ChangeLog Wed Dec 17 22:16:21 2008 +0000 +++ b/ChangeLog Fri Dec 19 14:02:38 2008 +0000 @@ -1,3 +1,8 @@ 2008-12-17 Andrew John Hughes + + * Makefile.am (stamps/download.stamp): Check MD5sum on hotspot.tar.gz. + * hotspot.map: Add md5sum for 14.0b08. + 2008-12-17 Andrew John Hughes * acinclude.m4: diff -r 83952ccf276b -r fc3dc99a545d Makefile.am --- a/Makefile.am Wed Dec 17 22:16:21 2008 +0000 +++ b/Makefile.am Fri Dec 19 14:02:38 2008 +0000 @@ -385,8 +385,19 @@ if WITH_ALT_HSBUILD 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); + hotspot_md5sum="`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) \ + $(abs_top_srcdir)/hotspot.map`" ; \ + if ! echo "$${hotspot_md5sum} $(HOTSPOT_SRC_ZIP)" \ + | $(MD5SUM) --check ; \ + then \ + if [ $(HOTSPOT_SRC_ZIP) ] ; \ + then \ + mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ + fi ; \ + changeset="`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) \ + $(abs_top_srcdir)/hotspot.map`" ; \ + $(WGET) $(HOTSPOT_URL)$${changeset}.tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ + fi endif endif endif diff -r 83952ccf276b -r fc3dc99a545d hotspot.map --- a/hotspot.map Wed Dec 17 22:16:21 2008 +0000 +++ b/hotspot.map Fri Dec 19 14:02:38 2008 +0000 @@ -1,1 +1,2 @@ 14.0b08 f9d938ede196 -14.0b08 f9d938ede196 +# version changeset md5sum +14.0b08 f9d938ede196 c8f78d48ac83987bc2adebeebcd354e9 From aph at redhat.com Fri Dec 19 06:33:50 2008 From: aph at redhat.com (Andrew Haley) Date: Fri, 19 Dec 2008 14:33:50 +0000 Subject: changeset in /hg/icedtea6: 2008-12-19 Andrew Haley changeset a58b6b3002c2 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a58b6b3002c2 description: 2008-12-19 Andrew Haley * Makefile.am (stamps/download.stamp): Check MD5sum on hotspot.tar.gz. (stamps/extract.stamp): Use AWK here rather than cut. * hotspot.map: Add md5sum for 14.0b08. diffstat: 2 files changed, 3 insertions(+), 1 deletion(-) ChangeLog | 1 + Makefile.am | 3 ++- diffs (24 lines): diff -r fc3dc99a545d -r a58b6b3002c2 ChangeLog --- a/ChangeLog Fri Dec 19 14:02:38 2008 +0000 +++ b/ChangeLog Fri Dec 19 14:33:41 2008 +0000 @@ -1,6 +1,7 @@ 2008-12-19 Andrew Haley * Makefile.am (stamps/download.stamp): Check MD5sum on hotspot.tar.gz. + (stamps/extract.stamp): Use AWK here rather than cut. * hotspot.map: Add md5sum for 14.0b08. 2008-12-17 Andrew John Hughes diff -r fc3dc99a545d -r a58b6b3002c2 Makefile.am --- a/Makefile.am Fri Dec 19 14:02:38 2008 +0000 +++ b/Makefile.am Fri Dec 19 14:33:41 2008 +0000 @@ -709,7 +709,8 @@ if WITH_ALT_HSBUILD then \ $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ chmod -R ug+w hotspot-* ; \ - mv hotspot-$$(cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2) openjdk/hotspot ; \ + mv hotspot-$$($(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) \ + $(abs_top_srcdir)/hotspot.map) openjdk/hotspot ; \ fi ; \ fi endif From aph at redhat.com Fri Dec 19 06:34:49 2008 From: aph at redhat.com (Andrew Haley) Date: Fri, 19 Dec 2008 14:34:49 +0000 Subject: Check md5sum on hotspot downloads In-Reply-To: <494BA855.8080909@redhat.com> References: <494BA855.8080909@redhat.com> Message-ID: <494BB109.9080308@redhat.com> Andrew Haley wrote: > We weren't checking for an md5sum on the downloaded hotspot; fixed thusly. > Also, the hotspot.map parser was insisting on tabs rather than any whitespace > character as a separator, so I fixed that too. Missed one. Fixed. diff -r fc3dc99a545d Makefile.am --- a/Makefile.am Fri Dec 19 14:02:38 2008 +0000 +++ b/Makefile.am Fri Dec 19 14:33:20 2008 +0000 @@ -709,7 +709,8 @@ then \ $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ chmod -R ug+w hotspot-* ; \ - mv hotspot-$$(cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2) openjdk/hotspot ; \ + mv hotspot-$$($(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) \ + $(abs_top_srcdir)/hotspot.map) openjdk/hotspot ; \ fi ; \ fi endif From omajid at redhat.com Fri Dec 19 06:40:03 2008 From: omajid at redhat.com (Omair Majid) Date: Fri, 19 Dec 2008 14:40:03 +0000 Subject: changeset in /hg/icedtea6: 2008-12-19 Omair Majid changeset a530e095f65b in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a530e095f65b description: 2008-12-19 Omair Majid Merged changes diffstat: 2 files changed, 3 insertions(+), 1 deletion(-) ChangeLog | 1 + Makefile.am | 3 ++- diffs (24 lines): diff -r 557ccffda8c5 -r a530e095f65b ChangeLog --- a/ChangeLog Fri Dec 19 09:35:19 2008 -0500 +++ b/ChangeLog Fri Dec 19 09:39:44 2008 -0500 @@ -6,6 +6,7 @@ 2008-12-19 Andrew Haley * Makefile.am (stamps/download.stamp): Check MD5sum on hotspot.tar.gz. + (stamps/extract.stamp): Use AWK here rather than cut. * hotspot.map: Add md5sum for 14.0b08. 2008-12-17 Andrew John Hughes diff -r 557ccffda8c5 -r a530e095f65b Makefile.am --- a/Makefile.am Fri Dec 19 09:35:19 2008 -0500 +++ b/Makefile.am Fri Dec 19 09:39:44 2008 -0500 @@ -709,7 +709,8 @@ if WITH_ALT_HSBUILD then \ $(TAR) xf $(HOTSPOT_SRC_ZIP) ; \ chmod -R ug+w hotspot-* ; \ - mv hotspot-$$(cat $(abs_top_srcdir)/hotspot.map|grep $(HSBUILD)|cut -f2) openjdk/hotspot ; \ + mv hotspot-$$($(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) \ + $(abs_top_srcdir)/hotspot.map) openjdk/hotspot ; \ fi ; \ fi endif From omajid at redhat.com Fri Dec 19 06:40:03 2008 From: omajid at redhat.com (Omair Majid) Date: Fri, 19 Dec 2008 14:40:03 +0000 Subject: changeset in /hg/icedtea6: 2008-12-19 Omair Majid changeset 557ccffda8c5 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=557ccffda8c5 description: 2008-12-19 Omair Majid * patches/hotspot/14.0b08/icedtea-text-relocations.patch: Build libjvm.so as PIC. diffstat: 2 files changed, 51 insertions(+) ChangeLog | 5 + patches/hotspot/14.0b08/icedtea-text-relocations.patch | 46 ++++++++++++++++ diffs (65 lines): diff -r fc3dc99a545d -r 557ccffda8c5 ChangeLog --- a/ChangeLog Fri Dec 19 14:02:38 2008 +0000 +++ b/ChangeLog Fri Dec 19 09:35:19 2008 -0500 @@ -1,3 +1,8 @@ 2008-12-19 Andrew Haley + + * patches/hotspot/14.0b08/icedtea-text-relocations.patch: Build libjvm.so + as PIC. + 2008-12-19 Andrew Haley * Makefile.am (stamps/download.stamp): Check MD5sum on hotspot.tar.gz. diff -r fc3dc99a545d -r 557ccffda8c5 patches/hotspot/14.0b08/icedtea-text-relocations.patch --- a/patches/hotspot/14.0b08/icedtea-text-relocations.patch Fri Dec 19 14:02:38 2008 +0000 +++ b/patches/hotspot/14.0b08/icedtea-text-relocations.patch Fri Dec 19 09:35:19 2008 -0500 @@ -13,3 +13,49 @@ diff -Nru openjdk.orig/hotspot/make/linu VM_PICFLAG/LIBJVM = $(PICFLAG) VM_PICFLAG/AOUT = +--- rules.make.orig 2008-12-12 11:23:31.000000000 -0500 ++++ openjdk/hotspot/make/linux/makefiles/rules.make 2008-12-12 11:32:26.000000000 -0500 +@@ -138,20 +138,10 @@ + include $(GAMMADIR)/make/pic.make + endif + +-# The non-PIC object files are only generated for 32 bit platforms. +-ifdef LP64 + %.o: %.cpp + @echo Compiling $< + $(QUIETLY) $(REMOVE_TARGET) + $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) +-else +-%.o: %.cpp +- @echo Compiling $< +- $(QUIETLY) $(REMOVE_TARGET) +- $(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \ +- $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \ +- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)) +-endif + + %.o: %.s + @echo Assembling $< +--- rules.make.orig 2008-12-12 11:42:55.000000000 -0500 ++++ openjdk/hotspot/make/solaris/makefiles/rules.make 2008-12-12 11:44:01.000000000 -0500 +@@ -138,20 +138,10 @@ + include $(GAMMADIR)/make/pic.make + endif + +-# Sun compiler for 64 bit Solaris does not support building non-PIC object files. +-ifdef LP64 + %.o: %.cpp + @echo Compiling $< + $(QUIETLY) $(REMOVE_TARGET) + $(QUIETLY) $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) +-else +-%.o: %.cpp +- @echo Compiling $< +- $(QUIETLY) $(REMOVE_TARGET) +- $(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \ +- $(subst $(VM_PICFLAG), ,$(COMPILE.CC)) -o $@ $< $(COMPILE_DONE), \ +- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)) +-endif + + %.o: %.s + @echo Assembling $< From gnu_andrew at member.fsf.org Fri Dec 19 11:11:26 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 19 Dec 2008 19:11:26 +0000 Subject: lcms dependency In-Reply-To: <1229612269.3441.41.camel@dijkstra.wildebeest.org> References: <494A58C0.3000802@gmx.net> <494A600B.5030606@gmx.net> <1229612269.3441.41.camel@dijkstra.wildebeest.org> Message-ID: <17c6771e0812191111x2533c26dn2d782ebfcc4b727@mail.gmail.com> 2008/12/18 Mark Wielaard : > On Thu, 2008-12-18 at 15:36 +0100, Robert Schuster wrote: >> mjw answered on this at #classpath and was under the impression that the >> system provided lcms will be used. However it turned out that this is >> not true - the openjdk sources contains lcms.h and the implementation >> and those are used. >> >> This is especially interesting because there is a known security issue >> with lcms: >> http://www.debian.org/security/2008/dsa-1684 > > Just to followup on this particular security issue. It seems we already > picked up the fixes for the issue mentioned in CVE-2008-5316, but we are > missing the fixes mention in CVE-2008-5317 in the sources we ship under > jdk/src/share/native/sun/java2d/cmm/lcms. > > I haven't checked yet whether or not we actually build these in. If we > do, that is clearly a bug. We should be linking against the system > provided libraries, precisely to make sure these kind of security issues > can be handled by the distributions. > > Cheers, > > Mark > > We are building ./control/build/linux-amd64/lib/amd64/liblcms.so -- 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 Fri Dec 19 14:39:02 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Fri, 19 Dec 2008 22:39:02 +0000 Subject: lcms dependency In-Reply-To: <17c6771e0812191111x2533c26dn2d782ebfcc4b727@mail.gmail.com> References: <494A58C0.3000802@gmx.net> <494A600B.5030606@gmx.net> <1229612269.3441.41.camel@dijkstra.wildebeest.org> <17c6771e0812191111x2533c26dn2d782ebfcc4b727@mail.gmail.com> Message-ID: <17c6771e0812191439p4f866387uf55582800bf2bd29@mail.gmail.com> 2008/12/19 Andrew John Hughes : > 2008/12/18 Mark Wielaard : >> On Thu, 2008-12-18 at 15:36 +0100, Robert Schuster wrote: >>> mjw answered on this at #classpath and was under the impression that the >>> system provided lcms will be used. However it turned out that this is >>> not true - the openjdk sources contains lcms.h and the implementation >>> and those are used. >>> >>> This is especially interesting because there is a known security issue >>> with lcms: >>> http://www.debian.org/security/2008/dsa-1684 >> >> Just to followup on this particular security issue. It seems we already >> picked up the fixes for the issue mentioned in CVE-2008-5316, but we are >> missing the fixes mention in CVE-2008-5317 in the sources we ship under >> jdk/src/share/native/sun/java2d/cmm/lcms. >> >> I haven't checked yet whether or not we actually build these in. If we >> do, that is clearly a bug. We should be linking against the system >> provided libraries, precisely to make sure these kind of security issues >> can be handled by the distributions. >> >> Cheers, >> >> Mark >> >> > > We are building ./control/build/linux-amd64/lib/amd64/liblcms.so > -- > 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 > This is why we aren't building against the system LCMS: http://mail.openjdk.java.net/pipermail/2d-dev/2008-April/000228.html The system LCMS does not contain _cmsModifyTagData and given the patch alters other parts of LCMS, I don't see how we can. This needs to go upstream. -- 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 Fri Dec 19 16:24:24 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 20 Dec 2008 00:24:24 +0000 Subject: [Bug 269] icedtea crashed in libgtk Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=269 ------- Comment #3 from icedtea-bugs at cryptobitch.de 2008-12-20 00:24 ------- Ahoi, I have somehow managed to install OpenJDK from Fedora Rawhide: Name : java-1.6.0-openjdk-devel Arch : x86_64 Epoch : 1 Version : 1.6.0.0 Release : 8.b14.fc11 Size : 42 M Repo : installed Summary : OpenJDK Development Environment URL : http://icedtea.classpath.org/ License : GPLv2 with exceptions Description: The OpenJDK development tools. I haven't experienced the crasher anymore. Feel free to close this bug, I'll come back if I'm experiencing problems again. -- 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 19 17:40:57 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sat, 20 Dec 2008 01:40:57 +0000 Subject: changeset in /hg/icedtea: Bump to b42. Message-ID: changeset e1279da5a00d in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=e1279da5a00d description: Bump to b42. 2008-12-20 Andrew John Hughes * HACKING: Updated. * Makefile.am: Bump to b42. * generated/java/nio/DirectByteBuffer.java, * generated/java/nio/DirectCharBufferS.java, * generated/java/nio/DirectCharBufferU.java, * generated/java/nio/DirectDoubleBufferS.java, * generated/java/nio/DirectDoubleBufferU.java, * generated/java/nio/DirectFloatBufferS.java, * generated/java/nio/DirectFloatBufferU.java, * generated/java/nio/DirectIntBufferS.java, * generated/java/nio/DirectIntBufferU.java, * generated/java/nio/DirectLongBufferS.java, * generated/java/nio/DirectLongBufferU.java, * generated/java/nio/DirectShortBufferS.java, * generated/java/nio/DirectShortBufferU.java, * generated/java/nio/HeapByteBuffer.java, * generated/java/nio/HeapCharBuffer.java, * generated/java/nio/HeapDoubleBuffer.java, * generated/java/nio/HeapFloatBuffer.java, * generated/java/nio/HeapIntBuffer.java, * generated/java/nio/HeapLongBuffer.java, * generated/java/nio/HeapShortBuffer.java: Use discardMark() from the S6593946 fix rather than our own clearMark() (identical other than in name). * patches/icedtea-bytebuffer-compact.patch: Remove fixes to template files and addition of the clearMark() method as these are fixed by S6593946. Keep the mark = -1/discardMark changes as this is a cleaner solution. * patches/icedtea-version.patch: Remove mjw's patch. Applied upstream as S6775152. diffstat: 25 files changed, 68 insertions(+), 74 deletions(-) ChangeLog | 34 ++++++++++++++++++++++ HACKING | 6 ++-- Makefile.am | 6 ++-- generated/java/nio/DirectByteBuffer.java | 2 - generated/java/nio/DirectCharBufferS.java | 2 - generated/java/nio/DirectCharBufferU.java | 2 - generated/java/nio/DirectDoubleBufferS.java | 2 - generated/java/nio/DirectDoubleBufferU.java | 2 - generated/java/nio/DirectFloatBufferS.java | 2 - generated/java/nio/DirectFloatBufferU.java | 2 - generated/java/nio/DirectIntBufferS.java | 2 - generated/java/nio/DirectIntBufferU.java | 2 - generated/java/nio/DirectLongBufferS.java | 2 - generated/java/nio/DirectLongBufferU.java | 2 - generated/java/nio/DirectShortBufferS.java | 2 - generated/java/nio/DirectShortBufferU.java | 2 - generated/java/nio/HeapByteBuffer.java | 2 - generated/java/nio/HeapCharBuffer.java | 2 - generated/java/nio/HeapDoubleBuffer.java | 2 - generated/java/nio/HeapFloatBuffer.java | 2 - generated/java/nio/HeapIntBuffer.java | 2 - generated/java/nio/HeapLongBuffer.java | 2 - generated/java/nio/HeapShortBuffer.java | 2 - patches/icedtea-bytebuffer-compact.patch | 40 ++++----------------------- patches/icedtea-version.patch | 16 ---------- diffs (421 lines): diff -r d9eec6614be5 -r e1279da5a00d ChangeLog --- a/ChangeLog Tue Dec 09 20:39:31 2008 +0000 +++ b/ChangeLog Sat Dec 20 01:40:44 2008 +0000 @@ -1,3 +1,37 @@ 2008-12-09 Mark Wielaard + + * HACKING: Updated. + * Makefile.am: Bump to b42. + * generated/java/nio/DirectByteBuffer.java, + * generated/java/nio/DirectCharBufferS.java, + * generated/java/nio/DirectCharBufferU.java, + * generated/java/nio/DirectDoubleBufferS.java, + * generated/java/nio/DirectDoubleBufferU.java, + * generated/java/nio/DirectFloatBufferS.java, + * generated/java/nio/DirectFloatBufferU.java, + * generated/java/nio/DirectIntBufferS.java, + * generated/java/nio/DirectIntBufferU.java, + * generated/java/nio/DirectLongBufferS.java, + * generated/java/nio/DirectLongBufferU.java, + * generated/java/nio/DirectShortBufferS.java, + * generated/java/nio/DirectShortBufferU.java, + * generated/java/nio/HeapByteBuffer.java, + * generated/java/nio/HeapCharBuffer.java, + * generated/java/nio/HeapDoubleBuffer.java, + * generated/java/nio/HeapFloatBuffer.java, + * generated/java/nio/HeapIntBuffer.java, + * generated/java/nio/HeapLongBuffer.java, + * generated/java/nio/HeapShortBuffer.java: + Use discardMark() from the S6593946 fix rather than + our own clearMark() (identical other than in name). + * patches/icedtea-bytebuffer-compact.patch: + Remove fixes to template files and addition of the + clearMark() method as these are fixed by S6593946. + Keep the mark = -1/discardMark changes as this is a + cleaner solution. + * patches/icedtea-version.patch: + Remove mjw's patch. Applied upstream as S6775152. + 2008-12-09 Mark Wielaard * Makefile.am: diff -r d9eec6614be5 -r e1279da5a00d HACKING --- a/HACKING Tue Dec 09 20:39:31 2008 +0000 +++ b/HACKING Sat Dec 20 01:40:44 2008 +0000 @@ -13,11 +13,12 @@ The fsg.sh script is also run to delete The fsg.sh script is also run to delete certain files with dubious licensing and/or only occuring in binary format. -The following patches are currently applied before the building of OpenJDK or OpenJDK6 by IcedTea: +The following patches are currently applied before the building of OpenJDK7 or OpenJDK6 by IcedTea: * icedtea-ant.patch: Remove use of $(ANT_HOME). * icedtea-uname.patch: Handle output of uname on arm and mips{,el}. -* icedtea-bytebuffer-compact.patch: Add clearMark() method to java.nio.Buffer (PR60). +* icedtea-bytebuffer-compact.patch: Add clearMark() method to java.nio.Buffer (PR60/S6593946). + Partially fixed by addition of discardMark() in OpenJDK7. * icedtea-copy-plugs.patch: Add IcedTea's 'plugs' for Java WebStart support, add cast to getAnnotation and trapAuthenticationFailure variable to com.sun.jmx.snmp.SnmpPduTrap. * icedtea-core-build.patch: Add support for building IcedTea core VM. @@ -92,6 +93,7 @@ The following patches are only applied t * icedtea-6700047-loopopts.patch: Fix partial peeling issue, bug #6700047. * icedtea-6712835-ifnode.patch: Fix infinite loop in PhaseIterGVN::transform. * icedtea-timerqueue.patch: Fix setting of running variable (PR87/S6623943). +* icedtea-version.patch: Fix (langtools) ant build to honor fcs MILESTONE setting (S6778493). The following patches are only applied to OpenJDK in IcedTea: diff -r d9eec6614be5 -r e1279da5a00d Makefile.am --- a/Makefile.am Tue Dec 09 20:39:31 2008 +0000 +++ b/Makefile.am Sat Dec 20 01:40:44 2008 +0000 @@ -1,6 +1,6 @@ OPENJDK_DATE = 20_nov_2008 -OPENJDK_DATE = 20_nov_2008 -OPENJDK_MD5SUM = b55ade3ce62c4325d5128c7ce67873d7 -OPENJDK_VERSION = b40 +OPENJDK_DATE = 18_dec_2008 +OPENJDK_MD5SUM = 58eb1ce25381165b7b63e5df0a6b94d4 +OPENJDK_VERSION = b42 CACAO_VERSION = 0.99.3 CACAO_MD5SUM = 80de3ad344c1a20c086ec5f1390bd1b8 diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectByteBuffer.java --- a/generated/java/nio/DirectByteBuffer.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectByteBuffer.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectByteBuffer unsafe.copyMemory(ix(pos), ix(0), rem << 0); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectCharBufferS.java --- a/generated/java/nio/DirectCharBufferS.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectCharBufferS.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectCharBufferS unsafe.copyMemory(ix(pos), ix(0), rem << 1); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectCharBufferU.java --- a/generated/java/nio/DirectCharBufferU.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectCharBufferU.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectCharBufferU unsafe.copyMemory(ix(pos), ix(0), rem << 1); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectDoubleBufferS.java --- a/generated/java/nio/DirectDoubleBufferS.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectDoubleBufferS.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectDoubleBufferS unsafe.copyMemory(ix(pos), ix(0), rem << 3); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectDoubleBufferU.java --- a/generated/java/nio/DirectDoubleBufferU.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectDoubleBufferU.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectDoubleBufferU unsafe.copyMemory(ix(pos), ix(0), rem << 3); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectFloatBufferS.java --- a/generated/java/nio/DirectFloatBufferS.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectFloatBufferS.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectFloatBufferS unsafe.copyMemory(ix(pos), ix(0), rem << 2); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectFloatBufferU.java --- a/generated/java/nio/DirectFloatBufferU.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectFloatBufferU.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectFloatBufferU unsafe.copyMemory(ix(pos), ix(0), rem << 2); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectIntBufferS.java --- a/generated/java/nio/DirectIntBufferS.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectIntBufferS.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectIntBufferS unsafe.copyMemory(ix(pos), ix(0), rem << 2); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectIntBufferU.java --- a/generated/java/nio/DirectIntBufferU.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectIntBufferU.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectIntBufferU unsafe.copyMemory(ix(pos), ix(0), rem << 2); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectLongBufferS.java --- a/generated/java/nio/DirectLongBufferS.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectLongBufferS.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectLongBufferS unsafe.copyMemory(ix(pos), ix(0), rem << 3); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectLongBufferU.java --- a/generated/java/nio/DirectLongBufferU.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectLongBufferU.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectLongBufferU unsafe.copyMemory(ix(pos), ix(0), rem << 3); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectShortBufferS.java --- a/generated/java/nio/DirectShortBufferS.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectShortBufferS.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectShortBufferS unsafe.copyMemory(ix(pos), ix(0), rem << 1); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/DirectShortBufferU.java --- a/generated/java/nio/DirectShortBufferU.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/DirectShortBufferU.java Sat Dec 20 01:40:44 2008 +0000 @@ -365,7 +365,7 @@ class DirectShortBufferU unsafe.copyMemory(ix(pos), ix(0), rem << 1); position(rem); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/HeapByteBuffer.java --- a/generated/java/nio/HeapByteBuffer.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/HeapByteBuffer.java Sat Dec 20 01:40:44 2008 +0000 @@ -222,7 +222,7 @@ class HeapByteBuffer System.arraycopy(hb, ix(position()), hb, ix(0), remaining()); position(remaining()); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/HeapCharBuffer.java --- a/generated/java/nio/HeapCharBuffer.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/HeapCharBuffer.java Sat Dec 20 01:40:44 2008 +0000 @@ -222,7 +222,7 @@ class HeapCharBuffer System.arraycopy(hb, ix(position()), hb, ix(0), remaining()); position(remaining()); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/HeapDoubleBuffer.java --- a/generated/java/nio/HeapDoubleBuffer.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/HeapDoubleBuffer.java Sat Dec 20 01:40:44 2008 +0000 @@ -222,7 +222,7 @@ class HeapDoubleBuffer System.arraycopy(hb, ix(position()), hb, ix(0), remaining()); position(remaining()); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/HeapFloatBuffer.java --- a/generated/java/nio/HeapFloatBuffer.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/HeapFloatBuffer.java Sat Dec 20 01:40:44 2008 +0000 @@ -222,7 +222,7 @@ class HeapFloatBuffer System.arraycopy(hb, ix(position()), hb, ix(0), remaining()); position(remaining()); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/HeapIntBuffer.java --- a/generated/java/nio/HeapIntBuffer.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/HeapIntBuffer.java Sat Dec 20 01:40:44 2008 +0000 @@ -222,7 +222,7 @@ class HeapIntBuffer System.arraycopy(hb, ix(position()), hb, ix(0), remaining()); position(remaining()); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/HeapLongBuffer.java --- a/generated/java/nio/HeapLongBuffer.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/HeapLongBuffer.java Sat Dec 20 01:40:44 2008 +0000 @@ -222,7 +222,7 @@ class HeapLongBuffer System.arraycopy(hb, ix(position()), hb, ix(0), remaining()); position(remaining()); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d generated/java/nio/HeapShortBuffer.java --- a/generated/java/nio/HeapShortBuffer.java Tue Dec 09 20:39:31 2008 +0000 +++ b/generated/java/nio/HeapShortBuffer.java Sat Dec 20 01:40:44 2008 +0000 @@ -222,7 +222,7 @@ class HeapShortBuffer System.arraycopy(hb, ix(position()), hb, ix(0), remaining()); position(remaining()); limit(capacity()); - clearMark(); + discardMark(); return this; diff -r d9eec6614be5 -r e1279da5a00d patches/icedtea-bytebuffer-compact.patch --- a/patches/icedtea-bytebuffer-compact.patch Tue Dec 09 20:39:31 2008 +0000 +++ b/patches/icedtea-bytebuffer-compact.patch Sat Dec 20 01:40:44 2008 +0000 @@ -6,7 +6,7 @@ position = newPosition; - if (mark > position) mark = -1; - return this; -+ if (mark > position) clearMark(); ++ if (mark > position) discardMark(); + return this; } @@ -17,7 +17,7 @@ if (position > limit) position = limit; - if (mark > limit) mark = -1; - return this; -+ if (mark > position) clearMark(); ++ if (mark > position) discardMark(); + return this; } @@ -28,7 +28,7 @@ limit = capacity; - mark = -1; - return this; -+ clearMark(); ++ discardMark(); + return this; } @@ -38,7 +38,7 @@ limit = position; position = 0; - mark = -1; -+ clearMark(); ++ discardMark(); return this; } @@ -47,36 +47,8 @@ public final Buffer rewind() { position = 0; - mark = -1; -+ clearMark(); ++ discardMark(); return this; } -@@ -547,4 +547,8 @@ - throw new IndexOutOfBoundsException(); - } - -+ final void clearMark() { // package-private -+ mark = -1; -+ } -+ - } ---- ../openjdkb23/openjdk.old/jdk/src/share/classes/java/nio/Direct-X-Buffer.java 2007-10-30 04:36:08.000000000 -0400 -+++ openjdk/jdk/src/share/classes/java/nio/Direct-X-Buffer.java 2007-11-13 13:34:14.000000000 -0500 -@@ -354,6 +354,7 @@ - unsafe.copyMemory(ix(pos), ix(0), rem << $LG_BYTES_PER_VALUE$); - position(rem); - limit(capacity()); -+ clearMark(); - return this; - #else[rw] - throw new ReadOnlyBufferException(); ---- ../openjdkb23/openjdk.old/jdk/src/share/classes/java/nio/Heap-X-Buffer.java 2007-10-30 04:36:08.000000000 -0400 -+++ openjdk/jdk/src/share/classes/java/nio/Heap-X-Buffer.java 2007-11-13 13:34:27.000000000 -0500 -@@ -222,6 +222,7 @@ - System.arraycopy(hb, ix(position()), hb, ix(0), remaining()); - position(remaining()); - limit(capacity()); -+ clearMark(); - return this; - #else[rw] - throw new ReadOnlyBufferException(); + diff -r d9eec6614be5 -r e1279da5a00d patches/icedtea-version.patch --- a/patches/icedtea-version.patch Tue Dec 09 20:39:31 2008 +0000 +++ b/patches/icedtea-version.patch Sat Dec 20 01:40:44 2008 +0000 @@ -12,18 +12,4 @@ diff -Nru openjdk.orig/jdk/make/common/s PRODUCT_SUFFIX = Runtime Environment JDK_RC_PLATFORM_NAME = Platform COMPANY_NAME = N/A -diff -Nru openjdk.orig/langtools/make/Makefile openjdk/langtools/make/Makefile ---- openjdk.orig/langtools/make/Makefile 2008-11-19 12:16:39.000000000 +0000 -+++ openjdk/langtools/make/Makefile 2008-11-19 12:17:38.000000000 +0000 -@@ -82,7 +82,11 @@ - endif - - ifdef MILESTONE -+ifneq ($(MILESTONE),fcs) - ANT_OPTIONS += -Dmilestone=$(MILESTONE) -+else -+ ANT_OPTIONS += -Drelease=$(JDK_VERSION) -+endif - endif - - ifdef BUILD_NUMBER + From bugzilla-daemon at icedtea.classpath.org Fri Dec 19 17:56:23 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 20 Dec 2008 01:56:23 +0000 Subject: [Bug 154] Hidden GCJ HOME dependency misleading Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=154 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #1 from gnu_andrew at member.fsf.org 2008-12-20 01:56 ------- With http://icedtea.classpath.org/hg/icedtea6/rev/90358389b2d4 we now check this in configure correctly. The default check searches not just the Fedora path /usr/lib/jvm/java-gcj but also /usr/lib/jvm/gcj-jdk (Gentoo) and /usr/lib/jvm/cacao. -- 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 19 17:56:47 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 20 Dec 2008 01:56:47 +0000 Subject: [Bug 154] Hidden GCJ HOME dependency misleading Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=154 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Status|ASSIGNED |NEW -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Dec 19 17:56:59 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 20 Dec 2008 01:56:59 +0000 Subject: [Bug 163] ./configure under OpenSolaris Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=163 Bug 163 depends on bug 154, which changed state. Bug 154 Summary: Hidden GCJ HOME dependency misleading http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=154 What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Status|ASSIGNED |NEW Status|NEW |RESOLVED Resolution| |FIXED -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Fri Dec 19 18:02:23 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 20 Dec 2008 02:02:23 +0000 Subject: [Bug 153] Class library tests should be less specific and ensure correctness Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=153 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #1 from gnu_andrew at member.fsf.org 2008-12-20 02:02 ------- This option has been dropped -- it can be derived from --with-gcj-home. -- 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 19 18:02:36 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 20 Dec 2008 02:02:36 +0000 Subject: [Bug 153] Class library tests should be less specific and ensure correctness Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=153 gnu_andrew at member.fsf.org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|gnu_andrew at member.fsf.org |.org | Status|ASSIGNED |NEW -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Sat Dec 20 01:08:34 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 20 Dec 2008 09:08:34 +0000 Subject: [Bug 269] icedtea crashed in libgtk Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=269 mark at klomp.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #4 from mark at klomp.org 2008-12-20 09:08 ------- Thanks for testing against a newer release. -- 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 Sat Dec 20 07:40:04 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 20 Dec 2008 15:40:04 +0000 Subject: [Bug 274] New: NRC Java Web Clock doesn't function (openjdk/icedtea 6b14 and icedtea plugin) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=274 Summary: NRC Java Web Clock doesn't function (openjdk/icedtea 6b14 and icedtea plugin) Product: IcedTea Version: unspecified Platform: PC URL: http://time5.nrc.ca/webclock_e.shtml OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: IcedTea AssignedTo: unassigned at icedtea.classpath.org ReportedBy: christopher.martin at utoronto.ca Click on either the map for Standard Time or Daylight Saving Time at http://time5.nrc.ca/webclock_e.shtml, and you'll notice that instead of getting the current times updated continuously for each timezone, you get a lot of zeroes. Reproducible with Debian experimental's openjdk-6-jre and icedtea6-plugin packages, b14 ("IcedTea build infrastructure (20081217)"). On previous versions of IcedTea it hasn't worked either, so this isn't a regression. It never worked with gcjwebplugin instead of the icedtea plugin. It does work with Sun's Java6 on the same machine, same browser (Iceweasel/Firefox 3.0.4). -- 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 matthew.flaschen at gatech.edu Sat Dec 20 15:33:35 2008 From: matthew.flaschen at gatech.edu (Matthew Flaschen) Date: Sat, 20 Dec 2008 18:33:35 -0500 Subject: changeset in /hg/icedtea: Bump to b42. In-Reply-To: References: Message-ID: <494D80CF.90601@gatech.edu> Andrew John Hughes wrote:> The following patches are only applied to OpenJDK in IcedTea: > > diff -r d9eec6614be5 -r e1279da5a00d Makefile.am > --- a/Makefile.am Tue Dec 09 20:39:31 2008 +0000 > +++ b/Makefile.am Sat Dec 20 01:40:44 2008 +0000 > @@ -1,6 +1,6 @@ OPENJDK_DATE = 20_nov_2008 > -OPENJDK_DATE = 20_nov_2008 > -OPENJDK_MD5SUM = b55ade3ce62c4325d5128c7ce67873d7 > -OPENJDK_VERSION = b40 > +OPENJDK_DATE = 18_dec_2008 > +OPENJDK_MD5SUM = 58eb1ce25381165b7b63e5df0a6b94d4 > +OPENJDK_VERSION = b42 Note sure if this a typo, or they regenerated the zip, but http://www.java.net/download/openjdk/jdk7/promoted/b42/openjdk-7-ea-src-b42-19_dec_2008.zip is a 404. The correct date is the 19th. Patch is attached. Matt Flaschen -------------- next part -------------- A non-text attachment was scrubbed... Name: date.patch Type: text/x-diff Size: 306 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081220/13c5c6b8/date.patch From gnu_andrew at member.fsf.org Sat Dec 20 21:05:45 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 21 Dec 2008 05:05:45 +0000 Subject: changeset in /hg/icedtea: Fix b42 tarball. Message-ID: changeset b5fe6c65b574 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=b5fe6c65b574 description: Fix b42 tarball. 2008-12-22 Andrew John Hughes * Makefile.am: Fix b42 tarball name and checksum due to reroll. diffstat: 2 files changed, 7 insertions(+), 2 deletions(-) ChangeLog | 5 +++++ Makefile.am | 4 ++-- diffs (23 lines): diff -r e1279da5a00d -r b5fe6c65b574 ChangeLog --- a/ChangeLog Sat Dec 20 01:40:44 2008 +0000 +++ b/ChangeLog Sun Dec 21 05:05:35 2008 +0000 @@ -1,3 +1,8 @@ 2008-12-20 Andrew John Hughes + + * Makefile.am: Fix b42 tarball name and checksum + due to reroll. + 2008-12-20 Andrew John Hughes * HACKING: Updated. diff -r e1279da5a00d -r b5fe6c65b574 Makefile.am --- a/Makefile.am Sat Dec 20 01:40:44 2008 +0000 +++ b/Makefile.am Sun Dec 21 05:05:35 2008 +0000 @@ -1,5 +1,5 @@ OPENJDK_DATE = 18_dec_2008 -OPENJDK_DATE = 18_dec_2008 -OPENJDK_MD5SUM = 58eb1ce25381165b7b63e5df0a6b94d4 +OPENJDK_DATE = 19_dec_2008 +OPENJDK_MD5SUM = 89eb28aaa3e89e9350f15e5e4b718a40 OPENJDK_VERSION = b42 CACAO_VERSION = 0.99.3 From gnu_andrew at member.fsf.org Sat Dec 20 21:06:22 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 21 Dec 2008 05:06:22 +0000 Subject: changeset in /hg/icedtea: Bump to b42. In-Reply-To: <494D80CF.90601@gatech.edu> References: <494D80CF.90601@gatech.edu> Message-ID: <17c6771e0812202106t5b694935m5e587aeb3c918afe@mail.gmail.com> 2008/12/20 Matthew Flaschen : > Andrew John Hughes wrote:> The following patches are only applied to > OpenJDK in IcedTea: >> >> diff -r d9eec6614be5 -r e1279da5a00d Makefile.am >> --- a/Makefile.am Tue Dec 09 20:39:31 2008 +0000 >> +++ b/Makefile.am Sat Dec 20 01:40:44 2008 +0000 >> @@ -1,6 +1,6 @@ OPENJDK_DATE = 20_nov_2008 >> -OPENJDK_DATE = 20_nov_2008 >> -OPENJDK_MD5SUM = b55ade3ce62c4325d5128c7ce67873d7 >> -OPENJDK_VERSION = b40 >> +OPENJDK_DATE = 18_dec_2008 >> +OPENJDK_MD5SUM = 58eb1ce25381165b7b63e5df0a6b94d4 >> +OPENJDK_VERSION = b42 > > Note sure if this a typo, or they regenerated the zip, but > http://www.java.net/download/openjdk/jdk7/promoted/b42/openjdk-7-ea-src-b42-19_dec_2008.zip > is a 404. The correct date is the 19th. Patch is attached. > > Matt Flaschen > Yes, looks like they regenerated the source zip even though they said they weren't going to...sigh... -- 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 Sun Dec 21 03:24:45 2008 From: mark at klomp.org (Mark Wielaard) Date: Sun, 21 Dec 2008 12:24:45 +0100 Subject: lcms dependency In-Reply-To: <17c6771e0812191439p4f866387uf55582800bf2bd29@mail.gmail.com> References: <494A58C0.3000802@gmx.net> <494A600B.5030606@gmx.net> <1229612269.3441.41.camel@dijkstra.wildebeest.org> <17c6771e0812191111x2533c26dn2d782ebfcc4b727@mail.gmail.com> <17c6771e0812191439p4f866387uf55582800bf2bd29@mail.gmail.com> Message-ID: <1229858685.3443.12.camel@dijkstra.wildebeest.org> Hi Andrew (added CC Keith since he wrote the original patch), On Fri, 2008-12-19 at 22:39 +0000, Andrew John Hughes wrote: > 2008/12/19 Andrew John Hughes : > > 2008/12/18 Mark Wielaard : > >> On Thu, 2008-12-18 at 15:36 +0100, Robert Schuster wrote: > >>> mjw answered on this at #classpath and was under the impression that the > >>> system provided lcms will be used. However it turned out that this is > >>> not true - the openjdk sources contains lcms.h and the implementation > >>> and those are used. > >>> > >>> This is especially interesting because there is a known security issue > >>> with lcms: > >>> http://www.debian.org/security/2008/dsa-1684 > >> > >> Just to followup on this particular security issue. It seems we already > >> picked up the fixes for the issue mentioned in CVE-2008-5316, but we are > >> missing the fixes mention in CVE-2008-5317 in the sources we ship under > >> jdk/src/share/native/sun/java2d/cmm/lcms. > > > > We are building ./control/build/linux-amd64/lib/amd64/liblcms.so > > This is why we aren't building against the system LCMS: > > http://mail.openjdk.java.net/pipermail/2d-dev/2008-April/000228.html > > The system LCMS does not contain _cmsModifyTagData and given the patch > alters other parts of LCMS, I don't see how we can. This needs to go > upstream. Urgh. Yeah. I can see why it might be a non-trivial patch to push upstream seeing that it adds a class of modifications that were not earlier supported. But having to ship outdated lcms sources (that currently are missing some security fixes) seems pretty bad :{ Keith, did you ever try to push this upstream? Thanks, Mark From doko at ubuntu.com Sun Dec 21 06:54:24 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Sun, 21 Dec 2008 14:54:24 +0000 Subject: changeset in /hg/icedtea6: 2008-12-21 Matthias Klose changeset c10244d778ac in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c10244d778ac description: 2008-12-21 Matthias Klose * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Prepend directories to PATH, don't replace PATH. diffstat: 2 files changed, 7 insertions(+), 2 deletions(-) ChangeLog | 5 +++++ Makefile.am | 4 ++-- diffs (33 lines): diff -r a530e095f65b -r c10244d778ac ChangeLog --- a/ChangeLog Fri Dec 19 09:39:44 2008 -0500 +++ b/ChangeLog Sun Dec 21 15:53:12 2008 +0100 @@ -1,3 +1,8 @@ 2008-12-19 Omair Majid + + * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Prepend directories + to PATH, don't replace PATH. + 2008-12-19 Omair Majid * patches/hotspot/14.0b08/icedtea-text-relocations.patch: Build libjvm.so diff -r a530e095f65b -r c10244d778ac Makefile.am --- a/Makefile.am Fri Dec 19 09:39:44 2008 -0500 +++ b/Makefile.am Sun Dec 21 15:53:12 2008 +0100 @@ -150,7 +150,7 @@ ICEDTEA_ENV = \ "JRE_RELEASE_VERSION=1.6.0_$(COMBINED_VERSION)" \ "MILESTONE=fcs" \ "LANG=C" \ - "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin" \ + "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:$$PATH" \ "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ "ALT_BINARY_PLUGS_PATH=$(abs_top_builddir)/bootstrap/jdk1.7.0" \ "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ @@ -220,7 +220,7 @@ ICEDTEA_ENV_ECJ = \ "JRE_RELEASE_VERSION=1.6.0_$(COMBINED_VERSION)" \ "MILESTONE=fcs" \ "LANG=C" \ - "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin" \ + "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:$$PATH" \ "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ "ALT_BINARY_PLUGS_PATH=$(abs_top_builddir)/bootstrap/jdk1.7.0" \ "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ From mark at klomp.org Sun Dec 21 07:26:43 2008 From: mark at klomp.org (Mark Wielaard) Date: Sun, 21 Dec 2008 16:26:43 +0100 Subject: changeset in /hg/icedtea6: 2008-12-21 Matthias Klose References: Message-ID: <1229873203.3443.259.camel@dijkstra.wildebeest.org> Hi Matthias, On Sun, 2008-12-21 at 14:54 +0000, doko at ubuntu.com wrote: > +2008-12-21 Matthias Klose > + > + * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Prepend directories > + to PATH, don't replace PATH. > + Good catch. > diff -r a530e095f65b -r c10244d778ac Makefile.am > --- a/Makefile.am Fri Dec 19 09:39:44 2008 -0500 > +++ b/Makefile.am Sun Dec 21 15:53:12 2008 +0100 > @@ -150,7 +150,7 @@ ICEDTEA_ENV = \ > "JRE_RELEASE_VERSION=1.6.0_$(COMBINED_VERSION)" \ > "MILESTONE=fcs" \ > "LANG=C" \ > - "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin" \ > + "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:$$PATH" \ > "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ > "ALT_BINARY_PLUGS_PATH=$(abs_top_builddir)/bootstrap/jdk1.7.0" \ > "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ In this case, shouldn't we also remove the /usr/bin:/bin:/usr/sbin:/sbin prepending? It seems that either those are already on the users PATH, or they overrode their PATH explicitly to include some binaries that would override some of the standard binaries. Cheers, Mark From linuxhippy at gmail.com Sun Dec 21 12:18:55 2008 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Sun, 21 Dec 2008 21:18:55 +0100 Subject: Compiling libjvm.so as PIC In-Reply-To: <494A6B91.602@redhat.com> References: <49480513.8060309@redhat.com> <4948A579.30900@ubuntu.com> <494A6B91.602@redhat.com> Message-ID: <194f62550812211218j288163cg10b898b59e024a8a@mail.gmail.com> Hi, > I just finished running the tests with SELinux disabled. The performance > difference between a PIC jvm and a non-PIC jvm was about 0.9%, with the PIC > jvm being actually faster. So any performance loss is negligible. Was this on x86 or x86_64? PIC still has non-negligible overhead on x86. As far as I know only the Garbage-Collectors are build as non-pic, everything else (where runtime performance doesn't matter that much) is built PIC. Bug 6454213 talks about this. Which type of improvements have been made to GCC-4.3 that do change pic-code runtime performance that significantly? I thought the overhead introduced by PIC code for 32-bit x86 code is more or less caused by the lack of pc-relative adressing, which was fixed for 64-bit, so the results 6454213 talks about are quite what I would expect. - Clemens From aph at redhat.com Sun Dec 21 12:50:54 2008 From: aph at redhat.com (Andrew Haley) Date: Sun, 21 Dec 2008 20:50:54 +0000 Subject: Compiling libjvm.so as PIC In-Reply-To: <194f62550812211218j288163cg10b898b59e024a8a@mail.gmail.com> References: <49480513.8060309@redhat.com> <4948A579.30900@ubuntu.com> <494A6B91.602@redhat.com> <194f62550812211218j288163cg10b898b59e024a8a@mail.gmail.com> Message-ID: <494EAC2E.4050201@redhat.com> Clemens Eisserer wrote: >> I just finished running the tests with SELinux disabled. The performance >> difference between a PIC jvm and a non-PIC jvm was about 0.9%, with the PIC >> jvm being actually faster. So any performance loss is negligible. > Was this on x86 or x86_64? PIC still has non-negligible overhead on x86. 'twas x86. As far as I know it's x86 that allows non-PIC shared libraries. > As far as I know only the Garbage-Collectors are build as non-pic, > everything else (where runtime performance doesn't matter that much) > is built PIC. Bug 6454213 talks about this. Right. > Which type of improvements have been made to GCC-4.3 that do change > pic-code runtime performance that significantly? > I thought the overhead introduced by PIC code for 32-bit x86 code is > more or less caused by the lack of pc-relative adressing, which was > fixed for 64-bit, so the results 6454213 talks about are quite what I > would expect. Sure, but we did very extensive performance measurements with SPEC jvm 2008, which has a fairly wide range of real-life applications, and the difference was so slight as to be down in the noise. Andrew. From doko at ubuntu.com Sun Dec 21 22:57:44 2008 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 22 Dec 2008 07:57:44 +0100 Subject: changeset in /hg/icedtea6: 2008-12-21 Matthias Klose References: <1229873203.3443.259.camel@dijkstra.wildebeest.org> Message-ID: <494F3A68.5070900@ubuntu.com> Mark Wielaard schrieb: > Hi Matthias, > > On Sun, 2008-12-21 at 14:54 +0000, doko at ubuntu.com wrote: >> +2008-12-21 Matthias Klose >> + >> + * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Prepend directories >> + to PATH, don't replace PATH. >> + > > Good catch. > >> diff -r a530e095f65b -r c10244d778ac Makefile.am >> --- a/Makefile.am Fri Dec 19 09:39:44 2008 -0500 >> +++ b/Makefile.am Sun Dec 21 15:53:12 2008 +0100 >> @@ -150,7 +150,7 @@ ICEDTEA_ENV = \ >> "JRE_RELEASE_VERSION=1.6.0_$(COMBINED_VERSION)" \ >> "MILESTONE=fcs" \ >> "LANG=C" \ >> - "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin" \ >> + "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:$$PATH" \ >> "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ >> "ALT_BINARY_PLUGS_PATH=$(abs_top_builddir)/bootstrap/jdk1.7.0" \ >> "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ > > In this case, shouldn't we also remove the /usr/bin:/bin:/usr/sbin:/sbin > prepending? It seems that either those are already on the users PATH, or > they overrode their PATH explicitly to include some binaries that would > override some of the standard binaries. sure, we can do this. otoh it doesn't help much to override the default tools. the build system uses absolute paths for many binaries in several places. you can change the prefix for these commands, but can't unset the prefix to use the default location (this is COMPILER_PATH, DEVTOOLS_PATH, UNIXCCS_PATH, USRBIN_PATH). So although you might want to use the first tool found in PATH, the OpenJDK build system overwrites your settings. Maybe this is necessary on Solaris where you have BSD and sysv binaries in different places and only find a K&R C Compiler in the standard PATH, but this shouldn't be necessary on Linux. Matthias From gbenson at redhat.com Mon Dec 22 06:47:03 2008 From: gbenson at redhat.com (Gary Benson) Date: Mon, 22 Dec 2008 14:47:03 +0000 Subject: changeset in /hg/icedtea6: 2008-12-22 Gary Benson changeset ce9956fe8908 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=ce9956fe8908 description: 2008-12-22 Gary Benson * patches/icedtea-io_util-overflow.patch: New file. * Makefile.am (ICEDTEA_PATCHES): Apply the above. * HACKING: Document the above. diffstat: 4 files changed, 47 insertions(+), 2 deletions(-) ChangeLog | 6 +++++ HACKING | 3 +- Makefile.am | 3 +- patches/icedtea-io_util-overflow.patch | 37 ++++++++++++++++++++++++++++++++ diffs (87 lines): diff -r c10244d778ac -r ce9956fe8908 ChangeLog --- a/ChangeLog Sun Dec 21 15:53:12 2008 +0100 +++ b/ChangeLog Mon Dec 22 09:47:50 2008 -0500 @@ -1,3 +1,9 @@ 2008-12-21 Matthias Klose + + * patches/icedtea-io_util-overflow.patch: New file. + * Makefile.am (ICEDTEA_PATCHES): Apply the above. + * HACKING: Document the above. + 2008-12-21 Matthias Klose * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Prepend directories diff -r c10244d778ac -r ce9956fe8908 HACKING --- a/HACKING Sun Dec 21 15:53:12 2008 +0100 +++ b/HACKING Mon Dec 22 09:47:50 2008 -0500 @@ -67,7 +67,7 @@ The following patches are currently appl divide by zero on tiny paths. * 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-f2i-overflow.patch: Replaces the code used by [fd]2[il] bytecodes to correctly handle overflows. (PR244, S6779290) * 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 #6761856, swing TextLayout.getBounds() returns shifted bounds. @@ -77,6 +77,7 @@ The following patches are currently appl * 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. +* patches/icedtea-io_util-overflow.patch: Replace some code to correctly handle overflows. The following patches are only applied to OpenJDK6 in IcedTea6: diff -r c10244d778ac -r ce9956fe8908 Makefile.am --- a/Makefile.am Sun Dec 21 15:53:12 2008 +0100 +++ b/Makefile.am Mon Dec 22 09:47:50 2008 -0500 @@ -642,7 +642,8 @@ 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-io_util-overflow.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r c10244d778ac -r ce9956fe8908 patches/icedtea-io_util-overflow.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-io_util-overflow.patch Mon Dec 22 09:47:50 2008 -0500 @@ -0,0 +1,37 @@ +diff -r 201a75db9b35 openjdk/jdk/src/share/native/java/io/io_util.c +--- openjdk/jdk/src/share/native/java/io/io_util.c Mon Dec 22 12:32:44 2008 +0000 ++++ openjdk/jdk/src/share/native/java/io/io_util.c Mon Dec 22 12:48:49 2008 +0000 +@@ -25,6 +25,7 @@ + + #include + #include ++#include + + #include "jni.h" + #include "jni_util.h" +@@ -73,9 +74,10 @@ + return -1; + } + datalen = (*env)->GetArrayLength(env, bytes); ++ assert(datalen >= 0); + +- if ((off < 0) || (off > datalen) || +- (len < 0) || ((off + len) > datalen) || ((off + len) < 0)) { ++ if ((off < 0) || (len < 0) || ++ (((uint32_t) off + (uint32_t) len) > (uint32_t) datalen)) { + JNU_ThrowByName(env, "java/lang/IndexOutOfBoundsException", 0); + return -1; + } +@@ -146,9 +148,10 @@ + return; + } + datalen = (*env)->GetArrayLength(env, bytes); ++ assert(datalen >= 0); + +- if ((off < 0) || (off > datalen) || +- (len < 0) || ((off + len) > datalen) || ((off + len) < 0)) { ++ if ((off < 0) || (len < 0) || ++ (((uint32_t) off + (uint32_t) len) > (uint32_t) datalen)) { + JNU_ThrowByName(env, "java/lang/IndexOutOfBoundsException", 0); + return; + } From gnu_andrew at member.fsf.org Mon Dec 22 13:06:31 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 22 Dec 2008 21:06:31 +0000 Subject: changeset in /hg/icedtea6: 2008-12-21 Matthias Klose References: <1229873203.3443.259.camel@dijkstra.wildebeest.org> <494F3A68.5070900@ubuntu.com> Message-ID: <17c6771e0812221306h6982e1eyf3d2272283060c17@mail.gmail.com> 2008/12/22 Matthias Klose : > Mark Wielaard schrieb: >> Hi Matthias, >> >> On Sun, 2008-12-21 at 14:54 +0000, doko at ubuntu.com wrote: >>> +2008-12-21 Matthias Klose >>> + >>> + * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Prepend directories >>> + to PATH, don't replace PATH. >>> + >> >> Good catch. >> >>> diff -r a530e095f65b -r c10244d778ac Makefile.am >>> --- a/Makefile.am Fri Dec 19 09:39:44 2008 -0500 >>> +++ b/Makefile.am Sun Dec 21 15:53:12 2008 +0100 >>> @@ -150,7 +150,7 @@ ICEDTEA_ENV = \ >>> "JRE_RELEASE_VERSION=1.6.0_$(COMBINED_VERSION)" \ >>> "MILESTONE=fcs" \ >>> "LANG=C" \ >>> - "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin" \ >>> + "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:$$PATH" \ >>> "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ >>> "ALT_BINARY_PLUGS_PATH=$(abs_top_builddir)/bootstrap/jdk1.7.0" \ >>> "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ >> >> In this case, shouldn't we also remove the /usr/bin:/bin:/usr/sbin:/sbin >> prepending? It seems that either those are already on the users PATH, or >> they overrode their PATH explicitly to include some binaries that would >> override some of the standard binaries. > > sure, we can do this. otoh it doesn't help much to override the default tools. > the build system uses absolute paths for many binaries in several places. you > can change the prefix for these commands, but can't unset the prefix to use the > default location (this is COMPILER_PATH, DEVTOOLS_PATH, UNIXCCS_PATH, > USRBIN_PATH). So although you might want to use the first tool found in PATH, > the OpenJDK build system overwrites your settings. Maybe this is necessary on > Solaris where you have BSD and sysv binaries in different places and only find a > K&R C Compiler in the standard PATH, but this shouldn't be necessary on Linux. > > Matthias > > What bug does this patch fix? -- 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 Mon Dec 22 15:29:06 2008 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 23 Dec 2008 00:29:06 +0100 Subject: changeset in /hg/icedtea6: 2008-12-21 Matthias Klose References: <1229873203.3443.259.camel@dijkstra.wildebeest.org> <494F3A68.5070900@ubuntu.com> <17c6771e0812221306h6982e1eyf3d2272283060c17@mail.gmail.com> Message-ID: <495022C2.3050304@ubuntu.com> Andrew John Hughes schrieb: > What bug does this patch fix? building with a tool that is not in /bin, /usr/bin, /sbin, /usr/sbin. From doko at ubuntu.com Tue Dec 23 00:25:04 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Tue, 23 Dec 2008 08:25:04 +0000 Subject: changeset in /hg/icedtea6: 2008-12-23 Matthias Klose changeset be0f5e6d2733 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=be0f5e6d2733 description: 2008-12-23 Matthias Klose * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Don't explicitely append standard directories to PATH. diffstat: 2 files changed, 7 insertions(+), 2 deletions(-) ChangeLog | 5 +++++ Makefile.am | 4 ++-- diffs (33 lines): diff -r ce9956fe8908 -r be0f5e6d2733 ChangeLog --- a/ChangeLog Mon Dec 22 09:47:50 2008 -0500 +++ b/ChangeLog Tue Dec 23 09:23:49 2008 +0100 @@ -1,3 +1,8 @@ 2008-12-22 Gary Benson + + * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Don't explicitely append + standard directories to PATH. + 2008-12-22 Gary Benson * patches/icedtea-io_util-overflow.patch: New file. diff -r ce9956fe8908 -r be0f5e6d2733 Makefile.am --- a/Makefile.am Mon Dec 22 09:47:50 2008 -0500 +++ b/Makefile.am Tue Dec 23 09:23:49 2008 +0100 @@ -150,7 +150,7 @@ ICEDTEA_ENV = \ "JRE_RELEASE_VERSION=1.6.0_$(COMBINED_VERSION)" \ "MILESTONE=fcs" \ "LANG=C" \ - "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:$$PATH" \ + "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:$$PATH" \ "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ "ALT_BINARY_PLUGS_PATH=$(abs_top_builddir)/bootstrap/jdk1.7.0" \ "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ @@ -220,7 +220,7 @@ ICEDTEA_ENV_ECJ = \ "JRE_RELEASE_VERSION=1.6.0_$(COMBINED_VERSION)" \ "MILESTONE=fcs" \ "LANG=C" \ - "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:$$PATH" \ + "PATH=$(abs_top_builddir)/bootstrap/jdk1.6.0/bin:$$PATH" \ "ALT_BOOTDIR=$(ICEDTEA_BOOT_DIR)" \ "ALT_BINARY_PLUGS_PATH=$(abs_top_builddir)/bootstrap/jdk1.7.0" \ "BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \ From gbenson at redhat.com Tue Dec 23 00:39:19 2008 From: gbenson at redhat.com (Gary Benson) Date: Tue, 23 Dec 2008 08:39:19 +0000 Subject: changeset in /hg/icedtea6: 2008-12-23 Gary Benson changeset f8a822957940 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f8a822957940 description: 2008-12-23 Gary Benson * HACKING: Added bug id for my last patch. diffstat: 2 files changed, 5 insertions(+), 1 deletion(-) ChangeLog | 4 ++++ HACKING | 2 +- diffs (23 lines): diff -r be0f5e6d2733 -r f8a822957940 ChangeLog --- a/ChangeLog Tue Dec 23 09:23:49 2008 +0100 +++ b/ChangeLog Tue Dec 23 08:39:12 2008 +0000 @@ -1,3 +1,7 @@ 2008-12-23 Matthias Klose + + * HACKING: Added bug id for my last patch. + 2008-12-23 Matthias Klose * Makefile.am (ICEDTEA_ENV, ICEDTEA_ENV_GCJ): Don't explicitely append diff -r be0f5e6d2733 -r f8a822957940 HACKING --- a/HACKING Tue Dec 23 09:23:49 2008 +0100 +++ b/HACKING Tue Dec 23 08:39:12 2008 +0000 @@ -77,7 +77,7 @@ The following patches are currently appl * 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. -* patches/icedtea-io_util-overflow.patch: Replace some code to correctly handle overflows. +* patches/icedtea-io_util-overflow.patch: Replace some code to correctly handle overflows. (S6788196) The following patches are only applied to OpenJDK6 in IcedTea6: From doko at ubuntu.com Tue Dec 23 01:32:18 2008 From: doko at ubuntu.com (Matthias Klose) Date: Tue, 23 Dec 2008 10:32:18 +0100 Subject: HotSpot Patching post-b14 In-Reply-To: <17c6771e0812170823o46a87f8dw75f578d01cb6c997@mail.gmail.com> References: <17c6771e0812161144t745b88b1h7b51a4366708a12a@mail.gmail.com> <4948A635.5080906@ubuntu.com> <17c6771e0812170823o46a87f8dw75f578d01cb6c997@mail.gmail.com> Message-ID: <4950B022.8010107@ubuntu.com> Andrew John Hughes schrieb: > 2008/12/17 Matthias Klose : >> Andrew John Hughes schrieb: >> >>> So thoughts on dropping original? >> as said in the "Zero with OpenJDK6 HotSpot" thread: >> >> not yet please. I didn't have a chance to build and run the new hotspot on some >> architectures. please let's wait with this until after a 1.4 release. >> >> could we make a 1.4 release, and then drop it? >> >> Matthias >> > > Does original work at present? > > If it works, then waiting until 1.4 is fine. I just don't want this > to become a huge maintenance headache with no real gain. The current repo works fine with original. So maybe prepare a release before the next code drop arrives? Matthias From doko at ubuntu.com Tue Dec 23 02:07:57 2008 From: doko at ubuntu.com (doko at ubuntu.com) Date: Tue, 23 Dec 2008 10:07:57 +0000 Subject: changeset in /hg/icedtea6: 2008-12-23 Matthias Klose changeset d747fcb74f01 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d747fcb74f01 description: 2008-12-23 Matthias Klose * patches/hotspot/original/icedtea-version.patch: Update. diffstat: 2 files changed, 15 insertions(+), 1 deletion(-) ChangeLog | 4 ++++ patches/hotspot/original/icedtea-version.patch | 12 +++++++++++- diffs (30 lines): diff -r f8a822957940 -r d747fcb74f01 ChangeLog --- a/ChangeLog Tue Dec 23 08:39:12 2008 +0000 +++ b/ChangeLog Tue Dec 23 11:06:37 2008 +0100 @@ -1,3 +1,7 @@ 2008-12-23 Gary Benson + + * patches/hotspot/original/icedtea-version.patch: Update. + 2008-12-23 Gary Benson * HACKING: Added bug id for my last patch. diff -r f8a822957940 -r d747fcb74f01 patches/hotspot/original/icedtea-version.patch --- a/patches/hotspot/original/icedtea-version.patch Tue Dec 23 08:39:12 2008 +0000 +++ b/patches/hotspot/original/icedtea-version.patch Tue Dec 23 11:06:37 2008 +0100 @@ -33,4 +33,14 @@ # CFLAGS_WARN holds compiler options to suppress/enable warnings. CFLAGS += $(CFLAGS_WARN/BYFILE) - +--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp~ 2008-11-25 10:12:12.000000000 +0100 ++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp 2008-12-23 09:38:06.000000000 +0100 +@@ -28,7 +28,7 @@ + #include "incls/_precompiled.incl" + #include "incls/_arguments.cpp.incl" + +-#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp" ++#define DEFAULT_VENDOR_URL_BUG "http://icedtea.classpath.org/bugzilla" + #define DEFAULT_JAVA_LAUNCHER "generic" + + char** Arguments::_jvm_flags_array = NULL; From mark at klomp.org Tue Dec 23 07:40:25 2008 From: mark at klomp.org (Mark Wielaard) Date: Tue, 23 Dec 2008 16:40:25 +0100 Subject: Repositories "reset" Message-ID: <1230046825.5572.53.camel@dijkstra.wildebeest.org> Hi, As an early Christmas present I thought it would be fun to delete all mercurial repos on the icedtea server. Yeah, oops... Thanks to the quick reactions of Mathias Klose and Andrew Hughes the main repos are already back up (fedora, icepick and brandweg are still waiting for recovery from the backup). Things should be back to normal, but if you see anything odd, or have any problems please let me know. Apologies for the inconvenience. Cheers, Mark From aph at redhat.com Wed Dec 24 05:10:29 2008 From: aph at redhat.com (Andrew Haley) Date: Wed, 24 Dec 2008 13:10:29 +0000 Subject: Fix Shark for new VM import Message-ID: <495234C5.7070707@redhat.com> The new VM has slightly different interfaces I've worked around here, and also I found a bug in ciTypeFlow::Block::pre_order_at(). It should be fixed, but I've worked around it just to get Shark working again. Andrew. 2008-12-24 Andrew Haley * ports/hotspot/src/share/vm/shark/sharkFunction.cpp (SharkFunction::initialize): Work around bug in ciTypeFlow::Block::pre_order_at(). * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (SharkCompiler::compile_method): Allow "*" as a wildcard. * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp (llvm::IRBuilder): type2aelembytes now a mamber function. * ports/hotspot/src/share/vm/shark/sharkBlock.hpp (class SharkBlock): is_private_copy renamed is_backedge_copy. * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::parse): force_bci if there's a trap. * ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp: Delete everything. diff -r d747fcb74f01 ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp Tue Dec 23 11:06:37 2008 +0100 +++ b/ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp Wed Dec 24 13:06:41 2008 +0000 @@ -26,25 +26,3 @@ #include "incls/_precompiled.incl" #include "incls/_disassembler_zero.cpp.incl" -#ifndef PRODUCT -void Disassembler::decode(CodeBlob *cb, outputStream *st) -{ - Unimplemented(); -} - -void Disassembler::decode(nmethod *nm, outputStream *st) -{ -#ifdef SHARK - assert(st == NULL, "it's all going to stderr anyway"); - ((SharkEntry *) nm->instructions_begin())->llvm_function()->dump(); -#else - Unimplemented(); -#endif // SHARK -} - -void Disassembler::decode(u_char *begin, u_char *end, outputStream *st) -{ - Unimplemented(); -} -#endif // PRODUCT - diff -r d747fcb74f01 ports/hotspot/src/share/vm/shark/sharkBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Tue Dec 23 11:06:37 2008 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Wed Dec 24 13:06:41 2008 +0000 @@ -105,6 +105,8 @@ builder()->SetInsertPoint(entry_block()); if (has_trap()) { + iter()->force_bci(start()); + current_state()->decache_for_trap(); builder()->CreateCall2( SharkRuntime::uncommon_trap(), diff -r d747fcb74f01 ports/hotspot/src/share/vm/shark/sharkBlock.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Tue Dec 23 11:06:37 2008 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Wed Dec 24 13:06:41 2008 +0000 @@ -78,7 +78,7 @@ } bool is_private_copy() const { - return ciblock()->is_private_copy(); + return ciblock()->is_backedge_copy(); } int max_locals() const { diff -r d747fcb74f01 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Tue Dec 23 11:06:37 2008 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Wed Dec 24 13:06:41 2008 +0000 @@ -104,7 +104,7 @@ return CreateArrayAddress( arrayoop, SharkType::to_arrayType(basic_type), - type2aelembytes[basic_type], + type2aelembytes(basic_type), base_offset, index, name); } diff -r d747fcb74f01 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Tue Dec 23 11:06:37 2008 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Wed Dec 24 13:06:41 2008 +0000 @@ -76,7 +76,8 @@ if (env->failing()) return; if (SharkPrintTypeflowOf != NULL) { - if (!strcmp(SharkPrintTypeflowOf, name)) + if (!strcmp(SharkPrintTypeflowOf, name) || + !strcmp(SharkPrintTypeflowOf, "*")) flow->print_on(tty); } diff -r d747fcb74f01 ports/hotspot/src/share/vm/shark/sharkFunction.cpp --- a/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Tue Dec 23 11:06:37 2008 +0100 +++ b/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Wed Dec 24 13:06:41 2008 +0000 @@ -42,8 +42,14 @@ set_block_insertion_point(NULL); _blocks = NEW_RESOURCE_ARRAY(SharkBlock*, flow()->block_count()); for (int i = 0; i < block_count(); i++) - _blocks[i] = new SharkBlock(this, flow()->pre_order_at(i)); - + { + ciTypeFlow::Block *b = flow()->pre_order_at(i); + // Work atound a bug in pre_order_at() that does not return the + // correct pre-ordering. If pre_order_at() were correct this + // line could simply be: + // _blocks[i] = new SharkBlock(this, b); + _blocks[b->pre_order()] = new SharkBlock(this, b); + } // Walk the tree from the start block to determine which // blocks are entered and which blocks require phis SharkBlock *start_block = block(0); From gbenson at redhat.com Wed Dec 24 05:25:06 2008 From: gbenson at redhat.com (Gary Benson) Date: Wed, 24 Dec 2008 13:25:06 +0000 Subject: changeset in /hg/icedtea6: 2008-12-24 Gary Benson changeset cf5fe433e739 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=cf5fe433e739 description: 2008-12-24 Gary Benson * patches/icedtea-cc-interp-jvmti.patch: New file. * patches/icedtea-cc-interp-no-fer.patch: Deleted file. * Makefile.am (ICEDTEA_PATCHES): Apply the above. * HACKING: Document the above. diffstat: 5 files changed, 38 insertions(+), 19 deletions(-) ChangeLog | 7 +++++++ HACKING | 5 +++-- Makefile.am | 4 ++-- patches/icedtea-cc-interp-jvmti.patch | 26 ++++++++++++++++++++++++++ patches/icedtea-cc-interp-no-fer.patch | 15 --------------- diffs (108 lines): diff -r d747fcb74f01 -r cf5fe433e739 ChangeLog --- a/ChangeLog Tue Dec 23 11:06:37 2008 +0100 +++ b/ChangeLog Wed Dec 24 08:25:40 2008 -0500 @@ -1,3 +1,10 @@ 2008-12-23 Matthias Klose + + * patches/icedtea-cc-interp-jvmti.patch: New file. + * patches/icedtea-cc-interp-no-fer.patch: Deleted file. + * Makefile.am (ICEDTEA_PATCHES): Apply the above. + * HACKING: Document the above. + 2008-12-23 Matthias Klose * patches/hotspot/original/icedtea-version.patch: Update. diff -r d747fcb74f01 -r cf5fe433e739 HACKING --- a/HACKING Tue Dec 23 11:06:37 2008 +0100 +++ b/HACKING Wed Dec 24 08:25:40 2008 -0500 @@ -68,7 +68,6 @@ The following patches are currently appl * 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, S6779290) -* 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 #6761856, swing TextLayout.getBounds() returns shifted bounds. * icedtea-display-mode-changer.patch: Add extra test class. @@ -77,7 +76,8 @@ The following patches are currently appl * 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. -* patches/icedtea-io_util-overflow.patch: Replace some code to correctly handle overflows. (S6788196) +* icedtea-io_util-overflow.patch: Replace some code to correctly handle overflows. (S6788196) +* icedtea-cc-interp-jvmti.patch: Disable some JVMTI capabilities which are unsupported or do not work with the C++ interpreter. The following patches are only applied to OpenJDK6 in IcedTea6: @@ -155,3 +155,4 @@ changes to the OpenJDK code base and/or * icedtea-xinerama.patch: Fix crash talking to second X screen (S6604044): Included upstream in OpenJDK6 b10 and OpenJDK7 b28. * icedtea-xslfix.patch: Fix malformed bytecodeInterpreterWithChecks XSL file (S6707485): Included upstream in OpenJDK7 b29/hs13. * openjdk-color.patch: Include Free java.awt.color and java.awt.image (S6662775): Included upstream in OpenJDK6 b06 and OpenJDK7 b28. +* icedtea-cc-interp-no-fer.patch: Replaced with icedtea-cc-interp-jvmti.patch, of which it is a subset. diff -r d747fcb74f01 -r cf5fe433e739 Makefile.am --- a/Makefile.am Tue Dec 23 11:06:37 2008 +0100 +++ b/Makefile.am Wed Dec 24 08:25:40 2008 -0500 @@ -637,13 +637,13 @@ ICEDTEA_PATCHES += \ patches/icedtea-alsa-default-device.patch \ patches/icedtea-linker-libs-order.patch \ patches/icedtea-f2i-overflow.patch \ - patches/icedtea-cc-interp-no-fer.patch \ patches/icedtea-6761856-freetypescaler.patch \ patches/icedtea-display-mode-changer.patch \ patches/icedtea-testenv.patch \ patches/icedtea-samejvm-safe.patch \ patches/icedtea-6728542-epoll.patch \ - patches/icedtea-io_util-overflow.patch + patches/icedtea-io_util-overflow.patch \ + patches/icedtea-cc-interp-jvmti.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ diff -r d747fcb74f01 -r cf5fe433e739 patches/icedtea-cc-interp-jvmti.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-cc-interp-jvmti.patch Wed Dec 24 08:25:40 2008 -0500 @@ -0,0 +1,26 @@ +--- openjdk/hotspot/src/share/vm/prims/jvmtiManageCapabilities.cpp 2008-12-24 12:01:18.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiManageCapabilities.cpp 2008-12-24 12:00:29.000000000 +0000 +@@ -84,7 +84,11 @@ + + memset(&jc, 0, sizeof(jc)); + jc.can_get_bytecodes = 1; ++#ifdef CC_INTERP ++ jc.can_signal_thread = 0; ++#else + jc.can_signal_thread = 1; ++#endif // CC_INTERP + jc.can_get_source_file_name = 1; + jc.can_get_line_numbers = 1; + jc.can_get_synthetic_attribute = 1; +@@ -116,7 +120,11 @@ + + memset(&jc, 0, sizeof(jc)); + jc.can_pop_frame = 1; ++#ifdef CC_INTERP ++ jc.can_force_early_return = 0; ++#else + jc.can_force_early_return = 1; ++#endif // CC_INTERP + jc.can_get_source_debug_extension = 1; + jc.can_access_local_variables = 1; + jc.can_maintain_original_method_order = 1; diff -r d747fcb74f01 -r cf5fe433e739 patches/icedtea-cc-interp-no-fer.patch --- a/patches/icedtea-cc-interp-no-fer.patch Tue Dec 23 11:06:37 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -diff -r 11b9bdd4bbd3 openjdk/hotspot/src/share/vm/prims/jvmtiManageCapabilities.cpp ---- openjdk/hotspot/src/share/vm/prims/jvmtiManageCapabilities.cpp Fri Nov 07 10:53:57 2008 +0000 -+++ openjdk/hotspot/src/share/vm/prims/jvmtiManageCapabilities.cpp Fri Nov 07 11:29:34 2008 +0000 -@@ -116,7 +116,11 @@ jvmtiCapabilities JvmtiManageCapabilitie - - memset(&jc, 0, sizeof(jc)); - jc.can_pop_frame = 1; -+#ifdef CC_INTERP -+ jc.can_force_early_return = 0; -+#else - jc.can_force_early_return = 1; -+#endif // CC_INTERP - jc.can_get_source_debug_extension = 1; - jc.can_access_local_variables = 1; - jc.can_maintain_original_method_order = 1; From aph at redhat.com Wed Dec 24 05:46:10 2008 From: aph at redhat.com (Andrew Haley) Date: Wed, 24 Dec 2008 13:46:10 +0000 Subject: changeset in /hg/icedtea6: 2008-12-24 Andrew Haley changeset a139f3afcef3 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=a139f3afcef3 description: 2008-12-24 Andrew Haley * ports/hotspot/src/share/vm/shark/sharkFunction.cpp (SharkFunction::initialize): Work around bug in ciTypeFlow::Block::pre_order_at(). * ports/hotspot/src/share/vm/shark/sharkCompiler.cpp (SharkCompiler::compile_method): Allow "*" as a wildcard. * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp (llvm::IRBuilder): type2aelembytes now a mamber function. * ports/hotspot/src/share/vm/shark/sharkBlock.hpp (class SharkBlock): is_private_copy renamed is_backedge_copy. * ports/hotspot/src/share/vm/shark/sharkBlock.cpp (SharkBlock::parse): force_bci if there's a trap. * ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp: Delete everything. diffstat: 6 files changed, 14 insertions(+), 27 deletions(-) ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp | 22 ------------------- ports/hotspot/src/share/vm/shark/sharkBlock.cpp | 2 + ports/hotspot/src/share/vm/shark/sharkBlock.hpp | 2 - ports/hotspot/src/share/vm/shark/sharkBuilder.hpp | 2 - ports/hotspot/src/share/vm/shark/sharkCompiler.cpp | 3 +- ports/hotspot/src/share/vm/shark/sharkFunction.cpp | 10 ++++++-- diffs (98 lines): diff -r cf5fe433e739 -r a139f3afcef3 ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp --- a/ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp Wed Dec 24 08:25:40 2008 -0500 +++ b/ports/hotspot/src/cpu/zero/vm/disassembler_zero.cpp Wed Dec 24 13:33:17 2008 +0000 @@ -26,25 +26,3 @@ #include "incls/_precompiled.incl" #include "incls/_disassembler_zero.cpp.incl" -#ifndef PRODUCT -void Disassembler::decode(CodeBlob *cb, outputStream *st) -{ - Unimplemented(); -} - -void Disassembler::decode(nmethod *nm, outputStream *st) -{ -#ifdef SHARK - assert(st == NULL, "it's all going to stderr anyway"); - ((SharkEntry *) nm->instructions_begin())->llvm_function()->dump(); -#else - Unimplemented(); -#endif // SHARK -} - -void Disassembler::decode(u_char *begin, u_char *end, outputStream *st) -{ - Unimplemented(); -} -#endif // PRODUCT - diff -r cf5fe433e739 -r a139f3afcef3 ports/hotspot/src/share/vm/shark/sharkBlock.cpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Wed Dec 24 08:25:40 2008 -0500 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp Wed Dec 24 13:33:17 2008 +0000 @@ -105,6 +105,8 @@ void SharkBlock::parse() builder()->SetInsertPoint(entry_block()); if (has_trap()) { + iter()->force_bci(start()); + current_state()->decache_for_trap(); builder()->CreateCall2( SharkRuntime::uncommon_trap(), diff -r cf5fe433e739 -r a139f3afcef3 ports/hotspot/src/share/vm/shark/sharkBlock.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Wed Dec 24 08:25:40 2008 -0500 +++ b/ports/hotspot/src/share/vm/shark/sharkBlock.hpp Wed Dec 24 13:33:17 2008 +0000 @@ -78,7 +78,7 @@ class SharkBlock : public ResourceObj { } bool is_private_copy() const { - return ciblock()->is_private_copy(); + return ciblock()->is_backedge_copy(); } int max_locals() const { diff -r cf5fe433e739 -r a139f3afcef3 ports/hotspot/src/share/vm/shark/sharkBuilder.hpp --- a/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Wed Dec 24 08:25:40 2008 -0500 +++ b/ports/hotspot/src/share/vm/shark/sharkBuilder.hpp Wed Dec 24 13:33:17 2008 +0000 @@ -104,7 +104,7 @@ class SharkBuilder : public llvm::IRBuil return CreateArrayAddress( arrayoop, SharkType::to_arrayType(basic_type), - type2aelembytes[basic_type], + type2aelembytes(basic_type), base_offset, index, name); } diff -r cf5fe433e739 -r a139f3afcef3 ports/hotspot/src/share/vm/shark/sharkCompiler.cpp --- a/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Wed Dec 24 08:25:40 2008 -0500 +++ b/ports/hotspot/src/share/vm/shark/sharkCompiler.cpp Wed Dec 24 13:33:17 2008 +0000 @@ -76,7 +76,8 @@ void SharkCompiler::compile_method(ciEnv if (env->failing()) return; if (SharkPrintTypeflowOf != NULL) { - if (!strcmp(SharkPrintTypeflowOf, name)) + if (!strcmp(SharkPrintTypeflowOf, name) || + !strcmp(SharkPrintTypeflowOf, "*")) flow->print_on(tty); } diff -r cf5fe433e739 -r a139f3afcef3 ports/hotspot/src/share/vm/shark/sharkFunction.cpp --- a/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Wed Dec 24 08:25:40 2008 -0500 +++ b/ports/hotspot/src/share/vm/shark/sharkFunction.cpp Wed Dec 24 13:33:17 2008 +0000 @@ -42,8 +42,14 @@ void SharkFunction::initialize() set_block_insertion_point(NULL); _blocks = NEW_RESOURCE_ARRAY(SharkBlock*, flow()->block_count()); for (int i = 0; i < block_count(); i++) - _blocks[i] = new SharkBlock(this, flow()->pre_order_at(i)); - + { + ciTypeFlow::Block *b = flow()->pre_order_at(i); + // Work around a bug in pre_order_at() that does not return the + // correct pre-ordering. If pre_order_at() were correct this + // line could simply be: + // _blocks[i] = new SharkBlock(this, b); + _blocks[b->pre_order()] = new SharkBlock(this, b); + } // Walk the tree from the start block to determine which // blocks are entered and which blocks require phis SharkBlock *start_block = block(0); From omajid at redhat.com Wed Dec 24 10:12:58 2008 From: omajid at redhat.com (Omair Majid) Date: Wed, 24 Dec 2008 18:12:58 +0000 Subject: changeset in /hg/icedtea6: 2008-12-24 Omair Majid changeset 136f40a0dae4 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=136f40a0dae4 description: 2008-12-24 Omair Majid * patches/icedtea-a11y-property-change.patch: New file. * Makefile.am (ICEDTEA_PATCHES): Apply the above. * HACKING: Document the above. diffstat: 4 files changed, 26 insertions(+), 1 deletion(-) ChangeLog | 6 ++++++ HACKING | 1 + Makefile.am | 3 ++- patches/icedtea-a11y-property-change.patch | 17 +++++++++++++++++ diffs (58 lines): diff -r a139f3afcef3 -r 136f40a0dae4 ChangeLog --- a/ChangeLog Wed Dec 24 13:33:17 2008 +0000 +++ b/ChangeLog Wed Dec 24 13:12:52 2008 -0500 @@ -1,3 +1,9 @@ 2008-12-24 Gary Benson + + * patches/icedtea-a11y-property-change.patch: New file. + * Makefile.am (ICEDTEA_PATCHES): Apply the above. + * HACKING: Document the above. + 2008-12-24 Gary Benson * patches/icedtea-cc-interp-jvmti.patch: New file. diff -r a139f3afcef3 -r 136f40a0dae4 HACKING --- a/HACKING Wed Dec 24 13:33:17 2008 +0000 +++ b/HACKING Wed Dec 24 13:12:52 2008 -0500 @@ -78,6 +78,7 @@ The following patches are currently appl * icedtea-format-warnings.patch: Fix build failures with -Wformat=1. * icedtea-io_util-overflow.patch: Replace some code to correctly handle overflows. (S6788196) * icedtea-cc-interp-jvmti.patch: Disable some JVMTI capabilities which are unsupported or do not work with the C++ interpreter. +* icedtea-a11y-property-change.patch: Dont fire PropertyChangeEvent if the property hasnt changed. The following patches are only applied to OpenJDK6 in IcedTea6: diff -r a139f3afcef3 -r 136f40a0dae4 Makefile.am --- a/Makefile.am Wed Dec 24 13:33:17 2008 +0000 +++ b/Makefile.am Wed Dec 24 13:12:52 2008 -0500 @@ -687,7 +687,8 @@ endif endif ICEDTEA_PATCHES += \ - $(DISTRIBUTION_PATCHES) + $(DISTRIBUTION_PATCHES) \ + patches/icedtea-a11y-property-change.patch stamps/extract.stamp: stamps/download.stamp if OPENJDK_SRC_DIR_FOUND diff -r a139f3afcef3 -r 136f40a0dae4 patches/icedtea-a11y-property-change.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/icedtea-a11y-property-change.patch Wed Dec 24 13:12:52 2008 -0500 @@ -0,0 +1,17 @@ +--- AccessibleContext.java.orig 2008-12-24 11:33:22.000000000 -0500 ++++ openjdk/jdk/src/share/classes/javax/accessibility/AccessibleContext.java 2008-12-24 11:35:29.000000000 -0500 +@@ -736,6 +736,14 @@ + Object oldValue, + Object newValue) { + if (accessibleChangeSupport != null) { ++ ++ if (oldValue == newValue) { ++ return; ++ } ++ if (oldValue != null && newValue != null && oldValue.equals(newValue)) { ++ return; ++ } ++ + if (newValue instanceof PropertyChangeEvent) { + PropertyChangeEvent pce = (PropertyChangeEvent)newValue; + accessibleChangeSupport.firePropertyChange(pce); From gnu_andrew at member.fsf.org Sun Dec 28 15:26:49 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Sun, 28 Dec 2008 23:26:49 +0000 Subject: Power PC Build In-Reply-To: <20081228182936.GA7488@misty.eyesbeyond.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> Message-ID: <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> [ccing IcedTea list too] 2008/12/28 Greg Lewis : > G'day Eric, > > On Sat, Dec 27, 2008 at 11:12:33PM -0800, Eric Richardson wrote: >> I was looking into OpenJDK and saw the bsd-port and zero assembly project >> and thought It might be possible build jdk6 on PowerPC. After looking at >> the bsd-port list I started working on setting up my environment. I have a >> G5 based Mac. Here is what I have done so far. > Note that the proprietary JDK6 isn't supported as a JDK for building IcedTea. IcedTea was originally created so that OpenJDK could be built without proprietary build tools or plugs. Both are still needed with the JDK7 tree. It's possible to build 6 without plugs now, but I guess you can't build it without an existing copy of IcedTea. Of course, if there is some fix that makes the Mac OS JDK work for you in building IcedTea, then we are open to patches. But supporting proprietary JDKs as build tools is not a primary goal of the project (i.e. no-one's going to be testing it still works on a daily basis). Your best option would be to try --with-openjdk as a build option. I know IcedTea7 won't work with a Sun JDK being used as the GCJ JDK at present, as there are some fixes specific to header files and differences between gjavah and javah from the JDK. > Depending on what you want in terms of a JDK, it might be easier to try > and port the zero assembler work to the current OpenJDK BSD port. I'd > like to do this, but I've not seen zero assembler separated out from the > Iced Tea sources. I believe you need libffi working to get it to work, > but there are ports for this in MacPorts and in at least the FreeBSD > ports system (I expect it to be in {Net,Open}BSD as well). > You do libffi for IcedTea's zero support. Should you want to also try Shark (the zero-assembler JIT support) sometime in the future, you also need LLVM but this is still a work-in-progress, especially on 64-bit archs. > CC'ing Gary Benson, the zero assembler author. Gary, would it be > possible to get the zero assembler support as a patch against the > current OpenJDK 7 sources or could you point out the relevant parts > of the Iced Tea source? > I guess you'll probably get a response from this from Gary tomorrow, but my feeling would be that, while it would be possible to provide zero separately, it's not going to be something that's possible to support long term as Gary does his work primarily on GNU/Linux within IcedTea. The relevant bits are the ports subdirectory and a number of patches from the patches subdirectory. You need to comb the Makefile.am a bit to find these. > The other option for getting OpenJDK on Mac OS X / PowerPC is to port > the BSD support to Iced Tea. Thats certainly doable, but I imagine its > a bigger job. > IcedTea[7] (http://icedtea.classpath.org/hg/icedtea) already has a --with-project=bsd option for supporting using the BSD tree in place of the main JDK7 tree. It just needs testing. I think supporting the use of BSD as an alternate icedTea build is the better solution long term. All it really needs is someone will to try building on Mac OS/BSD and to maintain it long-term by supplying us with patches. No-one currently on the IcedTea team uses BSD or Mac OS X (AFAIK) but we're certainly open to more contributors and to supporting more platforms. I'd much prefer this to forking zero support. There are also other features such as the web plugin, web start support, etc. in IcedTea that may be useful for BSD and Mac OS X users. >> Installed MacOSX 10.5 >> Installed XCode 3.1.2 >> Installed Fink 0.9.0 >> Installed Mercurial >> Checked out icetea6 (hg clone http://...) >> ./autogen.sh >> ./configure >> >> gawk not found >> apt-get install gawk >> >> checking for a GCJ JDK home directory... >> configure: error: "A GCJ JDK home directory could not be found." >> >> ./configure --with-gcj-home=/Library/Java/Home --enable-zero=yes >> >> checking for eclipse-ecj.jar... no >> configure: error: "A ECJ jar was not found." >> >> Next error waiting if I fix the above. >> checking xalan2 jar... no >> configure: error: "A xalan2 jar was not found." >> >> Before I go further, I thought I'd ask if this is going to work at all using >> the JDK 5 that comes with MacOSX? >> Any suggestions on how to proceed? >> >> Thanks, >> Eric > >> > > > -- > Greg Lewis Email : glewis at eyesbeyond.com > Eyes Beyond Web : http://www.eyesbeyond.com > Information Technology FreeBSD : glewis at FreeBSD.org > > -- 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 ekrichardson at gmail.com Sun Dec 28 18:27:25 2008 From: ekrichardson at gmail.com (Eric Richardson) Date: Sun, 28 Dec 2008 18:27:25 -0800 Subject: Power PC Build In-Reply-To: <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> Message-ID: <860cb0120812281827t6b691581i6d32d83d14d637d6@mail.gmail.com> Andrew, On Sun, Dec 28, 2008 at 3:26 PM, Andrew John Hughes < gnu_andrew at member.fsf.org> wrote: > [ccing IcedTea list too] > > 2008/12/28 Greg Lewis : > > G'day Eric, > > > > On Sat, Dec 27, 2008 at 11:12:33PM -0800, Eric Richardson wrote: > >> I was looking into OpenJDK and saw the bsd-port and zero assembly > project > >> and thought It might be possible build jdk6 on PowerPC. After looking > at > >> the bsd-port list I started working on setting up my environment. I have > a > >> G5 based Mac. Here is what I have done so far. > > > > Note that the proprietary JDK6 isn't supported as a JDK for building > IcedTea. IcedTea was originally created so that OpenJDK could be > built without proprietary build tools or plugs. Both are still needed > with the JDK7 tree. It's possible to build 6 without plugs now, but I > guess you can't build it without an existing copy of IcedTea. Of > course, if there is some fix that makes the Mac OS JDK work for you in > building IcedTea, then we are open to patches. But supporting > proprietary JDKs as build tools is not a primary goal of the project > (i.e. no-one's going to be testing it still works on a daily basis). > Your best option would be to try --with-openjdk as a build option. I > know IcedTea7 won't work with a Sun JDK being used as the GCJ JDK at > present, as there are some fixes specific to header files and > differences between gjavah and javah from the JDK. I only have the proprietary JDK 5 to work with AFAIK. The only advantage to making this work on Mac PowerPC is that if someone else needs to do it this way too, at least until there is some installable Free Software version, it leaves a path to get to Open JDK6. > > > > Depending on what you want in terms of a JDK, it might be easier to try > > and port the zero assembler work to the current OpenJDK BSD port. I'd > > like to do this, but I've not seen zero assembler separated out from the > > Iced Tea sources. I believe you need libffi working to get it to work, > > but there are ports for this in MacPorts and in at least the FreeBSD > > ports system (I expect it to be in {Net,Open}BSD as well). > > > > You do libffi for IcedTea's zero support. Should you want to also try > Shark (the zero-assembler JIT support) sometime in the future, you > also need LLVM but this is still a work-in-progress, especially on > 64-bit archs. I haven't quite gotten to this error yet but thanks for this heads up. Currently I'm working past this. checking for main in -ljpeg... no configure: error: "libjpeg not found - try installing libjpeg-devel" sudo apt-get install libjpeg (didn't work) sudo port -v install jpeg (nope) > > > > CC'ing Gary Benson, the zero assembler author. Gary, would it be > > possible to get the zero assembler support as a patch against the > > current OpenJDK 7 sources or could you point out the relevant parts > > of the Iced Tea source? > > > > I guess you'll probably get a response from this from Gary tomorrow, > but my feeling would be that, while it would be possible to provide > zero separately, it's not going to be something that's possible to > support long term as Gary does his work primarily on GNU/Linux within > IcedTea. > > The relevant bits are the ports subdirectory and a number of patches > from the patches subdirectory. You need to comb the Makefile.am a bit > to find these. > > > The other option for getting OpenJDK on Mac OS X / PowerPC is to port > > the BSD support to Iced Tea. Thats certainly doable, but I imagine its > > a bigger job. > > > > IcedTea[7] (http://icedtea.classpath.org/hg/icedtea) already has a > --with-project=bsd option for supporting using the BSD tree in place > of the main JDK7 tree. It just needs testing. I think supporting the > use of BSD as an alternate icedTea build is the better solution long > term. All it really needs is someone will to try building on Mac > OS/BSD and to maintain it long-term by supplying us with patches. > No-one currently on the IcedTea team uses BSD or Mac OS X (AFAIK) but > we're certainly open to more contributors and to supporting more > platforms. I'd much prefer this to forking zero support. There are > also other features such as the web plugin, web start support, etc. in > IcedTea that may be useful for BSD and Mac OS X users. I guess I'll wait for someone else to weigh in as I continue down the path I started. > > > >> Installed MacOSX 10.5 > >> Installed XCode 3.1.2 > >> Installed Fink 0.9.0 > >> Installed Mercurial > >> Checked out icetea6 (hg clone http://...) > >> ./autogen.sh > >> ./configure > >> > >> gawk not found > >> apt-get install gawk > >> > >> checking for a GCJ JDK home directory... > >> configure: error: "A GCJ JDK home directory could not be found." > >> > >> ./configure --with-gcj-home=/Library/Java/Home --enable-zero=yes > >> > >> checking for eclipse-ecj.jar... no > >> configure: error: "A ECJ jar was not found." > >> > >> Next error waiting if I fix the above. > >> checking xalan2 jar... no > >> configure: error: "A xalan2 jar was not found." > >> > >> Before I go further, I thought I'd ask if this is going to work at all > using > >> the JDK 5 that comes with MacOSX? > >> Any suggestions on how to proceed? > >> > >> Thanks, > >> Eric > > > >> > > > > > > -- > > Greg Lewis Email : glewis at eyesbeyond.com > > Eyes Beyond Web : http://www.eyesbeyond.com > > Information Technology FreeBSD : glewis at FreeBSD.org > > > > > > > > -- > 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 Thanks, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081228/0eb681aa/attachment.html From ekrichardson at gmail.com Sun Dec 28 23:09:07 2008 From: ekrichardson at gmail.com (Eric Richardson) Date: Sun, 28 Dec 2008 23:09:07 -0800 Subject: Power PC Build In-Reply-To: References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <860cb0120812281654t54005e1el2cfa2b243c155f82@mail.gmail.com> Message-ID: <860cb0120812282309k394408baj2680c888937b8d81@mail.gmail.com> Michael, I know it is not generally good to cross post. Should this be targeted towards distro-pkg-dev? Since I'm new to this I really want to stay in good standing. On Sun, Dec 28, 2008 at 7:52 PM, Michael Franz wrote: > Eric, > > This is what I did the last time I attempted to build IcedTea on OS X > (Intel). > > I use MacPorts for the dependencies. At one time I had a Portfile for > this, but it got lost in the computer shuffle. > > Edit configure.ac to change ALSA missing to be a warning instead of an > error > Installed the following ports: > findtuils - use the prefix variant +with_default_names > coreutils - use the prefix variant +with_default_names > gsed - use the prefix variant +with_default_names > nawk -- not needed if openjdk/jdk/make/common/shared/Defs-utils.gmk is > patched > eclipse-ecj32 > jpeg > xercesj > xalanj > freetype > > export LDFLAGS='-L/opt/local/lib' I got past most of the dependencies so far. I used the LDFLAGS and it works to find the added libraries. (was thinking LD_LIBRARY_PATH) Now I found something a breaking which is on line 285 of configure.ac ./configure: line 11156: syntax error near unexpected token `XPROTO,' ./configure: line 11156: `PKG_CHECK_MODULES(XPROTO, xproto,XPROTO_FOUND=yes,XPROTO_FOUND=no)' return from the shell, echo $? 2 from config.log, configure: exit 258 I don't see anything obvious and am really not all that familiar yet with these configuration scripts. > maybe this too: export > PKG_CONFIG_PATH='/opt/local/lib/pkgconfig:/usr/X11R6/lib/pkgconfig' > > I used OpenJDK to bootstrap Icedtea6 - previously I used Apple's JDK 6. > > ./configure --enable-zero > --with-ecj-jar=/opt/local/share/java/eclipse-ecj.jar > --with-libgcj-jar=/Volumes/Leopard/developer/openjdk-bsd/bin/openjdk7-darwin-i386-20080820/jre/lib/rt.jar > --with-xalan2-jar=/opt/local/share/java/xalan.jar > --with-xalan2-serializer-jar=/opt/local/share/java/serializer.jar > --with-xerces2-jar=/opt/local/share/java/xercesImpl.jar --without-rhino > --disable-liveconnect > --with-gcj-home=/Users/mfranz/developer/openjdk-bsd/bin/openjdk7-darwin-i386-20080820/ > > then make > > I was taking things from the OpenJDK 7 BSD port to get around missing make > files, but mixing OpenJDK 6 and OpenJDK 7 is probably not a good idea. > > Michael > > > On Sun, Dec 28, 2008 at 7:54 PM, Eric Richardson wrote: > >> Hi Michael, >> >> On Sun, Dec 28, 2008 at 8:52 AM, Michael Franz wrote: >> >>> Eric, >>> >>> I have looked at compiling IcedTea for OS X prior to the BSD port being >>> public. I was not successful. I use Macports and had some of the necessary >>> dependencies added to it (eclipse-ecj). I also only have Intel macs so I >>> can use the OpenJDK BSD port to bootstrap. >> >> >> Thanks for this MacPorts tip as this helped me past my eclipse-ecj hurdle. >> >> >>> >>> I don't have my notes handy, but I was using Java 6 (at the time Apple's >>> Java 6 was not complete) and had some issues with compling some classes. I >>> tried to get Red Hat's modified gcc/gcj but it would not compile. GCC 4.3 >>> was not released yet, but I think it is now. Gcc 4.3 should work as an >>> alternative - no guarentees. Will Java 5 work? I don't know. >>> >>> I was recently looking at using the zero port in Icedtea, but never >>> completed the build process either. >> >> >> I read some more on the IceTea site and it looks like this should be >> possible. >> >> >>> >>> I can post my configure script when I have access if you are still >>> interested. >>> >>> Michael >> >> >> Eric >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081228/7500c4c9/attachment.html From gnu_andrew at member.fsf.org Mon Dec 29 00:18:20 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Mon, 29 Dec 2008 08:18:20 +0000 Subject: Power PC Build In-Reply-To: <860cb0120812282309k394408baj2680c888937b8d81@mail.gmail.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <860cb0120812281654t54005e1el2cfa2b243c155f82@mail.gmail.com> <860cb0120812282309k394408baj2680c888937b8d81@mail.gmail.com> Message-ID: <17c6771e0812290018h2806dfa9i7ac70ff126666a75@mail.gmail.com> 2008/12/29 Eric Richardson : > Michael, > > I know it is not generally good to cross post. Should this be targeted > towards distro-pkg-dev? Since I'm new to this I really want to stay in good > standing. > > On Sun, Dec 28, 2008 at 7:52 PM, Michael Franz wrote: >> >> Eric, >> >> This is what I did the last time I attempted to build IcedTea on OS X >> (Intel). >> >> I use MacPorts for the dependencies. At one time I had a Portfile for >> this, but it got lost in the computer shuffle. >> >> Edit configure.ac to change ALSA missing to be a warning instead of an >> error >> Installed the following ports: >> findtuils - use the prefix variant +with_default_names >> coreutils - use the prefix variant +with_default_names >> gsed - use the prefix variant +with_default_names >> nawk -- not needed if openjdk/jdk/make/common/shared/Defs-utils.gmk is >> patched >> eclipse-ecj32 >> jpeg >> xercesj >> xalanj >> freetype >> >> export LDFLAGS='-L/opt/local/lib' > > > I got past most of the dependencies so far. > > I used the LDFLAGS and it works to find the added libraries. (was thinking > LD_LIBRARY_PATH) > > Now I found something a breaking which is on line 285 of configure.ac > > ./configure: line 11156: syntax error near unexpected token `XPROTO,' > ./configure: line 11156: `PKG_CHECK_MODULES(XPROTO, > xproto,XPROTO_FOUND=yes,XPROTO_FOUND=no)' > > return from the shell, echo $? 2 > from config.log, configure: exit 258 > > I don't see anything obvious and am really not all that familiar yet with > these configuration scripts. > This line shouldn't be in the configuration script. Something went wrong when you ran ./autogen.sh. >> >> maybe this too: export >> PKG_CONFIG_PATH='/opt/local/lib/pkgconfig:/usr/X11R6/lib/pkgconfig' >> >> I used OpenJDK to bootstrap Icedtea6 - previously I used Apple's JDK 6. >> >> ./configure --enable-zero >> --with-ecj-jar=/opt/local/share/java/eclipse-ecj.jar >> --with-libgcj-jar=/Volumes/Leopard/developer/openjdk-bsd/bin/openjdk7-darwin-i386-20080820/jre/lib/rt.jar >> --with-xalan2-jar=/opt/local/share/java/xalan.jar >> --with-xalan2-serializer-jar=/opt/local/share/java/serializer.jar >> --with-xerces2-jar=/opt/local/share/java/xercesImpl.jar --without-rhino >> --disable-liveconnect >> --with-gcj-home=/Users/mfranz/developer/openjdk-bsd/bin/openjdk7-darwin-i386-20080820/ >> >> then make >> >> I was taking things from the OpenJDK 7 BSD port to get around missing make >> files, but mixing OpenJDK 6 and OpenJDK 7 is probably not a good idea. >> >> Michael >> >> On Sun, Dec 28, 2008 at 7:54 PM, Eric Richardson >> wrote: >>> >>> Hi Michael, >>> >>> On Sun, Dec 28, 2008 at 8:52 AM, Michael Franz wrote: >>>> >>>> Eric, >>>> >>>> I have looked at compiling IcedTea for OS X prior to the BSD port being >>>> public. I was not successful. I use Macports and had some of the necessary >>>> dependencies added to it (eclipse-ecj). I also only have Intel macs so I >>>> can use the OpenJDK BSD port to bootstrap. >>> >>> Thanks for this MacPorts tip as this helped me past my eclipse-ecj >>> hurdle. >>> >>>> >>>> >>>> I don't have my notes handy, but I was using Java 6 (at the time Apple's >>>> Java 6 was not complete) and had some issues with compling some classes. I >>>> tried to get Red Hat's modified gcc/gcj but it would not compile. GCC 4.3 >>>> was not released yet, but I think it is now. Gcc 4.3 should work as an >>>> alternative - no guarentees. Will Java 5 work? I don't know. >>>> >>>> I was recently looking at using the zero port in Icedtea, but never >>>> completed the build process either. >>> >>> >>> I read some more on the IceTea site and it looks like this should be >>> possible. >>> >>>> >>>> >>>> I can post my configure script when I have access if you are still >>>> interested. >>>> >>>> Michael >>> >>> Eric >> > > > > > -- 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 mvfranz at gmail.com Mon Dec 29 15:57:22 2008 From: mvfranz at gmail.com (Michael Franz) Date: Mon, 29 Dec 2008 18:57:22 -0500 Subject: Power PC Build In-Reply-To: <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> Message-ID: Andrew, On Sun, Dec 28, 2008 at 6:26 PM, Andrew John Hughes < gnu_andrew at member.fsf.org> wrote: > > IcedTea[7] (http://icedtea.classpath.org/hg/icedtea) already has a > --with-project=bsd option for supporting using the BSD tree in place > of the main JDK7 tree. It just needs testing. I think supporting the > use of BSD as an alternate icedTea build is the better solution long > term. All it really needs is someone will to try building on Mac > OS/BSD and to maintain it long-term by supplying us with patches. > No-one currently on the IcedTea team uses BSD or Mac OS X (AFAIK) but > we're certainly open to more contributors and to supporting more > platforms. I'd much prefer this to forking zero support. There are > also other features such as the web plugin, web start support, etc. in > IcedTea that may be useful for BSD and Mac OS X users. > I made a quick attempt at building icedtea7 on OS X. The autogen.sh fails with the following: onfigure.ac:4: installing `./config.guess' configure.ac:4: installing `./config.sub' configure.ac:2: installing `./install-sh' Makefile.am:1304: variable `PULSEAUDIO_SOURCES' is defined but no program or Makefile.am:1304: library has `PULSEAUDIO' as canonic name (possible typo) Makefile.am:1227: variable `JTREG_SOURCES' is defined but no program or Makefile.am:1227: library has `JTREG' as canonic name (possible typo) Also, I was not able to find IcedTea7 specific instructions. Are there any? Michael > > -- > 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 -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081229/83f51f9c/attachment.html From mvfranz at gmail.com Mon Dec 29 20:25:51 2008 From: mvfranz at gmail.com (Michael Franz) Date: Mon, 29 Dec 2008 23:25:51 -0500 Subject: Building IcedTea7 Using BSD option On OS X Message-ID: Hi, I tried to build IcedTea 7 using the --with-project=bsd option. Most of my issues are with applying the patches. I have not gone through all of them, but they seem to fail around the bsd specific lines. What would be the best way to handle these differences? Michael -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081229/a347037a/attachment.html From ekrichardson at gmail.com Mon Dec 29 20:44:11 2008 From: ekrichardson at gmail.com (Eric Richardson) Date: Mon, 29 Dec 2008 20:44:11 -0800 Subject: Power PC Build In-Reply-To: References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> Message-ID: <860cb0120812292044j45056968oe34be61ed5ddd43d@mail.gmail.com> Michael, On Mon, Dec 29, 2008 at 3:57 PM, Michael Franz wrote: > Andrew, > > On Sun, Dec 28, 2008 at 6:26 PM, Andrew John Hughes < > gnu_andrew at member.fsf.org> wrote: > > >> >> IcedTea[7] (http://icedtea.classpath.org/hg/icedtea) already has a >> --with-project=bsd option for supporting using the BSD tree in place >> of the main JDK7 tree. It just needs testing. I think supporting the >> use of BSD as an alternate icedTea build is the better solution long >> term. All it really needs is someone will to try building on Mac >> OS/BSD and to maintain it long-term by supplying us with patches. >> No-one currently on the IcedTea team uses BSD or Mac OS X (AFAIK) but >> we're certainly open to more contributors and to supporting more >> platforms. I'd much prefer this to forking zero support. There are >> also other features such as the web plugin, web start support, etc. in >> IcedTea that may be useful for BSD and Mac OS X users. >> > > I made a quick attempt at building icedtea7 on OS X. The autogen.sh fails > with the following: > onfigure.ac:4: installing `./config.guess' > configure.ac:4: installing `./config.sub' > configure.ac:2: installing `./install-sh' > Makefile.am:1304: variable `PULSEAUDIO_SOURCES' is defined but no program > or > Makefile.am:1304: library has `PULSEAUDIO' as canonic name (possible typo) > Makefile.am:1227: variable `JTREG_SOURCES' is defined but no program or > Makefile.am:1227: library has `JTREG' as canonic name (possible typo) > > Also, I was not able to find IcedTea7 specific instructions. Are there > any? > > Michael > > I got this same error but tried configure anyway ./configure --with-openjdk-home=/Library/Java/Home --enable-zero=yes --with-project=bsd --with-ecj-jar=/opt/local/share/java/eclipse-ecj.jar --with-alt-jar=/System/LibrarFrameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar checking for libgcj-4.3.*.jar... configure: error: "A LIBGCJ jar was not found." I thought maybe I could clear this problem by trying to compile gcj34(from MacPorts) using gcc42? The gcc 4.0.1 wouldn't do it and I saw a post on http://trac.macports.org/ticket/9730 that said wontfix the gcj34 port because pdftk compiles just fine on Intel and PowerPC Macs using gcc42, which has been the default for pdftk since r25014. Would this help me out for Icetea7 or some other path or is this a dead end? What tools (gcc, gcj etc) and versions would be good to start with? Eric > > >> >> -- >> 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 -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081229/7bb69722/attachment.html From ekrichardson at gmail.com Mon Dec 29 20:55:40 2008 From: ekrichardson at gmail.com (Eric Richardson) Date: Mon, 29 Dec 2008 20:55:40 -0800 Subject: Power PC Build In-Reply-To: <17c6771e0812290018h2806dfa9i7ac70ff126666a75@mail.gmail.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <860cb0120812281654t54005e1el2cfa2b243c155f82@mail.gmail.com> <860cb0120812282309k394408baj2680c888937b8d81@mail.gmail.com> <17c6771e0812290018h2806dfa9i7ac70ff126666a75@mail.gmail.com> Message-ID: <860cb0120812292055k73e7e68cv5362b3e6b1feeb1f@mail.gmail.com> Andrew, On Mon, Dec 29, 2008 at 12:18 AM, Andrew John Hughes < gnu_andrew at member.fsf.org> wrote: > 2008/12/29 Eric Richardson : > > Michael, > > > > I know it is not generally good to cross post. Should this be targeted > > towards distro-pkg-dev? Since I'm new to this I really want to stay in > good > > standing. > > > > On Sun, Dec 28, 2008 at 7:52 PM, Michael Franz > wrote: > >> > >> Eric, > >> > >> This is what I did the last time I attempted to build IcedTea on OS X > >> (Intel). > >> > >> I use MacPorts for the dependencies. At one time I had a Portfile for > >> this, but it got lost in the computer shuffle. > >> > >> Edit configure.ac to change ALSA missing to be a warning instead of an > >> error > >> Installed the following ports: > >> findtuils - use the prefix variant +with_default_names > >> coreutils - use the prefix variant +with_default_names > >> gsed - use the prefix variant +with_default_names > >> nawk -- not needed if openjdk/jdk/make/common/shared/Defs-utils.gmk is > >> patched > >> eclipse-ecj32 > >> jpeg > >> xercesj > >> xalanj > >> freetype > >> > >> export LDFLAGS='-L/opt/local/lib' > > > > > > I got past most of the dependencies so far. > > > > I used the LDFLAGS and it works to find the added libraries. (was > thinking > > LD_LIBRARY_PATH) > > > > Now I found something a breaking which is on line 285 of configure.ac > > > > ./configure: line 11156: syntax error near unexpected token `XPROTO,' > > ./configure: line 11156: `PKG_CHECK_MODULES(XPROTO, > > xproto,XPROTO_FOUND=yes,XPROTO_FOUND=no)' > > > > return from the shell, echo $? 2 > > from config.log, configure: exit 258 > > > > I don't see anything obvious and am really not all that familiar yet with > > these configuration scripts. > > > > This line shouldn't be in the configuration script. Something went > wrong when you ran ./autogen.sh. I ran autoconf -v new-host:icedtea6 eric$ ./autogen.sh autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: autoconf --force autoreconf: configure.ac: not using Autoheader autoreconf: running: automake --add-missing --copy --force-missing autoreconf: Leaving directory `.' Do you know if the line can be removed from configure.ac? -- > 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 > Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081229/6f2e5d7b/attachment.html From gnu_andrew at member.fsf.org Mon Dec 29 23:26:51 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 30 Dec 2008 07:26:51 +0000 Subject: Power PC Build In-Reply-To: References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> Message-ID: <17c6771e0812292326w123d6155p3e5191de14793714@mail.gmail.com> 2008/12/29 Michael Franz : > Andrew, > > On Sun, Dec 28, 2008 at 6:26 PM, Andrew John Hughes > wrote: > >> >> IcedTea[7] (http://icedtea.classpath.org/hg/icedtea) already has a >> --with-project=bsd option for supporting using the BSD tree in place >> of the main JDK7 tree. It just needs testing. I think supporting the >> use of BSD as an alternate icedTea build is the better solution long >> term. All it really needs is someone will to try building on Mac >> OS/BSD and to maintain it long-term by supplying us with patches. >> No-one currently on the IcedTea team uses BSD or Mac OS X (AFAIK) but >> we're certainly open to more contributors and to supporting more >> platforms. I'd much prefer this to forking zero support. There are >> also other features such as the web plugin, web start support, etc. in >> IcedTea that may be useful for BSD and Mac OS X users. > > I made a quick attempt at building icedtea7 on OS X. The autogen.sh fails > with the following: > onfigure.ac:4: installing `./config.guess' > configure.ac:4: installing `./config.sub' > configure.ac:2: installing `./install-sh' > Makefile.am:1304: variable `PULSEAUDIO_SOURCES' is defined but no program or > Makefile.am:1304: library has `PULSEAUDIO' as canonic name (possible typo) > Makefile.am:1227: variable `JTREG_SOURCES' is defined but no program or > Makefile.am:1227: library has `JTREG' as canonic name (possible typo) > These are just warnings. I should probably use different names for these variables though so automake doesn't make the wrong assumption about them. > Also, I was not able to find IcedTea7 specific instructions. Are there any? > INSTALL and README in the IcedTea7 sources. Most things are the same; IcedTea6 regularly gets merged over to 7. The main difference is 7 supports --with-project=x so you can build the bsd ports tree, nio2, caciocavallo, etc. > Michael > > >> >> -- >> 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 >> > > -- 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 29 23:30:29 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 30 Dec 2008 07:30:29 +0000 Subject: Power PC Build In-Reply-To: <860cb0120812292044j45056968oe34be61ed5ddd43d@mail.gmail.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> <860cb0120812292044j45056968oe34be61ed5ddd43d@mail.gmail.com> Message-ID: <17c6771e0812292330o4afa6702j8a04a115ae6276be@mail.gmail.com> 2008/12/30 Eric Richardson : > Michael, > > On Mon, Dec 29, 2008 at 3:57 PM, Michael Franz wrote: >> >> Andrew, >> >> On Sun, Dec 28, 2008 at 6:26 PM, Andrew John Hughes >> wrote: >> >>> >>> IcedTea[7] (http://icedtea.classpath.org/hg/icedtea) already has a >>> --with-project=bsd option for supporting using the BSD tree in place >>> of the main JDK7 tree. It just needs testing. I think supporting the >>> use of BSD as an alternate icedTea build is the better solution long >>> term. All it really needs is someone will to try building on Mac >>> OS/BSD and to maintain it long-term by supplying us with patches. >>> No-one currently on the IcedTea team uses BSD or Mac OS X (AFAIK) but >>> we're certainly open to more contributors and to supporting more >>> platforms. I'd much prefer this to forking zero support. There are >>> also other features such as the web plugin, web start support, etc. in >>> IcedTea that may be useful for BSD and Mac OS X users. >> >> I made a quick attempt at building icedtea7 on OS X. The autogen.sh fails >> with the following: >> onfigure.ac:4: installing `./config.guess' >> configure.ac:4: installing `./config.sub' >> configure.ac:2: installing `./install-sh' >> Makefile.am:1304: variable `PULSEAUDIO_SOURCES' is defined but no program >> or >> Makefile.am:1304: library has `PULSEAUDIO' as canonic name (possible typo) >> Makefile.am:1227: variable `JTREG_SOURCES' is defined but no program or >> Makefile.am:1227: library has `JTREG' as canonic name (possible typo) >> >> Also, I was not able to find IcedTea7 specific instructions. Are there >> any? >> >> Michael >> > > I got this same error but tried configure anyway > > ./configure --with-openjdk-home=/Library/Java/Home --enable-zero=yes > --with-project=bsd --with-ecj-jar=/opt/local/share/java/eclipse-ecj.jar > --with-alt-jar=/System/LibrarFrameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar > > checking for libgcj-4.3.*.jar... > configure: error: "A LIBGCJ jar was not found." > Either use an OpenJDK/IcedTea build by adding --with-openjdk or specify --with-libgcj-jar to point to rt.jar. As I said in my previous email though, the libgcj build will not work with a non-Classpath/GCJ build environment. (--with-libgcj-jar is gone from IcedTea6, it will go from 7 when we next merge). > I thought maybe I could clear this problem by trying to compile gcj34(from > MacPorts) using gcc42? The gcc 4.0.1 wouldn't do it and I saw a post > on http://trac.macports.org/ticket/9730 that said > How would an ancient gcj help? You want 4.3 > wontfix the gcj34 port because pdftk compiles just fine on Intel and PowerPC > Macs using gcc42, which has been the default for pdftk since r25014. > > Would this help me out for Icetea7 or some other path or is this a dead end? > > What tools (gcc, gcj etc) and versions would be good to start with? > Building GNU Classpath + CACAO might be the easiest option, then use that to build IcedTea. Or build gcc 4.3 with gcj and use that, but that's probably a bit trickier. > Eric > >> >> >>> >>> -- >>> 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 >>> >> >> >> >> > > -- 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 29 23:31:37 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Tue, 30 Dec 2008 07:31:37 +0000 Subject: Building IcedTea7 Using BSD option On OS X In-Reply-To: References: Message-ID: <17c6771e0812292331u5081480aneb4abbe31d46032c@mail.gmail.com> 2008/12/30 Michael Franz : > Hi, > > I tried to build IcedTea 7 using the --with-project=bsd option. Most of my > issues are with applying the patches. I have not gone through all of them, > but they seem to fail around the bsd specific lines. > > What would be the best way to handle these differences? > > Michael > Let us know the specifics and we'll work out a solution. As I say, we enabled the option but no-one on the IcedTea team uses BSD so it hasn't been tested. -- 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 Tue Dec 30 10:56:30 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 30 Dec 2008 18:56:30 +0000 Subject: [Bug 274] NRC Java Web Clock doesn't function (openjdk/icedtea 6b14 and icedtea plugin) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=274 ------- Comment #1 from omajid at redhat.com 2008-12-30 18:56 ------- Works with appletviewer. Seems to be a problem in JNLPSecurityManager.java. The applet tries to connect to the nrc and needs socket permissions to do so. The security check contains this: line 292: ApplicationInstance app = getApplication(); line 293: JNLPFile file = app.getJNLPFile(); getApplication() returns a null which causes line 293 to throw a NullPointerException which terminates the thread that's trying to get the time. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Tue Dec 30 11:20:13 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 30 Dec 2008 19:20:13 +0000 Subject: [Bug 274] NRC Java Web Clock doesn't function (openjdk/icedtea 6b14 and icedtea plugin) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=274 ------- Comment #2 from omajid at redhat.com 2008-12-30 19:20 ------- Created an attachment (id=154) --> (http://icedtea.classpath.org/bugzilla/attachment.cgi?id=154&action=view) test case -- 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 ekrichardson at gmail.com Tue Dec 30 23:48:42 2008 From: ekrichardson at gmail.com (Eric Richardson) Date: Tue, 30 Dec 2008 23:48:42 -0800 Subject: Power PC Build In-Reply-To: <17c6771e0812292330o4afa6702j8a04a115ae6276be@mail.gmail.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> <860cb0120812292044j45056968oe34be61ed5ddd43d@mail.gmail.com> <17c6771e0812292330o4afa6702j8a04a115ae6276be@mail.gmail.com> Message-ID: <860cb0120812302348t6620a544k22292f0b09cbbdc@mail.gmail.com> Andrew, On Mon, Dec 29, 2008 at 11:30 PM, Andrew John Hughes < gnu_andrew at member.fsf.org> wrote: > 2008/12/30 Eric Richardson : > > Michael, > > > > On Mon, Dec 29, 2008 at 3:57 PM, Michael Franz > wrote: > >> > >> Andrew, > >> > >> On Sun, Dec 28, 2008 at 6:26 PM, Andrew John Hughes > >> wrote: > >> > >>> > >>> IcedTea[7] (http://icedtea.classpath.org/hg/icedtea) already has a > >>> --with-project=bsd option for supporting using the BSD tree in place > >>> of the main JDK7 tree. It just needs testing. I think supporting the > >>> use of BSD as an alternate icedTea build is the better solution long > >>> term. All it really needs is someone will to try building on Mac > >>> OS/BSD and to maintain it long-term by supplying us with patches. > >>> No-one currently on the IcedTea team uses BSD or Mac OS X (AFAIK) but > >>> we're certainly open to more contributors and to supporting more > >>> platforms. I'd much prefer this to forking zero support. There are > >>> also other features such as the web plugin, web start support, etc. in > >>> IcedTea that may be useful for BSD and Mac OS X users. > >> > >> I made a quick attempt at building icedtea7 on OS X. The autogen.sh > fails > >> with the following: > >> onfigure.ac:4: installing `./config.guess' > >> configure.ac:4: installing `./config.sub' > >> configure.ac:2: installing `./install-sh' > >> Makefile.am:1304: variable `PULSEAUDIO_SOURCES' is defined but no > program > >> or > >> Makefile.am:1304: library has `PULSEAUDIO' as canonic name (possible > typo) > >> Makefile.am:1227: variable `JTREG_SOURCES' is defined but no program or > >> Makefile.am:1227: library has `JTREG' as canonic name (possible typo) > >> > >> Also, I was not able to find IcedTea7 specific instructions. Are there > >> any? > >> > >> Michael > >> > > > > I got this same error but tried configure anyway > > > > ./configure --with-openjdk-home=/Library/Java/Home --enable-zero=yes > > --with-project=bsd --with-ecj-jar=/opt/local/share/java/eclipse-ecj.jar > > > --with-alt-jar=/System/LibrarFrameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar > > > > checking for libgcj-4.3.*.jar... > > configure: error: "A LIBGCJ jar was not found." > > > > Either use an OpenJDK/IcedTea build by adding --with-openjdk or > specify --with-libgcj-jar to point to rt.jar. > As I said in my previous email though, the libgcj build will not work > with a non-Classpath/GCJ build environment. > (--with-libgcj-jar is gone from IcedTea6, it will go from 7 when we next > merge). This suggestion was very helpful. The problem using the JDK 5 on the Mac is that instead of having an rt.jar they have classes.jar and ui.jar so you can't use the --with-openjdk-home so you must use --with-libgcj-jar=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar but unfortunately I had a typo in the path. I have been reading your posts but much is new and I certainly don't understand it all. Removing the --with-libgcj-jar cuts off the path to what I am attempting to do. (icedtea6 no longer works since I updated) If you can use any java 5 complier to create IcedTea JDK, the resultant can be used after that. If it is possible to keep IcedTea like IcePick "which allows the OpenJDK language tools (javac, javadoc, javah, javap, apt) to be built separately using any 1.5 compliant Java compiler..." that would be great. Unless there is an alternate way to point to the runtime jar. > > > I thought maybe I could clear this problem by trying to compile > gcj34(from > > MacPorts) using gcc42? The gcc 4.0.1 wouldn't do it and I saw a post > > on http://trac.macports.org/ticket/9730 that said > > > > How would an ancient gcj help? You want 4.3 > > > wontfix the gcj34 port because pdftk compiles just fine on Intel and > PowerPC > > Macs using gcc42, which has been the default for pdftk since r25014. > > > > Would this help me out for Icetea7 or some other path or is this a dead > end? > > > > What tools (gcc, gcj etc) and versions would be good to start with? > > > > Building GNU Classpath + CACAO might be the easiest option, then use > that to build IcedTea. > Or build gcc 4.3 with gcj and use that, but that's probably a bit trickier. I built gcc 4.2 as this was available via MacPorts. Icedtea still looks promising but now I'm stuck on the ALSA part of configure. checking for ALSA... no configure: error: Could not find alsa - Try installing alsa-lib-devel. The only thing I could find remotely related was Libao2. Note: the problem I had before fwas because I was missing pkg.m4 which in turn got fixed when I installed xorg-libX11. ./configure: line 11562: syntax error near unexpected token `XPROTO,' ./configure: line 11562: `PKG_CHECK_MODULES(XPROTO, xproto,XPROTO_FOUND=yes,XPROTO_FOUND=no) Eric -- > 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 -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081230/fc1f6e8f/attachment.html From gnu_andrew at member.fsf.org Wed Dec 31 07:46:38 2008 From: gnu_andrew at member.fsf.org (Andrew John Hughes) Date: Wed, 31 Dec 2008 15:46:38 +0000 Subject: Power PC Build In-Reply-To: <860cb0120812302348t6620a544k22292f0b09cbbdc@mail.gmail.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> <860cb0120812292044j45056968oe34be61ed5ddd43d@mail.gmail.com> <17c6771e0812292330o4afa6702j8a04a115ae6276be@mail.gmail.com> <860cb0120812302348t6620a544k22292f0b09cbbdc@mail.gmail.com> Message-ID: <17c6771e0812310746i413e95bbl99813bf99b989496@mail.gmail.com> 2008/12/31 Eric Richardson : > Andrew, > > On Mon, Dec 29, 2008 at 11:30 PM, Andrew John Hughes > wrote: >> >> 2008/12/30 Eric Richardson : >> > Michael, >> > >> > On Mon, Dec 29, 2008 at 3:57 PM, Michael Franz >> > wrote: >> >> >> >> Andrew, >> >> >> >> On Sun, Dec 28, 2008 at 6:26 PM, Andrew John Hughes >> >> wrote: >> >> >> >>> >> >>> IcedTea[7] (http://icedtea.classpath.org/hg/icedtea) already has a >> >>> --with-project=bsd option for supporting using the BSD tree in place >> >>> of the main JDK7 tree. It just needs testing. I think supporting the >> >>> use of BSD as an alternate icedTea build is the better solution long >> >>> term. All it really needs is someone will to try building on Mac >> >>> OS/BSD and to maintain it long-term by supplying us with patches. >> >>> No-one currently on the IcedTea team uses BSD or Mac OS X (AFAIK) but >> >>> we're certainly open to more contributors and to supporting more >> >>> platforms. I'd much prefer this to forking zero support. There are >> >>> also other features such as the web plugin, web start support, etc. in >> >>> IcedTea that may be useful for BSD and Mac OS X users. >> >> >> >> I made a quick attempt at building icedtea7 on OS X. The autogen.sh >> >> fails >> >> with the following: >> >> onfigure.ac:4: installing `./config.guess' >> >> configure.ac:4: installing `./config.sub' >> >> configure.ac:2: installing `./install-sh' >> >> Makefile.am:1304: variable `PULSEAUDIO_SOURCES' is defined but no >> >> program >> >> or >> >> Makefile.am:1304: library has `PULSEAUDIO' as canonic name (possible >> >> typo) >> >> Makefile.am:1227: variable `JTREG_SOURCES' is defined but no program or >> >> Makefile.am:1227: library has `JTREG' as canonic name (possible typo) >> >> >> >> Also, I was not able to find IcedTea7 specific instructions. Are there >> >> any? >> >> >> >> Michael >> >> >> > >> > I got this same error but tried configure anyway >> > >> > ./configure --with-openjdk-home=/Library/Java/Home --enable-zero=yes >> > --with-project=bsd --with-ecj-jar=/opt/local/share/java/eclipse-ecj.jar >> > >> > --with-alt-jar=/System/LibrarFrameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar >> > >> > checking for libgcj-4.3.*.jar... >> > configure: error: "A LIBGCJ jar was not found." >> > >> >> Either use an OpenJDK/IcedTea build by adding --with-openjdk or >> specify --with-libgcj-jar to point to rt.jar. >> As I said in my previous email though, the libgcj build will not work >> with a non-Classpath/GCJ build environment. >> (--with-libgcj-jar is gone from IcedTea6, it will go from 7 when we next >> merge). > > This suggestion was very helpful. The problem using the JDK 5 on the Mac is > that instead of having an rt.jar they have classes.jar and ui.jar so you > can't use the --with-openjdk-home so you must use > --with-libgcj-jar=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar > but unfortunately I had a typo in the path. I have been reading your posts > but much is new and I certainly don't understand it all. > --with-openjdk-home wouldn't be an option anyway, it's --with-gcj-home. There are basically three possible setups: * default build: does a bootstrap build (build with gcj+ecj first, then the built IcedTea), --with-gcj-home can be used to point to the JDK tree. * openjdk build: --with-openjdk turns this on, --with-openjdk-home points to the JDK tree. The build JDK is expected to be a copy of raw OpenJDK. Not sure how well tested this is anymore. * icedtea build --with-icedtea turns this on, --with-icedtea-home points to the JDK tree. The build JDK is expected to be an earlier IcedTea. It essentially does the second stage of the default build, and fails even with the oldest versions of IcedTea (those based on 7) as it expects some plugin classes to be in the existing IcedTea build. --with-libgcj-jar was dropped because it doesn't really fit in coherently. It was only being used by the default build, but yet there was no equivalent for the openjdk or icedtea builds. It doesn't get around the need for a correct JDK tree as libjvm.so will be expected to be present in jre/lib/${arch}/(client|server). IcedTea seems to have adopted a hybrid approach of assuming and not assuming a JDK tree for the GCJ build and it simplifies things if we settle on a single approach. The JDK tree structure has become a defacto standard and is relied upon by quite a few Java applications, especially Apache ones. I'm surprised that the JDK you have doesn't follow this. We had a lot of problems with GNU Classpath when running applications that expected this structure of a tools.jar with the compiler, an rt.jar with the class library, etc. to the point that gcj-java-compat was created to provide a JDK-like tree for GCJ installs. In turn, the IcedTea build expects this to be present as it is on current versions of Fedora, Debian, Ubuntu, etc. with the correct packages installed. It's actually easier to create such a tree than pass in numerous options to specify every little file. Just create a tree with a jre/lib/rt.jar pointing to your class library and a jre/lib/${arch}/(client|server)/libjvm.so pointing to your libjvm.so e.g. $ find /usr/lib/gcj-jdk-4.3 /usr/lib/gcj-jdk-4.3 /usr/lib/gcj-jdk-4.3/bin /usr/lib/gcj-jdk-4.3/bin/jar /usr/lib/gcj-jdk-4.3/bin/java /usr/lib/gcj-jdk-4.3/bin/rmic /usr/lib/gcj-jdk-4.3/bin/keytool /usr/lib/gcj-jdk-4.3/bin/javac /usr/lib/gcj-jdk-4.3/bin/javah /usr/lib/gcj-jdk-4.3/bin/javap /usr/lib/gcj-jdk-4.3/bin/appletviewer /usr/lib/gcj-jdk-4.3/bin/jarsigner /usr/lib/gcj-jdk-4.3/bin/javadoc /usr/lib/gcj-jdk-4.3/bin/rmiregistry /usr/lib/gcj-jdk-4.3/jre /usr/lib/gcj-jdk-4.3/jre/bin /usr/lib/gcj-jdk-4.3/jre/bin/java /usr/lib/gcj-jdk-4.3/jre/bin/keytool /usr/lib/gcj-jdk-4.3/jre/bin/rmiregistry /usr/lib/gcj-jdk-4.3/jre/lib /usr/lib/gcj-jdk-4.3/jre/lib/amd64 /usr/lib/gcj-jdk-4.3/jre/lib/amd64/client /usr/lib/gcj-jdk-4.3/jre/lib/amd64/client/libjvm.so /usr/lib/gcj-jdk-4.3/jre/lib/amd64/libjawt.so /usr/lib/gcj-jdk-4.3/jre/lib/amd64/server /usr/lib/gcj-jdk-4.3/jre/lib/amd64/server/libjvm.so /usr/lib/gcj-jdk-4.3/jre/lib/rt.jar /usr/lib/gcj-jdk-4.3/lib /usr/lib/gcj-jdk-4.3/lib/tools.jar /usr/lib/gcj-jdk-4.3/include The above is now created by the Gentoo gcj-jdk ebuild after a process of trial and error finding what was expected by different Java apps, etc. Note that include is a symlink to gcj's include directory with jni.h. > Removing the --with-libgcj-jar cuts off the path to what I am attempting to > do. (icedtea6 no longer works since I updated) If you can use any java 5 > complier to create IcedTea JDK, the resultant can be used after that. If it > is possible to keep IcedTea like IcePick "which allows the OpenJDK language > tools (javac, javadoc, javah, javap, apt) to be built separately using any > 1.5 compliant Java compiler..." that would be great. Unless there is an > alternate way to point to the runtime jar. > -- 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 mvfranz at gmail.com Wed Dec 31 13:06:38 2008 From: mvfranz at gmail.com (Michael Franz) Date: Wed, 31 Dec 2008 16:06:38 -0500 Subject: Power PC Build In-Reply-To: <860cb0120812302348t6620a544k22292f0b09cbbdc@mail.gmail.com> References: <860cb0120812272312j1d310307mcf9864247003567e@mail.gmail.com> <20081228182936.GA7488@misty.eyesbeyond.com> <17c6771e0812281526u3c4b84fes4599a7922ac20025@mail.gmail.com> <860cb0120812292044j45056968oe34be61ed5ddd43d@mail.gmail.com> <17c6771e0812292330o4afa6702j8a04a115ae6276be@mail.gmail.com> <860cb0120812302348t6620a544k22292f0b09cbbdc@mail.gmail.com> Message-ID: Eric, On Wed, Dec 31, 2008 at 2:48 AM, Eric Richardson wrote: > Andrew, > I built gcc 4.2 as this was available via MacPorts. > > Icedtea still looks promising but now I'm stuck on the ALSA part of > configure. > > checking for ALSA... no > configure: error: Could not find alsa - Try installing alsa-lib-devel. > > The only thing I could find remotely related was Libao2. > To work around this I change configure.ac to change the ALSA to a warning instead of an error and then run autogen.sh --- configure.ac.orig 2008-12-31 16:03:56.000000000 -0500 +++ configure.ac 2008-12-31 16:04:17.000000000 -0500 @@ -436,7 +436,7 @@ PKG_CHECK_MODULES(ALSA, alsa,[ALSA_FOUND=yes],[ALSA_FOUND=no]) if test "x${ALSA_FOUND}" = xno then - AC_MSG_ERROR([Could not find alsa - \ + AC_MSG_WARN([Could not find alsa - \ Try installing alsa-lib-devel.]) fi AC_SUBST(ALSA_CFLAGS) I figure I will deal with the ALSA error later if I ever get to them. Michael > > Note: the problem I had before fwas because I was missing pkg.m4 which in > turn got fixed when I installed xorg-libX11. > > ./configure: line 11562: syntax error near unexpected token `XPROTO,' > ./configure: line 11562: `PKG_CHECK_MODULES(XPROTO, > xproto,XPROTO_FOUND=yes,XPROTO_FOUND=no) > > Eric > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20081231/e778f367/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Dec 31 15:18:14 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 31 Dec 2008 23:18:14 +0000 Subject: [Bug 270] GoogleVideoUploader fails when using OpenJDK Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=270 omajid at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #1 from omajid at redhat.com 2008-12-31 23:18 ------- Hi, It seems like you might be missing the certificates. Icedtea6 build a dummy certificate file under $JAVA_HOME/jre/lib/security/cacerts. The arch pkgbuild at http://repos.archlinux.org/viewvc.cgi/openjdk6/repos/extra-i686/PKGBUILD?view=markup seems to install that dummy certificate file as the real thing. Here is a workaround. This is not the best (or the correct) way but it should get you started. Grab http://cvs.fedoraproject.org/viewvc/rpms/ca-certificates/F-10/ca-bundle.crt?revision=1.2 and http://cvs.fedoraproject.org/viewvc/rpms/ca-certificates/F-10/generate-cacerts.pl?revision=1.2 and run perl generate-cacerts.pl $JAVA_HOME/jre/bin/keytool ca-bundle.crt If everything goes well, that should produce a cacerts file. Copy this over into $JAVA_HOME/jre/lib/security/cacerts and you should be good to go. Of course, eventually you want to figure out a way to use the certificates from the system installed ca-certificates package instead of the ca-bundle.crt file, but this should work as a quick fix. Let me know if this fixes the problem. -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at icedtea.classpath.org Wed Dec 31 15:19:57 2008 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 31 Dec 2008 23:19:57 +0000 Subject: [Bug 270] GoogleVideoUploader fails when using OpenJDK Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=270 omajid at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at icedtea.classpath|omajid at redhat.com |.org | Status|ASSIGNED |NEW -- Configure bugmail: http://icedtea.classpath.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. You are the assignee for the bug, or are watching the assignee. From mvfranz at gmail.com Wed Dec 31 22:29:41 2008 From: mvfranz at gmail.com (Michael Franz) Date: Thu, 1 Jan 2009 01:29:41 -0500 Subject: Building IcedTea7 Using BSD option On OS X In-Reply-To: <17c6771e0812292331u5081480aneb4abbe31d46032c@mail.gmail.com> References: <17c6771e0812292331u5081480aneb4abbe31d46032c@mail.gmail.com> Message-ID: Hi, I have been able to build IcedTea 7 on OS X. I removed a bunch of patches and had to fake some stuff to get it to work. I wanted to use zero and shark. This is the version that prints: java version "1.7.0_0-fastdebug-bsd" IcedTea 1.9-pre-rb5fe6c65b574 Runtime Environment (build 1.7.0_0-fastdebug-bsd-b42) OpenJDK Core VM (build 14.0-b08, interpreted mode) Is this enough to tell if I was able to build with zero and shark? This is what I used to configure: ./configure --enable-zero --with-ecj-jar=/opt/local/share/java/eclipse-ecj.jar --with-xalan2-jar=/opt/local/share/java/xalan.jar --with-xalan2-serializer-jar=/opt/local/share/java/serializer.jar --with-xerces2-jar=/opt/local/share/java/xercesImpl.jar --without-rhino --disable-liveconnect --with-project=bsd --with-openjdk --with-openjdk-home=/Users/mfranz/developer/openjdk-bsd/bin/openjdk7-darwin-i386-20080820 --disable-xrender --enable-shark Some of my issues were because the BSD port is not completely up-to-date with OpenJDK 7. Michael On Tue, Dec 30, 2008 at 2:31 AM, Andrew John Hughes < gnu_andrew at member.fsf.org> wrote: > 2008/12/30 Michael Franz : > > Hi, > > > > I tried to build IcedTea 7 using the --with-project=bsd option. Most of > my > > issues are with applying the patches. I have not gone through all of > them, > > but they seem to fail around the bsd specific lines. > > > > What would be the best way to handle these differences? > > > > Michael > > > > Let us know the specifics and we'll work out a solution. As I say, we > enabled the option but no-one on the IcedTea team uses BSD so it > hasn't been tested. > -- > 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 -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20090101/da71ece3/attachment.html