<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 25, 2011, at 5:23 PM, Carl Norum wrote:</div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>Takumi recently submitted a patch to do the exact same thing. I think he managed to avoid the new instructions. I think his solution was better, assuming it works for you.</div></div></div></blockquote><div><br></div><div>It very well might; I sort of inherited this code, so I'll have to dig around a bit before figuring that all out.  Has that patch gone into TOT, and if not, where can I get it from?</div></div></div></blockquote><div><br></div><div>I think this was his latest attempt: <a href="http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110110/115159.html">http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110110/115159.html</a></div><div>The changes haven't been committed, AFAIK.</div></div></div></blockquote><div><br></div><div>This patch worked great here - I haven't done exhaustive testing, but I could build EFI and boot/sleep/wake a couple of machines with the resulting binaries.  Is it expected that these patches will get committed sometime in the near future?</div></div></div></blockquote><div><br></div><div>Takumi?</div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>Let me know what you think about the attached Mach-O patches! </div></div></div></blockquote></div><br><div>Somebody else should look at those.</div><div><br></div><div>Some of the conditionals look suspicious:</div><div><br></div><div><div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000">+  if (Subtarget->isTargetDarwin() || Subtarget->isTargetMacho()) {</font></div><div><font class="Apple-style-span" color="#000000">     if (is64Bit)</font></div><div><font class="Apple-style-span" color="#000000">       return new X8664_MachoTargetObjectFile();</font></div><div><font class="Apple-style-span" color="#000000">     return new TargetLoweringObjectFileMachO();</font></div></blockquote></div></div><div><div><br></div></div><div>Should that be just Subtarget->isTargetMacho()?</div><div><br></div><div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000">-  if (TM.getSubtarget<X86Subtarget>().isTargetCOFF())</font></div><div><font class="Apple-style-span" color="#000000">+  if (Subtarget->isTargetCOFF() && !Subtarget->isTargetMacho())</font></div></blockquote></div><div><div><br></div></div><div>Can COFF and Macho be true at the same time?</div><div><br></div><div>/jakob</div><div><br></div></body></html>