<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Oct 2, 2017 at 3:33 PM, Romain GEISSLER <span dir="ltr"><<a href="mailto:romain.geissler@amadeus.com" target="_blank">romain.geissler@amadeus.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> Le 3 oct. 2017 à 00:09, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> a écrit :<br>
><br>
> I read through the binutils mailing list thread, but I couldn't find the exact reason why making --hash-style=gnu default except MIPS wasn't a good idea.Do you mind if I ask you to explain it again for me?<br>
><br>
> Since lld is a new linker, we could make a bit more radical change than GNU ld can do, so I wonder if --hash-style=both is the right choice for us.<br>
<br>
</span>To be honest, I have no idea. I am much more on the user side of ld.bfd/ld.gold than the developer side. I know very little about the exact specific ELF ABI Michael Matz is referring to. I actually would expect you lld developers to have quite an good knowledge of it ;)<br></blockquote><div><br></div><div>There are old systems that do not support .gnu.hash sections, but among the systems lld support, I believe we can enable --hash-style=gnu except MIPS.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On my side, I do configure and/or patch all my linkers (bfd, gold and lld) to use the "gnu" hash-style by default, and I can only say that with a classical glibc environment, it works. The fact that some Linux distro are doing that too seems to be a good arguments that it is safe, at least when using glibc. The question is more whether lld seeks (size) optimization over correctness (wrt the ELF specification) ?<br></blockquote><div><br></div><div>I believe .hash section is optional, so an executable only with .gnu.hash is still valid in terms of the ELF specification even on a system that doesn't recognize .gnu.hash.</div><div><br></div><div>So, maybe making --hash-style=gnu a default option except MIPS is a reasonable choice for us? Any objection?</div></div></div></div>