<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 13, 2013 at 10:31 PM, Nick Kledzik <span dir="ltr"><<a href="mailto:kledzik@apple.com" target="_blank">kledzik@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div class="im"><br><div><div>On Nov 13, 2013, at 6:17 PM, Sean Silva <<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>> wrote:</div>
<br><blockquote type="cite"><blockquote class="gmail_quote" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div>> What do you want me to build?  LLVM?  Clang?  Both plus test suite?<br><br></div>Personally, I see more value in building LLVM, Clang, possibly lld,<br></blockquote><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<br></div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
I think LLD would especially benefit from testing on other architectures, since LLD is the most prone to accidentally having something architecture-dependent (e.g. assuming pointers are 64 bits, endianness, alignment, etc) and so testing it on more architectures will turn up bugs.</div>
</blockquote><br></div></div><div>Yes, lld reads binary files so gets all the potential bugs that comes with that.  Mach-O binary format is challenging because it uses bit fields structs and the compiler switches the direction of bit fields on big vs little endian archs!</div>
</div></blockquote><div><br></div><div>Ouch...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div>That said, isn’t the ARM machine 32-bit little endian?  Other than possible alignment issues, it has the same coverage as i386.   What lld needs is big endian build machines.  </div>
</div></blockquote><div><br></div><div>Yeah, big endian would really be nice (ppc, sparc? we must have *some* big-endian builders...), but just the alignment checking is still a worthwhile step up from the status quo I think (although IIRC UBSan also catches these?).</div>
<div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class="HOEnZb"><font color="#888888"><div>
<br></div><div>-Nick</div><div><br></div></font></span></div></blockquote></div><br></div></div>