Add `-z nocopyreloc` option.

This option disable creating copy relocations. ld.bfd and ld.gold
have the same option.

llvm-svn: 295772
diff --git a/lld/ELF/Relocations.cpp b/lld/ELF/Relocations.cpp
index defbec4..0842331 100644
--- a/lld/ELF/Relocations.cpp
+++ b/lld/ELF/Relocations.cpp
@@ -543,8 +543,14 @@
   if (Body.isObject()) {
     // Produce a copy relocation.
     auto *B = cast<SharedSymbol<ELFT>>(&Body);
-    if (!B->NeedsCopy)
+    if (!B->NeedsCopy) {
+      if (Config->ZNocopyreloc)
+        error(S.getLocation(RelOff) + ": unresolvable relocation " + toString(Type)
+              + " against symbol '" + toString(*B) +
+              "'; recompile with -fPIC or remove '-z nocopyreloc'");
+
       addCopyRelSymbol(B);
+    }
     return Expr;
   }
   if (Body.isFunc()) {