<div dir="ltr">If you are saying that, if a main program has a function foo and some DSO that's linked against it also provides foo, then the main executable needs a GOT entry for foo, then LLD already does that.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 25, 2017 at 1:58 PM, Joerg Sonnenberger via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, Apr 24, 2017 at 06:21:11PM -0700, Rui Ueyama wrote:<br>
> I used __progname as an example but it should work for any symbols required<br>
> by DSOs and exported by main executables.<br>
><br>
> What is the case of copy relocations?<br>
<br>
</span>The problem is not just undefined references, but (common) definitions<br>
in the main program also require the symbol to be made exported. Similar<br>
for non-GOT-safe references to symbols defined in linked libraries.<br>
<div class="HOEnZb"><div class="h5"><br>
Joerg<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div>