diff --git a/SOURCES b/SOURCES
index dcc38ba..faba602 100644
--- a/SOURCES
+++ b/SOURCES
@@ -1,28 +1,29 @@
 Using built-in specs.
-COLLECT_GCC=/Volumes/android/android-ndk-4.7/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc
-COLLECT_LTO_WRAPPER=/Volumes/android/android-ndk-4.7/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper
+COLLECT_GCC=/Volumes/android/android-4.7-2013-01-08/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64//bin/arm-linux-androideabi-gcc
+COLLECT_LTO_WRAPPER=/Volumes/android/android-4.7-2013-01-08/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper
 Target: arm-linux-androideabi
-Configured with: /Volumes/android/AOSP-toolchain/build/../gcc/gcc-4.7/configure --prefix=/Volumes/android/toolchain-build-4.7/prefix --target=arm-linux-androideabi --host=x86_64-apple-darwin --build=x86_64-apple-darwin --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/Volumes/android/toolchain-build-4.7/temp-install --with-mpfr=/Volumes/android/toolchain-build-4.7/temp-install --with-mpc=/Volumes/android/toolchain-build-4.7/temp-install --without-ppl --without-cloog --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/Volumes/android/toolchain-build-4.7/prefix --with-sysroot=/Volumes/android/toolchain-build-4.7/prefix/sysroot --with-binutils-version=2.22 --with-mpfr-version=2.4.1 --with-mpc-version=0.8.1 --with-gmp-version=5.0.5 --with-gcc-version=4.7 --with-gdb-version=7.3.x --with-gxx-include-dir=/Volumes/android/toolchain-build-4.7/prefix/include/c++/4.7 --disable-bootstrap --disable-libquadmath --disable-plugin --enable-gold --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default
+Configured with: /Volumes/android/AOSP-toolchain/build/../gcc/gcc-4.7/configure --prefix=/Volumes/android/toolchain-build-linux-4.7/prefix --target=arm-linux-androideabi --host=x86_64-apple-darwin --build=x86_64-apple-darwin --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/Volumes/android/toolchain-build-linux-4.7/temp-install --with-mpfr=/Volumes/android/toolchain-build-linux-4.7/temp-install --with-mpc=/Volumes/android/toolchain-build-linux-4.7/temp-install --with-cloog=/Volumes/android/toolchain-build-linux-4.7/temp-install --with-ppl=/Volumes/android/toolchain-build-linux-4.7/temp-install --disable-ppl-version-check --disable-cloog-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -lstdc++ -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/Volumes/android/toolchain-build-linux-4.7/prefix --with-sysroot=/Volumes/android/toolchain-build-linux-4.7/prefix/sysroot --with-binutils-version=2.22 --with-mpfr-version=3.1.1 --with-mpc-version=1.0.1 --with-gmp-version=5.0.5 --with-gcc-version=4.7 --with-gdb-version=7.3.x --with-gxx-include-dir=/Volumes/android/toolchain-build-linux-4.7/prefix/include/c++/4.7 --with-bugurl=http://source.android.com/source/report-bugs.html --disable-bootstrap --disable-libquadmath --enable-plugins --enable-libgomp --enable-gold --enable-graphite=yes --with-cloog-version=0.17.0 --with-ppl-version=1.0 --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default
 Thread model: posix
 gcc version 4.7 (GCC) 
 
 gcc:
-commit 3c56f697e112c79fb5457538fdc373e348beca24
+commit a16b557938a0a448303fd913af1ff76e09674966
 Author: Andrew Hsieh <andrewhsieh@google.com>
 
-    Initial checkin of unmodified gcc-5666.3.tar.gz
+    Revert "Enable _GLIBCXX_USE_CLOCK_MONOTONIC in libstdc++"
 
 binutils:
-commit dc51c7a5e0e2620dc85e6c9c46027dce94a85e1f
-Author: Pavel Chupin <pavel.v.chupin@intel.com>
+commit 8415ff0aaeb157307bb01a45373dba81919882fc
+Merge: 1ddae55 10ad6c0
+Author: Ben Cheng <bccheng@google.com>
 
-    Fix gold issue on fsck_msdos build when objects built by ICC
+    Merge "Fix the "DIV usage mismatch between blah.o and output" error"
 
 gdb:
-commit ab1098c4c1c197b6508d86989b4e60d48e0fd512
-Author: Ryan V. Bissell <rbissell@nvidia.com>
+commit b3c689cb0c6e1e6cbcaff9bc9ae35c3d6eec86a3
+Author: Pavel Chupin <pavel.v.chupin@intel.com>
 
-    bionic support for library-list-svr4.dtd
+    Fix mingw build with plugins enabled
 
 gmp:
 commit e6b9669dafc6a5f83c80b4b4176359b78bccdc90
@@ -31,16 +32,16 @@
     Add gmp-5.0.5.tar.bz2
 
 mpfr:
-commit bde731396c38c8d5b0bca800aace6a690d0d2978
-Author: Jing Yu <jingyu@google.com>
-
-    add mpfr-2.4.2.tar.bz2
-
-build:
-commit 106603b925b7f20177c5b7613535d9d43ed35b7d
+commit bfcf1bfa38469208aaad8873cd4c68781061d90f
 Author: Andrew Hsieh <andrewhsieh@google.com>
 
-    Options brought in from core combo for IA
+    add mpfr-3.1.1.tar.bz2
+
+build:
+commit ff90ad8552285bacc0569276dc7aa2a623d2cb95
+Author: Pavel Chupin <pavel.v.chupin@intel.com>
+
+    Statically link libgcc and libstdc++ into gold
 
 expat:
 commit 40172a0ae9d40a068f1e1a48ffcf6a1ccf765ed5
diff --git a/arm-linux-androideabi/bin/ar b/arm-linux-androideabi/bin/ar
index ac5c433..535ce5e 100755
--- a/arm-linux-androideabi/bin/ar
+++ b/arm-linux-androideabi/bin/ar
Binary files differ
diff --git a/arm-linux-androideabi/bin/as b/arm-linux-androideabi/bin/as
index 0c70905..0c6f6e8 100755
--- a/arm-linux-androideabi/bin/as
+++ b/arm-linux-androideabi/bin/as
Binary files differ
diff --git a/arm-linux-androideabi/bin/c++ b/arm-linux-androideabi/bin/c++
index 708dcaa..9dbb7df 100755
--- a/arm-linux-androideabi/bin/c++
+++ b/arm-linux-androideabi/bin/c++
Binary files differ
diff --git a/arm-linux-androideabi/bin/g++ b/arm-linux-androideabi/bin/g++
index 1a5bd6a..0500175 100755
--- a/arm-linux-androideabi/bin/g++
+++ b/arm-linux-androideabi/bin/g++
Binary files differ
diff --git a/arm-linux-androideabi/bin/gcc b/arm-linux-androideabi/bin/gcc
index 259f26d..9711383 100755
--- a/arm-linux-androideabi/bin/gcc
+++ b/arm-linux-androideabi/bin/gcc
Binary files differ
diff --git a/arm-linux-androideabi/bin/ld b/arm-linux-androideabi/bin/ld
index a528ef0..0ddb534 100755
--- a/arm-linux-androideabi/bin/ld
+++ b/arm-linux-androideabi/bin/ld
Binary files differ
diff --git a/arm-linux-androideabi/bin/ld.bfd b/arm-linux-androideabi/bin/ld.bfd
index 8b10b46..e3cd290 100755
--- a/arm-linux-androideabi/bin/ld.bfd
+++ b/arm-linux-androideabi/bin/ld.bfd
Binary files differ
diff --git a/arm-linux-androideabi/bin/ld.gold b/arm-linux-androideabi/bin/ld.gold
index a528ef0..0ddb534 100755
--- a/arm-linux-androideabi/bin/ld.gold
+++ b/arm-linux-androideabi/bin/ld.gold
Binary files differ
diff --git a/arm-linux-androideabi/bin/nm b/arm-linux-androideabi/bin/nm
index 8aa03fc..b2533b9 100755
--- a/arm-linux-androideabi/bin/nm
+++ b/arm-linux-androideabi/bin/nm
Binary files differ
diff --git a/arm-linux-androideabi/bin/objcopy b/arm-linux-androideabi/bin/objcopy
index 92e7192..b702dd9 100755
--- a/arm-linux-androideabi/bin/objcopy
+++ b/arm-linux-androideabi/bin/objcopy
Binary files differ
diff --git a/arm-linux-androideabi/bin/objdump b/arm-linux-androideabi/bin/objdump
index 6674ebd..0d41bf9 100755
--- a/arm-linux-androideabi/bin/objdump
+++ b/arm-linux-androideabi/bin/objdump
Binary files differ
diff --git a/arm-linux-androideabi/bin/ranlib b/arm-linux-androideabi/bin/ranlib
index 2e787b5..168c92a 100755
--- a/arm-linux-androideabi/bin/ranlib
+++ b/arm-linux-androideabi/bin/ranlib
Binary files differ
diff --git a/arm-linux-androideabi/bin/strip b/arm-linux-androideabi/bin/strip
index 3e40042..7957538 100755
--- a/arm-linux-androideabi/bin/strip
+++ b/arm-linux-androideabi/bin/strip
Binary files differ
diff --git a/arm-linux-androideabi/lib/armv7-a/libgomp.a b/arm-linux-androideabi/lib/armv7-a/libgomp.a
new file mode 100644
index 0000000..6ea5334
--- /dev/null
+++ b/arm-linux-androideabi/lib/armv7-a/libgomp.a
Binary files differ
diff --git a/arm-linux-androideabi/lib/armv7-a/libgomp.spec b/arm-linux-androideabi/lib/armv7-a/libgomp.spec
new file mode 100644
index 0000000..ec773a8
--- /dev/null
+++ b/arm-linux-androideabi/lib/armv7-a/libgomp.spec
@@ -0,0 +1,3 @@
+# This spec file is read by gcc when linking.  It is used to specify the
+# standard libraries we need in order to link with -fopenmp.
+*link_gomp: -lgomp 
diff --git a/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.a b/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.a
new file mode 100644
index 0000000..84e27f3
--- /dev/null
+++ b/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.a
Binary files differ
diff --git a/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.spec b/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.spec
new file mode 100644
index 0000000..ec773a8
--- /dev/null
+++ b/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.spec
@@ -0,0 +1,3 @@
+# This spec file is read by gcc when linking.  It is used to specify the
+# standard libraries we need in order to link with -fopenmp.
+*link_gomp: -lgomp 
diff --git a/arm-linux-androideabi/lib/libgomp.a b/arm-linux-androideabi/lib/libgomp.a
new file mode 100644
index 0000000..fc6d5cd
--- /dev/null
+++ b/arm-linux-androideabi/lib/libgomp.a
Binary files differ
diff --git a/arm-linux-androideabi/lib/libgomp.spec b/arm-linux-androideabi/lib/libgomp.spec
new file mode 100644
index 0000000..ec773a8
--- /dev/null
+++ b/arm-linux-androideabi/lib/libgomp.spec
@@ -0,0 +1,3 @@
+# This spec file is read by gcc when linking.  It is used to specify the
+# standard libraries we need in order to link with -fopenmp.
+*link_gomp: -lgomp 
diff --git a/arm-linux-androideabi/lib/thumb/libgomp.a b/arm-linux-androideabi/lib/thumb/libgomp.a
new file mode 100644
index 0000000..e5d5834
--- /dev/null
+++ b/arm-linux-androideabi/lib/thumb/libgomp.a
Binary files differ
diff --git a/arm-linux-androideabi/lib/thumb/libgomp.spec b/arm-linux-androideabi/lib/thumb/libgomp.spec
new file mode 100644
index 0000000..ec773a8
--- /dev/null
+++ b/arm-linux-androideabi/lib/thumb/libgomp.spec
@@ -0,0 +1,3 @@
+# This spec file is read by gcc when linking.  It is used to specify the
+# standard libraries we need in order to link with -fopenmp.
+*link_gomp: -lgomp 
diff --git a/bin/arm-linux-androideabi-addr2line b/bin/arm-linux-androideabi-addr2line
index b750460..ad1c097 100755
--- a/bin/arm-linux-androideabi-addr2line
+++ b/bin/arm-linux-androideabi-addr2line
Binary files differ
diff --git a/bin/arm-linux-androideabi-ar b/bin/arm-linux-androideabi-ar
index ac5c433..535ce5e 100755
--- a/bin/arm-linux-androideabi-ar
+++ b/bin/arm-linux-androideabi-ar
Binary files differ
diff --git a/bin/arm-linux-androideabi-as b/bin/arm-linux-androideabi-as
index 28dc497..0c6f6e8 100755
--- a/bin/arm-linux-androideabi-as
+++ b/bin/arm-linux-androideabi-as
Binary files differ
diff --git a/bin/arm-linux-androideabi-c++ b/bin/arm-linux-androideabi-c++
index 1a5bd6a..082e2dd 100755
--- a/bin/arm-linux-androideabi-c++
+++ b/bin/arm-linux-androideabi-c++
Binary files differ
diff --git a/bin/arm-linux-androideabi-c++filt b/bin/arm-linux-androideabi-c++filt
index 5b0a26f..0ef9280 100755
--- a/bin/arm-linux-androideabi-c++filt
+++ b/bin/arm-linux-androideabi-c++filt
Binary files differ
diff --git a/bin/arm-linux-androideabi-cpp b/bin/arm-linux-androideabi-cpp
index 965808d..41481d2 100755
--- a/bin/arm-linux-androideabi-cpp
+++ b/bin/arm-linux-androideabi-cpp
Binary files differ
diff --git a/bin/arm-linux-androideabi-elfedit b/bin/arm-linux-androideabi-elfedit
index 7e00d22..ad7947f 100755
--- a/bin/arm-linux-androideabi-elfedit
+++ b/bin/arm-linux-androideabi-elfedit
Binary files differ
diff --git a/bin/arm-linux-androideabi-g++ b/bin/arm-linux-androideabi-g++
index ccc887f..0500175 100755
--- a/bin/arm-linux-androideabi-g++
+++ b/bin/arm-linux-androideabi-g++
Binary files differ
diff --git a/bin/arm-linux-androideabi-gcc b/bin/arm-linux-androideabi-gcc
index 7023e8c..f4948ee 100755
--- a/bin/arm-linux-androideabi-gcc
+++ b/bin/arm-linux-androideabi-gcc
Binary files differ
diff --git a/bin/arm-linux-androideabi-gcc-4.7 b/bin/arm-linux-androideabi-gcc-4.7
index 156ca93..a2e57b1 100755
--- a/bin/arm-linux-androideabi-gcc-4.7
+++ b/bin/arm-linux-androideabi-gcc-4.7
Binary files differ
diff --git a/bin/arm-linux-androideabi-gcc-ar b/bin/arm-linux-androideabi-gcc-ar
index e95176d..5aa7d9f 100755
--- a/bin/arm-linux-androideabi-gcc-ar
+++ b/bin/arm-linux-androideabi-gcc-ar
Binary files differ
diff --git a/bin/arm-linux-androideabi-gcc-nm b/bin/arm-linux-androideabi-gcc-nm
index 21211c9..23117a1 100755
--- a/bin/arm-linux-androideabi-gcc-nm
+++ b/bin/arm-linux-androideabi-gcc-nm
Binary files differ
diff --git a/bin/arm-linux-androideabi-gcc-ranlib b/bin/arm-linux-androideabi-gcc-ranlib
index ef0e2d6..11def0a 100755
--- a/bin/arm-linux-androideabi-gcc-ranlib
+++ b/bin/arm-linux-androideabi-gcc-ranlib
Binary files differ
diff --git a/bin/arm-linux-androideabi-gcov b/bin/arm-linux-androideabi-gcov
index 6278a1b..a1f83cc 100755
--- a/bin/arm-linux-androideabi-gcov
+++ b/bin/arm-linux-androideabi-gcov
Binary files differ
diff --git a/bin/arm-linux-androideabi-gdb b/bin/arm-linux-androideabi-gdb
index e92c627..e22ca28 100755
--- a/bin/arm-linux-androideabi-gdb
+++ b/bin/arm-linux-androideabi-gdb
Binary files differ
diff --git a/bin/arm-linux-androideabi-gdbtui b/bin/arm-linux-androideabi-gdbtui
index e59491f..d57f709 100755
--- a/bin/arm-linux-androideabi-gdbtui
+++ b/bin/arm-linux-androideabi-gdbtui
Binary files differ
diff --git a/bin/arm-linux-androideabi-gprof b/bin/arm-linux-androideabi-gprof
index bbd1591..028ef78 100755
--- a/bin/arm-linux-androideabi-gprof
+++ b/bin/arm-linux-androideabi-gprof
Binary files differ
diff --git a/bin/arm-linux-androideabi-ld b/bin/arm-linux-androideabi-ld
index a528ef0..0ddb534 100755
--- a/bin/arm-linux-androideabi-ld
+++ b/bin/arm-linux-androideabi-ld
Binary files differ
diff --git a/bin/arm-linux-androideabi-ld.bfd b/bin/arm-linux-androideabi-ld.bfd
index 11e39c3..5097eb1 100755
--- a/bin/arm-linux-androideabi-ld.bfd
+++ b/bin/arm-linux-androideabi-ld.bfd
Binary files differ
diff --git a/bin/arm-linux-androideabi-ld.gold b/bin/arm-linux-androideabi-ld.gold
index a528ef0..0ddb534 100755
--- a/bin/arm-linux-androideabi-ld.gold
+++ b/bin/arm-linux-androideabi-ld.gold
Binary files differ
diff --git a/bin/arm-linux-androideabi-nm b/bin/arm-linux-androideabi-nm
index bbf2fa7..b2533b9 100755
--- a/bin/arm-linux-androideabi-nm
+++ b/bin/arm-linux-androideabi-nm
Binary files differ
diff --git a/bin/arm-linux-androideabi-objcopy b/bin/arm-linux-androideabi-objcopy
index 44cd3a2..8dc06d3 100755
--- a/bin/arm-linux-androideabi-objcopy
+++ b/bin/arm-linux-androideabi-objcopy
Binary files differ
diff --git a/bin/arm-linux-androideabi-objdump b/bin/arm-linux-androideabi-objdump
index 6674ebd..0d41bf9 100755
--- a/bin/arm-linux-androideabi-objdump
+++ b/bin/arm-linux-androideabi-objdump
Binary files differ
diff --git a/bin/arm-linux-androideabi-ranlib b/bin/arm-linux-androideabi-ranlib
index 2e787b5..168c92a 100755
--- a/bin/arm-linux-androideabi-ranlib
+++ b/bin/arm-linux-androideabi-ranlib
Binary files differ
diff --git a/bin/arm-linux-androideabi-readelf b/bin/arm-linux-androideabi-readelf
index f7c4d8d..9a574eb 100755
--- a/bin/arm-linux-androideabi-readelf
+++ b/bin/arm-linux-androideabi-readelf
Binary files differ
diff --git a/bin/arm-linux-androideabi-run b/bin/arm-linux-androideabi-run
index 1336232..74fbb6c 100755
--- a/bin/arm-linux-androideabi-run
+++ b/bin/arm-linux-androideabi-run
Binary files differ
diff --git a/bin/arm-linux-androideabi-size b/bin/arm-linux-androideabi-size
index b8c8a11..c0155fb 100755
--- a/bin/arm-linux-androideabi-size
+++ b/bin/arm-linux-androideabi-size
Binary files differ
diff --git a/bin/arm-linux-androideabi-strings b/bin/arm-linux-androideabi-strings
index 52295a4..bc451e2 100755
--- a/bin/arm-linux-androideabi-strings
+++ b/bin/arm-linux-androideabi-strings
Binary files differ
diff --git a/bin/arm-linux-androideabi-strip b/bin/arm-linux-androideabi-strip
index 3e40042..fbf5237 100755
--- a/bin/arm-linux-androideabi-strip
+++ b/bin/arm-linux-androideabi-strip
Binary files differ
diff --git a/include/bfd.h b/include/bfd.h
index 1c5f96d..193cb92 100644
--- a/include/bfd.h
+++ b/include/bfd.h
@@ -80,7 +80,7 @@
 #define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2))
 
 
-#define BFD_SUPPORTS_PLUGINS 0
+#define BFD_SUPPORTS_PLUGINS 1
 
 /* The word size used by BFD on the host.  This may be 64 with a 32
    bit target if the host is 64 bit, or if other 64 bit targets have
diff --git a/include/plugin-api.h b/include/plugin-api.h
new file mode 100644
index 0000000..3220142
--- /dev/null
+++ b/include/plugin-api.h
@@ -0,0 +1,401 @@
+/* plugin-api.h -- External linker plugin API.  */
+
+/* Copyright 2009, 2010 Free Software Foundation, Inc.
+   Written by Cary Coutant <ccoutant@google.com>.
+
+   This file is part of binutils.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+/* This file defines the interface for writing a linker plugin, which is
+   described at < http://gcc.gnu.org/wiki/whopr/driver >.  */
+
+#ifndef PLUGIN_API_H
+#define PLUGIN_API_H
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#elif defined(HAVE_INTTYPES_H)
+#include <inttypes.h>
+#endif
+#include <sys/types.h>
+#if !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H) && \
+    !defined(UINT64_MAX) && !defined(uint64_t)
+#error can not find uint64_t type
+#endif
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* Status code returned by most API routines.  */
+
+enum ld_plugin_status
+{
+  LDPS_OK = 0,
+  LDPS_NO_SYMS,         /* Attempt to get symbols that haven't been added. */
+  LDPS_BAD_HANDLE,      /* No claimed object associated with given handle. */
+  LDPS_ERR
+  /* Additional Error codes TBD.  */
+};
+
+/* The version of the API specification.  */
+
+enum ld_plugin_api_version
+{
+  LD_PLUGIN_API_VERSION = 1
+};
+
+/* The type of output file being generated by the linker.  */
+
+enum ld_plugin_output_file_type
+{
+  LDPO_REL,
+  LDPO_EXEC,
+  LDPO_DYN,
+  LDPO_PIE
+};
+
+/* An input file managed by the plugin library.  */
+
+struct ld_plugin_input_file
+{
+  const char *name;
+  int fd;
+  off_t offset;
+  off_t filesize;
+  void *handle;
+};
+
+/* A symbol belonging to an input file managed by the plugin library.  */
+
+struct ld_plugin_symbol
+{
+  char *name;
+  char *version;
+  int def;
+  int visibility;
+  uint64_t size;
+  char *comdat_key;
+  int resolution;
+};
+
+/* An object's section.  */
+
+struct ld_plugin_section
+{
+  const void* handle;
+  unsigned int shndx;
+};
+
+/* Whether the symbol is a definition, reference, or common, weak or not.  */
+
+enum ld_plugin_symbol_kind
+{
+  LDPK_DEF,
+  LDPK_WEAKDEF,
+  LDPK_UNDEF,
+  LDPK_WEAKUNDEF,
+  LDPK_COMMON
+};
+
+/* The visibility of the symbol.  */
+
+enum ld_plugin_symbol_visibility
+{
+  LDPV_DEFAULT,
+  LDPV_PROTECTED,
+  LDPV_INTERNAL,
+  LDPV_HIDDEN
+};
+
+/* How a symbol is resolved.  */
+
+enum ld_plugin_symbol_resolution
+{
+  LDPR_UNKNOWN = 0,
+
+  /* Symbol is still undefined at this point.  */
+  LDPR_UNDEF,
+
+  /* This is the prevailing definition of the symbol, with references from
+     regular object code.  */
+  LDPR_PREVAILING_DEF,
+
+  /* This is the prevailing definition of the symbol, with no
+     references from regular objects.  It is only referenced from IR
+     code.  */
+  LDPR_PREVAILING_DEF_IRONLY,
+
+  /* This definition was pre-empted by a definition in a regular
+     object file.  */
+  LDPR_PREEMPTED_REG,
+
+  /* This definition was pre-empted by a definition in another IR file.  */
+  LDPR_PREEMPTED_IR,
+
+  /* This symbol was resolved by a definition in another IR file.  */
+  LDPR_RESOLVED_IR,
+
+  /* This symbol was resolved by a definition in a regular object
+     linked into the main executable.  */
+  LDPR_RESOLVED_EXEC,
+
+  /* This symbol was resolved by a definition in a shared object.  */
+  LDPR_RESOLVED_DYN,
+
+  /* This is the prevailing definition of the symbol, with no
+     references from regular objects.  It is only referenced from IR
+     code, but the symbol is exported and may be referenced from
+     a dynamic object (not seen at link time).  */
+  LDPR_PREVAILING_DEF_IRONLY_EXP
+};
+
+/* The plugin library's "claim file" handler.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_claim_file_handler) (
+  const struct ld_plugin_input_file *file, int *claimed);
+
+/* The plugin library's "all symbols read" handler.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_all_symbols_read_handler) (void);
+
+/* The plugin library's cleanup handler.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_cleanup_handler) (void);
+
+/* The linker's interface for registering the "claim file" handler.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_register_claim_file) (ld_plugin_claim_file_handler handler);
+
+/* The linker's interface for registering the "all symbols read" handler.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_register_all_symbols_read) (
+  ld_plugin_all_symbols_read_handler handler);
+
+/* The linker's interface for registering the cleanup handler.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_register_cleanup) (ld_plugin_cleanup_handler handler);
+
+/* The linker's interface for adding symbols from a claimed input file.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_add_symbols) (void *handle, int nsyms,
+                          const struct ld_plugin_symbol *syms);
+
+/* The linker's interface for getting the input file information with
+   an open (possibly re-opened) file descriptor.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_input_file) (const void *handle,
+                             struct ld_plugin_input_file *file);
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_view) (const void *handle, const void **viewp);
+
+/* The linker's interface for releasing the input file.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_release_input_file) (const void *handle);
+
+/* The linker's interface for retrieving symbol resolution information.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_symbols) (const void *handle, int nsyms,
+                          struct ld_plugin_symbol *syms);
+
+/* The linker's interface for adding a compiled input file.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_add_input_file) (const char *pathname);
+
+/* The linker's interface for adding a library that should be searched.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_add_input_library) (const char *libname);
+
+/* The linker's interface for adding a library path that should be searched.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_set_extra_library_path) (const char *path);
+
+/* The linker's interface for issuing a warning or error message.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_message) (int level, const char *format, ...);
+
+/* The linker's interface for retrieving the number of sections in an object.
+   The handle is obtained in the claim_file handler.  This interface should
+   only be invoked in the claim_file handler.   This function sets *COUNT to
+   the number of sections in the object.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_input_section_count) (const void* handle, unsigned int *count);
+
+/* The linker's interface for retrieving the section type of a specific
+   section in an object.  This interface should only be invoked in the
+   claim_file handler.  This function sets *TYPE to an ELF SHT_xxx value.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_input_section_type) (const struct ld_plugin_section section,
+                                     unsigned int *type);
+
+/* The linker's interface for retrieving the name of a specific section in
+   an object. This interface should only be invoked in the claim_file handler.
+   This function sets *SECTION_NAME_PTR to a null-terminated buffer allocated
+   by malloc.  The plugin must free *SECTION_NAME_PTR.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_input_section_name) (const struct ld_plugin_section section,
+                                     char **section_name_ptr);
+
+/* The linker's interface for retrieving the contents of a specific section
+   in an object.  This interface should only be invoked in the claim_file
+   handler.  This function sets *SECTION_CONTENTS to point to a buffer that is
+   valid until clam_file handler returns.  It sets *LEN to the size of the
+   buffer.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_input_section_contents) (const struct ld_plugin_section section,
+                                         const unsigned char **section_contents,
+                                         size_t* len);
+
+/* The linker's interface for specifying the desired order of sections.
+   The sections should be specifed using the array SECTION_LIST in the
+   order in which they should appear in the final layout.  NUM_SECTIONS
+   specifies the number of entries in each array.  This should be invoked
+   in the all_symbols_read handler.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_update_section_order) (const struct ld_plugin_section *section_list,
+				   unsigned int num_sections);
+
+/* The linker's interface for specifying that reordering of sections is
+   desired so that the linker can prepare for it.  This should be invoked
+   before update_section_order, preferably in the claim_file handler.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_allow_section_ordering) (void);
+
+enum ld_plugin_level
+{
+  LDPL_INFO,
+  LDPL_WARNING,
+  LDPL_ERROR,
+  LDPL_FATAL
+};
+
+/* Values for the tv_tag field of the transfer vector.  */
+
+enum ld_plugin_tag
+{
+  LDPT_NULL = 0,
+  LDPT_API_VERSION,
+  LDPT_GOLD_VERSION,
+  LDPT_LINKER_OUTPUT,
+  LDPT_OPTION,
+  LDPT_REGISTER_CLAIM_FILE_HOOK,
+  LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK,
+  LDPT_REGISTER_CLEANUP_HOOK,
+  LDPT_ADD_SYMBOLS,
+  LDPT_GET_SYMBOLS,
+  LDPT_ADD_INPUT_FILE,
+  LDPT_MESSAGE,
+  LDPT_GET_INPUT_FILE,
+  LDPT_RELEASE_INPUT_FILE,
+  LDPT_ADD_INPUT_LIBRARY,
+  LDPT_OUTPUT_NAME,
+  LDPT_SET_EXTRA_LIBRARY_PATH,
+  LDPT_GNU_LD_VERSION,
+  LDPT_GET_VIEW,
+  LDPT_GET_INPUT_SECTION_COUNT,
+  LDPT_GET_INPUT_SECTION_TYPE,
+  LDPT_GET_INPUT_SECTION_NAME,
+  LDPT_GET_INPUT_SECTION_CONTENTS,
+  LDPT_UPDATE_SECTION_ORDER,
+  LDPT_ALLOW_SECTION_ORDERING,
+  LDPT_GET_SYMBOLS_V2
+};
+
+/* The plugin transfer vector.  */
+
+struct ld_plugin_tv
+{
+  enum ld_plugin_tag tv_tag;
+  union
+  {
+    int tv_val;
+    const char *tv_string;
+    ld_plugin_register_claim_file tv_register_claim_file;
+    ld_plugin_register_all_symbols_read tv_register_all_symbols_read;
+    ld_plugin_register_cleanup tv_register_cleanup;
+    ld_plugin_add_symbols tv_add_symbols;
+    ld_plugin_get_symbols tv_get_symbols;
+    ld_plugin_add_input_file tv_add_input_file;
+    ld_plugin_message tv_message;
+    ld_plugin_get_input_file tv_get_input_file;
+    ld_plugin_get_view tv_get_view;
+    ld_plugin_release_input_file tv_release_input_file;
+    ld_plugin_add_input_library tv_add_input_library;
+    ld_plugin_set_extra_library_path tv_set_extra_library_path;
+    ld_plugin_get_input_section_count tv_get_input_section_count;
+    ld_plugin_get_input_section_type tv_get_input_section_type;
+    ld_plugin_get_input_section_name tv_get_input_section_name;
+    ld_plugin_get_input_section_contents tv_get_input_section_contents;
+    ld_plugin_update_section_order tv_update_section_order;
+    ld_plugin_allow_section_ordering tv_allow_section_ordering;
+  } tv_u;
+};
+
+/* The plugin library's "onload" entry point.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_onload) (struct ld_plugin_tv *tv);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !defined(PLUGIN_API_H) */
diff --git a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcc.a b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcc.a
index 27e55d3..d2c07a7 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcc.a
+++ b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcc.a
Binary files differ
diff --git a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcov.a b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcov.a
index dcbced3..e0a99d0 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcov.a
+++ b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcov.a
Binary files differ
diff --git a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcc.a b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcc.a
index 91f4956..1d8f9d8 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcc.a
+++ b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcc.a
Binary files differ
diff --git a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcov.a b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcov.a
index 257feef..9c94b08 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcov.a
+++ b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcov.a
Binary files differ
diff --git a/lib/gcc/arm-linux-androideabi/4.7/include-fixed/linux/a.out.h b/lib/gcc/arm-linux-androideabi/4.7/include-fixed/linux/a.out.h
index 306398e..c597c05 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/include-fixed/linux/a.out.h
+++ b/lib/gcc/arm-linux-androideabi/4.7/include-fixed/linux/a.out.h
@@ -2,7 +2,7 @@
 
     It has been auto-edited by fixincludes from:
 
-	"/Volumes/android/toolchain-build-4.7/prefix/sysroot/usr/include/linux/a.out.h"
+	"/Volumes/android/toolchain-build-linux-4.7/prefix/sysroot/usr/include/linux/a.out.h"
 
     This had to be done to correct non-standard usages in the
     original, manufacturer supplied header file.  */
diff --git a/lib/gcc/arm-linux-androideabi/4.7/include-fixed/stdio.h b/lib/gcc/arm-linux-androideabi/4.7/include-fixed/stdio.h
index 357841c..3415fac 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/include-fixed/stdio.h
+++ b/lib/gcc/arm-linux-androideabi/4.7/include-fixed/stdio.h
@@ -2,7 +2,7 @@
 
     It has been auto-edited by fixincludes from:
 
-	"/Volumes/android/toolchain-build-4.7/prefix/sysroot/usr/include/stdio.h"
+	"/Volumes/android/toolchain-build-linux-4.7/prefix/sysroot/usr/include/stdio.h"
 
     This had to be done to correct non-standard usages in the
     original, manufacturer supplied header file.  */
@@ -48,7 +48,7 @@
 #define	_STDIO_H_
 
 #include <sys/cdefs.h>
-#include <sys/_types.h>
+#include <sys/types.h>
 
 /* __gnuc_va_list and size_t must be defined by stdio.h according to Posix */
 #define __need___va_list
@@ -58,30 +58,9 @@
 #define __need_size_t
 #include <stddef.h>
 
+#define __need_NULL
 #include <stddef.h>
 
-#if __BSD_VISIBLE || __POSIX_VISIBLE || __XPG_VISIBLE
-#include <sys/types.h>	/* XXX should be removed */
-#endif
-
-#ifndef	_SIZE_T_DEFINED_
-#define	_SIZE_T_DEFINED_
-typedef	unsigned long    size_t;
-#endif
-
-#ifndef	_OFF_T_DEFINED_
-#define	_OFF_T_DEFINED_
-typedef	long    off_t;
-#endif
-
-#ifndef NULL
-#ifdef 	__GNUG__
-#define	NULL	__null
-#else
-#define	NULL	0L
-#endif
-#endif
-
 #define	_FSTDIO			/* Define for new stdio with functions. */
 
 typedef off_t fpos_t;		/* stdio file position type */
diff --git a/lib/gcc/arm-linux-androideabi/4.7/include/omp.h b/lib/gcc/arm-linux-androideabi/4.7/include/omp.h
new file mode 100644
index 0000000..f0bb026
--- /dev/null
+++ b/lib/gcc/arm-linux-androideabi/4.7/include/omp.h
@@ -0,0 +1,107 @@
+/* Copyright (C) 2005, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
+   Contributed by Richard Henderson <rth@redhat.com>.
+
+   This file is part of the GNU OpenMP Library (libgomp).
+
+   Libgomp is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
+   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+   more details.
+
+   Under Section 7 of GPL version 3, you are granted additional
+   permissions described in the GCC Runtime Library Exception, version
+   3.1, as published by the Free Software Foundation.
+
+   You should have received a copy of the GNU General Public License and
+   a copy of the GCC Runtime Library Exception along with this program;
+   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef OMP_H
+#define OMP_H 1
+
+#ifndef _LIBGOMP_OMP_LOCK_DEFINED
+#define _LIBGOMP_OMP_LOCK_DEFINED 1
+/* These two structures get edited by the libgomp build process to 
+   reflect the shape of the two types.  Their internals are private
+   to the library.  */
+
+typedef struct
+{
+  unsigned char _x[4] 
+    __attribute__((__aligned__(4)));
+} omp_lock_t;
+
+typedef struct
+{
+  unsigned char _x[12] 
+    __attribute__((__aligned__(4)));
+} omp_nest_lock_t;
+#endif
+
+typedef enum omp_sched_t
+{
+  omp_sched_static = 1,
+  omp_sched_dynamic = 2,
+  omp_sched_guided = 3,
+  omp_sched_auto = 4
+} omp_sched_t;
+
+#ifdef __cplusplus
+extern "C" {
+# define __GOMP_NOTHROW throw ()
+#else
+# define __GOMP_NOTHROW __attribute__((__nothrow__))
+#endif
+
+extern void omp_set_num_threads (int) __GOMP_NOTHROW;
+extern int omp_get_num_threads (void) __GOMP_NOTHROW;
+extern int omp_get_max_threads (void) __GOMP_NOTHROW;
+extern int omp_get_thread_num (void) __GOMP_NOTHROW;
+extern int omp_get_num_procs (void) __GOMP_NOTHROW;
+
+extern int omp_in_parallel (void) __GOMP_NOTHROW;
+
+extern void omp_set_dynamic (int) __GOMP_NOTHROW;
+extern int omp_get_dynamic (void) __GOMP_NOTHROW;
+
+extern void omp_set_nested (int) __GOMP_NOTHROW;
+extern int omp_get_nested (void) __GOMP_NOTHROW;
+
+extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW;
+extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW;
+extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW;
+extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW;
+extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW;
+
+extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
+extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
+extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
+extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
+extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
+
+extern double omp_get_wtime (void) __GOMP_NOTHROW;
+extern double omp_get_wtick (void) __GOMP_NOTHROW;
+
+void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW;
+void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW;
+int omp_get_thread_limit (void) __GOMP_NOTHROW;
+void omp_set_max_active_levels (int) __GOMP_NOTHROW;
+int omp_get_max_active_levels (void) __GOMP_NOTHROW;
+int omp_get_level (void) __GOMP_NOTHROW;
+int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW;
+int omp_get_team_size (int) __GOMP_NOTHROW;
+int omp_get_active_level (void) __GOMP_NOTHROW;
+
+int omp_in_final (void) __GOMP_NOTHROW;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* OMP_H */
diff --git a/lib/gcc/arm-linux-androideabi/4.7/libgcc.a b/lib/gcc/arm-linux-androideabi/4.7/libgcc.a
index 880aef5..ee8585b 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/libgcc.a
+++ b/lib/gcc/arm-linux-androideabi/4.7/libgcc.a
Binary files differ
diff --git a/lib/gcc/arm-linux-androideabi/4.7/libgcov.a b/lib/gcc/arm-linux-androideabi/4.7/libgcov.a
index 1a154ee..95a5957 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/libgcov.a
+++ b/lib/gcc/arm-linux-androideabi/4.7/libgcov.a
Binary files differ
diff --git a/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcc.a b/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcc.a
index 56e74b4..4ed9f78 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcc.a
+++ b/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcc.a
Binary files differ
diff --git a/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcov.a b/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcov.a
index a080e24..f2df29a 100644
--- a/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcov.a
+++ b/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcov.a
Binary files differ
diff --git a/lib/libarm-linux-android-sim.a b/lib/libarm-linux-android-sim.a
index ab17cb2..84e7b99 100644
--- a/lib/libarm-linux-android-sim.a
+++ b/lib/libarm-linux-android-sim.a
Binary files differ
diff --git a/lib/x86_64/libiberty.a b/lib/x86_64/libiberty.a
index d31569a..792f738 100644
--- a/lib/x86_64/libiberty.a
+++ b/lib/x86_64/libiberty.a
Binary files differ
diff --git a/lib32/libbfd.a b/lib32/libbfd.a
index 2b15215..80fdd1f 100644
--- a/lib32/libbfd.a
+++ b/lib32/libbfd.a
Binary files differ
diff --git a/lib32/libiberty.a b/lib32/libiberty.a
index 4f313f1..4603484 100644
--- a/lib32/libiberty.a
+++ b/lib32/libiberty.a
Binary files differ
diff --git a/lib32/libintl.a b/lib32/libintl.a
index 41c4fe1..80c0618 100644
--- a/lib32/libintl.a
+++ b/lib32/libintl.a
Binary files differ
diff --git a/libexec/gcc/arm-linux-androideabi/4.7/cc1 b/libexec/gcc/arm-linux-androideabi/4.7/cc1
index f05b4f2..345a67a 100755
--- a/libexec/gcc/arm-linux-androideabi/4.7/cc1
+++ b/libexec/gcc/arm-linux-androideabi/4.7/cc1
Binary files differ
diff --git a/libexec/gcc/arm-linux-androideabi/4.7/cc1plus b/libexec/gcc/arm-linux-androideabi/4.7/cc1plus
index a31311a..6d4a30a 100755
--- a/libexec/gcc/arm-linux-androideabi/4.7/cc1plus
+++ b/libexec/gcc/arm-linux-androideabi/4.7/cc1plus
Binary files differ
diff --git a/libexec/gcc/arm-linux-androideabi/4.7/collect2 b/libexec/gcc/arm-linux-androideabi/4.7/collect2
index 6ca334f..666d561 100755
--- a/libexec/gcc/arm-linux-androideabi/4.7/collect2
+++ b/libexec/gcc/arm-linux-androideabi/4.7/collect2
Binary files differ
diff --git a/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.0.so b/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.0.so
index 9d8dae8..9d55d0e 100755
--- a/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.0.so
+++ b/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.0.so
Binary files differ
diff --git a/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.so b/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.so
index 9d8dae8..9d55d0e 100755
--- a/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.so
+++ b/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.so
Binary files differ
diff --git a/libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper b/libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper
index e60058a..b43fee3 100755
--- a/libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper
+++ b/libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper
Binary files differ
diff --git a/libexec/gcc/arm-linux-androideabi/4.7/lto1 b/libexec/gcc/arm-linux-androideabi/4.7/lto1
index 8f733fa..ed30302 100755
--- a/libexec/gcc/arm-linux-androideabi/4.7/lto1
+++ b/libexec/gcc/arm-linux-androideabi/4.7/lto1
Binary files differ
diff --git a/libexec/gcc/arm-linux-androideabi/4.7/plugin/gengtype b/libexec/gcc/arm-linux-androideabi/4.7/plugin/gengtype
new file mode 100755
index 0000000..463ad80
--- /dev/null
+++ b/libexec/gcc/arm-linux-androideabi/4.7/plugin/gengtype
Binary files differ
