Howto build an old version of hotspot (pre forest consolidation)
Erik Joelsson
erik.joelsson at oracle.com
Mon Nov 13 16:43:52 UTC 2017
Hello Volker,
The recommended way of actually building source from pre-consolidation
is to clone a tree from that day and age (jdk9 in this case). That said,
it should be possible to build the consolidated repo as well (as long as
you are working in an OpenJDK only situation).
The merge of the repos is only actually correct at the tags. Between
tags, each old repo moves on its own, with the rest of the repos sitting
still on the last tag, then at the next tag, they are all merged
together again. So in your case (provided I got it all right), if you
first sync to jdk-9+104, that is a verified equivalent to the combined
tags of jdk-9+104 pre-consolidation. If you then sync to a hotspot
change after that, the rest of the repos should sit still at 104. This
does not guarantee that the consolidated repo builds on all or any of
those changes since we can't know which combination of changes were ever
actually a working set of tips in the old forest, except for the
promoted tags.
Also note that just because a change in the hotspot subtree has a higher
number than the tagged jdk-9+104, it does not necessarily mean it is a
descendant of jdk-9+104. Especially for hotspot, since it was merged
through one or two side forests, many of the new changes in 105 likely
have parents much older than that. To find the relevant list of hotspot
changes to try to build, you need to do a more advanced revset query,
looking for descendants of 104 and ancestors of 105. Many of these
changes will be merges that brought the actual changes in, typically
when the integrator brought 104 down from dev.
/Erik
On 2017-11-13 08:09, Volker Simonis wrote:
> Hi,
>
> can somebody provide any hints on how to build an older version of
> hotspot in the correct context?
>
> I have a reproducible hotspot crash which occurs with jdk-9+105 but
> not with jdk-9+104. I can sync to both tags and successfully build the
> corresponding jdk. But it seems impossible to update the hotspot repo
> to a change between jdk-9+104 and jdk-9+105 and build the complete
> jdk because I always get some wired build errors (no difference if the
> other repos are on jdk-9+104 or jdk-9+105). It seems that the hotspot
> revisions between jdk-9+104 and jdk-9+105 are based on some older
> versions of jdk. Is there s simple way how I can find out on which
> version?
>
> Thank you and best regards,
> Volker
More information about the build-dev
mailing list