[LLVMdev] Non-deterministic builds

Chris Lattner clattner at apple.com
Fri Nov 12 09:48:07 PST 2010


Oh, I should point out that using randomness is the unfortunate part, but you can get deterministic builds by passing -frandom-seed=0 to clang and/or gcc.

-Chris


On Nov 12, 2010, at 9:19 AM, Chris Lattner wrote:

> Yes, this is controlled by the -frandom-seed flag.  Sadly, it is expected behavior.
> 
> -Chris
> 
> On Nov 12, 2010, at 7:10 AM, Sebastian Redl <sebastian.redl at getdesigned.at> wrote:
> 
>> On 12.11.2010 15:26, Erik Cederstrand wrote:
>>> I have noticed that two consecutive builds of clang, clang++ and tblgen don't produce identical binaries (as in md5 sums) on identical source code (I'm on FreeBSD). I ran strings(1) on the two clang binaries, and I get the following:
>>> 251862c251862
>>> <  N4llvm3sys11ThreadLocalIKN144_GLOBAL__N__usr_home_erik_freebsd_head_src_lib_clang_libllvmsupport_.._.._.._contrib_llvm_lib_Support_CrashRecoveryContext.cpp_00000000_BFDB511124CrashRecoveryContextImplEEE
>>> ---
>>>> N4llvm3sys11ThreadLocalIKN144_GLOBAL__N__usr_home_erik_freebsd_head_src_lib_clang_libllvmsupport_.._.._.._contrib_llvm_lib_Support_CrashRecoveryContext.cpp_00000000_A7307A7424CrashRecoveryContextImplEEE
>>> 
>> Urgh, are we using random elements in the unnamed namespace symbol 
>> generation?
>> 
>> Sebastian
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list