RFR: JDK-8217739: Cannot reuse java.base UnixConstants.java from target in BuildJDK when cross compiling

Tim Bell tim.bell at oracle.com
Tue Jun 4 14:53:40 UTC 2019


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