rnk added a comment.

In https://reviews.llvm.org/D39079#905395, @joerg wrote:

> Let me phrase it differently. What is this patch (and the matching backend 
> PR) supposed to achieve? There are effectively two ways to get rid of PLT 
> entries:
>  (1) Bind references locally. This is effectively what -Bsymbolic does and 
> what is breaking the ELF interposition rules.
>  (2) Do an indirect call via the GOT. Requires knowing what  an external 
> symbol is, making it non-attractive for anything but LTO, since it will 
> create performance issues for all non-local accesses (i.e. anything private).


This patch does 2. According to @tmsriram, clever linkers can turn the indirect 
call back into a nop+call_pcrel32. If this isn't universal, the user must know 
what their linker supports. I don't see how it causes performance issues for 
non-local calls, since the PLT will do a jump through the GOT anyway.


https://reviews.llvm.org/D39079



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to