<div dir="ltr">Great news! For lld, we've been careful to make output reproducible, and we've been making efforts to make it easy for cross build, so it feels to me that we are rewarded. If you need any help/questions, feel free to ask.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 27, 2019 at 3:08 PM Shi, Steven <<a href="mailto:steven.shi@intel.com">steven.shi@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_1971542141100207262WordSection1">
<p class="MsoNormal">Hi Rui,<u></u><u></u></p>
<p class="MsoNormal">Just let you know that we finally enabled the “cross os/host reproducible build” for Uefi firmware, which is to generate exactly same firmware release binary across different operating systems(e.g. Linux, Windows). The magic behind it is
 that we use the clang and llvm linker (lld) as the cross-OS build toolchain: <a href="https://github.com/lgao4/edk2/tree/CLANG9#cross-oshost-reproducible-build" target="_blank">
https://github.com/lgao4/edk2/tree/CLANG9#cross-oshost-reproducible-build</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">The “cross os/host reproducible build” is an extension for reproducible build (<a href="https://reproducible-builds.org/" target="_blank">https://reproducible-builds.org/</a>) and make the firmware binary to be real OS independent, which has several significant
 benefits for us:<u></u><u></u></p>
<p class="gmail-m_1971542141100207262MsoListParagraph"><u></u><span style="font-family:Symbol"><span>·<span style="font:7pt "Times New Roman"">        
</span></span></span><u></u>Cut the validation/testing effort for different OS built binaries.<u></u><u></u></p>
<p class="gmail-m_1971542141100207262MsoListParagraph"><u></u><span style="font-family:Symbol"><span>·<span style="font:7pt "Times New Roman"">        
</span></span></span><u></u>Harden firmware binary security, guarantee identical build results in different OS.<u></u><u></u></p>
<p class="gmail-m_1971542141100207262MsoListParagraph"><u></u><span style="font-family:Symbol"><span>·<span style="font:7pt "Times New Roman"">        
</span></span></span><u></u>Easily to support customer and reproduce their build or runtime failures<span lang="ZH-CN" style="font-family:宋体">。</span><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thank you again for your help in our enabling work. LLVM is really cool!<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks<u></u><u></u></p>
<p class="MsoNormal">Steven<u></u><u></u></p>
<p class="MsoNormal"><b><span style="font-size:12pt;font-family:Arial,sans-serif"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

</blockquote></div>