diff --git a/ELF/DriverUtils.cpp b/ELF/DriverUtils.cpp
index d8d317a..e51d02e 100644
--- a/ELF/DriverUtils.cpp
+++ b/ELF/DriverUtils.cpp
@@ -24,7 +24,6 @@
 #include "llvm/Option/Option.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/FileSystem.h"
-#include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/Path.h"
 #include "llvm/Support/Process.h"
 
@@ -140,9 +139,9 @@
 }
 
 void elf::printHelp() {
-  std::string Usage = formatv("{0} [options] file...", Config->ProgName).str();
-  ELFOptTable().PrintHelp(outs(), Usage.c_str(), "lld", false /*ShowHidden*/,
-                          true /*ShowAllAliases*/);
+  ELFOptTable().PrintHelp(
+      outs(), (Config->ProgName + " [options] file...").str().c_str(), "lld",
+      false /*ShowHidden*/, true /*ShowAllAliases*/);
   outs() << "\n";
 
   // Scripts generated by Libtool versions up to at least 2.4.6 (the most
diff --git a/lib/Driver/DarwinLdDriver.cpp b/lib/Driver/DarwinLdDriver.cpp
index 7521d6e..bbac230 100644
--- a/lib/Driver/DarwinLdDriver.cpp
+++ b/lib/Driver/DarwinLdDriver.cpp
@@ -44,7 +44,6 @@
 #include "llvm/Support/Error.h"
 #include "llvm/Support/ErrorOr.h"
 #include "llvm/Support/Format.h"
-#include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/Path.h"
@@ -384,9 +383,9 @@
         !parsedArgs.getLastArg(OPT_test_file_usage)) {
       // If no -arch and no options at all, print usage message.
       if (parsedArgs.size() == 0) {
-        std::string Usage =
-            llvm::formatv("{0} [options] file...", args[0]).str();
-        table.PrintHelp(llvm::outs(), Usage.c_str(), "LLVM Linker", false);
+        table.PrintHelp(llvm::outs(),
+                        (std::string(args[0]) + " [options] file...").c_str(),
+                        "LLVM Linker", false);
       } else {
         error("-arch not specified and could not be inferred");
       }
diff --git a/wasm/Driver.cpp b/wasm/Driver.cpp
index bbf9bcd..4079b11 100644
--- a/wasm/Driver.cpp
+++ b/wasm/Driver.cpp
@@ -24,7 +24,6 @@
 #include "llvm/Object/Wasm.h"
 #include "llvm/Option/ArgList.h"
 #include "llvm/Support/CommandLine.h"
-#include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/Path.h"
 #include "llvm/Support/Process.h"
 #include "llvm/Support/TargetSelect.h"
@@ -350,8 +349,9 @@
 
   // Handle --help
   if (Args.hasArg(OPT_help)) {
-    std::string Usage = formatv("{0} [options] file...", ArgsArr[0]).str();
-    Parser.PrintHelp(outs(), Usage.c_str(), "LLVM Linker", false);
+    Parser.PrintHelp(outs(),
+                     (std::string(ArgsArr[0]) + " [options] file...").c_str(),
+                     "LLVM Linker", false);
     return;
   }
 
