diff --git a/tools/gccld/GenerateCode.cpp b/tools/gccld/GenerateCode.cpp
index a75d6f1..fa054e7 100644
--- a/tools/gccld/GenerateCode.cpp
+++ b/tools/gccld/GenerateCode.cpp
@@ -300,6 +300,7 @@
                            const sys::Path &llc) {
   // Run LLC to convert the bytecode file into assembly code.
   std::vector<const char*> args;
+  args.push_back(llc.c_str());
   args.push_back("-f");
   args.push_back("-o");
   args.push_back(OutputFilename.c_str());
@@ -313,9 +314,10 @@
 /// specified bytecode file.
 int llvm::GenerateCFile(const std::string &OutputFile,
                         const std::string &InputFile,
-                        const sys::Path &llc ) {
+                        const sys::Path &llc) {
   // Run LLC to convert the bytecode file into C.
   std::vector<const char*> args;
+  args.push_back(llc.c_str());
   args.push_back("-march=c");
   args.push_back("-f");
   args.push_back("-o");
@@ -372,6 +374,7 @@
   //  and linker because we don't know where to put the _start symbol.
   //  GCC mysteriously knows how to do it.
   std::vector<const char*> args;
+  args.push_back(gcc.c_str());
   args.push_back("-fno-strict-aliasing");
   args.push_back("-O3");
   args.push_back("-o");
diff --git a/tools/llvm-ld/llvm-ld.cpp b/tools/llvm-ld/llvm-ld.cpp
index f19c079..944f23d 100644
--- a/tools/llvm-ld/llvm-ld.cpp
+++ b/tools/llvm-ld/llvm-ld.cpp
@@ -221,10 +221,11 @@
                             const sys::Path &llc) {
   // Run LLC to convert the bytecode file into assembly code.
   std::vector<const char*> args;
-  args.push_back( "-f");
-  args.push_back( "-o");
-  args.push_back( OutputFilename.c_str() );
-  args.push_back( InputFilename.c_str() );
+  args.push_back(llc.c_str());
+  args.push_back("-f");
+  args.push_back("-o");
+  args.push_back(OutputFilename.c_str());
+  args.push_back(InputFilename.c_str());
   args.push_back(0);
 
   return sys::Program::ExecuteAndWait(llc,&args[0]);
@@ -237,11 +238,12 @@
                          const sys::Path &llc) {
   // Run LLC to convert the bytecode file into C.
   std::vector<const char*> args;
-  args.push_back( "-march=c");
-  args.push_back( "-f");
-  args.push_back( "-o");
-  args.push_back( OutputFile.c_str() );
-  args.push_back( InputFile.c_str() );
+  args.push_back(llc.c_str());
+  args.push_back("-march=c");
+  args.push_back("-f");
+  args.push_back("-o");
+  args.push_back(OutputFile.c_str());
+  args.push_back(InputFile.c_str());
   args.push_back(0);
   return sys::Program::ExecuteAndWait(llc, &args[0]);
 }
@@ -290,6 +292,7 @@
   //  and linker because we don't know where to put the _start symbol.
   //  GCC mysteriously knows how to do it.
   std::vector<const char*> args;
+  args.push_back(gcc.c_str());
   args.push_back("-fno-strict-aliasing");
   args.push_back("-O3");
   args.push_back("-o");
