<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 8, 2013 at 6:03 PM, Rui Ueyama <span dir="ltr"><<a href="mailto:ruiu@google.com" target="_blank" class="cremed">ruiu@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'd use SHA128 or MD5 as the linker does not handle hostile input. I think as long as it's collision free, it should suffice.</blockquote>
</div><br>FWIW, the need for a collision free hash -- or *digest*, my preferred term -- is well known.</div><div class="gmail_extra"><br></div><div class="gmail_extra" style>Interestingly newer, supposedly "more secure" digest algorithms are also very often significantly faster. I don't think we want any of the ones mentioned here, I think we want one of the candidates is the SHA3 competition which had truly stellar software implementation throughput. I'm hoping to add support for such a digest algorithm to LLVM soon, as there are many folks who want to consume this information: modules, merge function pass, debug info, and the linker.</div>
</div>