Looks good!

/Erik

On 2020-03-20 03:58, Magnus Ihse Bursie wrote:
On 2020-03-19 19:01, Erik Joelsson wrote:
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?

Good thinking! I did not think of this possibility. And yes, I too did not like the current solution, but could think of no way around it. Here's an improved webrev.

WebRev: http://cr.openjdk.java.net/~ihse/JDK-8241271-make-hotspot-reproducible/webrev.02

Technically, you can make this fail by setting HOTSPOT_BUILD_TIME but to different values, but hey, there's no need to make this idiot-proof.

/Magnus

/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

Reply via email to