Re-submit ELF: Report multiple errors from the driver.

This reverts r259395 which reverted r259143.

llvm-svn: 259572
diff --git a/lld/ELF/DriverUtils.cpp b/lld/ELF/DriverUtils.cpp
index 52e4633..bbe5f9f 100644
--- a/lld/ELF/DriverUtils.cpp
+++ b/lld/ELF/DriverUtils.cpp
@@ -66,7 +66,7 @@
   // Parse options and then do error checking.
   opt::InputArgList Args = Table.ParseArgs(Vec, MissingIndex, MissingCount);
   if (MissingCount)
-    fatal(Twine("missing arg value for \"") + Args.getArgString(MissingIndex) +
+    error(Twine("missing arg value for \"") + Args.getArgString(MissingIndex) +
           "\", expected " + Twine(MissingCount) +
           (MissingCount == 1 ? " argument.\n" : " arguments"));
 
@@ -74,8 +74,7 @@
   for (auto *Arg : Unknowns)
     warning("warning: unknown argument: " + Arg->getSpelling());
   if (Unknowns.begin() != Unknowns.end())
-    fatal("unknown argument(s) found");
-
+    error("unknown argument(s) found");
   return Args;
 }
 
@@ -104,7 +103,7 @@
     if (!S.empty())
       return S;
   }
-  fatal("Unable to find library -l" + Path);
+  return "";
 }
 
 // Makes a path by concatenating Dir and File.