RFR: JDK-8241271 Make hotspot build reproducible

Erik Joelsson erik.joelsson at oracle.com
Thu Mar 19 18:01:44 UTC 2020


On 2020-03-19 10:20, Magnus Ihse Bursie wrote:
> Currently, it is not possible two make hotspot builds reproducible, 
> since the current date and time is always inserted using the special 
> macros __DATE__ and __TIME__. This patch makes it possible to override 
> these values from the build system, paving the way for making 
> re-builds of hotspot bit-by-bit identical.
>
I like the ability to achieve this.
> On linux/gcc, we can now actually get bit-by-bit identical builds of 
> libjvm.so (if not using precompiled headers), so I've updated the 
> baseline-cmp profiles and compare script to reflect this.
>
I'm not sure this is a good idea though. It means I can't reasonably 
compare to validate build changes that affect the precompiled header. 
Similarly, the COMPARE_BUILD make variable argument will not work unless 
you use both of these configure arguments.

Since compare.sh is generated through configure, perhaps these 
exceptions can be made conditional on if these configure arguments are 
setup correctly for a reproducible libjvm.so?

/Erik

> Bug: https://bugs.openjdk.java.net/browse/JDK-8241271
> WebRev: 
> http://cr.openjdk.java.net/~ihse/JDK-8241271-make-hotspot-reproducible/webrev.01
>
> /Magnus



More information about the build-dev mailing list