Index: clang-3.0/tools/clang/lib/Driver/ToolChains.cpp
===================================================================
--- clang-3.0.orig/tools/clang/lib/Driver/ToolChains.cpp	2012-11-12 21:17:23.000000000 +0000
+++ clang-3.0/tools/clang/lib/Driver/ToolChains.cpp	2012-11-12 22:03:25.000000000 +0000
@@ -1785,6 +1785,19 @@
     if (llvm::sys::fs::exists(SysRoot + "/lib/x86_64-unknown-linux-gnu"))
       return "x86_64-unknown-linux-gnu";
     return TargetTriple.str();
+  case llvm::Triple::ppc:
+    if (llvm::sys::fs::exists(SysRoot + "/lib/powerpc-linux-gnu"))
+      return "powerpc-linux-gnu";
+    return TargetTriple.str();
+  case llvm::Triple::arm:
+    if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABI)
+      if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabi"))
+        return "arm-linux-gnueabi";
+    if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF)
+      if (llvm::sys::fs::exists(SysRoot + "/lib/arm-linux-gnueabihf"))
+        return "arm-linux-gnueabihf";
+    return TargetTriple.str();
+
   }
 }
 
