RFR: JDK-8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling
Tim Bell
tim.bell at oracle.com
Wed Jun 5 00:10:39 UTC 2019
Erik:
OK - version 2 looks good.
Tim
> Thanks!
>
> During testing, I found an intermittent race issue. The command line
> that runs the interim langtools version of javac still always points to
> the buildtools/interim-langtools dir of the normal build. This variable
> also needs to be rewritten in buildjdk-spec.gmk.in. New webrev, only
> changed in buildjdk-spec.gmk.in:
>
> http://cr.openjdk.java.net/~erikj/8217739/webrev.02/
>
> /Erik
>
> On 2019-06-04 07:53, Tim Bell wrote:
>> Erik:
>>
>> Looks good.
>>
>> Tim
>>
>>> This is a fix for a problem brought up on this list [1]. The main issue
>>> is that when cross compiling, and creating a buildjdk during the build,
>>> the UnixConstants.java cannot necessarily be reused between the target
>>> JDK and the buildjdk. While investigating this, I came to the conclusion
>>> that we really should stop trying to reuse anything between the buildjdk
>>> and target JDK. It's just becoming too complex to maintain (due to the
>>> intricate interactions with the interim-image, generate-link-opt-data
>>> and exploded-image-optimize targets, causing circular dependencies and
>>> endless incremental rebuilds).
>>>
>>> So this fix simply removes all the reuse of buildtools, gensrc and java
>>> compilation when creating a buildjdk. Hopefully this is making Main.gmk
>>> a bit less convoluted.
>>>
>>> While working on this, I came up with the idea of adding a log prefix
>>> functionality, to more easily discern which log lines were printed by
>>> the buildjdk build and which were part of the normal build. I liked this
>>> a lot so including that in the same fix, and applied it to the bootcycle
>>> build as well.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8217739
>>>
>>> Webrev: http://cr.openjdk.java.net/~erikj/8217739/webrev.01/index.html
>>>
>>> /Erik
>>>
>>> [1]
>>> http://mail.openjdk.java.net/pipermail/build-dev/2019-January/024729.html
>>>
>>
>>
>>
More information about the build-dev
mailing list