diff --git a/build/tools/build-gcc.sh b/build/tools/build-gcc.sh
index f98601e..d6c2ad5 100755
--- a/build/tools/build-gcc.sh
+++ b/build/tools/build-gcc.sh
@@ -141,13 +141,11 @@
 set_parameters $PARAMETERS
 
 # Disable x86_64 build for toolchains older than 4.7
-# x86_64-* targets are available on 64-bit host only
 case "$TOOLCHAIN" in
   x86_64-4.4.3|x86_64-4.6)
     echo "ERROR: x86_64 toolchain is enabled in 4.7+. Please try to build newer version."
     exit 1
     ;;
-  x86_64-*) do_try64_option ;;
 esac
 
 prepare_target_build
@@ -324,8 +322,6 @@
     ;;
     *-4.4.3)
     ;;
-    x86_64-4.7) # x32 support is included into gold 2.23, but 4.7 is based on 2.22, so stick it to bsd.
-    ;;
     *)
         EXTRA_CONFIG_FLAGS=$EXTRA_CONFIG_FLAGS" --enable-gold=default"
     ;;
diff --git a/build/tools/build-on-device-toolchain.sh b/build/tools/build-on-device-toolchain.sh
new file mode 100755
index 0000000..8c2a106
--- /dev/null
+++ b/build/tools/build-on-device-toolchain.sh
@@ -0,0 +1,124 @@
+#!/bin/sh
+#
+# Copyright (C) 2013 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Rebuild all on-device toolchain for le32 target
+#
+
+PROGDIR=$(dirname $0)
+. $PROGDIR/prebuilt-common.sh
+
+NDK_DIR=$ANDROID_NDK_ROOT
+register_var_option "--ndk-dir=<path>" NDK_DIR "NDK installation directory"
+
+BUILD_DIR=/tmp/ndk-$USER/build
+register_var_option "--build-dir=<path>" BUILD_DIR "Specify temporary build dir."
+
+OUT_DIR=/tmp/ndk-$USER/out
+register_var_option "--out-dir=<path>" OUT_DIR "Specify output directory directly."
+
+ABI=armeabi-v7a
+register_var_option "--abi=<target>" ABI "List which emulator target you use"
+
+NO_SYNC=
+do_no_sync_option () { NO_SYNC=yes; }
+register_option "--no-sync" do_no_sync_option "Do not push sysroot to device /data/local/tmp/"
+
+TESTING=
+do_testing_option () { TESTING=yes; }
+register_option "--testing" do_testing_option "Copy each c++ libraries for (even for GPL stuff)"
+
+register_jobs_option
+
+PROGRAM_PARAMETERS="<toolchain-src-dir>"
+PROGRAM_DESCRIPTION=\
+"This script can be used to copy all components that on-device compilation needs.
+Also, it will compile on-device LLVM-related toolchain."
+
+extract_parameters "$@"
+
+# Check toolchain source path
+SRC_DIR="$PARAMETERS"
+check_toolchain_src_dir "$SRC_DIR"
+BUILDTOOLS=$ANDROID_NDK_ROOT/build/tools
+rm -rf $BUILD_DIR; mkdir -p $BUILD_DIR
+mkdir -p $OUT_DIR
+
+
+FLAGS=
+if [ "$VERBOSE" = "yes" ]; then
+    FLAGS=$FLAGS" --verbose"
+fi
+if [ "$VERBOSE2" = "yes" ]; then
+    FLAGS=$FLAGS" --verbose"
+fi
+FLAGS="$FLAGS -j$NUM_JOBS"
+TMP_OUT_DIR=/tmp/ndk-$USER/on_device_out
+FLAGS="$FLAGS --out-dir=$TMP_OUT_DIR"
+ARCH="$(convert_abi_to_arch $ABI)"
+GCC_TOOLCHAIN_VERSION=`cat $NDK_DIR/toolchains/llvm-$DEFAULT_LLVM_VERSION/setup.mk | grep '^TOOLCHAIN_VERSION' | awk '{print $3'}`
+
+SYSROOT=$NDK_DIR/$(get_default_platform_sysroot_for_arch $ARCH)
+OUT_SYSROOT=$OUT_DIR
+
+mkdir -p $OUT_SYSROOT/usr/bin
+mkdir -p $OUT_SYSROOT/usr/lib
+
+dump "Copy platform CRT files..."
+cp -r $SYSROOT/usr/lib/crtbegin_dynamic.o $OUT_SYSROOT/usr/lib
+cp -r $SYSROOT/usr/lib/crtbegin_so.o $OUT_SYSROOT/usr/lib
+cp -r $SYSROOT/usr/lib/crtend_android.o $OUT_SYSROOT/usr/lib
+cp -r $SYSROOT/usr/lib/crtend_so.o $OUT_SYSROOT/usr/lib
+
+dump "Copy $ABI gabi++ library"
+cp -f $NDK_DIR/$GABIXX_SUBDIR/libs/$ABI/libgabi++_shared.so $OUT_SYSROOT/usr/lib
+
+dump "Copy $ABI libportable library"
+cp -f $NDK_DIR/$LIBPORTABLE_SUBDIR/libs/$ABI/libportable.a $OUT_SYSROOT/usr/lib
+cp -f $NDK_DIR/$LIBPORTABLE_SUBDIR/libs/$ABI/libportable.wrap $OUT_SYSROOT/usr/lib
+
+dump "Copy $ABI libportable library"
+cp -f $NDK_DIR/$COMPILER_RT_SUBDIR/libs/$ABI/libcompiler_rt_static.a $OUT_SYSROOT/usr/lib
+
+if [ "$TESTING" = "yes" ]; then
+  dump "Copy stuff for testing"
+  cp -f $NDK_DIR/$GNUSTL_SUBDIR/$GCC_TOOLCHAIN_VERSION/libs/$ABI/libsupc++.a $OUT_SYSROOT/usr/lib
+  cp -f $NDK_DIR/$GNUSTL_SUBDIR/$GCC_TOOLCHAIN_VERSION/libs/$ABI/libgnustl_static.a $OUT_SYSROOT/usr/lib
+  cp -f $NDK_DIR/$GNUSTL_SUBDIR/$GCC_TOOLCHAIN_VERSION/libs/$ABI/libgnustl_shared.so $OUT_SYSROOT/usr/lib
+
+  cp -f $NDK_DIR/$STLPORT_SUBDIR/libs/$ABI/libstlport_static.a $OUT_SYSROOT/usr/lib
+  cp -f $NDK_DIR/$STLPORT_SUBDIR/libs/$ABI/libstlport_shared.so $OUT_SYSROOT/usr/lib
+
+  cp -f $NDK_DIR/$GABIXX_SUBDIR/libs/$ABI/libgabi++_static.a $OUT_SYSROOT/usr/lib
+  cp -f $NDK_DIR/$GABIXX_SUBDIR/libs/$ABI/libgabi++_shared.so $OUT_SYSROOT/usr/lib
+fi
+
+
+dump "Build $ARCH LLVM toolchain..."
+run $BUILDTOOLS/build-device-llvm.sh $FLAGS --arch=$ARCH --gcc-version=$GCC_TOOLCHAIN_VERSION $SRC_DIR $NDK_DIR
+fail_panic "Could not build le32 LLVM toolchain!"
+mv -f $TMP_OUT_DIR/$ARCH/lib*.so $OUT_SYSROOT/usr/lib
+mv -f $TMP_OUT_DIR/$ARCH/* $OUT_SYSROOT/usr/bin
+
+
+if [ "$NO_SYNC" != "yes" ]; then
+  dump "Push on-device $ABI toolchain sysroot to /data/local/tmp/"
+  run adb shell rm -rf /data/local/tmp/*
+  run adb push $OUT_SYSROOT /data/local/tmp/
+  fail_panic "Could not push sysroot!"
+fi
+
+dump "Done."
+exit 0
diff --git a/build/tools/dev-cleanup.sh b/build/tools/dev-cleanup.sh
index b13fdb1..71df0c0 100755
--- a/build/tools/dev-cleanup.sh
+++ b/build/tools/dev-cleanup.sh
@@ -45,6 +45,7 @@
     rm -rf $DIR/$GNUSTL_SUBDIR/$VERSION
 done
 rm -rf $DIR/$LIBPORTABLE_SUBDIR
+rm -rf $DIR/$COMPILER_RT_SUBDIR
 
 rm -f $DIR/ndk-stack*
 rm -f $DIR/ndk-depends*
diff --git a/build/tools/dev-defaults.sh b/build/tools/dev-defaults.sh
index 1a25080..4861b6b 100644
--- a/build/tools/dev-defaults.sh
+++ b/build/tools/dev-defaults.sh
@@ -203,7 +203,7 @@
     case $1 in
         mipsel-*-4.4.3|*-4.6) echo "$DEFAULT_BINUTILS_VERSION";;
         *-4.4.3) echo "2.19";;
-        x86*-4.7) echo "2.23";;
+        x86*-4.7) echo "2.23";;  # Use 2.23 to get x32 support in ld.gold
         *-4.7) echo "2.22";;
         *) echo "2.23";;
     esac
diff --git a/build/tools/make-standalone-toolchain.sh b/build/tools/make-standalone-toolchain.sh
index 9f7f714..378502e 100755
--- a/build/tools/make-standalone-toolchain.sh
+++ b/build/tools/make-standalone-toolchain.sh
@@ -85,6 +85,7 @@
             ARCH=arm
             ;;
     esac
+    ARCH_INC=$ARCH
     log "Auto-config: --arch=$ARCH"
 else
     ARCH_INC=$ARCH
@@ -301,18 +302,21 @@
       arm) # NOte: -target may change by clang based on the
            #        presence of subsequent -march=armv7-a and/or -mthumb
           LLVM_TARGET=armv5te-none-linux-androideabi
+          TOOLCHAIN_PREFIX=$DEFAULT_ARCH_TOOLCHAIN_PREFIX_arm
           ;;
       x86)
           LLVM_TARGET=i686-none-linux-android
+          TOOLCHAIN_PREFIX=$DEFAULT_ARCH_TOOLCHAIN_PREFIX_x86
           ;;
       mips)
           LLVM_TARGET=mipsel-none-linux-android
+          TOOLCHAIN_PREFIX=$DEFAULT_ARCH_TOOLCHAIN_PREFIX_mips
           ;;
       *)
         dump "ERROR: Unsupported NDK architecture!"
   esac
   # Need to remove '.' from LLVM_VERSION when constructing new clang name,
-  # otherwise clang3.1++ may still compile *.c code as C, not C++, which
+  # otherwise clang3.3++ may still compile *.c code as C, not C++, which
   # is not consistent with g++
   LLVM_VERSION_WITHOUT_DOT=$(echo "$LLVM_VERSION" | sed -e "s!\.!!")
   mv "$TMPDIR/bin/clang${HOST_EXE}" "$TMPDIR/bin/clang${LLVM_VERSION_WITHOUT_DOT}${HOST_EXE}"
@@ -351,6 +355,8 @@
 fi
 EOF
   chmod 0755 "$TMPDIR/bin/clang" "$TMPDIR/bin/clang++"
+  cp -a "$TMPDIR/bin/clang" "$TMPDIR/bin/$TOOLCHAIN_PREFIX-clang"
+  cp -a "$TMPDIR/bin/clang++" "$TMPDIR/bin/$TOOLCHAIN_PREFIX-clang++"
 
   if [ -n "$HOST_EXE" ] ; then
     cat > "$TMPDIR/bin/clang.cmd" <<EOF
@@ -379,6 +385,8 @@
 if ERRORLEVEL 1 exit /b 1
 :done
 EOF
+    cp -a "$TMPDIR/bin/clang.cmd" "$TMPDIR/bin/$TOOLCHAIN_PREFIX-clang.cmd"
+    cp -a "$TMPDIR/bin/clang++.cmd" "$TMPDIR/bin/$TOOLCHAIN_PREFIX-clang++.cmd"
   fi
 fi
 
@@ -440,10 +448,11 @@
             ;;
         stlport)
             if [ "$ARCH_INC" != "$ARCH" ]; then
-              tmp_lib_dir=`mktemp -d`
+              tmp_lib_dir=$TMPDIR/stl
               $NDK_DIR/build/tools/build-cxx-stl.sh --stl=stlport --out-dir=$tmp_lib_dir --abis=unknown
               cp -p "`ls $tmp_lib_dir/sources/cxx-stl/stlport/libs/*/libstlport_static.a`" "$ABI_STL/lib/$ABI2/libstdc++.a"
               cp -p "`ls $tmp_lib_dir/sources/cxx-stl/stlport/libs/*/libstlport_shared.so`" "$ABI_STL/lib/$ABI2/libstlport_shared.so"
+              rm -rf $tmp_lib_dir
             else
               copy_file_list "$STLPORT_LIBS/$ABI" "$ABI_STL/lib/$ABI2" "libstlport_shared.so"
               cp -p "$STLPORT_LIBS/$ABI/libstlport_static.a" "$ABI_STL/lib/$ABI2/libstdc++.a"
diff --git a/build/tools/prebuilt-common.sh b/build/tools/prebuilt-common.sh
index 379268e..2138372 100644
--- a/build/tools/prebuilt-common.sh
+++ b/build/tools/prebuilt-common.sh
@@ -766,7 +766,7 @@
         DST_PREFIX="$NDK_CCACHE $DST_PREFIX"
     fi
     $NDK_BUILDTOOLS_PATH/gen-toolchain-wrapper.sh --src-prefix=$BINPREFIX --dst-prefix="$DST_PREFIX" "$CROSS_WRAP_DIR" \
-        --cflags="$HOST_CFLAGS" --cxxflags="$HOST_CFLAGS" --ldflags="HOST_LDFLAGS"
+        --cflags="$HOST_CFLAGS" --cxxflags="$HOST_CFLAGS" --ldflags="$HOST_LDFLAGS"
     # generate wrappers for BUILD toolchain
     # this is required for mingw/darwin build to avoid tools canadian cross configuration issues
     # 32-bit BUILD toolchain
diff --git a/build/tools/toolchain-patches/gcc/0006-Disable-libstdc-versioning.patch b/build/tools/toolchain-patches/gcc/0006-Disable-libstdc-versioning.patch
index d89fd14..0f6f242 100644
--- a/build/tools/toolchain-patches/gcc/0006-Disable-libstdc-versioning.patch
+++ b/build/tools/toolchain-patches/gcc/0006-Disable-libstdc-versioning.patch
@@ -62,7 +62,7 @@
 index 69001b4..e875539 100644
 --- a/gcc-4.8/libstdc++-v3/src/Makefile.in
 +++ b/gcc-4.8/libstdc++-v3/src/Makefile.in
-@@ -336,7 +336,7 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
+@@ -335,7 +335,7 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
  SUBDIRS = c++98 c++11
  
  # Cross compiler support.
@@ -71,7 +71,7 @@
  @GLIBCXX_LDBL_COMPAT_FALSE@ldbl_compat_sources = 
  @GLIBCXX_LDBL_COMPAT_TRUE@ldbl_compat_sources = compatibility-ldbl.cc
  parallel_compat_sources = \
-@@ -543,6 +543,9 @@ clean-toolexeclibLTLIBRARIES:
+@@ -544,6 +544,9 @@ clean-toolexeclibLTLIBRARIES:
  libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) 
  	$(libstdc___la_LINK) -rpath $(toolexeclibdir) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS)
  
diff --git a/build/tools/toolchain-patches/mclinker/0005-Fixed-darwin-ld.mcld-GNU-m-emulation-fail.patch b/build/tools/toolchain-patches/mclinker/0005-Fixed-darwin-ld.mcld-GNU-m-emulation-fail.patch
index 1b184b6..aff63e9 100644
--- a/build/tools/toolchain-patches/mclinker/0005-Fixed-darwin-ld.mcld-GNU-m-emulation-fail.patch
+++ b/build/tools/toolchain-patches/mclinker/0005-Fixed-darwin-ld.mcld-GNU-m-emulation-fail.patch
@@ -15,7 +15,7 @@
 index b5152e6..f7ddd90 100644
 --- a/tools/llvm-mcld/llvm-mcld.cpp
 +++ b/tools/llvm-mcld/llvm-mcld.cpp
-@@ -1016,12 +1016,12 @@ static Triple ParseEmulation(const std::string& pEmulation)
+@@ -1018,12 +1018,12 @@ static Triple ParseEmulation(const std::string& pEmulation)
  {
    Triple result = StringSwitch<Triple>(pEmulation)
      .Case("armelf_linux_eabi", Triple("arm", "", "linux", "gnueabi"))
diff --git a/find-win-host.cmd b/find-win-host.cmd
index ad7212f..2149b25 100644
--- a/find-win-host.cmd
+++ b/find-win-host.cmd
@@ -1,4 +1,4 @@
-rem @echo off
+@echo off
 rem This is a Windows cmd.exe script used to find windows host name.
 rem %1 is the env. var to set to the windows host name.
 
diff --git a/sources/cxx-stl/llvm-libc++/libcxx/test/testit_android b/sources/cxx-stl/llvm-libc++/libcxx/test/testit_android
index 880ae44..7963a35 100755
--- a/sources/cxx-stl/llvm-libc++/libcxx/test/testit_android
+++ b/sources/cxx-stl/llvm-libc++/libcxx/test/testit_android
@@ -220,12 +220,16 @@
 then
        SOURCE_LIB="-L$LIBCXX_LIBS"
 fi
+if [ -z "$ADB" ]
+then
+       ADB=adb
+fi
 
 if [ "$DO_STATIC" ]; then
   # Statically link to ensure the executable can be run easily through ADB
   LIBS=-lc++_static
 else
-  run2 adb push $LIBCXX_LIBS/libc++_shared.so /data/local/tmp 2>/dev/null
+  run2 $ADB push $LIBCXX_LIBS/libc++_shared.so /data/local/tmp 2>/dev/null
   if [ $? != 0 ]; then
     echo "ERROR: Can't push shared libc++ to target device!"
     exit 1
@@ -258,9 +262,9 @@
   # Run the command, while storing the standard output to CMD_OUT
   # and appending the exit code as the last line.
   if [ "$VERBOSE" -gt 2 ]; then
-    echo "COMMAND: adb shell $@"
+    echo "COMMAND: $ADB shell $@"
   fi
-  adb shell "$@ ; echo \$?" | sed -e 's![[:cntrl:]]!!g' > $CMD_OUT 2>&1
+  $ADB shell "$@ ; echo \$?" | sed -e 's![[:cntrl:]]!!g' > $CMD_OUT 2>&1
   # Get last line in log, which contains the exit code from the command
   RET=$(sed -e '$!d' $CMD_OUT)
   # Get output, which corresponds to everything except the last line
@@ -281,7 +285,7 @@
   EXECUTABLE_BASENAME=$(basename "$EXECUTABLE")
   shift
   TARGET_PATH=/data/local/tmp
-  run2 adb push $EXECUTABLE $TARGET_PATH/$EXECUTABLE_BASENAME 2>/dev/null &&
+  run2 $ADB push $EXECUTABLE $TARGET_PATH/$EXECUTABLE_BASENAME 2>/dev/null &&
   adb_shell "LD_LIBRARY_PATH=$TARGET_PATH; cd $TARGET_PATH; ./$EXECUTABLE_BASENAME"
 }
 
diff --git a/tests/run-tests.sh b/tests/run-tests.sh
index 125cf3a..2a1a625 100755
--- a/tests/run-tests.sh
+++ b/tests/run-tests.sh
@@ -382,7 +382,7 @@
             WINE=wine12
             ;;
         *)
-            WINE=wine15
+            WINE=wine17
             NDK_BUILD_FLAGS=""  # make.exe -B hangs in wine > 1.2.x
             if [ "$NDK_TOOLCHAIN_VERSION" != "4.4.3" ] ; then
                 APP_LDFLAGS="$APP_LDFLAGS -fuse-ld=mcld" # 64-bit ld.gold can't run in any wine!
