diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index e315a2f..cae0766 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -39,6 +39,11 @@
                          const char *LinkingOutput) const {
   ArgStringList CmdArgs;
 
+  CmdArgs.push_back("-triple");
+  const char *TripleStr = 
+    Args.MakeArgString(getToolChain().getTripleString().c_str());
+  CmdArgs.push_back(TripleStr);
+
   if (isa<AnalyzeJobAction>(JA)) {
     assert(JA.getType() == types::TY_Plist && "Invalid output type.");
     CmdArgs.push_back("-analyze");
@@ -371,11 +376,6 @@
 
   Args.AddAllArgValues(CmdArgs, options::OPT_Xclang);
 
-  // FIXME: Always pass the full triple once we aren't concerned with
-  // ccc compat.
-  CmdArgs.push_back("-arch");
-  CmdArgs.push_back(getToolChain().getArchName().c_str());
-
   if (Output.getType() == types::TY_Dependencies) {
     // Handled with other dependency code.
   } else if (Output.isPipe()) {
