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