Index: test/Driver/android.c
===================================================================
--- test/Driver/android.c	(revision 0)
+++ test/Driver/android.c	(revision 0)
@@ -0,0 +1,21 @@
+// Test Android Toolchain Detection
+
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o \
+// RUN:     -target arm-linux-androideabi \
+// RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-ANDROID-ARM %s
+// CHECK-ANDROID-ARM: "{{.*}}/Inputs/basic_android_tree/{{.*}}/arm-linux-androideabi/bin/as"
+// CHECK-ANDROID-ARM: "{{.*}}/Inputs/basic_android_tree/{{.*}}/arm-linux-androideabi/bin/ld"
+
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o \
+// RUN:     -target mipsel-linux-android \
+// RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-ANDROID-MIPS %s
+// CHECK-ANDROID-MIPS: "{{.*}}/Inputs/basic_android_tree/{{.*}}/mipsel-linux-android/bin/as"
+// CHECK-ANDROID-MIPS: "{{.*}}/Inputs/basic_android_tree/{{.*}}/mipsel-linux-android/bin/ld"
+
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o \
+// RUN:     -target i686-linux-android \
+// RUN:     -gcc-toolchain %S/Inputs/basic_android_tree 2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-ANDROID-X86 %s
+// CHECK-ANDROID-X86: "{{.*}}/Inputs/basic_android_tree/{{.*}}/i686-linux-android/bin/ld"
Index: test/Driver/Inputs/basic_android_tree/mipsel-linux-android/bin/ld
===================================================================

Property changes on: test/Driver/Inputs/basic_android_tree/mipsel-linux-android/bin/ld
___________________________________________________________________
Added: svn:executable
   + *

Index: test/Driver/Inputs/basic_android_tree/mipsel-linux-android/bin/as
===================================================================

Property changes on: test/Driver/Inputs/basic_android_tree/mipsel-linux-android/bin/as
___________________________________________________________________
Added: svn:executable
   + *

Index: test/Driver/Inputs/basic_android_tree/i686-linux-android/bin/ld
===================================================================

Property changes on: test/Driver/Inputs/basic_android_tree/i686-linux-android/bin/ld
___________________________________________________________________
Added: svn:executable
   + *

Index: test/Driver/Inputs/basic_android_tree/i686-linux-android/bin/ar
===================================================================

Property changes on: test/Driver/Inputs/basic_android_tree/i686-linux-android/bin/ar
___________________________________________________________________
Added: svn:executable
   + *

Index: test/Driver/Inputs/basic_android_tree/arm-linux-androideabi/bin/ld
===================================================================

Property changes on: test/Driver/Inputs/basic_android_tree/arm-linux-androideabi/bin/ld
___________________________________________________________________
Added: svn:executable
   + *

Index: test/Driver/Inputs/basic_android_tree/arm-linux-androideabi/bin/as
===================================================================

Property changes on: test/Driver/Inputs/basic_android_tree/arm-linux-androideabi/bin/as
___________________________________________________________________
Added: svn:executable
   + *

Index: test/Driver/linux-ld.c
===================================================================
--- test/Driver/linux-ld.c	(revision 168021)
+++ test/Driver/linux-ld.c	(working copy)
@@ -412,7 +412,7 @@
 // RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
 // RUN:   | FileCheck --check-prefix=CHECK-ANDROID %s
 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-// RUN:     -target i386-linux-android \
+// RUN:     -target i686-linux-android \
 // RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
 // RUN:   | FileCheck --check-prefix=CHECK-ANDROID %s
 // CHECK-ANDROID: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"
@@ -438,7 +438,7 @@
 // RUN:     -shared \
 // RUN:   | FileCheck --check-prefix=CHECK-ANDROID-SO %s
 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-// RUN:     -target i386-linux-android \
+// RUN:     -target i686-linux-android \
 // RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
 // RUN:     -shared \
 // RUN:   | FileCheck --check-prefix=CHECK-ANDROID-SO %s
@@ -466,7 +466,7 @@
 // RUN:     -static \
 // RUN:   | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s
 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-// RUN:     -target i386-linux-android \
+// RUN:     -target i686-linux-android \
 // RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
 // RUN:     -static \
 // RUN:   | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s
@@ -493,7 +493,7 @@
 // RUN:     -pie \
 // RUN:   | FileCheck --check-prefix=CHECK-ANDROID-PIE %s
 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
-// RUN:     -target i386-linux-android \
+// RUN:     -target i686-linux-android \
 // RUN:     --sysroot=%S/Inputs/basic_android_tree/sysroot \
 // RUN:     -pie \
 // RUN:   | FileCheck --check-prefix=CHECK-ANDROID-PIE %s
Index: lib/Driver/ToolChains.cpp
===================================================================
--- lib/Driver/ToolChains.cpp	(revision 168021)
+++ lib/Driver/ToolChains.cpp	(working copy)
@@ -1072,6 +1072,7 @@
     "i686-pc-linux-gnu",
     "i486-linux-gnu",
     "i386-linux-gnu",
+    "i686-linux-android",
     "i686-redhat-linux",
     "i586-redhat-linux",
     "i386-redhat-linux",
