<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 3, 2016, at 1:11 PM, Sean Silva via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Tue, May 3, 2016 at 8:57 AM, Chris Bieneman via llvm-dev <span dir="ltr" class=""><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello LLVM-Dev,<br class="">
<br class="">
Today if a user checks out LLVM, configures with no options specified, and builds the result is non-deterministic. Meaning if you clean and build again the binaries are not identical. This impacts all target platforms equally and is caused by the default value of LLVM_ENABLE_TIMESTAMPS being On.<br class="">
<br class="">
I believe this is incorrect behavior, and I’m curious what the wider community thinks.<br class="">
<br class="">
It is my belief that the default LLVM configuration (meaning no options specified) should be deterministic, and that any option in our build/configuration system that can impact determinism should be disabled by default.<br class="">
<br class="">
I would like to hold this as a central requirement for build system changes.<br class=""></blockquote><div class=""><br class=""></div><div class="">+1 for determinism</div></div></div></div></div></blockquote><br class=""></div><div>+1</div><div><br class=""></div><div>-Chris</div><br class=""></body></html>