Delete needsDynRelative.

It is now redundant. Writer.cpp can reason that 2 dynamic relocations
are needed: one to find the final got entry address and one to fill the
got entry.

llvm-svn: 266876
diff --git a/lld/ELF/Target.cpp b/lld/ELF/Target.cpp
index 48c5f6a..98c7a25 100644
--- a/lld/ELF/Target.cpp
+++ b/lld/ELF/Target.cpp
@@ -84,7 +84,6 @@
                 int32_t Index, unsigned RelOff) const override;
   bool isRelRelative(uint32_t Type) const override;
   bool needsCopyRelImpl(uint32_t Type) const override;
-  bool needsDynRelative(uint32_t Type) const override;
   bool needsPltImpl(uint32_t Type) const override;
   void relocateOne(uint8_t *Loc, uint32_t Type, uint64_t Val) const override;
 
@@ -510,10 +509,6 @@
   write32le(Loc, Val);
 }
 
-bool X86TargetInfo::needsDynRelative(uint32_t Type) const {
-  return Config->Shared && Type == R_386_TLS_IE;
-}
-
 void X86TargetInfo::relaxTlsGdToLe(uint8_t *Loc, uint32_t Type,
                                    uint64_t Val) const {
   // GD can be optimized to LE:
@@ -1166,6 +1161,7 @@
   case R_AARCH64_TLSLE_ADD_TPREL_HI12:
   case R_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
   case R_AARCH64_TSTBR14:
+  case R_AARCH64_LD64_GOT_LO12_NC:
     return true;
   }
 }