[PATCH] D38554: Fixed ppc32 function relocations in non-pic mode

Hal Finkel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 4 17:34:03 PDT 2017


hfinkel added a comment.

In https://reviews.llvm.org/D38554#888793, @joerg wrote:

> Let's start with the obvious: I have no idea why you need this code at all. NetBSD builds a mix of static, PIC and PIE code using GNU ld without hitting any unsupported relocations. As I said before, the normal ABI on PowerPC is mostly PIC by default. I wonder if the root of your problem is that you want EABI and not the SYSV ABI.


Joerg, do you believe that use of the PLT should be considered a feature independent of PIC? And, in this case, a feature that we should always use? If so, why?

I'll point out that the PowerPC Processor ABI Supplement begins the Procedure Linkage Table section by stating, "Much as the global offset table redirects position-independent address calculations to absolute locations, the procedure linkage table redirects position-independent function calls to absolute locations. " This, and further text in that section, do imply to me that the PLT is a feature associated with PIC. Aside from everything else, there is overhead in use of the PLT, and use of non-PIC/static linking is generally assumed to elide those overheads.


https://reviews.llvm.org/D38554





More information about the llvm-commits mailing list