<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jul 3, 2016 at 5:49 PM, Michael Lewis <span dir="ltr"><<a href="mailto:don.apoch@gmail.com" target="_blank">don.apoch@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Sun, Jul 3, 2016 at 2:17 PM, Hayden Livingston <span dir="ltr"><<a href="mailto:halivingston@gmail.com" target="_blank">halivingston@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">For JITs it would appear that there is a patch needed for some kind of<br>
relocations.<br>
<br>
<a href="https://llvm.org/bugs/show_bug.cgi?id=24233" rel="noreferrer" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=24233</a><br>
<br>
Is the patch really needed? What does it do? I'm not an expert here so asking.<br></blockquote><div><br></div><div><br></div></span><div>I'm not really interested in the JIT case as I said originally, so I can't answer that question.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<div><div><span class=""><br>
On Sun, Jul 3, 2016 at 2:48 AM, David Majnemer via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></span><span class="">
> I can confirm that LLVM emits correct data when used in an AoT configuration<br>
> for x64, exception handling would be totally broken without it.<br>
><br></span></div></div></blockquote><div><br></div><div><br></div><div>Two points of clarification:</div><div><br></div><div> - Are you talking about Win64 or just x64 in general (i.e. *nix/MacOS)?</div></div></div></div></blockquote><div><br></div><div><div>I don't think many on the Unix side of things would refer to x86_64 as x64.  Win64 is ambiguous because there have been other, non x64, implementations of Windows (IA64, ARM64).  I am referring to the x64 implementation of Win64 :)</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> Again given the presence of bugs going back to 2015 (including one linked in this thread)</div></div></div></div></blockquote><div><br></div><div>The issue linked to, PR24233, has nothing to do with the static compiler workflow.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> and other scant data from the list, I really can't tell what the expected state of this functionality is on Win64.</div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div> - Are you referring to data generated by LLVM that is embedded in COFF object files and then placed in the binary image by the linker?</div></div></div></div></blockquote><div><br></div><div><div>LLVM's MC layer will give you an object file with code and associated pdata/xdata.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> This data is at a minimum relocated by link.exe on Windows as near as I can tell. I do not want a dependency on link.exe. I can handle doing my own relocations prior to emitting the final image, but I want to know if there's a turnkey implementation of this already or if I have to roll my own here.</div></div></div></div></blockquote><div><br></div><div>The code in RuntimeDyldCOFFX86_64 is responsible for making a pre-linked object file loadable.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>Thanks,</div><div><br></div><div><br></div><div><br></div><div> - Mike</div><div><br></div><div><br></div><div>  </div></div></div></div>
</blockquote></div><br></div></div>