<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Sean et al,<div><br></div><div>Thanks for pinging me to join the conversation.  </div><div><br></div><div>I'm adding a few of my colleagues to the group as well.  Aaron Lint has been using LLVM's disassembler for one of our products.  He and Gordon Keiser have upstreamed a few backend fixes over the years.  So this touches on an area where they have more expertise. I will briefly comment on the security side of things.</div><div><br></div><div>There is value in randomization of instruction layout, and we have built a successful product offering which goes beyond instruction randomization.  At Arxan, we believe in defense in depth and randomization of program appearance and behavior.  Our product's are based on Dr. Chang's research [1].   And of course, we've patented it [2].</div><div><br></div><div>This patch doesn't seem to add value to the broad LLVM community, and it feels more like offloading the tedious merges with an internal branch.  I feel this pain on a weekly basis, but as of yet there's no clear way to "plugin" add-ons to the compiler framework. Though with the modular codebase, I suspect it would be trivial to write a framework which decouples internals and allows registration of machine code functions and the like.</div><div><br></div><div>I'd suggest the patch not go in, only because there isn't sufficient value in adding this code.  The precedent of course makes it difficult for me and my team(s) to upstream similar patches.  We try to keep our patches focused on broadly applicable code areas. This patch is not benefiting any x86 users, and at the same time not directly affecting them.  However, there is a real cost in maintaining it, and it would be a shame if after 2015 it were ultimately reverted.  Thus since the value seems to be limited, and the cost appears to exceed value, I suggest we err on the side of omission.</div><div><br></div><div>Sincerely,</div><div><br></div><div>Joe</div><div apple-content-edited="true">
<div class="" style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="" style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="" style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="" style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="" style="font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; font-size: 9px; "><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><font class=""><span class="Apple-style-span" style="color: rgb(0, 0, 0); -webkit-text-decorations-in-effect: underline;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><font face="Verdana" color="#052090" class="Apple-style-span"><b class="">______________________________</b></font></div><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><font face="Verdana" color="#052090" class="Apple-style-span"><b class="">Joe Abbey</b></font></div><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><font face="Verdana" color="#052090" class="Apple-style-span">Senior Director of Product Development</font></div><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><font face="Verdana" color="#052090" class="Apple-style-span">Arxan Technologies</font></div><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><font class="Apple-style-span"><a href="mailto:jabbey@arxan.com" class=""><font face="Verdana" color="#0433ff" class="Apple-style-span">jabbey@arxan.com</font></a><font class="Apple-style-span" style="font-family: Calibri, sans-serif; "> </font></font><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><span class="Apple-style-span" style="-webkit-text-decorations-in-effect: underline; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><font face="Verdana" class="Apple-style-span"><a href="http://www.arxan.com/" class="" style="color: rgb(0, 0, 0); "><font color="#ff9324" class="Apple-style-span">www.arxan.com</font></a></font></span></span></span></span></div></span></div></span></div></span></div></span></div></span></span></span><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; -webkit-text-decorations-in-effect: underline;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><font face="Verdana" class="Apple-style-span"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div class="" style="color: rgb(169, 169, 169); font-family: Verdana; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><font class="">Protecting the App Economy™</font></div></span></div></span></div></span></div></div></font></span></span></span></span></font></div></span></div></div></div></div></div>
</div>
<br><div><div>[1] <a href="http://dl.acm.org/citation.cfm?id=734775">http://dl.acm.org/citation.cfm?id=734775</a></div><div>[2] <a href="http://pimg-fpiw.uspto.gov/fdd/97/570/077/0.pdf">http://pimg-fpiw.uspto.gov/fdd/97/570/077/0.pdf</a></div><div><br></div></div></body></html>