RFR (S): 8006965: test_gamma should run with import JDK

Christian Thalinger christian.thalinger at oracle.com
Fri Feb 22 16:47:54 UTC 2013


On Feb 21, 2013, at 8:10 PM, David Holmes <david.holmes at oracle.com> wrote:

> Hi Christian,
> 
> cc'ing build-dev
> 
> On 22/02/2013 12:40 PM, Christian Thalinger wrote:
>> http://cr.openjdk.java.net/~twisti/8006965
>> 
>> 8006965: test_gamma should run with import JDK
>> Reviewed-by:
>> 
>> Right now test_gamma runs with the boot JDK which is JDK n-1 (where
>> JDK n is the version we are actually compiling for).  This setup is
>> unsupported and thus should not be done during HotSpot builds.
>> 
>> The fix is to always use JDK_IMPORT_PATH instead of JAVA_HOME when
>> running test_gamma.
> 
> First, the simplest change seems to me to just to do:
> 
> ! MAKE_ARGS += JAVA_HOME=$(JDK_IMPORT_PATH)
> 
> and not need to change anything in buildtree.make.

Maybe.  But the conditional setting of JAVA_HOME in env.sh is a problem.

> 
> But this forces everyone outside of Oracle (and some inside) to have to set ALT_JDK_IMPORT_PATH explicitly otherwise they get:
> 
> JDK_IMPORT_PATH=$(SLASH_JAVA)/re/j2se/$(JDK_VERSION)/promoted/latest/binaries/$(PLATFORM)

That should be set by the OpenJDK build.  And people who are only building hotspot are probably setting this anyway (and are special).

> 
> And the boot JDK is only JDK n-1 for our official builds - people can use whatever boot JDK works for them including latest JDK.

Right.  They can use whatever boot JDK they want but not import.

> 
> I see the problem you want to fix, and I know why you've hit it, but this doesn't seem like a general solution. I don't know what to suggest.
> 
>> make/bsd/makefiles/buildtree.make
>> make/defs.make
> 
> Why did you add:
> 
> MAKE_ARGS += BOOTDIR=$(ABS_BOOTDIR)
> 
> ?

Because JAVA_HOME was overwritten by ABS_BOOTDIR which looks completely wrong to me (and caused a problem with a version of the patch that still had the conditional setting of JAVA_HOME).

-- Chris

> 
> David
> -----
> 
>> make/linux/makefiles/buildtree.make
>> make/solaris/makefiles/buildtree.make
>> 



More information about the build-dev mailing list