diff --git a/contrib/llvm/tools/lld/ELF/Relocations.cpp b/contrib/llvm/tools/lld/ELF/Relocations.cpp index e5fcb2dcc582..9daec86fce1a 100644 --- a/contrib/llvm/tools/lld/ELF/Relocations.cpp +++ b/contrib/llvm/tools/lld/ELF/Relocations.cpp @@ -790,7 +790,7 @@ static void addGotEntry(SymbolBody &Sym, bool Preemptible) { DynType = Target->GotRel; } - bool Constant = !Preemptible && !(Config->Pic && !isAbsolute(Sym)); + bool Constant = !Preemptible && (!Config->Pic || isAbsolute(Sym)); if (!Constant) In::RelaDyn->addReloc( {DynType, InX::Got, Off, !Preemptible, &Sym, 0});