diff --git a/lld/ELF/Relocations.cpp b/lld/ELF/Relocations.cpp --- a/lld/ELF/Relocations.cpp +++ b/lld/ELF/Relocations.cpp @@ -1442,7 +1442,7 @@ } } else if (needsPlt(expr)) { sym.setFlags(NEEDS_PLT); - } else if (LLVM_UNLIKELY(isIfunc)) { + } else if (LLVM_UNLIKELY(!isIfunc)) { sym.setFlags(HAS_DIRECT_RELOC); }