Displaying 1 result from an estimated 1 matches for "isgnuifunc".
2018 Aug 21
7
[lld] avoid emitting PLT entries for ifuncs
...54d87e43 100644
--- a/ELF/Relocations.cpp
+++ b/ELF/Relocations.cpp
@@ -361,6 +361,10 @@ static bool isStaticLinkTimeConstant(RelExpr E, RelType Type, const Symbol &Sym,
R_TLSLD_HINT>(E))
return true;
+ // The computation involves output from the ifunc resolver.
+ if (Sym.isGnuIFunc() && Config->ZIfuncnoplt)
+ return false;
+
// These never do, except if the entire file is position dependent or if
// only the low bits are used.
if (E == R_GOT || E == R_PLT || E == R_TLSDESC)
@@ -808,6 +812,10 @@ static void processRelocAux(InputSectionBase &Sec, RelE...