<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Feb 9, 2018 at 11:10 AM, Rafael Avila de Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">Brooks Moses <<a href="mailto:bmoses@google.com">bmoses@google.com</a>> writes:<br>
> On Fri, Feb 9, 2018 at 6:54 AM, Rafael Avila de Espindola <<br>
> <a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:<br>
>> Any news? I would really like to recommit the patch.<br>
>><br>
>> It seems unreasonable to hold back a llvm patch because another software<br>
>> has an incomplete linker implementation, specially when a patch is<br>
>> available.<br>
><br>
> Sorry for the delay -- my colleague reports that he's testing this now.  (I<br>
> think he was out yesterday.)<br></span></blockquote><div><br></div><div>Update: We've tested this on several machines and it appears to be working.</div><div><br></div><div>However, one of my Grub-developer coworkers is concerned that this may not be the right approach.  I personally think you're right, but I'm not anywhere near an expert, so I've filed a bug against the Grub project explaining the issue, so that you and my coworker and the other upstream Grub people can all get on the <span style="font-size:12.8px">same page (whatever page that is) about how this should work.  The bug is here: <a href="https://savannah.gnu.org/bugs/index.php?53113">https://savannah.gnu.org/bugs/index.php?53113</a></span></div><div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">If possible, I'd like to wait on re-committing this until we know this approach is something the Grub developers are happy with (regardless of when/where/which patch lands), so that we have a path forward that we know won't get broken by Grub going a different direction.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">> Do you have a reference for the part of the ELF ABI that describes why the<br>
> PLT32 references should be treated as PC32 references here?<br>
<br>
</span>It comes from the definition of the plt in the PSABI:<br>
<br>
<a href="https://github.com/hjl-tools/x86-psABI/wiki/intel386-psABI-1.1.pdf" rel="noreferrer" target="_blank">https://github.com/hjl-tools/<wbr>x86-psABI/wiki/intel386-psABI-<wbr>1.1.pdf</a><br>
<br>
Since the final function is know, calling the plt is the same is calling<br>
the final function.<br></blockquote><div><br></div><div>Thanks!  I've passed that along in hopes of convincing my coworker that this doesn't require a full GOT implementation in Grub.  :)</div><div><br></div><div>- Brooks</div><div><br></div></div></div></div>