[7u60] RFR 8024648 : 8016131 breaks Zero port
david.holmes at oracle.com
Thu Feb 6 21:14:17 PST 2014
I have a concern here.
First this general situation is a mess. We started adding the new-build
support in hs24 but JDK 8 is using hs25, so all this SPEC and
JVM_VARIANT stuff is completely unwanted in JDK 7u. My preference here
would be to get this stuff backed out of 7u and return to a completely
configure-ignorant build system. That said I'm not sure that is really
the issue with ZERO/SHARK builds.
My concern with the proposed patch is that defs.make is not intended to
be included by every other Makefile and/or .make file. We all know by
now that the hotspot build system is complex, convoluted and fragile.
When you do a hotspot build there are multiple nested sub-makes
involved, as well as build file generation and use. The "big picture"
intent is that defs.make contains all the high-level stuff needed by the
"top" level makefile targets. buildtree.make will then generate other
.make files using that information. It is very difficult to see exactly
which .make file will get used by which phase of the overall build.
Unfortunately this leads to a tendency where if a "low-level" file needs
access to X, which is defined in defs.make, then the "solution" is just
to include defs.make in that file. We did the same thing for
buildtree.make in JDK 8. But I have reservations about also doing it for
gcc.make and vm.make. I think it is the wrong solution - we should be
passing the needed variables/values through the files generated by
If this was to go ahead as-is I would want to know that there has been a
comparison of all the build commands before and after to ensure no
unintended changes have been introduced. A set of successful builds is
not in itself sufficient.
On 7/02/2014 8:10 AM, Alejandro E Murillo wrote:
> I forgot to change the "subject".
> The change is and has been approved for 7u60 (hs24.60)
> On 2/6/2014 3:03 PM, Alejandro E Murillo wrote:
>> can we get 2 hotspot reviewers quickly check this change ?
>> -------- Original Message --------
>> Subject: Re: Question on 8024648 : 8016131 breaks Zero port
>> Date: Thu, 6 Feb 2014 16:21:29 -0500 (EST)
>> From: Andrew Hughes <gnu.andrew at redhat.com>
>> To: Alejandro E Murillo <alejandro.murillo at oracle.com>
>> CC: Seán Coffey <sean.coffey at oracle.com>, Omair Majid
>> <omajid at redhat.com>, jdk7u-dev at openjdk.java.net
>> ----- Original Message -----
>> Here's the webrev:
>> My OpenJDK username is andrew (should already be included in the commit)
>> The changes are as follows:
>> * Bring in defs.make to a number of makefiles which expect
>> or JVM_VARIANT_ZEROSHARK to be set, but don't parse the makefile that
>> it. This is a regression caused by the new build which instead sets these
>> via configure and $(SPEC). There is code for handling the old build
>> (ZERO_BUILD=true) in defs.make but it isn't brought in. (see 7141246)
>> * Update the call_wrapper function following 8024648.
>> I've updated the bug summary to reflect that it fixes changes from both
>> bugs, but we can split them into two separate bugs if you prefer. Without
>> the 7141246 fix, the build fails in seconds.
>> With the webrev applied:
>> $ /mnt/builder/hsx-jdk7u/j2sdk-image/bin/java -version
>> openjdk version "1.7.0-internal"
>> OpenJDK Runtime Environment (build
>> OpenJDK 64-Bit Zero VM (build 24.80-b01, interpreted mode)
>> $ /mnt/builder/hsx-jdk7u/j2sdk-image/bin/java HelloWorld
>> Hello World
More information about the hotspot-dev