Index: test/Driver/android-standalone.cpp
===================================================================
--- test/Driver/android-standalone.cpp	(revision 164838)
+++ test/Driver/android-standalone.cpp	(working copy)
@@ -15,3 +15,18 @@
 // CHECK: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.4.3"
 // CHECK: "-L{{.*}}/lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/lib"
 // CHECK: "-L{{.*}}/sysroot/usr/lib"
+//
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN:     -target mipsel-linux-android \
+// RUN:     -B%S/Inputs/basic_android_tree \
+// RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
+// RUN:   | FileCheck --check-prefix=CHECK-MIPS %s
+// CHECK-MIPS: {{.*}}clang{{.*}}" "-cc1"
+// CHECK-MIPS: "-internal-isystem" "{{.*}}/mipsel-linux-android/include/c++/4.4.3"
+// CHECK-MIPS: "-internal-isystem" "{{.*}}/mipsel-linux-android/include/c++/4.4.3/mipsel-linux-android"
+// CHECK-MIPS: "-internal-externc-isystem" "{{.*}}/sysroot/include"
+// CHECK-MIPS: "-internal-externc-isystem" "{{.*}}/sysroot/usr/include"
+// CHECK-MIPS: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-MIPS: "-L{{.*}}/lib/gcc/mipsel-linux-android/4.4.3"
+// CHECK-MIPS: "-L{{.*}}/lib/gcc/mipsel-linux-android/4.4.3/../../../../mipsel-linux-android/lib"
+// CHECK-MIPS: "-L{{.*}}/sysroot/usr/lib"
Index: test/Driver/Inputs/basic_android_tree/mipsel-linux-android/include/c++/4.4.3/.keep
===================================================================
Index: test/Driver/Inputs/basic_android_tree/mipsel-linux-android/lib/.keep
===================================================================
Index: test/Driver/Inputs/basic_android_tree/mipsel-linux-android/bin/.keep
===================================================================
Index: test/Driver/linux-ld.c
===================================================================
--- test/Driver/linux-ld.c	(revision 164838)
+++ test/Driver/linux-ld.c	(working copy)
@@ -430,6 +430,55 @@
 // CHECK-ANDROID-PIE-NOT: "gcc_s"
 // CHECK-ANDROID-PIE: "{{.*}}/crtend_android.o"
 //
+// Test linker invocation on Android MIPS.
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN:     -target mipsel-linux-android \
+// RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
+// RUN:   | FileCheck --check-prefix=CHECK-MIPS-ANDROID %s
+// CHECK-MIPS-ANDROID: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-MIPS-ANDROID: "{{.*}}/crtbegin_dynamic.o"
+// CHECK-MIPS-ANDROID: "-L[[SYSROOT]]/usr/lib"
+// CHECK-MIPS-ANDROID-NOT: "gcc_s"
+// CHECK-MIPS-ANDROID: "-lgcc"
+// CHECK-MIPS-ANDROID-NOT: "gcc_s"
+// CHECK-MIPS-ANDROID: "{{.*}}/crtend_android.o"
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN:     -target mipsel-linux-android \
+// RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
+// RUN:     -shared \
+// RUN:   | FileCheck --check-prefix=CHECK-MIPS-ANDROID-SO %s
+// CHECK-MIPS-ANDROID-SO: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-MIPS-ANDROID-SO: "{{.*}}/crtbegin_so.o"
+// CHECK-MIPS-ANDROID-SO: "-L[[SYSROOT]]/usr/lib"
+// CHECK-MIPS-ANDROID-SO-NOT: "gcc_s"
+// CHECK-MIPS-ANDROID-SO: "-lgcc"
+// CHECK-MIPS-ANDROID-SO-NOT: "gcc_s"
+// CHECK-MIPS-ANDROID-SO: "{{.*}}/crtend_so.o"
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN:     -target mipsel-linux-android \
+// RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
+// RUN:     -static \
+// RUN:   | FileCheck --check-prefix=CHECK-MIPS-ANDROID-STATIC %s
+// CHECK-MIPS-ANDROID-STATIC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-MIPS-ANDROID-STATIC: "{{.*}}/crtbegin_static.o"
+// CHECK-MIPS-ANDROID-STATIC: "-L[[SYSROOT]]/usr/lib"
+// CHECK-MIPS-ANDROID-STATIC-NOT: "gcc_s"
+// CHECK-MIPS-ANDROID-STATIC: "-lgcc"
+// CHECK-MIPS-ANDROID-STATIC-NOT: "gcc_s"
+// CHECK-MIPS-ANDROID-STATIC: "{{.*}}/crtend_android.o"
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN:     -target mipsel-linux-android \
+// RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
+// RUN:     -pie \
+// RUN:   | FileCheck --check-prefix=CHECK-MIPS-ANDROID-PIE %s
+// CHECK-MIPS-ANDROID-PIE: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
+// CHECK-MIPS-ANDROID-PIE: "{{.*}}/crtbegin_dynamic.o"
+// CHECK-MIPS-ANDROID-PIE: "-L[[SYSROOT]]/usr/lib"
+// CHECK-MIPS-ANDROID-PIE-NOT: "gcc_s"
+// CHECK-MIPS-ANDROID-PIE: "-lgcc"
+// CHECK-MIPS-ANDROID-PIE-NOT: "gcc_s"
+// CHECK-MIPS-ANDROID-PIE: "{{.*}}/crtend_android.o"
+//
 // Check linker invocation on Debian 6 MIPS 32/64-bit.
 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
 // RUN:     -target mipsel-linux-gnu \
Index: lib/Driver/ToolChains.cpp
===================================================================
--- lib/Driver/ToolChains.cpp	(revision 164838)
+++ lib/Driver/ToolChains.cpp	(working copy)
@@ -1153,7 +1153,10 @@
   static const char *const MIPSLibDirs[] = { "/lib" };
   static const char *const MIPSTriples[] = { "mips-linux-gnu" };
   static const char *const MIPSELLibDirs[] = { "/lib" };
-  static const char *const MIPSELTriples[] = { "mipsel-linux-gnu" };
+  static const char *const MIPSELTriples[] = {
+    "mipsel-linux-gnu",
+    "mipsel-linux-android"
+  };
 
   static const char *const MIPS64LibDirs[] = { "/lib64", "/lib" };
   static const char *const MIPS64Triples[] = { "mips64-linux-gnu" };
