WindCharger: Upgrade toolchain to 4.9.2

The uClibc version and binutils versions are the same as before, albeit
the uClibc config is supplied from QCA (with RPC support added as the
only change).

Change-Id: Iceb81ed3ddb89184480d6b43a8730e39546550cb
diff --git a/README.build b/README.build
index f08cc0f..0ea1388 100644
--- a/README.build
+++ b/README.build
@@ -1,36 +1,11 @@
-This toolchain was built using crosstool-ng version 1.9.3:
+This toolchain was built using crosstool-ng version 1.21:
 
   http://crosstool-ng.org/
 
-As well as patches from the QCA setup as outlined here:
-
-  https://drive.google.com/a/google.com/file/d/0BxCLRDWW7YPXQW5yd3dzQmFQamhSX3FrUmtQajdHaXBmaTY4/view?usp=sharing
-
-The patches included were for the following packages:
-
-  -- linux-2.6.31 headers
-  -- gcc 4.6.4
-  -- uClibc 0.9.33.2
-  -- binutils 2.24
-
 The uClibc also included a config file modified to contain build instructions
 for support of:
 
   -- WCHAR
   -- RPC
   -- IPV6
-  -- PTHREADS (w/ debugging.  old linux impl.  No TLS)
-
-Some patches had to be made to the base installation of crosstool-ng, namely the
-inclusion of a proper PATH variable in order not to use the default host
-compiler (default must be version 4.6 or older, as 4.8+ has several deprecated
-options that make crosstool-ng unable to function) when compiling uClibc.
-
-Then the main script file was patched so that, on an Ubuntu-14.04 installation,
-a working version of gcc was used when copying the host compiler into the
-crosstool build directory (instead of running `which gcc' it instead runs
-`which gcc-4.6' to locate the gcc path).
-
-After all this, crosstool was run to build the config included in build/config
-(albeit with proper paths to conform to the paths on the respective host machine for
-linux headers and such).
+  -- PTHREADS (w/ debugging.  NPTL)
diff --git a/bin/mips-linux-uclibc-gcc-4.6.4 b/bin/mips-linux-uclibc-gcc-4.6.4
deleted file mode 120000
index 77af136..0000000
--- a/bin/mips-linux-uclibc-gcc-4.6.4
+++ /dev/null
@@ -1 +0,0 @@
-mips-qca-linux-uclibc-gcc-4.6.4
\ No newline at end of file
diff --git a/bin/mips-linux-uclibc-gcc-4.9.2 b/bin/mips-linux-uclibc-gcc-4.9.2
new file mode 120000
index 0000000..a6304c1
--- /dev/null
+++ b/bin/mips-linux-uclibc-gcc-4.9.2
@@ -0,0 +1 @@
+mips-qca-linux-uclibc-gcc-4.9.2
\ No newline at end of file
diff --git a/bin/mips-linux-uclibc-gcc-ar b/bin/mips-linux-uclibc-gcc-ar
new file mode 120000
index 0000000..dcbdd1b
--- /dev/null
+++ b/bin/mips-linux-uclibc-gcc-ar
@@ -0,0 +1 @@
+mips-qca-linux-uclibc-gcc-ar
\ No newline at end of file
diff --git a/bin/mips-linux-uclibc-gcc-nm b/bin/mips-linux-uclibc-gcc-nm
new file mode 120000
index 0000000..36b370e
--- /dev/null
+++ b/bin/mips-linux-uclibc-gcc-nm
@@ -0,0 +1 @@
+mips-qca-linux-uclibc-gcc-nm
\ No newline at end of file
diff --git a/bin/mips-linux-uclibc-gcc-ranlib b/bin/mips-linux-uclibc-gcc-ranlib
new file mode 120000
index 0000000..ebfdd80
--- /dev/null
+++ b/bin/mips-linux-uclibc-gcc-ranlib
@@ -0,0 +1 @@
+mips-qca-linux-uclibc-gcc-ranlib
\ No newline at end of file
diff --git a/bin/mips-qca-linux-uclibc-addr2line b/bin/mips-qca-linux-uclibc-addr2line
index 4844c1e..fe03d96 100755
--- a/bin/mips-qca-linux-uclibc-addr2line
+++ b/bin/mips-qca-linux-uclibc-addr2line
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-ar b/bin/mips-qca-linux-uclibc-ar
index 90ce779..22759ce 100755
--- a/bin/mips-qca-linux-uclibc-ar
+++ b/bin/mips-qca-linux-uclibc-ar
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-as b/bin/mips-qca-linux-uclibc-as
index 832d300..8ab98fe 100755
--- a/bin/mips-qca-linux-uclibc-as
+++ b/bin/mips-qca-linux-uclibc-as
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-c++ b/bin/mips-qca-linux-uclibc-c++
index 8094f18..6a5f7b0 100755
--- a/bin/mips-qca-linux-uclibc-c++
+++ b/bin/mips-qca-linux-uclibc-c++
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-c++filt b/bin/mips-qca-linux-uclibc-c++filt
index 8585430..a5b16ea 100755
--- a/bin/mips-qca-linux-uclibc-c++filt
+++ b/bin/mips-qca-linux-uclibc-c++filt
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-cpp b/bin/mips-qca-linux-uclibc-cpp
index 5e47c4e..0b71813 100755
--- a/bin/mips-qca-linux-uclibc-cpp
+++ b/bin/mips-qca-linux-uclibc-cpp
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-ct-ng.config b/bin/mips-qca-linux-uclibc-ct-ng.config
index d5eac5e..32fcf06 100755
--- a/bin/mips-qca-linux-uclibc-ct-ng.config
+++ b/bin/mips-qca-linux-uclibc-ct-ng.config
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-elfedit b/bin/mips-qca-linux-uclibc-elfedit
index 459b404..df8e678 100755
--- a/bin/mips-qca-linux-uclibc-elfedit
+++ b/bin/mips-qca-linux-uclibc-elfedit
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-g++ b/bin/mips-qca-linux-uclibc-g++
index 8094f18..6a5f7b0 100755
--- a/bin/mips-qca-linux-uclibc-g++
+++ b/bin/mips-qca-linux-uclibc-g++
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gcc b/bin/mips-qca-linux-uclibc-gcc
index 7701b19..731f1c6 100755
--- a/bin/mips-qca-linux-uclibc-gcc
+++ b/bin/mips-qca-linux-uclibc-gcc
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gcc-4.6.4 b/bin/mips-qca-linux-uclibc-gcc-4.6.4
deleted file mode 100755
index 7701b19..0000000
--- a/bin/mips-qca-linux-uclibc-gcc-4.6.4
+++ /dev/null
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gcc-4.9.2 b/bin/mips-qca-linux-uclibc-gcc-4.9.2
new file mode 100755
index 0000000..731f1c6
--- /dev/null
+++ b/bin/mips-qca-linux-uclibc-gcc-4.9.2
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gcc-ar b/bin/mips-qca-linux-uclibc-gcc-ar
new file mode 100755
index 0000000..a4b4baa
--- /dev/null
+++ b/bin/mips-qca-linux-uclibc-gcc-ar
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gcc-nm b/bin/mips-qca-linux-uclibc-gcc-nm
new file mode 100755
index 0000000..a2d1a30
--- /dev/null
+++ b/bin/mips-qca-linux-uclibc-gcc-nm
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gcc-ranlib b/bin/mips-qca-linux-uclibc-gcc-ranlib
new file mode 100755
index 0000000..c495268
--- /dev/null
+++ b/bin/mips-qca-linux-uclibc-gcc-ranlib
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gcov b/bin/mips-qca-linux-uclibc-gcov
index 00e9e10..5bedb5d 100755
--- a/bin/mips-qca-linux-uclibc-gcov
+++ b/bin/mips-qca-linux-uclibc-gcov
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gdb b/bin/mips-qca-linux-uclibc-gdb
index 6da55fc..3c92c50 100755
--- a/bin/mips-qca-linux-uclibc-gdb
+++ b/bin/mips-qca-linux-uclibc-gdb
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-gprof b/bin/mips-qca-linux-uclibc-gprof
index d380c70..bd724f6 100755
--- a/bin/mips-qca-linux-uclibc-gprof
+++ b/bin/mips-qca-linux-uclibc-gprof
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-ld b/bin/mips-qca-linux-uclibc-ld
index 8348002..6c10663 100755
--- a/bin/mips-qca-linux-uclibc-ld
+++ b/bin/mips-qca-linux-uclibc-ld
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-ld.bfd b/bin/mips-qca-linux-uclibc-ld.bfd
index 8348002..6c10663 100755
--- a/bin/mips-qca-linux-uclibc-ld.bfd
+++ b/bin/mips-qca-linux-uclibc-ld.bfd
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-nm b/bin/mips-qca-linux-uclibc-nm
index f2ef614..6790743 100755
--- a/bin/mips-qca-linux-uclibc-nm
+++ b/bin/mips-qca-linux-uclibc-nm
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-objcopy b/bin/mips-qca-linux-uclibc-objcopy
index fc0ddfe..0687ab0 100755
--- a/bin/mips-qca-linux-uclibc-objcopy
+++ b/bin/mips-qca-linux-uclibc-objcopy
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-objdump b/bin/mips-qca-linux-uclibc-objdump
index 11c0b62..80801ce 100755
--- a/bin/mips-qca-linux-uclibc-objdump
+++ b/bin/mips-qca-linux-uclibc-objdump
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-ranlib b/bin/mips-qca-linux-uclibc-ranlib
index 1c15b95..3403039 100755
--- a/bin/mips-qca-linux-uclibc-ranlib
+++ b/bin/mips-qca-linux-uclibc-ranlib
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-readelf b/bin/mips-qca-linux-uclibc-readelf
index a6281f3..1380913 100755
--- a/bin/mips-qca-linux-uclibc-readelf
+++ b/bin/mips-qca-linux-uclibc-readelf
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-size b/bin/mips-qca-linux-uclibc-size
index 3fc94c3..25eca8c 100755
--- a/bin/mips-qca-linux-uclibc-size
+++ b/bin/mips-qca-linux-uclibc-size
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-strings b/bin/mips-qca-linux-uclibc-strings
index 6a2c85d..3ce42c9 100755
--- a/bin/mips-qca-linux-uclibc-strings
+++ b/bin/mips-qca-linux-uclibc-strings
Binary files differ
diff --git a/bin/mips-qca-linux-uclibc-strip b/bin/mips-qca-linux-uclibc-strip
index 12be6b8..f6e9c8c 100755
--- a/bin/mips-qca-linux-uclibc-strip
+++ b/bin/mips-qca-linux-uclibc-strip
Binary files differ
diff --git a/build/crosstool-1.20-build.config b/build/crosstool-1.20-build.config
deleted file mode 100644
index a6d8aaa..0000000
--- a/build/crosstool-1.20-build.config
+++ /dev/null
@@ -1,580 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# crosstool-NG 1.20.0 Configuration
-# Fri Feb 20 10:26:13 2015
-#
-CT_CONFIGURE_has_make381=y
-CT_CONFIGURE_has_xz=y
-CT_CONFIGURE_has_cvs=y
-CT_CONFIGURE_has_svn=y
-CT_MODULES=y
-
-#
-# Paths and misc options
-#
-
-#
-# crosstool-NG behavior
-#
-# CT_OBSOLETE is not set
-# CT_EXPERIMENTAL is not set
-# CT_DEBUG_CT is not set
-
-#
-# Paths
-#
-CT_LOCAL_TARBALLS_DIR="${HOME}/src"
-CT_SAVE_TARBALLS=y
-CT_WORK_DIR="${CT_TOP_DIR}/.build"
-CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}"
-CT_INSTALL_DIR="${CT_PREFIX_DIR}"
-CT_RM_RF_PREFIX_DIR=y
-CT_REMOVE_DOCS=y
-CT_INSTALL_DIR_RO=y
-CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y
-
-#
-# Downloading
-#
-# CT_FORBID_DOWNLOAD is not set
-# CT_FORCE_DOWNLOAD is not set
-CT_CONNECT_TIMEOUT=10
-# CT_ONLY_DOWNLOAD is not set
-# CT_USE_MIRROR is not set
-
-#
-# Extracting
-#
-# CT_FORCE_EXTRACT is not set
-CT_OVERIDE_CONFIG_GUESS_SUB=y
-# CT_ONLY_EXTRACT is not set
-CT_PATCH_BUNDLED=y
-# CT_PATCH_LOCAL is not set
-# CT_PATCH_BUNDLED_LOCAL is not set
-# CT_PATCH_LOCAL_BUNDLED is not set
-# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
-# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
-# CT_PATCH_NONE is not set
-CT_PATCH_ORDER="bundled"
-
-#
-# Build behavior
-#
-CT_PARALLEL_JOBS=30
-CT_LOAD=""
-CT_USE_PIPES=y
-CT_EXTRA_CFLAGS_FOR_BUILD=""
-CT_EXTRA_LDFLAGS_FOR_BUILD=""
-CT_EXTRA_CFLAGS_FOR_HOST=""
-CT_EXTRA_LDFLAGS_FOR_HOST=""
-# CT_CONFIG_SHELL_SH is not set
-# CT_CONFIG_SHELL_ASH is not set
-CT_CONFIG_SHELL_BASH=y
-# CT_CONFIG_SHELL_CUSTOM is not set
-CT_CONFIG_SHELL="${bash}"
-
-#
-# Logging
-#
-# CT_LOG_ERROR is not set
-# CT_LOG_WARN is not set
-# CT_LOG_INFO is not set
-CT_LOG_EXTRA=y
-# CT_LOG_ALL is not set
-# CT_LOG_DEBUG is not set
-CT_LOG_LEVEL_MAX="EXTRA"
-# CT_LOG_SEE_TOOLS_WARN is not set
-CT_LOG_PROGRESS_BAR=y
-CT_LOG_TO_FILE=y
-CT_LOG_FILE_COMPRESS=y
-
-#
-# Target options
-#
-CT_ARCH="mips"
-CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
-CT_ARCH_SUPPORTS_32=y
-CT_ARCH_SUPPORTS_WITH_ARCH=y
-CT_ARCH_SUPPORTS_WITH_TUNE=y
-CT_ARCH_SUPPORTS_WITH_FLOAT=y
-CT_ARCH_DEFAULT_BE=y
-CT_ARCH_DEFAULT_32=y
-CT_ARCH_ARCH="mips32r2"
-CT_ARCH_TUNE="mips32r2"
-CT_ARCH_BE=y
-# CT_ARCH_LE is not set
-CT_ARCH_32=y
-CT_ARCH_BITNESS=32
-# CT_ARCH_FLOAT_HW is not set
-CT_ARCH_FLOAT_SW=y
-CT_TARGET_CFLAGS=""
-CT_TARGET_LDFLAGS=""
-# CT_ARCH_alpha is not set
-# CT_ARCH_arm is not set
-# CT_ARCH_avr32 is not set
-# CT_ARCH_blackfin is not set
-# CT_ARCH_m68k is not set
-CT_ARCH_mips=y
-# CT_ARCH_nios2 is not set
-# CT_ARCH_powerpc is not set
-# CT_ARCH_s390 is not set
-# CT_ARCH_sh is not set
-# CT_ARCH_sparc is not set
-# CT_ARCH_x86 is not set
-CT_ARCH_alpha_AVAILABLE=y
-CT_ARCH_arm_AVAILABLE=y
-CT_ARCH_avr32_AVAILABLE=y
-CT_ARCH_blackfin_AVAILABLE=y
-CT_ARCH_m68k_AVAILABLE=y
-CT_ARCH_microblaze_AVAILABLE=y
-CT_ARCH_mips_AVAILABLE=y
-CT_ARCH_nios2_AVAILABLE=y
-CT_ARCH_powerpc_AVAILABLE=y
-CT_ARCH_s390_AVAILABLE=y
-CT_ARCH_sh_AVAILABLE=y
-CT_ARCH_sparc_AVAILABLE=y
-CT_ARCH_x86_AVAILABLE=y
-CT_ARCH_SUFFIX=""
-
-#
-# Generic target options
-#
-# CT_MULTILIB is not set
-CT_ARCH_USE_MMU=y
-CT_ARCH_ENDIAN="big"
-
-#
-# Target optimisations
-#
-# CT_ARCH_FLOAT_AUTO is not set
-CT_ARCH_FLOAT="soft"
-
-#
-# mips other options
-#
-CT_ARCH_mips_o32=y
-CT_ARCH_mips_ABI="32"
-
-#
-# Toolchain options
-#
-
-#
-# General toolchain options
-#
-CT_FORCE_SYSROOT=y
-CT_USE_SYSROOT=y
-CT_SYSROOT_NAME="sysroot"
-CT_SYSROOT_DIR_PREFIX=""
-CT_WANTS_STATIC_LINK=y
-# CT_STATIC_TOOLCHAIN is not set
-CT_TOOLCHAIN_PKGVERSION=""
-CT_TOOLCHAIN_BUGURL=""
-
-#
-# Tuple completion and aliasing
-#
-CT_TARGET_VENDOR="qca"
-CT_TARGET_ALIAS_SED_EXPR=""
-CT_TARGET_ALIAS="mips-linux-uclibc"
-
-#
-# Toolchain type
-#
-CT_CROSS=y
-# CT_CANADIAN is not set
-CT_TOOLCHAIN_TYPE="cross"
-
-#
-# Build system
-#
-CT_BUILD=""
-CT_BUILD_PREFIX=""
-CT_BUILD_SUFFIX=""
-
-#
-# Misc options
-#
-# CT_TOOLCHAIN_ENABLE_NLS is not set
-
-#
-# Operating System
-#
-CT_KERNEL_SUPPORTS_SHARED_LIBS=y
-CT_KERNEL="linux"
-CT_KERNEL_VERSION="custom"
-# CT_KERNEL_bare_metal is not set
-CT_KERNEL_linux=y
-CT_KERNEL_bare_metal_AVAILABLE=y
-CT_KERNEL_linux_AVAILABLE=y
-# CT_KERNEL_V_3_18 is not set
-# CT_KERNEL_V_3_17 is not set
-# CT_KERNEL_V_3_16 is not set
-# CT_KERNEL_V_3_15 is not set
-# CT_KERNEL_V_3_14 is not set
-# CT_KERNEL_V_3_13 is not set
-# CT_KERNEL_V_3_12 is not set
-# CT_KERNEL_V_3_11 is not set
-# CT_KERNEL_V_3_10 is not set
-# CT_KERNEL_V_3_9 is not set
-# CT_KERNEL_V_3_8 is not set
-# CT_KERNEL_V_3_7 is not set
-# CT_KERNEL_V_3_6 is not set
-# CT_KERNEL_V_3_5 is not set
-# CT_KERNEL_V_3_4 is not set
-# CT_KERNEL_V_3_3 is not set
-# CT_KERNEL_V_3_2 is not set
-# CT_KERNEL_V_3_1 is not set
-# CT_KERNEL_V_3_0 is not set
-# CT_KERNEL_V_2_6_39 is not set
-# CT_KERNEL_V_2_6_38 is not set
-# CT_KERNEL_V_2_6_37 is not set
-# CT_KERNEL_V_2_6_36 is not set
-# CT_KERNEL_V_2_6_33 is not set
-# CT_KERNEL_V_2_6_32 is not set
-# CT_KERNEL_V_2_6_31 is not set
-# CT_KERNEL_V_2_6_27 is not set
-CT_KERNEL_LINUX_CUSTOM=y
-CT_KERNEL_LINUX_CUSTOM_LOCATION="/usr/local/google/home/awdavies/proj/embedded/kernel/windcharger/"
-CT_KERNEL_windows_AVAILABLE=y
-
-#
-# Common kernel options
-#
-CT_SHARED_LIBS=y
-
-#
-# linux other options
-#
-CT_KERNEL_LINUX_VERBOSITY_0=y
-# CT_KERNEL_LINUX_VERBOSITY_1 is not set
-# CT_KERNEL_LINUX_VERBOSITY_2 is not set
-CT_KERNEL_LINUX_VERBOSE_LEVEL=0
-CT_KERNEL_LINUX_INSTALL_CHECK=y
-
-#
-# Binary utilities
-#
-CT_ARCH_BINFMT_ELF=y
-CT_BINUTILS="binutils"
-CT_BINUTILS_binutils=y
-
-#
-# GNU binutils
-#
-# CT_BINUTILS_LINARO_V_2_25 is not set
-# CT_BINUTILS_V_2_25 is not set
-# CT_BINUTILS_LINARO_V_2_24 is not set
-CT_BINUTILS_V_2_24=y
-# CT_BINUTILS_V_2_23_2 is not set
-# CT_BINUTILS_V_2_23_1 is not set
-# CT_BINUTILS_V_2_22 is not set
-# CT_BINUTILS_V_2_21_53 is not set
-# CT_BINUTILS_V_2_21_1a is not set
-# CT_BINUTILS_V_2_20_1a is not set
-# CT_BINUTILS_V_2_19_1a is not set
-# CT_BINUTILS_V_2_18a is not set
-CT_BINUTILS_VERSION="2.24"
-CT_BINUTILS_2_24_or_later=y
-CT_BINUTILS_2_23_or_later=y
-CT_BINUTILS_2_22_or_later=y
-CT_BINUTILS_2_21_or_later=y
-CT_BINUTILS_2_20_or_later=y
-CT_BINUTILS_2_19_or_later=y
-CT_BINUTILS_2_18_or_later=y
-CT_BINUTILS_HAS_HASH_STYLE=y
-CT_BINUTILS_HAS_GOLD=y
-CT_BINUTILS_HAS_PLUGINS=y
-CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
-CT_BINUTILS_LINKER_LD=y
-CT_BINUTILS_LINKERS_LIST="ld"
-CT_BINUTILS_LINKER_DEFAULT="bfd"
-# CT_BINUTILS_PLUGINS is not set
-CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
-CT_BINUTILS_FOR_TARGET=y
-CT_BINUTILS_FOR_TARGET_IBERTY=y
-CT_BINUTILS_FOR_TARGET_BFD=y
-
-#
-# binutils other options
-#
-
-#
-# C-library
-#
-CT_LIBC="uClibc"
-CT_LIBC_VERSION="0.9.33.2"
-# CT_LIBC_eglibc is not set
-# CT_LIBC_glibc is not set
-# CT_LIBC_musl is not set
-CT_LIBC_uClibc=y
-CT_LIBC_eglibc_AVAILABLE=y
-CT_THREADS="linuxthreads"
-CT_LIBC_glibc_AVAILABLE=y
-CT_LIBC_mingw_AVAILABLE=y
-CT_LIBC_musl_AVAILABLE=y
-CT_LIBC_newlib_AVAILABLE=y
-CT_LIBC_none_AVAILABLE=y
-CT_LIBC_uClibc_AVAILABLE=y
-CT_LIBC_UCLIBC_V_0_9_33_2=y
-# CT_LIBC_UCLIBC_V_0_9_33_1 is not set
-# CT_LIBC_UCLIBC_V_0_9_33 is not set
-# CT_LIBC_UCLIBC_V_0_9_32_1 is not set
-# CT_LIBC_UCLIBC_V_0_9_32 is not set
-# CT_LIBC_UCLIBC_V_0_9_31 is not set
-# CT_LIBC_UCLIBC_V_0_9_30_3 is not set
-# CT_LIBC_UCLIBC_V_0_9_30_2 is not set
-# CT_LIBC_UCLIBC_V_0_9_30_1 is not set
-# CT_LIBC_UCLIBC_V_0_9_30 is not set
-CT_LIBC_UCLIBC_0_9_32_or_later=y
-CT_LIBC_UCLIBC_0_9_30_or_later=y
-CT_LIBC_UCLIBC_PARALLEL=y
-CT_LIBC_UCLIBC_VERBOSITY_0=y
-# CT_LIBC_UCLIBC_VERBOSITY_1 is not set
-# CT_LIBC_UCLIBC_VERBOSITY_2 is not set
-CT_LIBC_UCLIBC_VERBOSITY=""
-CT_LIBC_UCLIBC_DEBUG_LEVEL_0=y
-# CT_LIBC_UCLIBC_DEBUG_LEVEL_1 is not set
-# CT_LIBC_UCLIBC_DEBUG_LEVEL_2 is not set
-# CT_LIBC_UCLIBC_DEBUG_LEVEL_3 is not set
-CT_LIBC_UCLIBC_DEBUG_LEVEL=0
-CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config"
-CT_LIBC_SUPPORT_THREADS_ANY=y
-CT_LIBC_SUPPORT_THREADS_NATIVE=y
-CT_LIBC_SUPPORT_THREADS_LT=y
-CT_LIBC_SUPPORT_THREADS_NONE=y
-
-#
-# Common C library options
-#
-# CT_THREADS_NATIVE is not set
-CT_THREADS_LT=y
-# CT_THREADS_NONE is not set
-# CT_LIBC_XLDD is not set
-
-#
-# uClibc other options
-#
-CT_LIBC_UCLIBC_LNXTHRD_OLD=y
-# CT_LIBC_UCLIBC_LNXTHRD_NEW is not set
-CT_LIBC_UCLIBC_LNXTHRD="old"
-# CT_LIBC_UCLIBC_LOCALES is not set
-CT_LIBC_UCLIBC_WCHAR=y
-# CT_LIBC_UCLIBC_FENV is not set
-
-#
-# C compiler
-#
-CT_CC="gcc"
-CT_CC_VERSION="4.6.4"
-CT_CC_CORE_PASSES_NEEDED=y
-CT_CC_CORE_PASS_1_NEEDED=y
-CT_CC_CORE_PASS_2_NEEDED=y
-CT_CC_gcc=y
-# CT_CC_GCC_SHOW_LINARO is not set
-# CT_CC_V_4_9_2 is not set
-# CT_CC_V_4_9_1 is not set
-# CT_CC_V_4_9_0 is not set
-# CT_CC_V_4_8_4 is not set
-# CT_CC_V_4_8_3 is not set
-# CT_CC_V_4_8_2 is not set
-# CT_CC_V_4_8_1 is not set
-# CT_CC_V_4_8_0 is not set
-# CT_CC_V_4_7_4 is not set
-# CT_CC_V_4_7_3 is not set
-# CT_CC_V_4_7_2 is not set
-# CT_CC_V_4_7_1 is not set
-# CT_CC_V_4_7_0 is not set
-CT_CC_V_4_6_4=y
-# CT_CC_V_4_6_3 is not set
-# CT_CC_V_4_6_2 is not set
-# CT_CC_V_4_6_1 is not set
-# CT_CC_V_4_6_0 is not set
-# CT_CC_V_4_5_3 is not set
-# CT_CC_V_4_5_2 is not set
-# CT_CC_V_4_5_1 is not set
-# CT_CC_V_4_5_0 is not set
-# CT_CC_V_4_4_7 is not set
-# CT_CC_V_4_4_6 is not set
-# CT_CC_V_4_4_5 is not set
-# CT_CC_V_4_4_4 is not set
-# CT_CC_V_4_4_3 is not set
-# CT_CC_V_4_4_2 is not set
-# CT_CC_V_4_4_1 is not set
-# CT_CC_V_4_4_0 is not set
-# CT_CC_V_4_3_6 is not set
-# CT_CC_V_4_3_5 is not set
-# CT_CC_V_4_3_4 is not set
-# CT_CC_V_4_3_3 is not set
-# CT_CC_V_4_3_2 is not set
-# CT_CC_V_4_3_1 is not set
-# CT_CC_V_4_2_4 is not set
-# CT_CC_V_4_2_2 is not set
-CT_CC_GCC_4_2_or_later=y
-CT_CC_GCC_4_3_or_later=y
-CT_CC_GCC_4_4_or_later=y
-CT_CC_GCC_4_5_or_later=y
-CT_CC_GCC_4_6=y
-CT_CC_GCC_4_6_or_later=y
-CT_CC_GCC_HAS_GRAPHITE=y
-# CT_CC_GCC_USE_GRAPHITE is not set
-CT_CC_GCC_HAS_LTO=y
-CT_CC_GCC_USE_LTO=y
-CT_CC_GCC_HAS_PKGVERSION_BUGURL=y
-CT_CC_GCC_HAS_BUILD_ID=y
-CT_CC_GCC_USE_GMP_MPFR=y
-CT_CC_GCC_USE_MPC=y
-CT_CC_GCC_HAS_LIBQUADMATH=y
-# CT_CC_LANG_FORTRAN is not set
-CT_CC_SUPPORT_CXX=y
-CT_CC_SUPPORT_FORTRAN=y
-CT_CC_SUPPORT_JAVA=y
-CT_CC_SUPPORT_ADA=y
-CT_CC_SUPPORT_OBJC=y
-CT_CC_SUPPORT_OBJCXX=y
-
-#
-# Additional supported languages:
-#
-CT_CC_LANG_CXX=y
-# CT_CC_LANG_JAVA is not set
-
-#
-# gcc other options
-#
-CT_CC_ENABLE_CXX_FLAGS=""
-CT_CC_CORE_EXTRA_CONFIG_ARRAY="--with-float=soft --disable-libssp --disable-decimal-float --enable-target-optspace --disable-__cxa_atexit --disable-nls --disable-tls"
-CT_CC_EXTRA_CONFIG_ARRAY="--disable-libssp --disable-__cxa_atexit --with-float=soft --enable-target-optspace --with-gnu-ld --disable-decimal-float --enable-threads --disable-nls --with-abi=\"32\" --disable-multilib --with-fPIC --disable-nls -disable-tls"
-# CT_CC_STATIC_LIBSTDCXX is not set
-# CT_CC_GCC_SYSTEM_ZLIB is not set
-
-#
-# Optimisation features
-#
-
-#
-# Settings for libraries running on target
-#
-CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
-CT_CC_GCC_LIBMUDFLAP=y
-# CT_CC_GCC_LIBGOMP is not set
-# CT_CC_GCC_LIBSSP is not set
-# CT_CC_GCC_LIBQUADMATH is not set
-
-#
-# Misc. obscure options.
-#
-# CT_CC_CXA_ATEXIT is not set
-# CT_CC_GCC_DISABLE_PCH is not set
-CT_CC_GCC_SJLJ_EXCEPTIONS=m
-CT_CC_GCC_LDBL_128=m
-CT_CC_GCC_BUILD_ID=y
-# CT_CC_GCC_DEC_FLOAT_AUTO is not set
-# CT_CC_GCC_DEC_FLOAT_BID is not set
-# CT_CC_GCC_DEC_FLOAT_DPD is not set
-CT_CC_GCC_DEC_FLOATS_NO=y
-CT_CC_GCC_DEC_FLOATS="no"
-CT_CC_GCC_HAS_ARCH_OPTIONS=y
-
-#
-# archictecture-specific options
-#
-CT_CC_GCC_mips_llsc=m
-CT_CC_GCC_mips_synci=m
-CT_CC_GCC_mips_plt=y
-
-#
-# Debug facilities
-#
-# CT_DEBUG_dmalloc is not set
-# CT_DEBUG_duma is not set
-CT_DEBUG_gdb=y
-CT_GDB_CROSS=y
-CT_GDB_CROSS_STATIC=y
-# CT_GDB_CROSS_SIM is not set
-CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
-# CT_GDB_NATIVE is not set
-CT_GDB_GDBSERVER=y
-CT_GDB_GDBSERVER_HAS_IPA_LIB=y
-# CT_GDB_GDBSERVER_STATIC is not set
-# CT_GDB_GDBSERVER_BUILD_IPA_LIB is not set
-
-#
-# gdb version
-#
-# CT_DEBUG_GDB_SHOW_LINARO is not set
-CT_GDB_V_7_8_1=y
-# CT_GDB_V_7_8 is not set
-# CT_GDB_V_7_7_1 is not set
-# CT_GDB_V_7_7 is not set
-# CT_GDB_V_7_6_1 is not set
-# CT_GDB_V_7_5_1 is not set
-# CT_GDB_V_7_4_1 is not set
-# CT_GDB_V_7_4 is not set
-# CT_GDB_V_7_3_1 is not set
-# CT_GDB_V_7_3a is not set
-# CT_GDB_V_7_2a is not set
-# CT_GDB_V_7_1a is not set
-# CT_GDB_V_7_0_1a is not set
-# CT_GDB_V_7_0a is not set
-# CT_GDB_V_6_8a is not set
-CT_GDB_7_2_or_later=y
-CT_GDB_7_0_or_later=y
-CT_GDB_HAS_PKGVERSION_BUGURL=y
-CT_GDB_HAS_PYTHON=y
-CT_GDB_INSTALL_GDBINIT=y
-CT_GDB_VERSION="7.8.1"
-# CT_DEBUG_ltrace is not set
-# CT_DEBUG_strace is not set
-
-#
-# Companion libraries
-#
-CT_COMPLIBS_NEEDED=y
-CT_GMP_NEEDED=y
-CT_MPFR_NEEDED=y
-CT_MPC_NEEDED=y
-CT_COMPLIBS=y
-CT_GMP=y
-CT_MPFR=y
-CT_MPC=y
-CT_GMP_V_6_0_0=y
-# CT_GMP_V_5_1_3 is not set
-# CT_GMP_V_5_1_1 is not set
-# CT_GMP_V_5_0_2 is not set
-# CT_GMP_V_5_0_1 is not set
-# CT_GMP_V_4_3_2 is not set
-# CT_GMP_V_4_3_1 is not set
-# CT_GMP_V_4_3_0 is not set
-CT_GMP_5_0_2_or_later=y
-CT_GMP_VERSION="6.0.0a"
-CT_MPFR_V_3_1_2=y
-# CT_MPFR_V_3_1_0 is not set
-# CT_MPFR_V_3_0_1 is not set
-# CT_MPFR_V_3_0_0 is not set
-# CT_MPFR_V_2_4_2 is not set
-# CT_MPFR_V_2_4_1 is not set
-# CT_MPFR_V_2_4_0 is not set
-CT_MPFR_VERSION="3.1.2"
-CT_MPC_V_1_0_2=y
-# CT_MPC_V_1_0_1 is not set
-# CT_MPC_V_1_0 is not set
-# CT_MPC_V_0_9 is not set
-# CT_MPC_V_0_8_2 is not set
-# CT_MPC_V_0_8_1 is not set
-# CT_MPC_V_0_7 is not set
-CT_MPC_VERSION="1.0.2"
-
-#
-# Companion libraries common options
-#
-# CT_COMPLIBS_CHECK is not set
-
-#
-# Companion tools
-#
-
-#
-# READ HELP before you say 'Y' below !!!
-#
-# CT_COMP_TOOLS is not set
diff --git a/build/crosstool-1.21-build.config b/build/crosstool-1.21-build.config
new file mode 100644
index 0000000..1f62ef9
--- /dev/null
+++ b/build/crosstool-1.21-build.config
@@ -0,0 +1,568 @@
+#
+# Automatically generated make config: don't edit
+# crosstool-NG 1.21.0 Configuration
+# Thu Aug 13 12:51:46 2015
+#
+CT_CONFIGURE_has_make381=y
+CT_CONFIGURE_has_xz=y
+CT_CONFIGURE_has_cvs=y
+CT_CONFIGURE_has_svn=y
+CT_MODULES=y
+
+#
+# Paths and misc options
+#
+
+#
+# crosstool-NG behavior
+#
+# CT_OBSOLETE is not set
+# CT_EXPERIMENTAL is not set
+# CT_DEBUG_CT is not set
+
+#
+# Paths
+#
+CT_LOCAL_TARBALLS_DIR=""
+CT_WORK_DIR="${CT_TOP_DIR}/.build"
+CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}"
+CT_INSTALL_DIR="${CT_PREFIX_DIR}"
+CT_RM_RF_PREFIX_DIR=y
+CT_REMOVE_DOCS=y
+CT_INSTALL_DIR_RO=y
+CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y
+
+#
+# Downloading
+#
+# CT_FORBID_DOWNLOAD is not set
+# CT_FORCE_DOWNLOAD is not set
+CT_CONNECT_TIMEOUT=10
+# CT_ONLY_DOWNLOAD is not set
+# CT_USE_MIRROR is not set
+
+#
+# Extracting
+#
+# CT_FORCE_EXTRACT is not set
+CT_OVERIDE_CONFIG_GUESS_SUB=y
+# CT_ONLY_EXTRACT is not set
+CT_PATCH_BUNDLED=y
+# CT_PATCH_LOCAL is not set
+# CT_PATCH_BUNDLED_LOCAL is not set
+# CT_PATCH_LOCAL_BUNDLED is not set
+# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
+# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
+# CT_PATCH_NONE is not set
+CT_PATCH_ORDER="bundled"
+
+#
+# Build behavior
+#
+CT_PARALLEL_JOBS=0
+CT_LOAD=""
+CT_USE_PIPES=y
+CT_EXTRA_CFLAGS_FOR_BUILD="-fPIC -msoft-float"
+CT_EXTRA_LDFLAGS_FOR_BUILD=""
+CT_EXTRA_CFLAGS_FOR_HOST=""
+CT_EXTRA_LDFLAGS_FOR_HOST=""
+# CT_CONFIG_SHELL_SH is not set
+# CT_CONFIG_SHELL_ASH is not set
+CT_CONFIG_SHELL_BASH=y
+# CT_CONFIG_SHELL_CUSTOM is not set
+CT_CONFIG_SHELL="${bash}"
+
+#
+# Logging
+#
+# CT_LOG_ERROR is not set
+# CT_LOG_WARN is not set
+CT_LOG_INFO=y
+# CT_LOG_EXTRA is not set
+# CT_LOG_ALL is not set
+# CT_LOG_DEBUG is not set
+CT_LOG_LEVEL_MAX="INFO"
+# CT_LOG_SEE_TOOLS_WARN is not set
+CT_LOG_PROGRESS_BAR=y
+CT_LOG_TO_FILE=y
+CT_LOG_FILE_COMPRESS=y
+
+#
+# Target options
+#
+CT_ARCH="mips"
+CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
+CT_ARCH_SUPPORTS_32=y
+CT_ARCH_SUPPORTS_WITH_ARCH=y
+CT_ARCH_SUPPORTS_WITH_TUNE=y
+CT_ARCH_SUPPORTS_WITH_FLOAT=y
+CT_ARCH_DEFAULT_BE=y
+CT_ARCH_DEFAULT_32=y
+CT_ARCH_ARCH=""
+CT_ARCH_TUNE=""
+CT_ARCH_BE=y
+# CT_ARCH_LE is not set
+CT_ARCH_32=y
+CT_ARCH_BITNESS=32
+# CT_ARCH_FLOAT_HW is not set
+CT_ARCH_FLOAT_SW=y
+CT_TARGET_CFLAGS="-fPIC"
+CT_TARGET_LDFLAGS=""
+# CT_ARCH_alpha is not set
+# CT_ARCH_arm is not set
+# CT_ARCH_avr32 is not set
+# CT_ARCH_blackfin is not set
+# CT_ARCH_m68k is not set
+CT_ARCH_mips=y
+# CT_ARCH_nios2 is not set
+# CT_ARCH_powerpc is not set
+# CT_ARCH_s390 is not set
+# CT_ARCH_sh is not set
+# CT_ARCH_sparc is not set
+# CT_ARCH_x86 is not set
+CT_ARCH_alpha_AVAILABLE=y
+CT_ARCH_arm_AVAILABLE=y
+CT_ARCH_avr32_AVAILABLE=y
+CT_ARCH_blackfin_AVAILABLE=y
+CT_ARCH_m68k_AVAILABLE=y
+CT_ARCH_microblaze_AVAILABLE=y
+CT_ARCH_mips_AVAILABLE=y
+CT_ARCH_nios2_AVAILABLE=y
+CT_ARCH_powerpc_AVAILABLE=y
+CT_ARCH_s390_AVAILABLE=y
+CT_ARCH_sh_AVAILABLE=y
+CT_ARCH_sparc_AVAILABLE=y
+CT_ARCH_x86_AVAILABLE=y
+CT_ARCH_SUFFIX=""
+
+#
+# Generic target options
+#
+# CT_MULTILIB is not set
+CT_ARCH_USE_MMU=y
+CT_ARCH_ENDIAN="big"
+
+#
+# Target optimisations
+#
+# CT_ARCH_FLOAT_AUTO is not set
+CT_ARCH_FLOAT="soft"
+
+#
+# mips other options
+#
+CT_ARCH_mips_o32=y
+CT_ARCH_mips_ABI="32"
+
+#
+# Toolchain options
+#
+
+#
+# General toolchain options
+#
+CT_FORCE_SYSROOT=y
+CT_USE_SYSROOT=y
+CT_SYSROOT_NAME="sysroot"
+CT_SYSROOT_DIR_PREFIX=""
+# CT_STATIC_TOOLCHAIN is not set
+CT_TOOLCHAIN_PKGVERSION=""
+CT_TOOLCHAIN_BUGURL=""
+
+#
+# Tuple completion and aliasing
+#
+CT_TARGET_VENDOR="qca"
+CT_TARGET_ALIAS_SED_EXPR=""
+CT_TARGET_ALIAS="mips-linux-uclibc"
+
+#
+# Toolchain type
+#
+CT_CROSS=y
+# CT_CANADIAN is not set
+CT_TOOLCHAIN_TYPE="cross"
+
+#
+# Build system
+#
+CT_BUILD=""
+CT_BUILD_PREFIX=""
+CT_BUILD_SUFFIX=""
+
+#
+# Misc options
+#
+# CT_TOOLCHAIN_ENABLE_NLS is not set
+
+#
+# Operating System
+#
+CT_KERNEL_SUPPORTS_SHARED_LIBS=y
+CT_KERNEL="linux"
+CT_KERNEL_VERSION="custom"
+# CT_KERNEL_bare_metal is not set
+CT_KERNEL_linux=y
+CT_KERNEL_bare_metal_AVAILABLE=y
+CT_KERNEL_linux_AVAILABLE=y
+# CT_KERNEL_V_4_0 is not set
+# CT_KERNEL_V_3_19 is not set
+# CT_KERNEL_V_3_18 is not set
+# CT_KERNEL_V_3_14 is not set
+# CT_KERNEL_V_3_12 is not set
+# CT_KERNEL_V_3_10 is not set
+# CT_KERNEL_V_3_4 is not set
+# CT_KERNEL_V_3_2 is not set
+# CT_KERNEL_V_2_6_32 is not set
+CT_KERNEL_LINUX_CUSTOM=y
+CT_KERNEL_LINUX_CUSTOM_LOCATION="/usr/local/google/home/awdavies/proj/embedded/kernel/windcharger"
+CT_KERNEL_windows_AVAILABLE=y
+
+#
+# Common kernel options
+#
+CT_SHARED_LIBS=y
+
+#
+# linux other options
+#
+CT_KERNEL_LINUX_VERBOSITY_0=y
+# CT_KERNEL_LINUX_VERBOSITY_1 is not set
+# CT_KERNEL_LINUX_VERBOSITY_2 is not set
+CT_KERNEL_LINUX_VERBOSE_LEVEL=0
+CT_KERNEL_LINUX_INSTALL_CHECK=y
+
+#
+# Binary utilities
+#
+CT_ARCH_BINFMT_ELF=y
+CT_BINUTILS="binutils"
+CT_BINUTILS_binutils=y
+
+#
+# GNU binutils
+#
+# CT_CC_BINUTILS_SHOW_LINARO is not set
+# CT_BINUTILS_V_2_25 is not set
+CT_BINUTILS_V_2_24=y
+# CT_BINUTILS_V_2_23_2 is not set
+# CT_BINUTILS_V_2_23_1 is not set
+# CT_BINUTILS_V_2_22 is not set
+# CT_BINUTILS_V_2_21_53 is not set
+# CT_BINUTILS_V_2_21_1a is not set
+# CT_BINUTILS_V_2_20_1a is not set
+# CT_BINUTILS_V_2_19_1a is not set
+# CT_BINUTILS_V_2_18a is not set
+CT_BINUTILS_VERSION="2.24"
+CT_BINUTILS_2_24_or_later=y
+CT_BINUTILS_2_23_or_later=y
+CT_BINUTILS_2_22_or_later=y
+CT_BINUTILS_2_21_or_later=y
+CT_BINUTILS_2_20_or_later=y
+CT_BINUTILS_2_19_or_later=y
+CT_BINUTILS_2_18_or_later=y
+CT_BINUTILS_HAS_HASH_STYLE=y
+CT_BINUTILS_HAS_GOLD=y
+CT_BINUTILS_HAS_PLUGINS=y
+CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
+CT_BINUTILS_LINKER_LD=y
+CT_BINUTILS_LINKERS_LIST="ld"
+CT_BINUTILS_LINKER_DEFAULT="bfd"
+# CT_BINUTILS_PLUGINS is not set
+CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
+# CT_BINUTILS_FOR_TARGET is not set
+
+#
+# binutils other options
+#
+
+#
+# C-library
+#
+CT_LIBC="uClibc"
+CT_LIBC_VERSION="0.9.33.2"
+# CT_LIBC_glibc is not set
+# CT_LIBC_musl is not set
+CT_LIBC_uClibc=y
+CT_LIBC_glibc_AVAILABLE=y
+CT_THREADS="nptl"
+CT_LIBC_mingw_AVAILABLE=y
+CT_LIBC_musl_AVAILABLE=y
+CT_LIBC_newlib_AVAILABLE=y
+CT_LIBC_none_AVAILABLE=y
+CT_LIBC_uClibc_AVAILABLE=y
+CT_LIBC_UCLIBC_V_0_9_33_2=y
+# CT_LIBC_UCLIBC_V_0_9_33_1 is not set
+# CT_LIBC_UCLIBC_V_0_9_33 is not set
+# CT_LIBC_UCLIBC_V_0_9_32_1 is not set
+# CT_LIBC_UCLIBC_V_0_9_32 is not set
+# CT_LIBC_UCLIBC_V_0_9_31 is not set
+# CT_LIBC_UCLIBC_V_0_9_30_3 is not set
+# CT_LIBC_UCLIBC_V_0_9_30_2 is not set
+# CT_LIBC_UCLIBC_V_0_9_30_1 is not set
+# CT_LIBC_UCLIBC_V_0_9_30 is not set
+CT_LIBC_UCLIBC_0_9_32_or_later=y
+CT_LIBC_UCLIBC_0_9_30_or_later=y
+CT_LIBC_UCLIBC_PARALLEL=y
+CT_LIBC_UCLIBC_VERBOSITY_0=y
+# CT_LIBC_UCLIBC_VERBOSITY_1 is not set
+# CT_LIBC_UCLIBC_VERBOSITY_2 is not set
+CT_LIBC_UCLIBC_VERBOSITY=""
+CT_LIBC_UCLIBC_DEBUG_LEVEL_0=y
+# CT_LIBC_UCLIBC_DEBUG_LEVEL_1 is not set
+# CT_LIBC_UCLIBC_DEBUG_LEVEL_2 is not set
+# CT_LIBC_UCLIBC_DEBUG_LEVEL_3 is not set
+CT_LIBC_UCLIBC_DEBUG_LEVEL=0
+CT_LIBC_UCLIBC_CONFIG_FILE="/usr/lib/ct-ng.1.20.0/samples/mips-qca-linux-uclibc/uClibc-0.9.33.2.config"
+CT_LIBC_SUPPORT_THREADS_ANY=y
+CT_LIBC_SUPPORT_THREADS_NATIVE=y
+CT_LIBC_SUPPORT_THREADS_LT=y
+CT_LIBC_SUPPORT_THREADS_NONE=y
+
+#
+# Common C library options
+#
+CT_THREADS_NATIVE=y
+# CT_THREADS_LT is not set
+# CT_THREADS_NONE is not set
+# CT_LIBC_XLDD is not set
+
+#
+# uClibc other options
+#
+CT_LIBC_UCLIBC_LNXTHRD=""
+# CT_LIBC_UCLIBC_LOCALES is not set
+CT_LIBC_UCLIBC_WCHAR=y
+# CT_LIBC_UCLIBC_FENV is not set
+
+#
+# C compiler
+#
+CT_CC="gcc"
+CT_CC_VERSION="4.9.2"
+CT_CC_CORE_PASSES_NEEDED=y
+CT_CC_CORE_PASS_1_NEEDED=y
+CT_CC_CORE_PASS_2_NEEDED=y
+CT_CC_gcc=y
+# CT_CC_GCC_SHOW_LINARO is not set
+# CT_CC_V_5_1 is not set
+CT_CC_V_4_9_2=y
+# CT_CC_V_4_9_1 is not set
+# CT_CC_V_4_9_0 is not set
+# CT_CC_V_4_8_4 is not set
+# CT_CC_V_4_8_3 is not set
+# CT_CC_V_4_8_2 is not set
+# CT_CC_V_4_8_1 is not set
+# CT_CC_V_4_8_0 is not set
+# CT_CC_V_4_7_4 is not set
+# CT_CC_V_4_7_3 is not set
+# CT_CC_V_4_7_2 is not set
+# CT_CC_V_4_7_1 is not set
+# CT_CC_V_4_7_0 is not set
+# CT_CC_V_4_6_4 is not set
+# CT_CC_V_4_6_3 is not set
+# CT_CC_V_4_6_2 is not set
+# CT_CC_V_4_6_1 is not set
+# CT_CC_V_4_6_0 is not set
+# CT_CC_V_4_5_3 is not set
+# CT_CC_V_4_5_2 is not set
+# CT_CC_V_4_5_1 is not set
+# CT_CC_V_4_5_0 is not set
+# CT_CC_V_4_4_7 is not set
+# CT_CC_V_4_4_6 is not set
+# CT_CC_V_4_4_5 is not set
+# CT_CC_V_4_4_4 is not set
+# CT_CC_V_4_4_3 is not set
+# CT_CC_V_4_4_2 is not set
+# CT_CC_V_4_4_1 is not set
+# CT_CC_V_4_4_0 is not set
+# CT_CC_V_4_3_6 is not set
+# CT_CC_V_4_3_5 is not set
+# CT_CC_V_4_3_4 is not set
+# CT_CC_V_4_3_3 is not set
+# CT_CC_V_4_3_2 is not set
+# CT_CC_V_4_3_1 is not set
+# CT_CC_V_4_2_4 is not set
+# CT_CC_V_4_2_2 is not set
+CT_CC_GCC_4_2_or_later=y
+CT_CC_GCC_4_3_or_later=y
+CT_CC_GCC_4_4_or_later=y
+CT_CC_GCC_4_5_or_later=y
+CT_CC_GCC_4_6_or_later=y
+CT_CC_GCC_4_7_or_later=y
+CT_CC_GCC_4_8_or_later=y
+CT_CC_GCC_4_9=y
+CT_CC_GCC_4_9_or_later=y
+CT_CC_GCC_HAS_GRAPHITE=y
+# CT_CC_GCC_USE_GRAPHITE is not set
+CT_CC_GCC_HAS_LTO=y
+# CT_CC_GCC_USE_LTO is not set
+CT_CC_GCC_HAS_PKGVERSION_BUGURL=y
+CT_CC_GCC_HAS_BUILD_ID=y
+CT_CC_GCC_HAS_LNK_HASH_STYLE=y
+CT_CC_GCC_USE_GMP_MPFR=y
+CT_CC_GCC_USE_MPC=y
+CT_CC_GCC_HAS_LIBQUADMATH=y
+CT_CC_GCC_HAS_LIBSANITIZER=y
+# CT_CC_LANG_FORTRAN is not set
+CT_CC_SUPPORT_CXX=y
+CT_CC_SUPPORT_FORTRAN=y
+CT_CC_SUPPORT_JAVA=y
+CT_CC_SUPPORT_ADA=y
+CT_CC_SUPPORT_OBJC=y
+CT_CC_SUPPORT_OBJCXX=y
+CT_CC_SUPPORT_GOLANG=y
+
+#
+# Additional supported languages:
+#
+CT_CC_LANG_CXX=y
+# CT_CC_LANG_JAVA is not set
+
+#
+# gcc other options
+#
+CT_CC_ENABLE_CXX_FLAGS=""
+CT_CC_CORE_EXTRA_CONFIG_ARRAY="--with-float=soft --disable-decimal-float --enable-target-optspace --with-fPIC --enable-shared --with-pic"
+CT_CC_EXTRA_CONFIG_ARRAY="--with-float=soft --with-fPIC --disable-nls --disable-multilib --enable-shared --with-pic"
+# CT_CC_STATIC_LIBSTDCXX is not set
+# CT_CC_GCC_SYSTEM_ZLIB is not set
+
+#
+# Optimisation features
+#
+
+#
+# Settings for libraries running on target
+#
+CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
+# CT_CC_GCC_LIBMUDFLAP is not set
+# CT_CC_GCC_LIBGOMP is not set
+# CT_CC_GCC_LIBSSP is not set
+# CT_CC_GCC_LIBQUADMATH is not set
+
+#
+# Misc. obscure options.
+#
+CT_CC_CXA_ATEXIT=y
+# CT_CC_GCC_DISABLE_PCH is not set
+CT_CC_GCC_SJLJ_EXCEPTIONS=m
+CT_CC_GCC_LDBL_128=m
+# CT_CC_GCC_BUILD_ID is not set
+CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
+# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
+# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
+# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
+CT_CC_GCC_LNK_HASH_STYLE=""
+# CT_CC_GCC_DEC_FLOAT_AUTO is not set
+# CT_CC_GCC_DEC_FLOAT_BID is not set
+# CT_CC_GCC_DEC_FLOAT_DPD is not set
+CT_CC_GCC_DEC_FLOATS_NO=y
+CT_CC_GCC_DEC_FLOATS="no"
+CT_CC_GCC_HAS_ARCH_OPTIONS=y
+
+#
+# archictecture-specific options
+#
+CT_CC_GCC_mips_llsc=m
+CT_CC_GCC_mips_synci=m
+CT_CC_GCC_mips_plt=y
+
+#
+# Debug facilities
+#
+# CT_DEBUG_dmalloc is not set
+# CT_DEBUG_duma is not set
+CT_DEBUG_gdb=y
+CT_GDB_CROSS=y
+# CT_GDB_CROSS_STATIC is not set
+# CT_GDB_CROSS_SIM is not set
+# CT_GDB_CROSS_PYTHON is not set
+CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
+# CT_GDB_NATIVE is not set
+CT_GDB_GDBSERVER=y
+CT_GDB_GDBSERVER_HAS_IPA_LIB=y
+CT_GDB_GDBSERVER_STATIC=y
+
+#
+# gdb version
+#
+# CT_DEBUG_GDB_SHOW_LINARO is not set
+# CT_GDB_V_7_9_1 is not set
+CT_GDB_V_7_9=y
+# CT_GDB_V_7_8_2 is not set
+# CT_GDB_V_7_8_1 is not set
+# CT_GDB_V_7_8 is not set
+# CT_GDB_V_7_7_1 is not set
+# CT_GDB_V_7_7 is not set
+# CT_GDB_V_7_6_1 is not set
+# CT_GDB_V_7_5_1 is not set
+# CT_GDB_V_7_4_1 is not set
+# CT_GDB_V_7_4 is not set
+# CT_GDB_V_7_3_1 is not set
+# CT_GDB_V_7_3a is not set
+# CT_GDB_V_7_2a is not set
+# CT_GDB_V_7_1a is not set
+# CT_GDB_V_7_0_1a is not set
+# CT_GDB_V_7_0a is not set
+# CT_GDB_V_6_8a is not set
+CT_GDB_7_2_or_later=y
+CT_GDB_7_0_or_later=y
+CT_GDB_HAS_PKGVERSION_BUGURL=y
+CT_GDB_HAS_PYTHON=y
+CT_GDB_INSTALL_GDBINIT=y
+CT_GDB_VERSION="7.9"
+# CT_DEBUG_ltrace is not set
+# CT_DEBUG_strace is not set
+
+#
+# Companion libraries
+#
+CT_COMPLIBS_NEEDED=y
+CT_GMP_NEEDED=y
+CT_MPFR_NEEDED=y
+CT_MPC_NEEDED=y
+CT_COMPLIBS=y
+CT_GMP=y
+CT_MPFR=y
+CT_MPC=y
+CT_GMP_V_6_0_0=y
+# CT_GMP_V_5_1_3 is not set
+# CT_GMP_V_5_1_1 is not set
+# CT_GMP_V_5_0_2 is not set
+# CT_GMP_V_5_0_1 is not set
+# CT_GMP_V_4_3_2 is not set
+# CT_GMP_V_4_3_1 is not set
+# CT_GMP_V_4_3_0 is not set
+CT_GMP_5_0_2_or_later=y
+CT_GMP_VERSION="6.0.0a"
+CT_MPFR_V_3_1_2=y
+# CT_MPFR_V_3_1_0 is not set
+# CT_MPFR_V_3_0_1 is not set
+# CT_MPFR_V_3_0_0 is not set
+# CT_MPFR_V_2_4_2 is not set
+# CT_MPFR_V_2_4_1 is not set
+# CT_MPFR_V_2_4_0 is not set
+CT_MPFR_VERSION="3.1.2"
+CT_MPC_V_1_0_2=y
+# CT_MPC_V_1_0_1 is not set
+# CT_MPC_V_1_0 is not set
+# CT_MPC_V_0_9 is not set
+# CT_MPC_V_0_8_2 is not set
+# CT_MPC_V_0_8_1 is not set
+# CT_MPC_V_0_7 is not set
+CT_MPC_VERSION="1.0.2"
+
+#
+# Companion libraries common options
+#
+# CT_COMPLIBS_CHECK is not set
+
+#
+# Companion tools
+#
+
+#
+# READ HELP before you say 'Y' below !!!
+#
+# CT_COMP_TOOLS is not set
diff --git a/build/uClibc-0.9.33.2.config b/build/uClibc-0.9.33.2.config
index e3c7339..6f966cc 100644
--- a/build/uClibc-0.9.33.2.config
+++ b/build/uClibc-0.9.33.2.config
@@ -1,10 +1,12 @@
-#
-# Automatically generated make config: don't edit
+utomatically generated make config: don't edit
+# Version: 0.9.33.2
+# Wed Jan  7 17:20:04 2015
 #
 # TARGET_alpha is not set
 # TARGET_arm is not set
 # TARGET_avr32 is not set
 # TARGET_bfin is not set
+# TARGET_c6x is not set
 # TARGET_cris is not set
 # TARGET_e1 is not set
 # TARGET_frv is not set
@@ -22,6 +24,7 @@
 # TARGET_sh is not set
 # TARGET_sh64 is not set
 # TARGET_sparc is not set
+# TARGET_ubicom32 is not set
 # TARGET_v850 is not set
 # TARGET_vax is not set
 # TARGET_x86_64 is not set
@@ -32,51 +35,65 @@
 #
 TARGET_ARCH="mips"
 FORCE_OPTIONS_FOR_ARCH=y
-# ARCH_LITTLE_ENDIAN is not set
-ARCH_BIG_ENDIAN=y
-# ARCH_WANTS_LITTLE_ENDIAN is not set
-ARCH_WANTS_BIG_ENDIAN=y
+CONFIG_MIPS_O32_ABI=y
+# CONFIG_MIPS_N32_ABI is not set
+# CONFIG_MIPS_N64_ABI is not set
+# CONFIG_MIPS_ISA_1 is not set
+# CONFIG_MIPS_ISA_2 is not set
+# CONFIG_MIPS_ISA_3 is not set
+# CONFIG_MIPS_ISA_4 is not set
+CONFIG_MIPS_ISA_MIPS32=y
+# CONFIG_MIPS_ISA_MIPS32R2 is not set
+# CONFIG_MIPS_ISA_MIPS64 is not set
+TARGET_SUBARCH=""
 
 #
-# Using Little Endian
+# Using ELF file format
 #
+ARCH_ANY_ENDIAN=y
+ARCH_BIG_ENDIAN=y
+ARCH_WANTS_BIG_ENDIAN=y
+# ARCH_WANTS_LITTLE_ENDIAN is not set
 ARCH_HAS_MMU=y
 ARCH_USE_MMU=y
 UCLIBC_HAS_FLOATS=y
 # UCLIBC_HAS_FPU is not set
+UCLIBC_HAS_SOFT_FLOAT=y
 DO_C99_MATH=y
+# DO_XSI_MATH is not set
 # UCLIBC_HAS_FENV is not set
-UCLIBC_HAS_LONG_DOUBLE_MATH=y
-KERNEL_HEADERS="/usr/src/linux/include"
+KERNEL_HEADERS="/usr/local/google/home/awdavies/proj/embedded/kernel/windcharger/"
 HAVE_DOT_CONFIG=y
 
 #
 # General Library Settings
 #
-# HAVE_NO_PIC is not set
 DOPIC=y
-# ARCH_HAS_NO_SHARED is not set
-# ARCH_HAS_NO_LDSO is not set
 HAVE_SHARED=y
-FORCE_SHAREABLE_TEXT_SEGMENTS=y
+# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
 LDSO_LDD_SUPPORT=y
 LDSO_CACHE_SUPPORT=y
+# LDSO_PRELOAD_ENV_SUPPORT is not set
 # LDSO_PRELOAD_FILE_SUPPORT is not set
 LDSO_BASE_FILENAME="ld.so"
+# LDSO_STANDALONE_SUPPORT is not set
+# LDSO_PRELINK_SUPPORT is not set
 # UCLIBC_STATIC_LDCONFIG is not set
 LDSO_RUNPATH=y
+# LDSO_SEARCH_INTERP_PATH is not set
+LDSO_LD_LIBRARY_PATH=y
+# LDSO_NO_CLEANUP is not set
 UCLIBC_CTOR_DTOR=y
 # LDSO_GNU_HASH_SUPPORT is not set
 # HAS_NO_THREADS is not set
+# LINUXTHREADS_OLD is not set
+# LINUXTHREADS_NEW is not set
+UCLIBC_HAS_THREADS_NATIVE=y
 UCLIBC_HAS_THREADS=y
-# UCLIBC_HAS_THREADS_NATIVE is not set
-# UCLIBC_HAS_TLS is not set
-# UCLIBC_HAS_STDIO_FUTEXES is not set
-PTHREADS_DEBUG_SUPPORT=y
-LINUXTHREADS_OLD=y
+UCLIBC_HAS_TLS=y
+# PTHREADS_DEBUG_SUPPORT is not set
 UCLIBC_HAS_SYSLOG=y
 UCLIBC_HAS_LFS=y
-UCLIBC_HAS_LIBUTIL=y
 # MALLOC is not set
 # MALLOC_SIMPLE is not set
 MALLOC_STANDARD=y
@@ -86,31 +103,34 @@
 UCLIBC_SUSV3_LEGACY=y
 UCLIBC_SUSV3_LEGACY_MACROS=y
 UCLIBC_SUSV4_LEGACY=y
+# UCLIBC_STRICT_HEADERS is not set
 # UCLIBC_HAS_STUBS is not set
 UCLIBC_HAS_SHADOW=y
 UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
 UCLIBC_HAS___PROGNAME=y
 UCLIBC_HAS_PTY=y
 ASSUME_DEVPTS=y
-UNIX98PTY_ONLY=y
-# UCLIBC_HAS_GETPT is not set
+# UNIX98PTY_ONLY is not set
+UCLIBC_HAS_GETPT=y
+UCLIBC_HAS_LIBUTIL=y
 UCLIBC_HAS_TM_EXTENSIONS=y
 UCLIBC_HAS_TZ_CACHING=y
 UCLIBC_HAS_TZ_FILE=y
 UCLIBC_HAS_TZ_FILE_READ_MANY=y
 UCLIBC_TZ_FILE_PATH="/etc/TZ"
+# UCLIBC_FALLBACK_TO_ETC_LOCALTIME is not set
 
 #
 # Advanced Library Settings
 #
 UCLIBC_PWD_BUFFER_SIZE=256
 UCLIBC_GRP_BUFFER_SIZE=256
-UCLIBC_HAS_NONREENTRANT=y
 
 #
 # Support various families of functions
 #
 UCLIBC_LINUX_MODULE_26=y
+# UCLIBC_LINUX_MODULE_24 is not set
 UCLIBC_LINUX_SPECIFIC=y
 UCLIBC_HAS_GNU_ERROR=y
 UCLIBC_BSD_SPECIFIC=y
@@ -122,23 +142,25 @@
 UCLIBC_HAS_REALTIME=y
 UCLIBC_HAS_ADVANCED_REALTIME=y
 UCLIBC_HAS_EPOLL=y
-UCLIBC_HAS_XATTR=y
-UCLIBC_HAS_PROFILING=y
+# UCLIBC_HAS_XATTR is not set
+# UCLIBC_HAS_PROFILING is not set
 UCLIBC_HAS_CRYPT_IMPL=y
+UCLIBC_HAS_SHA256_CRYPT_IMPL=y
+UCLIBC_HAS_SHA512_CRYPT_IMPL=y
 UCLIBC_HAS_CRYPT=y
 UCLIBC_HAS_NETWORK_SUPPORT=y
 UCLIBC_HAS_SOCKET=y
 UCLIBC_HAS_IPV4=y
 UCLIBC_HAS_IPV6=y
 UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-UCLIBC_HAS_REENTRANT_RPC=y
 UCLIBC_USE_NETLINK=y
+UCLIBC_SUPPORT_AI_ADDRCONFIG=y
+UCLIBC_HAS_BSD_RES_CLOSE=y
+UCLIBC_HAS_COMPAT_RES_STATE=y
+# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set
+UCLIBC_HAS_RESOLVER_SUPPORT=y
 UCLIBC_HAS_LIBRESOLV_STUB=y
 UCLIBC_HAS_LIBNSL_STUB=y
-UCLIBC_HAS_RESOLVER_SUPPORT=y
-UCLIBC_SUPPORT_AI_ADDRCONFIG=y
-# UCLIBC_HAS_BSD_RES_CLOSE is not set
 
 #
 # String and Stdio Support
@@ -154,9 +176,7 @@
 # UCLIBC_HAS_LOCALE is not set
 UCLIBC_HAS_HEXADECIMAL_FLOATS=y
 UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-# USE_OLD_VFPRINTF is not set
 UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
 # UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
 # UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
 # UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
@@ -173,6 +193,7 @@
 UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
 # UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
 UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
+# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set
 UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
 UCLIBC_HAS_PRINTF_M_SPEC=y
 UCLIBC_HAS_ERRNO_MESSAGES=y
@@ -180,6 +201,7 @@
 UCLIBC_HAS_SIGNUM_MESSAGES=y
 # UCLIBC_HAS_SYS_SIGLIST is not set
 UCLIBC_HAS_GNU_GETOPT=y
+UCLIBC_HAS_STDIO_FUTEXES=y
 UCLIBC_HAS_GNU_GETSUBOPT=y
 
 #
@@ -189,68 +211,45 @@
 UCLIBC_HAS_REGEX_OLD=y
 UCLIBC_HAS_FNMATCH=y
 UCLIBC_HAS_FNMATCH_OLD=y
-# UCLIBC_HAS_WORDEXP is not set
+UCLIBC_HAS_WORDEXP=y
+UCLIBC_HAS_NFTW=y
 UCLIBC_HAS_FTW=y
+UCLIBC_HAS_FTS=y
 UCLIBC_HAS_GLOB=y
 UCLIBC_HAS_GNU_GLOB=y
+# UCLIBC_HAS_UTMPX is not set
 
 #
 # Library Installation Options
 #
-SHARED_LIB_LOADER_PREFIX="/lib"
 RUNTIME_PREFIX="/"
 DEVEL_PREFIX="/usr/"
+MULTILIB_DIR="lib"
+# HARDWIRED_ABSPATH is not set
 
 #
 # Security options
 #
 # UCLIBC_BUILD_PIE is not set
 # UCLIBC_HAS_ARC4RANDOM is not set
-# HAVE_NO_SSP is not set
 # UCLIBC_HAS_SSP is not set
-# UCLIBC_HAS_SSP_COMPAT is not set
-# SSP_QUICK_CANARY is not set
-PROPOLICE_BLOCK_ABRT=y
-# PROPOLICE_BLOCK_SEGV is not set
-# UCLIBC_BUILD_SSP is not set
 UCLIBC_BUILD_RELRO=y
-UCLIBC_BUILD_NOW=y
+# UCLIBC_BUILD_NOW is not set
 UCLIBC_BUILD_NOEXECSTACK=y
 
 #
-# uClibc development/debugging options
+# Development/debugging options
 #
 CROSS_COMPILER_PREFIX=""
 UCLIBC_EXTRA_CFLAGS=""
 # DODEBUG is not set
-# DODEBUG_PT is not set
 DOSTRIP=y
 # DOASSERTS is not set
 # SUPPORT_LD_DEBUG is not set
 # SUPPORT_LD_DEBUG_EARLY is not set
 # UCLIBC_MALLOC_DEBUGGING is not set
+# UCLIBC_HAS_BACKTRACE is not set
 WARNINGS="-Wall"
 # EXTRA_WARNINGS is not set
 # DOMULTI is not set
 # UCLIBC_MJN3_ONLY is not set
-
-# USE_BX is not set
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM7TDMI is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM10T is not set
-# CONFIG_ARM1136JF_S is not set
-# CONFIG_ARM1176JZ_S is not set
-# CONFIG_ARM1176JZF_S is not set
-# CONFIG_ARM_CORTEX_M3 is not set
-# CONFIG_ARM_CORTEX_M1 is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-# CONFIG_ARM_XSCALE is not set
-# CONFIG_ARM_IWMMXT is not set
-CONFIG_MIPS_ISA_MIPS32R2=y
diff --git a/include/gdb/jit-reader.h b/include/gdb/jit-reader.h
old mode 100644
new mode 100755
index e9599a2..ca41369
--- a/include/gdb/jit-reader.h
+++ b/include/gdb/jit-reader.h
@@ -1,6 +1,6 @@
 /* JIT declarations for GDB, the GNU Debugger.
 
-   Copyright (C) 2011-2014 Free Software Foundation, Inc.
+   Copyright (C) 2011-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbegin.o b/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbegin.o
deleted file mode 100644
index 6968695..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbegin.o
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbeginS.o b/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbeginS.o
deleted file mode 100644
index 3f79dc4..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbeginS.o
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbeginT.o b/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbeginT.o
deleted file mode 100644
index fc8e767..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtbeginT.o
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtend.o b/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtend.o
deleted file mode 100644
index 9338db7..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtend.o
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtendS.o b/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtendS.o
deleted file mode 100644
index 09c3b55..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtendS.o
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtfastmath.o b/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtfastmath.o
deleted file mode 100644
index c63e3de..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/crtfastmath.o
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include-fixed/limits.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include-fixed/limits.h
deleted file mode 100644
index a1c35e9..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include-fixed/limits.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Copyright (C) 1992, 1994, 1997, 1998 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/* This administrivia gets added to the beginning of limits.h
-   if the system has its own version of limits.h.  */
-
-/* We use _GCC_LIMITS_H_ because we want this not to match
-   any macros that the system's limits.h uses for its own purposes.  */
-#ifndef _GCC_LIMITS_H_  /* Terminated in limity.h.  */
-#define _GCC_LIMITS_H_
-
-#ifndef _LIBC_LIMITS_H_
-/* Use "..." so that we find syslimits.h only in this same directory.  */
-#include "syslimits.h"
-#endif
-/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 _LIMITS_H___
-#define _LIMITS_H___
-
-/* Number of bits in a `char'.  */
-#undef CHAR_BIT
-#define CHAR_BIT __CHAR_BIT__
-
-/* Maximum length of a multibyte character.  */
-#ifndef MB_LEN_MAX
-#define MB_LEN_MAX 1
-#endif
-
-/* Minimum and maximum values a `signed char' can hold.  */
-#undef SCHAR_MIN
-#define SCHAR_MIN (-SCHAR_MAX - 1)
-#undef SCHAR_MAX
-#define SCHAR_MAX __SCHAR_MAX__
-
-/* Maximum value an `unsigned char' can hold.  (Minimum is 0).  */
-#undef UCHAR_MAX
-#if __SCHAR_MAX__ == __INT_MAX__
-# define UCHAR_MAX (SCHAR_MAX * 2U + 1U)
-#else
-# define UCHAR_MAX (SCHAR_MAX * 2 + 1)
-#endif
-
-/* Minimum and maximum values a `char' can hold.  */
-#ifdef __CHAR_UNSIGNED__
-# undef CHAR_MIN
-# if __SCHAR_MAX__ == __INT_MAX__
-#  define CHAR_MIN 0U
-# else
-#  define CHAR_MIN 0
-# endif
-# undef CHAR_MAX
-# define CHAR_MAX UCHAR_MAX
-#else
-# undef CHAR_MIN
-# define CHAR_MIN SCHAR_MIN
-# undef CHAR_MAX
-# define CHAR_MAX SCHAR_MAX
-#endif
-
-/* Minimum and maximum values a `signed short int' can hold.  */
-#undef SHRT_MIN
-#define SHRT_MIN (-SHRT_MAX - 1)
-#undef SHRT_MAX
-#define SHRT_MAX __SHRT_MAX__
-
-/* Maximum value an `unsigned short int' can hold.  (Minimum is 0).  */
-#undef USHRT_MAX
-#if __SHRT_MAX__ == __INT_MAX__
-# define USHRT_MAX (SHRT_MAX * 2U + 1U)
-#else
-# define USHRT_MAX (SHRT_MAX * 2 + 1)
-#endif
-
-/* Minimum and maximum values a `signed int' can hold.  */
-#undef INT_MIN
-#define INT_MIN (-INT_MAX - 1)
-#undef INT_MAX
-#define INT_MAX __INT_MAX__
-
-/* Maximum value an `unsigned int' can hold.  (Minimum is 0).  */
-#undef UINT_MAX
-#define UINT_MAX (INT_MAX * 2U + 1U)
-
-/* Minimum and maximum values a `signed long int' can hold.
-   (Same as `int').  */
-#undef LONG_MIN
-#define LONG_MIN (-LONG_MAX - 1L)
-#undef LONG_MAX
-#define LONG_MAX __LONG_MAX__
-
-/* Maximum value an `unsigned long int' can hold.  (Minimum is 0).  */
-#undef ULONG_MAX
-#define ULONG_MAX (LONG_MAX * 2UL + 1UL)
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-/* Minimum and maximum values a `signed long long int' can hold.  */
-# undef LLONG_MIN
-# define LLONG_MIN (-LLONG_MAX - 1LL)
-# undef LLONG_MAX
-# define LLONG_MAX __LONG_LONG_MAX__
-
-/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
-# undef ULLONG_MAX
-# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
-#endif
-
-#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
-/* Minimum and maximum values a `signed long long int' can hold.  */
-# undef LONG_LONG_MIN
-# define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
-# undef LONG_LONG_MAX
-# define LONG_LONG_MAX __LONG_LONG_MAX__
-
-/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
-# undef ULONG_LONG_MAX
-# define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
-#endif
-
-#endif /* _LIMITS_H___ */
-/* This administrivia gets added to the end of limits.h
-   if the system has its own version of limits.h.  */
-
-#else /* not _GCC_LIMITS_H_ */
-
-#ifdef _GCC_NEXT_LIMITS_H
-#include_next <limits.h>		/* recurse down to the real one */
-#endif
-
-#endif /* not _GCC_LIMITS_H_ */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/float.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/float.h
deleted file mode 100644
index b78cc0c..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/float.h
+++ /dev/null
@@ -1,277 +0,0 @@
-/* Copyright (C) 2002, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/*
- * ISO C Standard:  5.2.4.2.2  Characteristics of floating types <float.h>
- */
-
-#ifndef _FLOAT_H___
-#define _FLOAT_H___
-
-/* Radix of exponent representation, b. */
-#undef FLT_RADIX
-#define FLT_RADIX	__FLT_RADIX__
-
-/* Number of base-FLT_RADIX digits in the significand, p.  */
-#undef FLT_MANT_DIG
-#undef DBL_MANT_DIG
-#undef LDBL_MANT_DIG
-#define FLT_MANT_DIG	__FLT_MANT_DIG__
-#define DBL_MANT_DIG	__DBL_MANT_DIG__
-#define LDBL_MANT_DIG	__LDBL_MANT_DIG__
-
-/* Number of decimal digits, q, such that any floating-point number with q
-   decimal digits can be rounded into a floating-point number with p radix b
-   digits and back again without change to the q decimal digits,
-
-	p * log10(b)			if b is a power of 10
-	floor((p - 1) * log10(b))	otherwise
-*/
-#undef FLT_DIG
-#undef DBL_DIG
-#undef LDBL_DIG
-#define FLT_DIG		__FLT_DIG__
-#define DBL_DIG		__DBL_DIG__
-#define LDBL_DIG	__LDBL_DIG__
-
-/* Minimum int x such that FLT_RADIX**(x-1) is a normalized float, emin */
-#undef FLT_MIN_EXP
-#undef DBL_MIN_EXP
-#undef LDBL_MIN_EXP
-#define FLT_MIN_EXP	__FLT_MIN_EXP__
-#define DBL_MIN_EXP	__DBL_MIN_EXP__
-#define LDBL_MIN_EXP	__LDBL_MIN_EXP__
-
-/* Minimum negative integer such that 10 raised to that power is in the
-   range of normalized floating-point numbers,
-
-	ceil(log10(b) * (emin - 1))
-*/
-#undef FLT_MIN_10_EXP
-#undef DBL_MIN_10_EXP
-#undef LDBL_MIN_10_EXP
-#define FLT_MIN_10_EXP	__FLT_MIN_10_EXP__
-#define DBL_MIN_10_EXP	__DBL_MIN_10_EXP__
-#define LDBL_MIN_10_EXP	__LDBL_MIN_10_EXP__
-
-/* Maximum int x such that FLT_RADIX**(x-1) is a representable float, emax.  */
-#undef FLT_MAX_EXP
-#undef DBL_MAX_EXP
-#undef LDBL_MAX_EXP
-#define FLT_MAX_EXP	__FLT_MAX_EXP__
-#define DBL_MAX_EXP	__DBL_MAX_EXP__
-#define LDBL_MAX_EXP	__LDBL_MAX_EXP__
-
-/* Maximum integer such that 10 raised to that power is in the range of
-   representable finite floating-point numbers,
-
-	floor(log10((1 - b**-p) * b**emax))
-*/
-#undef FLT_MAX_10_EXP
-#undef DBL_MAX_10_EXP
-#undef LDBL_MAX_10_EXP
-#define FLT_MAX_10_EXP	__FLT_MAX_10_EXP__
-#define DBL_MAX_10_EXP	__DBL_MAX_10_EXP__
-#define LDBL_MAX_10_EXP	__LDBL_MAX_10_EXP__
-
-/* Maximum representable finite floating-point number,
-
-	(1 - b**-p) * b**emax
-*/
-#undef FLT_MAX
-#undef DBL_MAX
-#undef LDBL_MAX
-#define FLT_MAX		__FLT_MAX__
-#define DBL_MAX		__DBL_MAX__
-#define LDBL_MAX	__LDBL_MAX__
-
-/* The difference between 1 and the least value greater than 1 that is
-   representable in the given floating point type, b**1-p.  */
-#undef FLT_EPSILON
-#undef DBL_EPSILON
-#undef LDBL_EPSILON
-#define FLT_EPSILON	__FLT_EPSILON__
-#define DBL_EPSILON	__DBL_EPSILON__
-#define LDBL_EPSILON	__LDBL_EPSILON__
-
-/* Minimum normalized positive floating-point number, b**(emin - 1).  */
-#undef FLT_MIN
-#undef DBL_MIN
-#undef LDBL_MIN
-#define FLT_MIN		__FLT_MIN__
-#define DBL_MIN		__DBL_MIN__
-#define LDBL_MIN	__LDBL_MIN__
-
-/* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown.  */
-/* ??? This is supposed to change with calls to fesetround in <fenv.h>.  */
-#undef FLT_ROUNDS
-#define FLT_ROUNDS 1
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-/* The floating-point expression evaluation method.
-        -1  indeterminate
-         0  evaluate all operations and constants just to the range and
-            precision of the type
-         1  evaluate operations and constants of type float and double
-            to the range and precision of the double type, evaluate
-            long double operations and constants to the range and
-            precision of the long double type
-         2  evaluate all operations and constants to the range and
-            precision of the long double type
-
-   ??? This ought to change with the setting of the fp control word;
-   the value provided by the compiler assumes the widest setting.  */
-#undef FLT_EVAL_METHOD
-#define FLT_EVAL_METHOD	__FLT_EVAL_METHOD__
-
-/* Number of decimal digits, n, such that any floating-point number in the
-   widest supported floating type with pmax radix b digits can be rounded
-   to a floating-point number with n decimal digits and back again without
-   change to the value,
-
-	pmax * log10(b)			if b is a power of 10
-	ceil(1 + pmax * log10(b))	otherwise
-*/
-#undef DECIMAL_DIG
-#define DECIMAL_DIG	__DECIMAL_DIG__
-
-#endif /* C99 */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ > 199901L
-/* Versions of DECIMAL_DIG for each floating-point type.  */
-#undef FLT_DECIMAL_DIG
-#undef DBL_DECIMAL_DIG
-#undef LDBL_DECIMAL_DIG
-#define FLT_DECIMAL_DIG		__FLT_DECIMAL_DIG__
-#define DBL_DECIMAL_DIG		__DBL_DECIMAL_DIG__
-#define LDBL_DECIMAL_DIG	__DECIMAL_DIG__
-
-/* Whether types support subnormal numbers.  */
-#undef FLT_HAS_SUBNORM
-#undef DBL_HAS_SUBNORM
-#undef LDBL_HAS_SUBNORM
-#define FLT_HAS_SUBNORM		__FLT_HAS_DENORM__
-#define DBL_HAS_SUBNORM		__DBL_HAS_DENORM__
-#define LDBL_HAS_SUBNORM	__LDBL_HAS_DENORM__
-
-/* Minimum positive values, including subnormals.  */
-#undef FLT_TRUE_MIN
-#undef DBL_TRUE_MIN
-#undef LDBL_TRUE_MIN
-#if __FLT_HAS_DENORM__
-#define FLT_TRUE_MIN	__FLT_DENORM_MIN__
-#else
-#define FLT_TRUE_MIN	__FLT_MIN__
-#endif
-#if __DBL_HAS_DENORM__
-#define DBL_TRUE_MIN	__DBL_DENORM_MIN__
-#else
-#define DBL_TRUE_MIN	__DBL_MIN__
-#endif
-#if __LDBL_HAS_DENORM__
-#define LDBL_TRUE_MIN	__LDBL_DENORM_MIN__
-#else
-#define LDBL_TRUE_MIN	__LDBL_MIN__
-#endif
-
-#endif /* C1X */
-
-#ifdef __STDC_WANT_DEC_FP__
-/* Draft Technical Report 24732, extension for decimal floating-point
-   arithmetic: Characteristic of decimal floating types <float.h>.  */
-
-/* Number of base-FLT_RADIX digits in the significand, p.  */
-#undef DEC32_MANT_DIG
-#undef DEC64_MANT_DIG
-#undef DEC128_MANT_DIG
-#define DEC32_MANT_DIG	__DEC32_MANT_DIG__
-#define DEC64_MANT_DIG	__DEC64_MANT_DIG__
-#define DEC128_MANT_DIG	__DEC128_MANT_DIG__
-
-/* Minimum exponent. */
-#undef DEC32_MIN_EXP
-#undef DEC64_MIN_EXP
-#undef DEC128_MIN_EXP
-#define DEC32_MIN_EXP	__DEC32_MIN_EXP__
-#define DEC64_MIN_EXP	__DEC64_MIN_EXP__
-#define DEC128_MIN_EXP	__DEC128_MIN_EXP__
-
-/* Maximum exponent. */
-#undef DEC32_MAX_EXP
-#undef DEC64_MAX_EXP
-#undef DEC128_MAX_EXP
-#define DEC32_MAX_EXP	__DEC32_MAX_EXP__
-#define DEC64_MAX_EXP	__DEC64_MAX_EXP__
-#define DEC128_MAX_EXP	__DEC128_MAX_EXP__
-
-/* Maximum representable finite decimal floating-point number
-   (there are 6, 15, and 33 9s after the decimal points respectively). */
-#undef DEC32_MAX
-#undef DEC64_MAX
-#undef DEC128_MAX
-#define DEC32_MAX   __DEC32_MAX__
-#define DEC64_MAX   __DEC64_MAX__
-#define DEC128_MAX  __DEC128_MAX__
-
-/* The difference between 1 and the least value greater than 1 that is
-   representable in the given floating point type. */
-#undef DEC32_EPSILON
-#undef DEC64_EPSILON
-#undef DEC128_EPSILON
-#define DEC32_EPSILON	__DEC32_EPSILON__
-#define DEC64_EPSILON	__DEC64_EPSILON__
-#define DEC128_EPSILON	__DEC128_EPSILON__
-
-/* Minimum normalized positive floating-point number. */
-#undef DEC32_MIN
-#undef DEC64_MIN
-#undef DEC128_MIN
-#define DEC32_MIN	__DEC32_MIN__
-#define DEC64_MIN	__DEC64_MIN__
-#define DEC128_MIN	__DEC128_MIN__
-
-/* Minimum subnormal positive floating-point number. */
-#undef DEC32_SUBNORMAL_MIN
-#undef DEC64_SUBNORMAL_MIN
-#undef DEC128_SUBNORMAL_MIN
-#define DEC32_SUBNORMAL_MIN       __DEC32_SUBNORMAL_MIN__
-#define DEC64_SUBNORMAL_MIN       __DEC64_SUBNORMAL_MIN__
-#define DEC128_SUBNORMAL_MIN      __DEC128_SUBNORMAL_MIN__
-
-/* The floating-point expression evaluation method.
-         -1  indeterminate
-         0  evaluate all operations and constants just to the range and
-            precision of the type
-         1  evaluate operations and constants of type _Decimal32 
-	    and _Decimal64 to the range and precision of the _Decimal64 
-            type, evaluate _Decimal128 operations and constants to the 
-	    range and precision of the _Decimal128 type;
-	 2  evaluate all operations and constants to the range and
-	    precision of the _Decimal128 type.  */
-
-#undef DEC_EVAL_METHOD
-#define DEC_EVAL_METHOD	__DEC_EVAL_METHOD__
-
-#endif /* __STDC_WANT_DEC_FP__ */
-
-#endif /* _FLOAT_H___ */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/iso646.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/iso646.h
deleted file mode 100644
index 28ff9d1..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/iso646.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1997, 1999, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/*
- * ISO C Standard:  7.9  Alternative spellings  <iso646.h>
- */
-
-#ifndef _ISO646_H
-#define _ISO646_H
-
-#ifndef __cplusplus
-#define and	&&
-#define and_eq	&=
-#define bitand	&
-#define bitor	|
-#define compl	~
-#define not	!
-#define not_eq	!=
-#define or	||
-#define or_eq	|=
-#define xor	^
-#define xor_eq	^=
-#endif
-
-#endif
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/loongson.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/loongson.h
deleted file mode 100644
index 6bfd4d7..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/loongson.h
+++ /dev/null
@@ -1,690 +0,0 @@
-/* Intrinsics for ST Microelectronics Loongson-2E/2F SIMD operations.
-
-   Copyright (C) 2008, 2009 Free Software Foundation, Inc.
-   Contributed by CodeSourcery.
-
-   This file is part of GCC.
-
-   GCC 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.
-
-   GCC 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 _GCC_LOONGSON_H
-#define _GCC_LOONGSON_H
-
-#if !defined(__mips_loongson_vector_rev)
-# error "You must select -march=loongson2e or -march=loongson2f to use loongson.h"
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-
-/* Vectors of unsigned bytes, halfwords and words.  */
-typedef uint8_t uint8x8_t __attribute__((vector_size (8)));
-typedef uint16_t uint16x4_t __attribute__((vector_size (8)));
-typedef uint32_t uint32x2_t __attribute__((vector_size (8)));
-
-/* Vectors of signed bytes, halfwords and words.  */
-typedef int8_t int8x8_t __attribute__((vector_size (8)));
-typedef int16_t int16x4_t __attribute__((vector_size (8)));
-typedef int32_t int32x2_t __attribute__((vector_size (8)));
-
-/* SIMD intrinsics.
-   Unless otherwise noted, calls to the functions below will expand into
-   precisely one machine instruction, modulo any moves required to
-   satisfy register allocation constraints.  */
-
-/* Pack with signed saturation.  */
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-packsswh (int32x2_t s, int32x2_t t)
-{
-  return __builtin_loongson_packsswh (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-packsshb (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_packsshb (s, t);
-}
-
-/* Pack with unsigned saturation.  */
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-packushb (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_packushb (s, t);
-}
-
-/* Vector addition, treating overflow by wraparound.  */
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-paddw_u (uint32x2_t s, uint32x2_t t)
-{
-  return __builtin_loongson_paddw_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-paddh_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_paddh_u (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-paddb_u (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_paddb_u (s, t);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-paddw_s (int32x2_t s, int32x2_t t)
-{
-  return __builtin_loongson_paddw_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-paddh_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_paddh_s (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-paddb_s (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_paddb_s (s, t);
-}
-
-/* Addition of doubleword integers, treating overflow by wraparound.  */
-__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
-paddd_u (uint64_t s, uint64_t t)
-{
-  return __builtin_loongson_paddd_u (s, t);
-}
-
-__extension__ static __inline int64_t __attribute__ ((__always_inline__))
-paddd_s (int64_t s, int64_t t)
-{
-  return __builtin_loongson_paddd_s (s, t);
-}
-
-/* Vector addition, treating overflow by signed saturation.  */
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-paddsh (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_paddsh (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-paddsb (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_paddsb (s, t);
-}
-
-/* Vector addition, treating overflow by unsigned saturation.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-paddush (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_paddush (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-paddusb (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_paddusb (s, t);
-}
-
-/* Logical AND NOT.  */
-__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
-pandn_ud (uint64_t s, uint64_t t)
-{
-  return __builtin_loongson_pandn_ud (s, t);
-}
-
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-pandn_uw (uint32x2_t s, uint32x2_t t)
-{
-  return __builtin_loongson_pandn_uw (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pandn_uh (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pandn_uh (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-pandn_ub (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_pandn_ub (s, t);
-}
-
-__extension__ static __inline int64_t __attribute__ ((__always_inline__))
-pandn_sd (int64_t s, int64_t t)
-{
-  return __builtin_loongson_pandn_sd (s, t);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-pandn_sw (int32x2_t s, int32x2_t t)
-{
-  return __builtin_loongson_pandn_sw (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pandn_sh (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pandn_sh (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-pandn_sb (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_pandn_sb (s, t);
-}
-
-/* Average.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pavgh (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pavgh (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-pavgb (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_pavgb (s, t);
-}
-
-/* Equality test.  */
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-pcmpeqw_u (uint32x2_t s, uint32x2_t t)
-{
-  return __builtin_loongson_pcmpeqw_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pcmpeqh_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pcmpeqh_u (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-pcmpeqb_u (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_pcmpeqb_u (s, t);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-pcmpeqw_s (int32x2_t s, int32x2_t t)
-{
-  return __builtin_loongson_pcmpeqw_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pcmpeqh_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pcmpeqh_s (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-pcmpeqb_s (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_pcmpeqb_s (s, t);
-}
-
-/* Greater-than test.  */
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-pcmpgtw_u (uint32x2_t s, uint32x2_t t)
-{
-  return __builtin_loongson_pcmpgtw_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pcmpgth_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pcmpgth_u (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-pcmpgtb_u (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_pcmpgtb_u (s, t);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-pcmpgtw_s (int32x2_t s, int32x2_t t)
-{
-  return __builtin_loongson_pcmpgtw_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pcmpgth_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pcmpgth_s (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-pcmpgtb_s (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_pcmpgtb_s (s, t);
-}
-
-/* Extract halfword.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pextrh_u (uint16x4_t s, int field /* 0--3 */)
-{
-  return __builtin_loongson_pextrh_u (s, field);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pextrh_s (int16x4_t s, int field /* 0--3 */)
-{
-  return __builtin_loongson_pextrh_s (s, field);
-}
-
-/* Insert halfword.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pinsrh_0_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pinsrh_0_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pinsrh_1_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pinsrh_1_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pinsrh_2_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pinsrh_2_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pinsrh_3_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pinsrh_3_u (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pinsrh_0_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pinsrh_0_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pinsrh_1_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pinsrh_1_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pinsrh_2_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pinsrh_2_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pinsrh_3_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pinsrh_3_s (s, t);
-}
-
-/* Multiply and add.  */
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-pmaddhw (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pmaddhw (s, t);
-}
-
-/* Maximum of signed halfwords.  */
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pmaxsh (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pmaxsh (s, t);
-}
-
-/* Maximum of unsigned bytes.  */
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-pmaxub (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_pmaxub (s, t);
-}
-
-/* Minimum of signed halfwords.  */
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pminsh (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pminsh (s, t);
-}
-
-/* Minimum of unsigned bytes.  */
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-pminub (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_pminub (s, t);
-}
-
-/* Move byte mask.  */
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-pmovmskb_u (uint8x8_t s)
-{
-  return __builtin_loongson_pmovmskb_u (s);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-pmovmskb_s (int8x8_t s)
-{
-  return __builtin_loongson_pmovmskb_s (s);
-}
-
-/* Multiply unsigned integers and store high result.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pmulhuh (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_pmulhuh (s, t);
-}
-
-/* Multiply signed integers and store high result.  */
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pmulhh (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pmulhh (s, t);
-}
-
-/* Multiply signed integers and store low result.  */
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pmullh (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_pmullh (s, t);
-}
-
-/* Multiply unsigned word integers.  */
-__extension__ static __inline int64_t __attribute__ ((__always_inline__))
-pmuluw (uint32x2_t s, uint32x2_t t)
-{
-  return __builtin_loongson_pmuluw (s, t);
-}
-
-/* Absolute difference.  */
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-pasubub (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_pasubub (s, t);
-}
-
-/* Sum of unsigned byte integers.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-biadd (uint8x8_t s)
-{
-  return __builtin_loongson_biadd (s);
-}
-
-/* Sum of absolute differences.
-   Note that this intrinsic expands into two machine instructions:
-   PASUBUB followed by BIADD.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-psadbh (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_psadbh (s, t);
-}
-
-/* Shuffle halfwords.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-pshufh_u (uint16x4_t dest, uint16x4_t s, uint8_t order)
-{
-  return __builtin_loongson_pshufh_u (dest, s, order);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-pshufh_s (int16x4_t dest, int16x4_t s, uint8_t order)
-{
-  return __builtin_loongson_pshufh_s (dest, s, order);
-}
-
-/* Shift left logical.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-psllh_u (uint16x4_t s, uint8_t amount)
-{
-  return __builtin_loongson_psllh_u (s, amount);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-psllh_s (int16x4_t s, uint8_t amount)
-{
-  return __builtin_loongson_psllh_s (s, amount);
-}
-
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-psllw_u (uint32x2_t s, uint8_t amount)
-{
-  return __builtin_loongson_psllw_u (s, amount);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-psllw_s (int32x2_t s, uint8_t amount)
-{
-  return __builtin_loongson_psllw_s (s, amount);
-}
-
-/* Shift right logical.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-psrlh_u (uint16x4_t s, uint8_t amount)
-{
-  return __builtin_loongson_psrlh_u (s, amount);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-psrlh_s (int16x4_t s, uint8_t amount)
-{
-  return __builtin_loongson_psrlh_s (s, amount);
-}
-
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-psrlw_u (uint32x2_t s, uint8_t amount)
-{
-  return __builtin_loongson_psrlw_u (s, amount);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-psrlw_s (int32x2_t s, uint8_t amount)
-{
-  return __builtin_loongson_psrlw_s (s, amount);
-}
-
-/* Shift right arithmetic.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-psrah_u (uint16x4_t s, uint8_t amount)
-{
-  return __builtin_loongson_psrah_u (s, amount);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-psrah_s (int16x4_t s, uint8_t amount)
-{
-  return __builtin_loongson_psrah_s (s, amount);
-}
-
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-psraw_u (uint32x2_t s, uint8_t amount)
-{
-  return __builtin_loongson_psraw_u (s, amount);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-psraw_s (int32x2_t s, uint8_t amount)
-{
-  return __builtin_loongson_psraw_s (s, amount);
-}
-
-/* Vector subtraction, treating overflow by wraparound.  */
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-psubw_u (uint32x2_t s, uint32x2_t t)
-{
-  return __builtin_loongson_psubw_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-psubh_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_psubh_u (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-psubb_u (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_psubb_u (s, t);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-psubw_s (int32x2_t s, int32x2_t t)
-{
-  return __builtin_loongson_psubw_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-psubh_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_psubh_s (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-psubb_s (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_psubb_s (s, t);
-}
-
-/* Subtraction of doubleword integers, treating overflow by wraparound.  */
-__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
-psubd_u (uint64_t s, uint64_t t)
-{
-  return __builtin_loongson_psubd_u (s, t);
-}
-
-__extension__ static __inline int64_t __attribute__ ((__always_inline__))
-psubd_s (int64_t s, int64_t t)
-{
-  return __builtin_loongson_psubd_s (s, t);
-}
-
-/* Vector subtraction, treating overflow by signed saturation.  */
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-psubsh (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_psubsh (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-psubsb (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_psubsb (s, t);
-}
-
-/* Vector subtraction, treating overflow by unsigned saturation.  */
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-psubush (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_psubush (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-psubusb (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_psubusb (s, t);
-}
-
-/* Unpack high data.  */
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-punpckhwd_u (uint32x2_t s, uint32x2_t t)
-{
-  return __builtin_loongson_punpckhwd_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-punpckhhw_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_punpckhhw_u (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-punpckhbh_u (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_punpckhbh_u (s, t);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-punpckhwd_s (int32x2_t s, int32x2_t t)
-{
-  return __builtin_loongson_punpckhwd_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-punpckhhw_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_punpckhhw_s (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-punpckhbh_s (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_punpckhbh_s (s, t);
-}
-
-/* Unpack low data.  */
-__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
-punpcklwd_u (uint32x2_t s, uint32x2_t t)
-{
-  return __builtin_loongson_punpcklwd_u (s, t);
-}
-
-__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
-punpcklhw_u (uint16x4_t s, uint16x4_t t)
-{
-  return __builtin_loongson_punpcklhw_u (s, t);
-}
-
-__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
-punpcklbh_u (uint8x8_t s, uint8x8_t t)
-{
-  return __builtin_loongson_punpcklbh_u (s, t);
-}
-
-__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
-punpcklwd_s (int32x2_t s, int32x2_t t)
-{
-  return __builtin_loongson_punpcklwd_s (s, t);
-}
-
-__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
-punpcklhw_s (int16x4_t s, int16x4_t t)
-{
-  return __builtin_loongson_punpcklhw_s (s, t);
-}
-
-__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
-punpcklbh_s (int8x8_t s, int8x8_t t)
-{
-  return __builtin_loongson_punpcklbh_s (s, t);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/omp.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/omp.h
deleted file mode 100644
index 6102dbf..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/omp.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 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;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* OMP_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdarg.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdarg.h
deleted file mode 100644
index 54dc2e7..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdarg.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/*
- * ISO C Standard:  7.15  Variable arguments  <stdarg.h>
- */
-
-#ifndef _STDARG_H
-#ifndef _ANSI_STDARG_H_
-#ifndef __need___va_list
-#define _STDARG_H
-#define _ANSI_STDARG_H_
-#endif /* not __need___va_list */
-#undef __need___va_list
-
-/* Define __gnuc_va_list.  */
-
-#ifndef __GNUC_VA_LIST
-#define __GNUC_VA_LIST
-typedef __builtin_va_list __gnuc_va_list;
-#endif
-
-/* Define the standard macros for the user,
-   if this invocation was from the user program.  */
-#ifdef _STDARG_H
-
-#define va_start(v,l)	__builtin_va_start(v,l)
-#define va_end(v)	__builtin_va_end(v)
-#define va_arg(v,l)	__builtin_va_arg(v,l)
-#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L || defined(__GXX_EXPERIMENTAL_CXX0X__)
-#define va_copy(d,s)	__builtin_va_copy(d,s)
-#endif
-#define __va_copy(d,s)	__builtin_va_copy(d,s)
-
-/* Define va_list, if desired, from __gnuc_va_list. */
-/* We deliberately do not define va_list when called from
-   stdio.h, because ANSI C says that stdio.h is not supposed to define
-   va_list.  stdio.h needs to have access to that data type, 
-   but must not use that name.  It should use the name __gnuc_va_list,
-   which is safe because it is reserved for the implementation.  */
-
-#ifdef _HIDDEN_VA_LIST  /* On OSF1, this means varargs.h is "half-loaded".  */
-#undef _VA_LIST
-#endif
-
-#ifdef _BSD_VA_LIST
-#undef _BSD_VA_LIST
-#endif
-
-#if defined(__svr4__) || (defined(_SCO_DS) && !defined(__VA_LIST))
-/* SVR4.2 uses _VA_LIST for an internal alias for va_list,
-   so we must avoid testing it and setting it here.
-   SVR4 uses _VA_LIST as a flag in stdarg.h, but we should
-   have no conflict with that.  */
-#ifndef _VA_LIST_
-#define _VA_LIST_
-#ifdef __i860__
-#ifndef _VA_LIST
-#define _VA_LIST va_list
-#endif
-#endif /* __i860__ */
-typedef __gnuc_va_list va_list;
-#ifdef _SCO_DS
-#define __VA_LIST
-#endif
-#endif /* _VA_LIST_ */
-#else /* not __svr4__ || _SCO_DS */
-
-/* The macro _VA_LIST_ is the same thing used by this file in Ultrix.
-   But on BSD NET2 we must not test or define or undef it.
-   (Note that the comments in NET 2's ansi.h
-   are incorrect for _VA_LIST_--see stdio.h!)  */
-#if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__) || defined(WINNT)
-/* The macro _VA_LIST_DEFINED is used in Windows NT 3.5  */
-#ifndef _VA_LIST_DEFINED
-/* The macro _VA_LIST is used in SCO Unix 3.2.  */
-#ifndef _VA_LIST
-/* The macro _VA_LIST_T_H is used in the Bull dpx2  */
-#ifndef _VA_LIST_T_H
-/* The macro __va_list__ is used by BeOS.  */
-#ifndef __va_list__
-typedef __gnuc_va_list va_list;
-#endif /* not __va_list__ */
-#endif /* not _VA_LIST_T_H */
-#endif /* not _VA_LIST */
-#endif /* not _VA_LIST_DEFINED */
-#if !(defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__))
-#define _VA_LIST_
-#endif
-#ifndef _VA_LIST
-#define _VA_LIST
-#endif
-#ifndef _VA_LIST_DEFINED
-#define _VA_LIST_DEFINED
-#endif
-#ifndef _VA_LIST_T_H
-#define _VA_LIST_T_H
-#endif
-#ifndef __va_list__
-#define __va_list__
-#endif
-
-#endif /* not _VA_LIST_, except on certain systems */
-
-#endif /* not __svr4__ */
-
-#endif /* _STDARG_H */
-
-#endif /* not _ANSI_STDARG_H_ */
-#endif /* not _STDARG_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdbool.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdbool.h
deleted file mode 100644
index 4ed911f..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdbool.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 1998, 1999, 2000, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/*
- * ISO C Standard:  7.16  Boolean type and values  <stdbool.h>
- */
-
-#ifndef _STDBOOL_H
-#define _STDBOOL_H
-
-#ifndef __cplusplus
-
-#define bool	_Bool
-#define true	1
-#define false	0
-
-#else /* __cplusplus */
-
-/* Supporting <stdbool.h> in C++ is a GCC extension.  */
-#define _Bool	bool
-#define bool	bool
-#define false	false
-#define true	true
-
-#endif /* __cplusplus */
-
-/* Signal that all the definitions are present.  */
-#define __bool_true_false_are_defined	1
-
-#endif	/* stdbool.h */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stddef.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stddef.h
deleted file mode 100644
index 565ef7b..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stddef.h
+++ /dev/null
@@ -1,418 +0,0 @@
-/* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2002, 2004, 2009
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/*
- * ISO C Standard:  7.17  Common definitions  <stddef.h>
- */
-#if (!defined(_STDDEF_H) && !defined(_STDDEF_H_) && !defined(_ANSI_STDDEF_H) \
-     && !defined(__STDDEF_H__)) \
-    || defined(__need_wchar_t) || defined(__need_size_t) \
-    || defined(__need_ptrdiff_t) || defined(__need_NULL) \
-    || defined(__need_wint_t)
-
-/* Any one of these symbols __need_* means that GNU libc
-   wants us just to define one data type.  So don't define
-   the symbols that indicate this file's entire job has been done.  */
-#if (!defined(__need_wchar_t) && !defined(__need_size_t)	\
-     && !defined(__need_ptrdiff_t) && !defined(__need_NULL)	\
-     && !defined(__need_wint_t))
-#define _STDDEF_H
-#define _STDDEF_H_
-/* snaroff@next.com says the NeXT needs this.  */
-#define _ANSI_STDDEF_H
-/* Irix 5.1 needs this.  */
-#define __STDDEF_H__
-#endif
-
-#ifndef __sys_stdtypes_h
-/* This avoids lossage on SunOS but only if stdtypes.h comes first.
-   There's no way to win with the other order!  Sun lossage.  */
-
-/* On 4.3bsd-net2, make sure ansi.h is included, so we have
-   one less case to deal with in the following.  */
-#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
-#include <machine/ansi.h>
-#endif
-/* On FreeBSD 5, machine/ansi.h does not exist anymore... */
-#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
-#include <sys/_types.h>
-#endif
-
-/* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
-   defined if the corresponding type is *not* defined.
-   FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-   NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ */
-#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_)  || defined(_I386_ANSI_H_)
-#if !defined(_SIZE_T_) && !defined(_BSD_SIZE_T_)
-#define _SIZE_T
-#endif
-#if !defined(_PTRDIFF_T_) && !defined(_BSD_PTRDIFF_T_)
-#define _PTRDIFF_T
-#endif
-/* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
-   instead of _WCHAR_T_. */
-#if !defined(_WCHAR_T_) && !defined(_BSD_WCHAR_T_)
-#ifndef _BSD_WCHAR_T_
-#define _WCHAR_T
-#endif
-#endif
-/* Undef _FOO_T_ if we are supposed to define foo_t.  */
-#if defined (__need_ptrdiff_t) || defined (_STDDEF_H_)
-#undef _PTRDIFF_T_
-#undef _BSD_PTRDIFF_T_
-#endif
-#if defined (__need_size_t) || defined (_STDDEF_H_)
-#undef _SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-#if defined (__need_wchar_t) || defined (_STDDEF_H_)
-#undef _WCHAR_T_
-#undef _BSD_WCHAR_T_
-#endif
-#endif /* defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_) */
-
-/* Sequent's header files use _PTRDIFF_T_ in some conflicting way.
-   Just ignore it.  */
-#if defined (__sequent__) && defined (_PTRDIFF_T_)
-#undef _PTRDIFF_T_
-#endif
-
-/* On VxWorks, <type/vxTypesBase.h> may have defined macros like
-   _TYPE_size_t which will typedef size_t.  fixincludes patched the
-   vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is
-   not defined, and so that defining this macro defines _GCC_SIZE_T.
-   If we find that the macros are still defined at this point, we must
-   invoke them so that the type is defined as expected.  */
-#if defined (_TYPE_ptrdiff_t) && (defined (__need_ptrdiff_t) || defined (_STDDEF_H_))
-_TYPE_ptrdiff_t;
-#undef _TYPE_ptrdiff_t
-#endif
-#if defined (_TYPE_size_t) && (defined (__need_size_t) || defined (_STDDEF_H_))
-_TYPE_size_t;
-#undef _TYPE_size_t
-#endif
-#if defined (_TYPE_wchar_t) && (defined (__need_wchar_t) || defined (_STDDEF_H_))
-_TYPE_wchar_t;
-#undef _TYPE_wchar_t
-#endif
-
-/* In case nobody has defined these types, but we aren't running under
-   GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and
-   __WCHAR_TYPE__ have reasonable values.  This can happen if the
-   parts of GCC is compiled by an older compiler, that actually
-   include gstddef.h, such as collect2.  */
-
-/* Signed type of difference of two pointers.  */
-
-/* Define this type if we are doing the whole job,
-   or if we want this type in particular.  */
-#if defined (_STDDEF_H) || defined (__need_ptrdiff_t)
-#ifndef _PTRDIFF_T	/* in case <sys/types.h> has defined it. */
-#ifndef _T_PTRDIFF_
-#ifndef _T_PTRDIFF
-#ifndef __PTRDIFF_T
-#ifndef _PTRDIFF_T_
-#ifndef _BSD_PTRDIFF_T_
-#ifndef ___int_ptrdiff_t_h
-#ifndef _GCC_PTRDIFF_T
-#define _PTRDIFF_T
-#define _T_PTRDIFF_
-#define _T_PTRDIFF
-#define __PTRDIFF_T
-#define _PTRDIFF_T_
-#define _BSD_PTRDIFF_T_
-#define ___int_ptrdiff_t_h
-#define _GCC_PTRDIFF_T
-#ifndef __PTRDIFF_TYPE__
-#define __PTRDIFF_TYPE__ long int
-#endif
-typedef __PTRDIFF_TYPE__ ptrdiff_t;
-#endif /* _GCC_PTRDIFF_T */
-#endif /* ___int_ptrdiff_t_h */
-#endif /* _BSD_PTRDIFF_T_ */
-#endif /* _PTRDIFF_T_ */
-#endif /* __PTRDIFF_T */
-#endif /* _T_PTRDIFF */
-#endif /* _T_PTRDIFF_ */
-#endif /* _PTRDIFF_T */
-
-/* If this symbol has done its job, get rid of it.  */
-#undef	__need_ptrdiff_t
-
-#endif /* _STDDEF_H or __need_ptrdiff_t.  */
-
-/* Unsigned type of `sizeof' something.  */
-
-/* Define this type if we are doing the whole job,
-   or if we want this type in particular.  */
-#if defined (_STDDEF_H) || defined (__need_size_t)
-#ifndef __size_t__	/* BeOS */
-#ifndef __SIZE_T__	/* Cray Unicos/Mk */
-#ifndef _SIZE_T	/* in case <sys/types.h> has defined it. */
-#ifndef _SYS_SIZE_T_H
-#ifndef _T_SIZE_
-#ifndef _T_SIZE
-#ifndef __SIZE_T
-#ifndef _SIZE_T_
-#ifndef _BSD_SIZE_T_
-#ifndef _SIZE_T_DEFINED_
-#ifndef _SIZE_T_DEFINED
-#ifndef _BSD_SIZE_T_DEFINED_	/* Darwin */
-#ifndef _SIZE_T_DECLARED	/* FreeBSD 5 */
-#ifndef ___int_size_t_h
-#ifndef _GCC_SIZE_T
-#ifndef _SIZET_
-#ifndef __size_t
-#define __size_t__	/* BeOS */
-#define __SIZE_T__	/* Cray Unicos/Mk */
-#define _SIZE_T
-#define _SYS_SIZE_T_H
-#define _T_SIZE_
-#define _T_SIZE
-#define __SIZE_T
-#define _SIZE_T_
-#define _BSD_SIZE_T_
-#define _SIZE_T_DEFINED_
-#define _SIZE_T_DEFINED
-#define _BSD_SIZE_T_DEFINED_	/* Darwin */
-#define _SIZE_T_DECLARED	/* FreeBSD 5 */
-#define ___int_size_t_h
-#define _GCC_SIZE_T
-#define _SIZET_
-#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
-/* __size_t is a typedef on FreeBSD 5!, must not trash it. */
-#else
-#define __size_t
-#endif
-#ifndef __SIZE_TYPE__
-#define __SIZE_TYPE__ long unsigned int
-#endif
-#if !(defined (__GNUG__) && defined (size_t))
-typedef __SIZE_TYPE__ size_t;
-#ifdef __BEOS__
-typedef long ssize_t;
-#endif /* __BEOS__ */
-#endif /* !(defined (__GNUG__) && defined (size_t)) */
-#endif /* __size_t */
-#endif /* _SIZET_ */
-#endif /* _GCC_SIZE_T */
-#endif /* ___int_size_t_h */
-#endif /* _SIZE_T_DECLARED */
-#endif /* _BSD_SIZE_T_DEFINED_ */
-#endif /* _SIZE_T_DEFINED */
-#endif /* _SIZE_T_DEFINED_ */
-#endif /* _BSD_SIZE_T_ */
-#endif /* _SIZE_T_ */
-#endif /* __SIZE_T */
-#endif /* _T_SIZE */
-#endif /* _T_SIZE_ */
-#endif /* _SYS_SIZE_T_H */
-#endif /* _SIZE_T */
-#endif /* __SIZE_T__ */
-#endif /* __size_t__ */
-#undef	__need_size_t
-#endif /* _STDDEF_H or __need_size_t.  */
-
-
-/* Wide character type.
-   Locale-writers should change this as necessary to
-   be big enough to hold unique values not between 0 and 127,
-   and not (wchar_t) -1, for each defined multibyte character.  */
-
-/* Define this type if we are doing the whole job,
-   or if we want this type in particular.  */
-#if defined (_STDDEF_H) || defined (__need_wchar_t)
-#ifndef __wchar_t__	/* BeOS */
-#ifndef __WCHAR_T__	/* Cray Unicos/Mk */
-#ifndef _WCHAR_T
-#ifndef _T_WCHAR_
-#ifndef _T_WCHAR
-#ifndef __WCHAR_T
-#ifndef _WCHAR_T_
-#ifndef _BSD_WCHAR_T_
-#ifndef _BSD_WCHAR_T_DEFINED_    /* Darwin */
-#ifndef _BSD_RUNE_T_DEFINED_	/* Darwin */
-#ifndef _WCHAR_T_DECLARED /* FreeBSD 5 */
-#ifndef _WCHAR_T_DEFINED_
-#ifndef _WCHAR_T_DEFINED
-#ifndef _WCHAR_T_H
-#ifndef ___int_wchar_t_h
-#ifndef __INT_WCHAR_T_H
-#ifndef _GCC_WCHAR_T
-#define __wchar_t__	/* BeOS */
-#define __WCHAR_T__	/* Cray Unicos/Mk */
-#define _WCHAR_T
-#define _T_WCHAR_
-#define _T_WCHAR
-#define __WCHAR_T
-#define _WCHAR_T_
-#define _BSD_WCHAR_T_
-#define _WCHAR_T_DEFINED_
-#define _WCHAR_T_DEFINED
-#define _WCHAR_T_H
-#define ___int_wchar_t_h
-#define __INT_WCHAR_T_H
-#define _GCC_WCHAR_T
-#define _WCHAR_T_DECLARED
-
-/* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
-   instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
-   symbols in the _FOO_T_ family, stays defined even after its
-   corresponding type is defined).  If we define wchar_t, then we
-   must undef _WCHAR_T_; for BSD/386 1.1 (and perhaps others), if
-   we undef _WCHAR_T_, then we must also define rune_t, since 
-   headers like runetype.h assume that if machine/ansi.h is included,
-   and _BSD_WCHAR_T_ is not defined, then rune_t is available.
-   machine/ansi.h says, "Note that _WCHAR_T_ and _RUNE_T_ must be of
-   the same type." */
-#ifdef _BSD_WCHAR_T_
-#undef _BSD_WCHAR_T_
-#ifdef _BSD_RUNE_T_
-#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
-typedef _BSD_RUNE_T_ rune_t;
-#define _BSD_WCHAR_T_DEFINED_
-#define _BSD_RUNE_T_DEFINED_	/* Darwin */
-#if defined (__FreeBSD__) && (__FreeBSD__ < 5)
-/* Why is this file so hard to maintain properly?  In contrast to
-   the comment above regarding BSD/386 1.1, on FreeBSD for as long
-   as the symbol has existed, _BSD_RUNE_T_ must not stay defined or
-   redundant typedefs will occur when stdlib.h is included after this file. */
-#undef _BSD_RUNE_T_
-#endif
-#endif
-#endif
-#endif
-/* FreeBSD 5 can't be handled well using "traditional" logic above
-   since it no longer defines _BSD_RUNE_T_ yet still desires to export
-   rune_t in some cases... */
-#if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
-#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
-#if __BSD_VISIBLE
-#ifndef _RUNE_T_DECLARED
-typedef __rune_t        rune_t;
-#define _RUNE_T_DECLARED
-#endif
-#endif
-#endif
-#endif
-
-#ifndef __WCHAR_TYPE__
-#define __WCHAR_TYPE__ int
-#endif
-#ifndef __cplusplus
-typedef __WCHAR_TYPE__ wchar_t;
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif /* _WCHAR_T_DECLARED */
-#endif /* _BSD_RUNE_T_DEFINED_ */
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif
-#endif /* __WCHAR_T__ */
-#endif /* __wchar_t__ */
-#undef	__need_wchar_t
-#endif /* _STDDEF_H or __need_wchar_t.  */
-
-#if defined (__need_wint_t)
-#ifndef _WINT_T
-#define _WINT_T
-
-#ifndef __WINT_TYPE__
-#define __WINT_TYPE__ unsigned int
-#endif
-typedef __WINT_TYPE__ wint_t;
-#endif
-#undef __need_wint_t
-#endif
-
-/*  In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
-    are already defined.  */
-/*  BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.  */
-/*  NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.  */
-#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_)
-/*  The references to _GCC_PTRDIFF_T_, _GCC_SIZE_T_, and _GCC_WCHAR_T_
-    are probably typos and should be removed before 2.8 is released.  */
-#ifdef _GCC_PTRDIFF_T_
-#undef _PTRDIFF_T_
-#undef _BSD_PTRDIFF_T_
-#endif
-#ifdef _GCC_SIZE_T_
-#undef _SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-#ifdef _GCC_WCHAR_T_
-#undef _WCHAR_T_
-#undef _BSD_WCHAR_T_
-#endif
-/*  The following ones are the real ones.  */
-#ifdef _GCC_PTRDIFF_T
-#undef _PTRDIFF_T_
-#undef _BSD_PTRDIFF_T_
-#endif
-#ifdef _GCC_SIZE_T
-#undef _SIZE_T_
-#undef _BSD_SIZE_T_
-#endif
-#ifdef _GCC_WCHAR_T
-#undef _WCHAR_T_
-#undef _BSD_WCHAR_T_
-#endif
-#endif /* _ANSI_H_ || _MACHINE_ANSI_H_ || _X86_64_ANSI_H_ || _I386_ANSI_H_ */
-
-#endif /* __sys_stdtypes_h */
-
-/* A null pointer constant.  */
-
-#if defined (_STDDEF_H) || defined (__need_NULL)
-#undef NULL		/* in case <stdio.h> has defined it. */
-#ifdef __GNUG__
-#define NULL __null
-#else   /* G++ */
-#ifndef __cplusplus
-#define NULL ((void *)0)
-#else   /* C++ */
-#define NULL 0
-#endif  /* C++ */
-#endif  /* G++ */
-#endif	/* NULL not defined and <stddef.h> or need NULL.  */
-#undef	__need_NULL
-
-#ifdef _STDDEF_H
-
-/* Offset of member MEMBER in a struct of type TYPE. */
-#define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER)
-
-#endif /* _STDDEF_H was defined this time */
-
-#endif /* !_STDDEF_H && !_STDDEF_H_ && !_ANSI_STDDEF_H && !__STDDEF_H__
-	  || __need_XXX was not defined before */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdfix.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdfix.h
deleted file mode 100644
index 3c3ec00..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdfix.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/* Copyright (C) 2007, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/* ISO/IEC JTC1 SC22 WG14 N1169
- * Date: 2006-04-04
- * ISO/IEC TR 18037
- * Programming languages - C - Extensions to support embedded processors
- */
-
-#ifndef _STDFIX_H
-#define _STDFIX_H
-
-/* 7.18a.1 Introduction.  */
-
-#undef fract
-#undef accum
-#undef sat
-#define fract		_Fract
-#define accum		_Accum
-#define sat		_Sat
-
-/* 7.18a.3 Precision macros.  */
-
-#undef SFRACT_FBIT
-#undef SFRACT_MIN
-#undef SFRACT_MAX
-#undef SFRACT_EPSILON
-#define SFRACT_FBIT	__SFRACT_FBIT__
-#define SFRACT_MIN	__SFRACT_MIN__
-#define SFRACT_MAX	__SFRACT_MAX__
-#define SFRACT_EPSILON	__SFRACT_EPSILON__
-
-#undef USFRACT_FBIT
-#undef USFRACT_MIN
-#undef USFRACT_MAX
-#undef USFRACT_EPSILON
-#define USFRACT_FBIT	__USFRACT_FBIT__
-#define USFRACT_MIN	__USFRACT_MIN__		/* GCC extension.  */
-#define USFRACT_MAX	__USFRACT_MAX__
-#define USFRACT_EPSILON	__USFRACT_EPSILON__
-
-#undef FRACT_FBIT
-#undef FRACT_MIN
-#undef FRACT_MAX
-#undef FRACT_EPSILON
-#define FRACT_FBIT	__FRACT_FBIT__
-#define FRACT_MIN	__FRACT_MIN__
-#define FRACT_MAX	__FRACT_MAX__
-#define FRACT_EPSILON	__FRACT_EPSILON__
-
-#undef UFRACT_FBIT
-#undef UFRACT_MIN
-#undef UFRACT_MAX
-#undef UFRACT_EPSILON
-#define UFRACT_FBIT	__UFRACT_FBIT__
-#define UFRACT_MIN	__UFRACT_MIN__		/* GCC extension.  */
-#define UFRACT_MAX	__UFRACT_MAX__
-#define UFRACT_EPSILON	__UFRACT_EPSILON__
-
-#undef LFRACT_FBIT
-#undef LFRACT_MIN
-#undef LFRACT_MAX
-#undef LFRACT_EPSILON
-#define LFRACT_FBIT	__LFRACT_FBIT__
-#define LFRACT_MIN	__LFRACT_MIN__
-#define LFRACT_MAX	__LFRACT_MAX__
-#define LFRACT_EPSILON	__LFRACT_EPSILON__
-
-#undef ULFRACT_FBIT
-#undef ULFRACT_MIN
-#undef ULFRACT_MAX
-#undef ULFRACT_EPSILON
-#define ULFRACT_FBIT	__ULFRACT_FBIT__
-#define ULFRACT_MIN	__ULFRACT_MIN__		/* GCC extension.  */
-#define ULFRACT_MAX	__ULFRACT_MAX__
-#define ULFRACT_EPSILON	__ULFRACT_EPSILON__
-
-#undef LLFRACT_FBIT
-#undef LLFRACT_MIN
-#undef LLFRACT_MAX
-#undef LLFRACT_EPSILON
-#define LLFRACT_FBIT	__LLFRACT_FBIT__	/* GCC extension.  */
-#define LLFRACT_MIN	__LLFRACT_MIN__		/* GCC extension.  */
-#define LLFRACT_MAX	__LLFRACT_MAX__		/* GCC extension.  */
-#define LLFRACT_EPSILON	__LLFRACT_EPSILON__	/* GCC extension.  */
-
-#undef ULLFRACT_FBIT
-#undef ULLFRACT_MIN
-#undef ULLFRACT_MAX
-#undef ULLFRACT_EPSILON
-#define ULLFRACT_FBIT	__ULLFRACT_FBIT__	/* GCC extension.  */
-#define ULLFRACT_MIN	__ULLFRACT_MIN__	/* GCC extension.  */
-#define ULLFRACT_MAX	__ULLFRACT_MAX__	/* GCC extension.  */
-#define ULLFRACT_EPSILON	__ULLFRACT_EPSILON__	/* GCC extension.  */
-
-#undef SACCUM_FBIT
-#undef SACCUM_IBIT
-#undef SACCUM_MIN
-#undef SACCUM_MAX
-#undef SACCUM_EPSILON
-#define SACCUM_FBIT	__SACCUM_FBIT__
-#define SACCUM_IBIT	__SACCUM_IBIT__
-#define SACCUM_MIN	__SACCUM_MIN__
-#define SACCUM_MAX	__SACCUM_MAX__
-#define SACCUM_EPSILON	__SACCUM_EPSILON__
-
-#undef USACCUM_FBIT
-#undef USACCUM_IBIT
-#undef USACCUM_MIN
-#undef USACCUM_MAX
-#undef USACCUM_EPSILON
-#define USACCUM_FBIT	__USACCUM_FBIT__
-#define USACCUM_IBIT	__USACCUM_IBIT__
-#define USACCUM_MIN	__USACCUM_MIN__		/* GCC extension.  */
-#define USACCUM_MAX	__USACCUM_MAX__
-#define USACCUM_EPSILON	__USACCUM_EPSILON__
-
-#undef ACCUM_FBIT
-#undef ACCUM_IBIT
-#undef ACCUM_MIN
-#undef ACCUM_MAX
-#undef ACCUM_EPSILON
-#define ACCUM_FBIT	__ACCUM_FBIT__
-#define ACCUM_IBIT	__ACCUM_IBIT__
-#define ACCUM_MIN	__ACCUM_MIN__
-#define ACCUM_MAX	__ACCUM_MAX__
-#define ACCUM_EPSILON	__ACCUM_EPSILON__
-
-#undef UACCUM_FBIT
-#undef UACCUM_IBIT
-#undef UACCUM_MIN
-#undef UACCUM_MAX
-#undef UACCUM_EPSILON
-#define UACCUM_FBIT	__UACCUM_FBIT__
-#define UACCUM_IBIT	__UACCUM_IBIT__
-#define UACCUM_MIN	__UACCUM_MIN__		/* GCC extension.  */
-#define UACCUM_MAX	__UACCUM_MAX__
-#define UACCUM_EPSILON	__UACCUM_EPSILON__
-
-#undef LACCUM_FBIT
-#undef LACCUM_IBIT
-#undef LACCUM_MIN
-#undef LACCUM_MAX
-#undef LACCUM_EPSILON
-#define LACCUM_FBIT	__LACCUM_FBIT__
-#define LACCUM_IBIT	__LACCUM_IBIT__
-#define LACCUM_MIN	__LACCUM_MIN__
-#define LACCUM_MAX	__LACCUM_MAX__
-#define LACCUM_EPSILON	__LACCUM_EPSILON__
-
-#undef ULACCUM_FBIT
-#undef ULACCUM_IBIT
-#undef ULACCUM_MIN
-#undef ULACCUM_MAX
-#undef ULACCUM_EPSILON
-#define ULACCUM_FBIT	__ULACCUM_FBIT__
-#define ULACCUM_IBIT	__ULACCUM_IBIT__
-#define ULACCUM_MIN	__ULACCUM_MIN__		/* GCC extension.  */
-#define ULACCUM_MAX	__ULACCUM_MAX__
-#define ULACCUM_EPSILON	__ULACCUM_EPSILON__
-
-#undef LLACCUM_FBIT
-#undef LLACCUM_IBIT
-#undef LLACCUM_MIN
-#undef LLACCUM_MAX
-#undef LLACCUM_EPSILON
-#define LLACCUM_FBIT	__LLACCUM_FBIT__	/* GCC extension.  */
-#define LLACCUM_IBIT	__LLACCUM_IBIT__	/* GCC extension.  */
-#define LLACCUM_MIN	__LLACCUM_MIN__		/* GCC extension.  */
-#define LLACCUM_MAX	__LLACCUM_MAX__		/* GCC extension.  */
-#define LLACCUM_EPSILON	__LLACCUM_EPSILON__	/* GCC extension.  */
-
-#undef ULLACCUM_FBIT
-#undef ULLACCUM_IBIT
-#undef ULLACCUM_MIN
-#undef ULLACCUM_MAX
-#undef ULLACCUM_EPSILON
-#define ULLACCUM_FBIT	__ULLACCUM_FBIT__	/* GCC extension.  */
-#define ULLACCUM_IBIT	__ULLACCUM_IBIT__	/* GCC extension.  */
-#define ULLACCUM_MIN	__ULLACCUM_MIN__	/* GCC extension.  */
-#define ULLACCUM_MAX	__ULLACCUM_MAX__	/* GCC extension.  */
-#define ULLACCUM_EPSILON	__ULLACCUM_EPSILON__	/* GCC extension.  */
-
-#endif /* _STDFIX_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdint-gcc.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdint-gcc.h
deleted file mode 100644
index 22780a1..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdint-gcc.h
+++ /dev/null
@@ -1,259 +0,0 @@
-/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/*
- * ISO C Standard:  7.18  Integer types  <stdint.h>
- */
-
-#ifndef _GCC_STDINT_H
-#define _GCC_STDINT_H
-
-/* 7.8.1.1 Exact-width integer types */
-
-#ifdef __INT8_TYPE__
-typedef __INT8_TYPE__ int8_t;
-#endif
-#ifdef __INT16_TYPE__
-typedef __INT16_TYPE__ int16_t;
-#endif
-#ifdef __INT32_TYPE__
-typedef __INT32_TYPE__ int32_t;
-#endif
-#ifdef __INT64_TYPE__
-typedef __INT64_TYPE__ int64_t;
-#endif
-#ifdef __UINT8_TYPE__
-typedef __UINT8_TYPE__ uint8_t;
-#endif
-#ifdef __UINT16_TYPE__
-typedef __UINT16_TYPE__ uint16_t;
-#endif
-#ifdef __UINT32_TYPE__
-typedef __UINT32_TYPE__ uint32_t;
-#endif
-#ifdef __UINT64_TYPE__
-typedef __UINT64_TYPE__ uint64_t;
-#endif
-
-/* 7.8.1.2 Minimum-width integer types */
-
-typedef __INT_LEAST8_TYPE__ int_least8_t;
-typedef __INT_LEAST16_TYPE__ int_least16_t;
-typedef __INT_LEAST32_TYPE__ int_least32_t;
-typedef __INT_LEAST64_TYPE__ int_least64_t;
-typedef __UINT_LEAST8_TYPE__ uint_least8_t;
-typedef __UINT_LEAST16_TYPE__ uint_least16_t;
-typedef __UINT_LEAST32_TYPE__ uint_least32_t;
-typedef __UINT_LEAST64_TYPE__ uint_least64_t;
-
-/* 7.8.1.3 Fastest minimum-width integer types */
-
-typedef __INT_FAST8_TYPE__ int_fast8_t;
-typedef __INT_FAST16_TYPE__ int_fast16_t;
-typedef __INT_FAST32_TYPE__ int_fast32_t;
-typedef __INT_FAST64_TYPE__ int_fast64_t;
-typedef __UINT_FAST8_TYPE__ uint_fast8_t;
-typedef __UINT_FAST16_TYPE__ uint_fast16_t;
-typedef __UINT_FAST32_TYPE__ uint_fast32_t;
-typedef __UINT_FAST64_TYPE__ uint_fast64_t;
-
-/* 7.8.1.4 Integer types capable of holding object pointers */
-
-#ifdef __INTPTR_TYPE__
-typedef __INTPTR_TYPE__ intptr_t;
-#endif
-#ifdef __UINTPTR_TYPE__
-typedef __UINTPTR_TYPE__ uintptr_t;
-#endif
-
-/* 7.8.1.5 Greatest-width integer types */
-
-typedef __INTMAX_TYPE__ intmax_t;
-typedef __UINTMAX_TYPE__ uintmax_t;
-
-#if !defined __cplusplus || defined __STDC_LIMIT_MACROS
-
-/* 7.18.2 Limits of specified-width integer types */
-
-#ifdef __INT8_MAX__
-# undef INT8_MAX
-# define INT8_MAX __INT8_MAX__
-# undef INT8_MIN
-# define INT8_MIN (-INT8_MAX - 1)
-#endif
-#ifdef __UINT8_MAX__
-# undef UINT8_MAX
-# define UINT8_MAX __UINT8_MAX__
-#endif
-#ifdef __INT16_MAX__
-# undef INT16_MAX
-# define INT16_MAX __INT16_MAX__
-# undef INT16_MIN
-# define INT16_MIN (-INT16_MAX - 1)
-#endif
-#ifdef __UINT16_MAX__
-# undef UINT16_MAX
-# define UINT16_MAX __UINT16_MAX__
-#endif
-#ifdef __INT32_MAX__
-# undef INT32_MAX
-# define INT32_MAX __INT32_MAX__
-# undef INT32_MIN
-# define INT32_MIN (-INT32_MAX - 1)
-#endif
-#ifdef __UINT32_MAX__
-# undef UINT32_MAX
-# define UINT32_MAX __UINT32_MAX__
-#endif
-#ifdef __INT64_MAX__
-# undef INT64_MAX
-# define INT64_MAX __INT64_MAX__
-# undef INT64_MIN
-# define INT64_MIN (-INT64_MAX - 1)
-#endif
-#ifdef __UINT64_MAX__
-# undef UINT64_MAX
-# define UINT64_MAX __UINT64_MAX__
-#endif
-
-#undef INT_LEAST8_MAX
-#define INT_LEAST8_MAX __INT_LEAST8_MAX__
-#undef INT_LEAST8_MIN
-#define INT_LEAST8_MIN (-INT_LEAST8_MAX - 1)
-#undef UINT_LEAST8_MAX
-#define UINT_LEAST8_MAX __UINT_LEAST8_MAX__
-#undef INT_LEAST16_MAX
-#define INT_LEAST16_MAX __INT_LEAST16_MAX__
-#undef INT_LEAST16_MIN
-#define INT_LEAST16_MIN (-INT_LEAST16_MAX - 1)
-#undef UINT_LEAST16_MAX
-#define UINT_LEAST16_MAX __UINT_LEAST16_MAX__
-#undef INT_LEAST32_MAX
-#define INT_LEAST32_MAX __INT_LEAST32_MAX__
-#undef INT_LEAST32_MIN
-#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)
-#undef UINT_LEAST32_MAX
-#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__
-#undef INT_LEAST64_MAX
-#define INT_LEAST64_MAX __INT_LEAST64_MAX__
-#undef INT_LEAST64_MIN
-#define INT_LEAST64_MIN (-INT_LEAST64_MAX - 1)
-#undef UINT_LEAST64_MAX
-#define UINT_LEAST64_MAX __UINT_LEAST64_MAX__
-
-#undef INT_FAST8_MAX
-#define INT_FAST8_MAX __INT_FAST8_MAX__
-#undef INT_FAST8_MIN
-#define INT_FAST8_MIN (-INT_FAST8_MAX - 1)
-#undef UINT_FAST8_MAX
-#define UINT_FAST8_MAX __UINT_FAST8_MAX__
-#undef INT_FAST16_MAX
-#define INT_FAST16_MAX __INT_FAST16_MAX__
-#undef INT_FAST16_MIN
-#define INT_FAST16_MIN (-INT_FAST16_MAX - 1)
-#undef UINT_FAST16_MAX
-#define UINT_FAST16_MAX __UINT_FAST16_MAX__
-#undef INT_FAST32_MAX
-#define INT_FAST32_MAX __INT_FAST32_MAX__
-#undef INT_FAST32_MIN
-#define INT_FAST32_MIN (-INT_FAST32_MAX - 1)
-#undef UINT_FAST32_MAX
-#define UINT_FAST32_MAX __UINT_FAST32_MAX__
-#undef INT_FAST64_MAX
-#define INT_FAST64_MAX __INT_FAST64_MAX__
-#undef INT_FAST64_MIN
-#define INT_FAST64_MIN (-INT_FAST64_MAX - 1)
-#undef UINT_FAST64_MAX
-#define UINT_FAST64_MAX __UINT_FAST64_MAX__
-
-#ifdef __INTPTR_MAX__
-# undef INTPTR_MAX
-# define INTPTR_MAX __INTPTR_MAX__
-# undef INTPTR_MIN
-# define INTPTR_MIN (-INTPTR_MAX - 1)
-#endif
-#ifdef __UINTPTR_MAX__
-# undef UINTPTR_MAX
-# define UINTPTR_MAX __UINTPTR_MAX__
-#endif
-
-#undef INTMAX_MAX
-#define INTMAX_MAX __INTMAX_MAX__
-#undef INTMAX_MIN
-#define INTMAX_MIN (-INTMAX_MAX - 1)
-#undef UINTMAX_MAX
-#define UINTMAX_MAX __UINTMAX_MAX__
-
-/* 7.18.3 Limits of other integer types */
-
-#undef PTRDIFF_MAX
-#define PTRDIFF_MAX __PTRDIFF_MAX__
-#undef PTRDIFF_MIN
-#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
-
-#undef SIG_ATOMIC_MAX
-#define SIG_ATOMIC_MAX __SIG_ATOMIC_MAX__
-#undef SIG_ATOMIC_MIN
-#define SIG_ATOMIC_MIN __SIG_ATOMIC_MIN__
-
-#undef SIZE_MAX
-#define SIZE_MAX __SIZE_MAX__
-
-#undef WCHAR_MAX
-#define WCHAR_MAX __WCHAR_MAX__
-#undef WCHAR_MIN
-#define WCHAR_MIN __WCHAR_MIN__
-
-#undef WINT_MAX
-#define WINT_MAX __WINT_MAX__
-#undef WINT_MIN
-#define WINT_MIN __WINT_MIN__
-
-#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */
-
-#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
-
-#undef INT8_C
-#define INT8_C(c) __INT8_C(c)
-#undef INT16_C
-#define INT16_C(c) __INT16_C(c)
-#undef INT32_C
-#define INT32_C(c) __INT32_C(c)
-#undef INT64_C
-#define INT64_C(c) __INT64_C(c)
-#undef UINT8_C
-#define UINT8_C(c) __UINT8_C(c)
-#undef UINT16_C
-#define UINT16_C(c) __UINT16_C(c)
-#undef UINT32_C
-#define UINT32_C(c) __UINT32_C(c)
-#undef UINT64_C
-#define UINT64_C(c) __UINT64_C(c)
-#undef INTMAX_C
-#define INTMAX_C(c) __INTMAX_C(c)
-#undef UINTMAX_C
-#define UINTMAX_C(c) __UINTMAX_C(c)
-
-#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
-
-#endif /* _GCC_STDINT_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdint.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdint.h
deleted file mode 100644
index e45f819..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/stdint.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _GCC_WRAP_STDINT_H
-#if __STDC_HOSTED__
-# include_next <stdint.h>
-#else
-# include "stdint-gcc.h"
-#endif
-#define _GCC_WRAP_STDINT_H
-#endif
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/unwind.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/unwind.h
deleted file mode 100644
index 4ff9017..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/include/unwind.h
+++ /dev/null
@@ -1,276 +0,0 @@
-/* Exception handling and frame unwind runtime interface routines.
-   Copyright (C) 2001, 2003, 2004, 2006, 2008, 2009 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC 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.
-
-   GCC 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/>.  */
-
-/* This is derived from the C++ ABI for IA-64.  Where we diverge
-   for cross-architecture compatibility are noted with "@@@".  */
-
-#ifndef _UNWIND_H
-#define _UNWIND_H
-
-#ifndef HIDE_EXPORTS
-#pragma GCC visibility push(default)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Level 1: Base ABI  */
-
-/* @@@ The IA-64 ABI uses uint64 throughout.  Most places this is
-   inefficient for 32-bit and smaller machines.  */
-typedef unsigned _Unwind_Word __attribute__((__mode__(__unwind_word__)));
-typedef signed _Unwind_Sword __attribute__((__mode__(__unwind_word__)));
-#if defined(__ia64__) && defined(__hpux__)
-typedef unsigned _Unwind_Ptr __attribute__((__mode__(__word__)));
-#else
-typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));
-#endif
-typedef unsigned _Unwind_Internal_Ptr __attribute__((__mode__(__pointer__)));
-
-/* @@@ The IA-64 ABI uses a 64-bit word to identify the producer and
-   consumer of an exception.  We'll go along with this for now even on
-   32-bit machines.  We'll need to provide some other option for
-   16-bit machines and for machines with > 8 bits per byte.  */
-typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__)));
-
-/* The unwind interface uses reason codes in several contexts to
-   identify the reasons for failures or other actions.  */
-typedef enum
-{
-  _URC_NO_REASON = 0,
-  _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
-  _URC_FATAL_PHASE2_ERROR = 2,
-  _URC_FATAL_PHASE1_ERROR = 3,
-  _URC_NORMAL_STOP = 4,
-  _URC_END_OF_STACK = 5,
-  _URC_HANDLER_FOUND = 6,
-  _URC_INSTALL_CONTEXT = 7,
-  _URC_CONTINUE_UNWIND = 8
-} _Unwind_Reason_Code;
-
-
-/* The unwind interface uses a pointer to an exception header object
-   as its representation of an exception being thrown. In general, the
-   full representation of an exception object is language- and
-   implementation-specific, but it will be prefixed by a header
-   understood by the unwind interface.  */
-
-struct _Unwind_Exception;
-
-typedef void (*_Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code,
-					      struct _Unwind_Exception *);
-
-struct _Unwind_Exception
-{
-  _Unwind_Exception_Class exception_class;
-  _Unwind_Exception_Cleanup_Fn exception_cleanup;
-  _Unwind_Word private_1;
-  _Unwind_Word private_2;
-
-  /* @@@ The IA-64 ABI says that this structure must be double-word aligned.
-     Taking that literally does not make much sense generically.  Instead we
-     provide the maximum alignment required by any type for the machine.  */
-} __attribute__((__aligned__));
-
-
-/* The ACTIONS argument to the personality routine is a bitwise OR of one
-   or more of the following constants.  */
-typedef int _Unwind_Action;
-
-#define _UA_SEARCH_PHASE	1
-#define _UA_CLEANUP_PHASE	2
-#define _UA_HANDLER_FRAME	4
-#define _UA_FORCE_UNWIND	8
-#define _UA_END_OF_STACK	16
-
-/* The target can override this macro to define any back-end-specific
-   attributes required for the lowest-level stack frame.  */
-#ifndef LIBGCC2_UNWIND_ATTRIBUTE
-#define LIBGCC2_UNWIND_ATTRIBUTE
-#endif
-
-/* This is an opaque type used to refer to a system-specific data
-   structure used by the system unwinder. This context is created and
-   destroyed by the system, and passed to the personality routine
-   during unwinding.  */
-struct _Unwind_Context;
-
-/* Raise an exception, passing along the given exception object.  */
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_RaiseException (struct _Unwind_Exception *);
-
-/* Raise an exception for forced unwinding.  */
-
-typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
-     (int, _Unwind_Action, _Unwind_Exception_Class,
-      struct _Unwind_Exception *, struct _Unwind_Context *, void *);
-
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_ForcedUnwind (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
-
-/* Helper to invoke the exception_cleanup routine.  */
-extern void _Unwind_DeleteException (struct _Unwind_Exception *);
-
-/* Resume propagation of an existing exception.  This is used after
-   e.g. executing cleanup code, and not to implement rethrowing.  */
-extern void LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_Resume (struct _Unwind_Exception *);
-
-/* @@@ Resume propagation of a FORCE_UNWIND exception, or to rethrow
-   a normal exception that was handled.  */
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_Resume_or_Rethrow (struct _Unwind_Exception *);
-
-/* @@@ Use unwind data to perform a stack backtrace.  The trace callback
-   is called for every stack frame in the call chain, but no cleanup
-   actions are performed.  */
-typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)
-     (struct _Unwind_Context *, void *);
-
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_Backtrace (_Unwind_Trace_Fn, void *);
-
-/* These functions are used for communicating information about the unwind
-   context (i.e. the unwind descriptors and the user register state) between
-   the unwind library and the personality routine and landing pad.  Only
-   selected registers may be manipulated.  */
-
-extern _Unwind_Word _Unwind_GetGR (struct _Unwind_Context *, int);
-extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word);
-
-extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *);
-extern _Unwind_Ptr _Unwind_GetIPInfo (struct _Unwind_Context *, int *);
-extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);
-
-/* @@@ Retrieve the CFA of the given context.  */
-extern _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *);
-
-extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);
-
-extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);
-
-
-/* The personality routine is the function in the C++ (or other language)
-   runtime library which serves as an interface between the system unwind
-   library and language-specific exception handling semantics.  It is
-   specific to the code fragment described by an unwind info block, and
-   it is always referenced via the pointer in the unwind info block, and
-   hence it has no ABI-specified name.
-
-   Note that this implies that two different C++ implementations can
-   use different names, and have different contents in the language
-   specific data area.  Moreover, that the language specific data
-   area contains no version info because name of the function invoked
-   provides more effective versioning by detecting at link time the
-   lack of code to handle the different data format.  */
-
-typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)
-     (int, _Unwind_Action, _Unwind_Exception_Class,
-      struct _Unwind_Exception *, struct _Unwind_Context *);
-
-/* @@@ The following alternate entry points are for setjmp/longjmp
-   based unwinding.  */
-
-struct SjLj_Function_Context;
-extern void _Unwind_SjLj_Register (struct SjLj_Function_Context *);
-extern void _Unwind_SjLj_Unregister (struct SjLj_Function_Context *);
-
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_SjLj_RaiseException (struct _Unwind_Exception *);
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_SjLj_ForcedUnwind (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
-extern void LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_SjLj_Resume (struct _Unwind_Exception *);
-extern _Unwind_Reason_Code LIBGCC2_UNWIND_ATTRIBUTE
-_Unwind_SjLj_Resume_or_Rethrow (struct _Unwind_Exception *);
-
-/* @@@ The following provide access to the base addresses for text
-   and data-relative addressing in the LDSA.  In order to stay link
-   compatible with the standard ABI for IA-64, we inline these.  */
-
-#ifdef __ia64__
-#include <stdlib.h>
-
-static inline _Unwind_Ptr
-_Unwind_GetDataRelBase (struct _Unwind_Context *_C)
-{
-  /* The GP is stored in R1.  */
-  return _Unwind_GetGR (_C, 1);
-}
-
-static inline _Unwind_Ptr
-_Unwind_GetTextRelBase (struct _Unwind_Context *_C __attribute__ ((__unused__)))
-{
-  abort ();
-  return 0;
-}
-
-/* @@@ Retrieve the Backing Store Pointer of the given context.  */
-extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *);
-#else
-extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
-extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);
-#endif
-
-/* @@@ Given an address, return the entry point of the function that
-   contains it.  */
-extern void * _Unwind_FindEnclosingFunction (void *pc);
-
-#ifndef __SIZEOF_LONG__
-  #error "__SIZEOF_LONG__ macro not defined"
-#endif
-
-#ifndef __SIZEOF_POINTER__
-  #error "__SIZEOF_POINTER__ macro not defined"
-#endif
-
-
-/* leb128 type numbers have a potentially unlimited size.
-   The target of the following definitions of _sleb128_t and _uleb128_t
-   is to have efficient data types large enough to hold the leb128 type
-   numbers used in the unwind code.
-   Mostly these types will simply be defined to long and unsigned long
-   except when a unsigned long data type on the target machine is not
-   capable of storing a pointer.  */
-
-#if __SIZEOF_LONG__ >= __SIZEOF_POINTER__
-  typedef long _sleb128_t;
-  typedef unsigned long _uleb128_t;
-#elif __SIZEOF_LONG_LONG__ >= __SIZEOF_POINTER__
-  typedef long long _sleb128_t;
-  typedef unsigned long long _uleb128_t;
-#else
-# error "What type shall we use for _sleb128_t?"
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifndef HIDE_EXPORTS
-#pragma GCC visibility pop
-#endif
-
-#endif /* unwind.h */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/install-tools/include/limits.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/install-tools/include/limits.h
deleted file mode 100644
index a1c35e9..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/install-tools/include/limits.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Copyright (C) 1992, 1994, 1997, 1998 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/* This administrivia gets added to the beginning of limits.h
-   if the system has its own version of limits.h.  */
-
-/* We use _GCC_LIMITS_H_ because we want this not to match
-   any macros that the system's limits.h uses for its own purposes.  */
-#ifndef _GCC_LIMITS_H_  /* Terminated in limity.h.  */
-#define _GCC_LIMITS_H_
-
-#ifndef _LIBC_LIMITS_H_
-/* Use "..." so that we find syslimits.h only in this same directory.  */
-#include "syslimits.h"
-#endif
-/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 _LIMITS_H___
-#define _LIMITS_H___
-
-/* Number of bits in a `char'.  */
-#undef CHAR_BIT
-#define CHAR_BIT __CHAR_BIT__
-
-/* Maximum length of a multibyte character.  */
-#ifndef MB_LEN_MAX
-#define MB_LEN_MAX 1
-#endif
-
-/* Minimum and maximum values a `signed char' can hold.  */
-#undef SCHAR_MIN
-#define SCHAR_MIN (-SCHAR_MAX - 1)
-#undef SCHAR_MAX
-#define SCHAR_MAX __SCHAR_MAX__
-
-/* Maximum value an `unsigned char' can hold.  (Minimum is 0).  */
-#undef UCHAR_MAX
-#if __SCHAR_MAX__ == __INT_MAX__
-# define UCHAR_MAX (SCHAR_MAX * 2U + 1U)
-#else
-# define UCHAR_MAX (SCHAR_MAX * 2 + 1)
-#endif
-
-/* Minimum and maximum values a `char' can hold.  */
-#ifdef __CHAR_UNSIGNED__
-# undef CHAR_MIN
-# if __SCHAR_MAX__ == __INT_MAX__
-#  define CHAR_MIN 0U
-# else
-#  define CHAR_MIN 0
-# endif
-# undef CHAR_MAX
-# define CHAR_MAX UCHAR_MAX
-#else
-# undef CHAR_MIN
-# define CHAR_MIN SCHAR_MIN
-# undef CHAR_MAX
-# define CHAR_MAX SCHAR_MAX
-#endif
-
-/* Minimum and maximum values a `signed short int' can hold.  */
-#undef SHRT_MIN
-#define SHRT_MIN (-SHRT_MAX - 1)
-#undef SHRT_MAX
-#define SHRT_MAX __SHRT_MAX__
-
-/* Maximum value an `unsigned short int' can hold.  (Minimum is 0).  */
-#undef USHRT_MAX
-#if __SHRT_MAX__ == __INT_MAX__
-# define USHRT_MAX (SHRT_MAX * 2U + 1U)
-#else
-# define USHRT_MAX (SHRT_MAX * 2 + 1)
-#endif
-
-/* Minimum and maximum values a `signed int' can hold.  */
-#undef INT_MIN
-#define INT_MIN (-INT_MAX - 1)
-#undef INT_MAX
-#define INT_MAX __INT_MAX__
-
-/* Maximum value an `unsigned int' can hold.  (Minimum is 0).  */
-#undef UINT_MAX
-#define UINT_MAX (INT_MAX * 2U + 1U)
-
-/* Minimum and maximum values a `signed long int' can hold.
-   (Same as `int').  */
-#undef LONG_MIN
-#define LONG_MIN (-LONG_MAX - 1L)
-#undef LONG_MAX
-#define LONG_MAX __LONG_MAX__
-
-/* Maximum value an `unsigned long int' can hold.  (Minimum is 0).  */
-#undef ULONG_MAX
-#define ULONG_MAX (LONG_MAX * 2UL + 1UL)
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-/* Minimum and maximum values a `signed long long int' can hold.  */
-# undef LLONG_MIN
-# define LLONG_MIN (-LLONG_MAX - 1LL)
-# undef LLONG_MAX
-# define LLONG_MAX __LONG_LONG_MAX__
-
-/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
-# undef ULLONG_MAX
-# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
-#endif
-
-#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
-/* Minimum and maximum values a `signed long long int' can hold.  */
-# undef LONG_LONG_MIN
-# define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
-# undef LONG_LONG_MAX
-# define LONG_LONG_MAX __LONG_LONG_MAX__
-
-/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
-# undef ULONG_LONG_MAX
-# define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
-#endif
-
-#endif /* _LIMITS_H___ */
-/* This administrivia gets added to the end of limits.h
-   if the system has its own version of limits.h.  */
-
-#else /* not _GCC_LIMITS_H_ */
-
-#ifdef _GCC_NEXT_LIMITS_H
-#include_next <limits.h>		/* recurse down to the real one */
-#endif
-
-#endif /* not _GCC_LIMITS_H_ */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc.a b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc.a
deleted file mode 100644
index d396c46..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc.a
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc_eh.a b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc_eh.a
deleted file mode 100644
index dcb384f..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcc_eh.a
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcov.a b/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcov.a
deleted file mode 100644
index b77d696..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/libgcov.a
+++ /dev/null
Binary files differ
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/alias.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/alias.h
deleted file mode 100644
index 49905b1..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/alias.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Exported functions from alias.c
-   Copyright (C) 2004, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_ALIAS_H
-#define GCC_ALIAS_H
-
-#include "coretypes.h"
-
-/* The type of an alias set.  Code currently assumes that variables of
-   this type can take the values 0 (the alias set which aliases
-   everything) and -1 (sometimes indicating that the alias set is
-   unknown, sometimes indicating a memory barrier) and -2 (indicating
-   that the alias set should be set to a unique value but has not been
-   set yet).  */
-typedef int alias_set_type;
-
-extern alias_set_type new_alias_set (void);
-extern alias_set_type get_alias_set (tree);
-extern alias_set_type get_deref_alias_set (tree);
-extern alias_set_type get_varargs_alias_set (void);
-extern alias_set_type get_frame_alias_set (void);
-extern bool component_uses_parent_alias_set (const_tree);
-extern bool alias_set_subset_of (alias_set_type, alias_set_type);
-extern void record_alias_subset (alias_set_type, alias_set_type);
-extern void record_component_aliases (tree);
-extern int alias_sets_conflict_p (alias_set_type, alias_set_type);
-extern int alias_sets_must_conflict_p (alias_set_type, alias_set_type);
-extern int objects_must_conflict_p (tree, tree);
-extern int nonoverlapping_memrefs_p (const_rtx, const_rtx, bool);
-
-/* This alias set can be used to force a memory to conflict with all
-   other memories, creating a barrier across which no memory reference
-   can move.  Note that there are other legacy ways to create such
-   memory barriers, including an address of SCRATCH.  */
-#define ALIAS_SET_MEMORY_BARRIER	((alias_set_type) -1)
-
-#endif /* GCC_ALIAS_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/ansidecl.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/ansidecl.h
deleted file mode 100644
index 8b76647..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/ansidecl.h
+++ /dev/null
@@ -1,423 +0,0 @@
-/* ANSI and traditional C compatability macros
-   Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
-   Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-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 2 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.  */
-
-/* ANSI and traditional C compatibility macros
-
-   ANSI C is assumed if __STDC__ is #defined.
-
-   Macro		ANSI C definition	Traditional C definition
-   -----		---- - ----------	----------- - ----------
-   ANSI_PROTOTYPES	1			not defined
-   PTR			`void *'		`char *'
-   PTRCONST		`void *const'		`char *'
-   LONG_DOUBLE		`long double'		`double'
-   const		not defined		`'
-   volatile		not defined		`'
-   signed		not defined		`'
-   VA_START(ap, var)	va_start(ap, var)	va_start(ap)
-
-   Note that it is safe to write "void foo();" indicating a function
-   with no return value, in all K+R compilers we have been able to test.
-
-   For declaring functions with prototypes, we also provide these:
-
-   PARAMS ((prototype))
-   -- for functions which take a fixed number of arguments.  Use this
-   when declaring the function.  When defining the function, write a
-   K+R style argument list.  For example:
-
-	char *strcpy PARAMS ((char *dest, char *source));
-	...
-	char *
-	strcpy (dest, source)
-	     char *dest;
-	     char *source;
-	{ ... }
-
-
-   VPARAMS ((prototype, ...))
-   -- for functions which take a variable number of arguments.  Use
-   PARAMS to declare the function, VPARAMS to define it.  For example:
-
-	int printf PARAMS ((const char *format, ...));
-	...
-	int
-	printf VPARAMS ((const char *format, ...))
-	{
-	   ...
-	}
-
-   For writing functions which take variable numbers of arguments, we
-   also provide the VA_OPEN, VA_CLOSE, and VA_FIXEDARG macros.  These
-   hide the differences between K+R <varargs.h> and C89 <stdarg.h> more
-   thoroughly than the simple VA_START() macro mentioned above.
-
-   VA_OPEN and VA_CLOSE are used *instead of* va_start and va_end.
-   Immediately after VA_OPEN, put a sequence of VA_FIXEDARG calls
-   corresponding to the list of fixed arguments.  Then use va_arg
-   normally to get the variable arguments, or pass your va_list object
-   around.  You do not declare the va_list yourself; VA_OPEN does it
-   for you.
-
-   Here is a complete example:
-
-	int
-	printf VPARAMS ((const char *format, ...))
-	{
-	   int result;
-
-	   VA_OPEN (ap, format);
-	   VA_FIXEDARG (ap, const char *, format);
-
-	   result = vfprintf (stdout, format, ap);
-	   VA_CLOSE (ap);
-
-	   return result;
-	}
-
-
-   You can declare variables either before or after the VA_OPEN,
-   VA_FIXEDARG sequence.  Also, VA_OPEN and VA_CLOSE are the beginning
-   and end of a block.  They must appear at the same nesting level,
-   and any variables declared after VA_OPEN go out of scope at
-   VA_CLOSE.  Unfortunately, with a K+R compiler, that includes the
-   argument list.  You can have multiple instances of VA_OPEN/VA_CLOSE
-   pairs in a single function in case you need to traverse the
-   argument list more than once.
-
-   For ease of writing code which uses GCC extensions but needs to be
-   portable to other compilers, we provide the GCC_VERSION macro that
-   simplifies testing __GNUC__ and __GNUC_MINOR__ together, and various
-   wrappers around __attribute__.  Also, __extension__ will be #defined
-   to nothing if it doesn't work.  See below.
-
-   This header also defines a lot of obsolete macros:
-   CONST, VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID,
-   AND, DOTS, NOARGS.  Don't use them.  */
-
-#ifndef	_ANSIDECL_H
-#define _ANSIDECL_H	1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Every source file includes this file,
-   so they will all get the switch for lint.  */
-/* LINTLIBRARY */
-
-/* Using MACRO(x,y) in cpp #if conditionals does not work with some
-   older preprocessors.  Thus we can't define something like this:
-
-#define HAVE_GCC_VERSION(MAJOR, MINOR) \
-  (__GNUC__ > (MAJOR) || (__GNUC__ == (MAJOR) && __GNUC_MINOR__ >= (MINOR)))
-
-and then test "#if HAVE_GCC_VERSION(2,7)".
-
-So instead we use the macro below and test it against specific values.  */
-
-/* This macro simplifies testing whether we are using gcc, and if it
-   is of a particular minimum version. (Both major & minor numbers are
-   significant.)  This macro will evaluate to 0 if we are not using
-   gcc at all.  */
-#ifndef GCC_VERSION
-#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
-#endif /* GCC_VERSION */
-
-#if defined (__STDC__) || defined(__cplusplus) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32)
-/* All known AIX compilers implement these things (but don't always
-   define __STDC__).  The RISC/OS MIPS compiler defines these things
-   in SVR4 mode, but does not define __STDC__.  */
-/* eraxxon@alumni.rice.edu: The Compaq C++ compiler, unlike many other
-   C++ compilers, does not define __STDC__, though it acts as if this
-   was so. (Verified versions: 5.7, 6.2, 6.3, 6.5) */
-
-#define ANSI_PROTOTYPES	1
-#define PTR		void *
-#define PTRCONST	void *const
-#define LONG_DOUBLE	long double
-
-/* PARAMS is often defined elsewhere (e.g. by libintl.h), so wrap it in
-   a #ifndef.  */
-#ifndef PARAMS
-#define PARAMS(ARGS)		ARGS
-#endif
-
-#define VPARAMS(ARGS)		ARGS
-#define VA_START(VA_LIST, VAR)	va_start(VA_LIST, VAR)
-
-/* variadic function helper macros */
-/* "struct Qdmy" swallows the semicolon after VA_OPEN/VA_FIXEDARG's
-   use without inhibiting further decls and without declaring an
-   actual variable.  */
-#define VA_OPEN(AP, VAR)	{ va_list AP; va_start(AP, VAR); { struct Qdmy
-#define VA_CLOSE(AP)		} va_end(AP); }
-#define VA_FIXEDARG(AP, T, N)	struct Qdmy
- 
-#undef const
-#undef volatile
-#undef signed
-
-/* inline requires special treatment; it's in C99, and GCC >=2.7 supports
-   it too, but it's not in C89.  */
-#undef inline
-#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__))
-/* it's a keyword */
-#else
-# if GCC_VERSION >= 2007
-#  define inline __inline__   /* __inline__ prevents -pedantic warnings */
-# else
-#  define inline  /* nothing */
-# endif
-#endif
-
-/* These are obsolete.  Do not use.  */
-#ifndef IN_GCC
-#define CONST		const
-#define VOLATILE	volatile
-#define SIGNED		signed
-
-#define PROTO(type, name, arglist)	type name arglist
-#define EXFUN(name, proto)		name proto
-#define DEFUN(name, arglist, args)	name(args)
-#define DEFUN_VOID(name)		name(void)
-#define AND		,
-#define DOTS		, ...
-#define NOARGS		void
-#endif /* ! IN_GCC */
-
-#else	/* Not ANSI C.  */
-
-#undef  ANSI_PROTOTYPES
-#define PTR		char *
-#define PTRCONST	PTR
-#define LONG_DOUBLE	double
-
-#define PARAMS(args)		()
-#define VPARAMS(args)		(va_alist) va_dcl
-#define VA_START(va_list, var)	va_start(va_list)
-
-#define VA_OPEN(AP, VAR)		{ va_list AP; va_start(AP); { struct Qdmy
-#define VA_CLOSE(AP)			} va_end(AP); }
-#define VA_FIXEDARG(AP, TYPE, NAME)	TYPE NAME = va_arg(AP, TYPE)
-
-/* some systems define these in header files for non-ansi mode */
-#undef const
-#undef volatile
-#undef signed
-#undef inline
-#define const
-#define volatile
-#define signed
-#define inline
-
-#ifndef IN_GCC
-#define CONST
-#define VOLATILE
-#define SIGNED
-
-#define PROTO(type, name, arglist)	type name ()
-#define EXFUN(name, proto)		name()
-#define DEFUN(name, arglist, args)	name arglist args;
-#define DEFUN_VOID(name)		name()
-#define AND		;
-#define DOTS
-#define NOARGS
-#endif /* ! IN_GCC */
-
-#endif	/* ANSI C.  */
-
-/* Define macros for some gcc attributes.  This permits us to use the
-   macros freely, and know that they will come into play for the
-   version of gcc in which they are supported.  */
-
-#if (GCC_VERSION < 2007)
-# define __attribute__(x)
-#endif
-
-/* Attribute __malloc__ on functions was valid as of gcc 2.96. */
-#ifndef ATTRIBUTE_MALLOC
-# if (GCC_VERSION >= 2096)
-#  define ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
-# else
-#  define ATTRIBUTE_MALLOC
-# endif /* GNUC >= 2.96 */
-#endif /* ATTRIBUTE_MALLOC */
-
-/* Attributes on labels were valid as of gcc 2.93 and g++ 4.5.  For
-   g++ an attribute on a label must be followed by a semicolon.  */
-#ifndef ATTRIBUTE_UNUSED_LABEL
-# ifndef __cplusplus
-#  if GCC_VERSION >= 2093
-#   define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED
-#  else
-#   define ATTRIBUTE_UNUSED_LABEL
-#  endif
-# else
-#  if GCC_VERSION >= 4005
-#   define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED ;
-#  else
-#   define ATTRIBUTE_UNUSED_LABEL
-#  endif
-# endif
-#endif
-
-#ifndef ATTRIBUTE_UNUSED
-#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-#endif /* ATTRIBUTE_UNUSED */
-
-/* Before GCC 3.4, the C++ frontend couldn't parse attributes placed after the
-   identifier name.  */
-#if ! defined(__cplusplus) || (GCC_VERSION >= 3004)
-# define ARG_UNUSED(NAME) NAME ATTRIBUTE_UNUSED
-#else /* !__cplusplus || GNUC >= 3.4 */
-# define ARG_UNUSED(NAME) NAME
-#endif /* !__cplusplus || GNUC >= 3.4 */
-
-#ifndef ATTRIBUTE_NORETURN
-#define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
-#endif /* ATTRIBUTE_NORETURN */
-
-/* Attribute `nonnull' was valid as of gcc 3.3.  */
-#ifndef ATTRIBUTE_NONNULL
-# if (GCC_VERSION >= 3003)
-#  define ATTRIBUTE_NONNULL(m) __attribute__ ((__nonnull__ (m)))
-# else
-#  define ATTRIBUTE_NONNULL(m)
-# endif /* GNUC >= 3.3 */
-#endif /* ATTRIBUTE_NONNULL */
-
-/* Attribute `pure' was valid as of gcc 3.0.  */
-#ifndef ATTRIBUTE_PURE
-# if (GCC_VERSION >= 3000)
-#  define ATTRIBUTE_PURE __attribute__ ((__pure__))
-# else
-#  define ATTRIBUTE_PURE
-# endif /* GNUC >= 3.0 */
-#endif /* ATTRIBUTE_PURE */
-
-/* Use ATTRIBUTE_PRINTF when the format specifier must not be NULL.
-   This was the case for the `printf' format attribute by itself
-   before GCC 3.3, but as of 3.3 we need to add the `nonnull'
-   attribute to retain this behavior.  */
-#ifndef ATTRIBUTE_PRINTF
-#define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) ATTRIBUTE_NONNULL(m)
-#define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2)
-#define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3)
-#define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4)
-#define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5)
-#define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6)
-#endif /* ATTRIBUTE_PRINTF */
-
-/* Use ATTRIBUTE_FPTR_PRINTF when the format attribute is to be set on
-   a function pointer.  Format attributes were allowed on function
-   pointers as of gcc 3.1.  */
-#ifndef ATTRIBUTE_FPTR_PRINTF
-# if (GCC_VERSION >= 3001)
-#  define ATTRIBUTE_FPTR_PRINTF(m, n) ATTRIBUTE_PRINTF(m, n)
-# else
-#  define ATTRIBUTE_FPTR_PRINTF(m, n)
-# endif /* GNUC >= 3.1 */
-# define ATTRIBUTE_FPTR_PRINTF_1 ATTRIBUTE_FPTR_PRINTF(1, 2)
-# define ATTRIBUTE_FPTR_PRINTF_2 ATTRIBUTE_FPTR_PRINTF(2, 3)
-# define ATTRIBUTE_FPTR_PRINTF_3 ATTRIBUTE_FPTR_PRINTF(3, 4)
-# define ATTRIBUTE_FPTR_PRINTF_4 ATTRIBUTE_FPTR_PRINTF(4, 5)
-# define ATTRIBUTE_FPTR_PRINTF_5 ATTRIBUTE_FPTR_PRINTF(5, 6)
-#endif /* ATTRIBUTE_FPTR_PRINTF */
-
-/* Use ATTRIBUTE_NULL_PRINTF when the format specifier may be NULL.  A
-   NULL format specifier was allowed as of gcc 3.3.  */
-#ifndef ATTRIBUTE_NULL_PRINTF
-# if (GCC_VERSION >= 3003)
-#  define ATTRIBUTE_NULL_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n)))
-# else
-#  define ATTRIBUTE_NULL_PRINTF(m, n)
-# endif /* GNUC >= 3.3 */
-# define ATTRIBUTE_NULL_PRINTF_1 ATTRIBUTE_NULL_PRINTF(1, 2)
-# define ATTRIBUTE_NULL_PRINTF_2 ATTRIBUTE_NULL_PRINTF(2, 3)
-# define ATTRIBUTE_NULL_PRINTF_3 ATTRIBUTE_NULL_PRINTF(3, 4)
-# define ATTRIBUTE_NULL_PRINTF_4 ATTRIBUTE_NULL_PRINTF(4, 5)
-# define ATTRIBUTE_NULL_PRINTF_5 ATTRIBUTE_NULL_PRINTF(5, 6)
-#endif /* ATTRIBUTE_NULL_PRINTF */
-
-/* Attribute `sentinel' was valid as of gcc 3.5.  */
-#ifndef ATTRIBUTE_SENTINEL
-# if (GCC_VERSION >= 3005)
-#  define ATTRIBUTE_SENTINEL __attribute__ ((__sentinel__))
-# else
-#  define ATTRIBUTE_SENTINEL
-# endif /* GNUC >= 3.5 */
-#endif /* ATTRIBUTE_SENTINEL */
-
-
-#ifndef ATTRIBUTE_ALIGNED_ALIGNOF
-# if (GCC_VERSION >= 3000)
-#  define ATTRIBUTE_ALIGNED_ALIGNOF(m) __attribute__ ((__aligned__ (__alignof__ (m))))
-# else
-#  define ATTRIBUTE_ALIGNED_ALIGNOF(m)
-# endif /* GNUC >= 3.0 */
-#endif /* ATTRIBUTE_ALIGNED_ALIGNOF */
-
-/* Useful for structures whose layout must much some binary specification
-   regardless of the alignment and padding qualities of the compiler.  */
-#ifndef ATTRIBUTE_PACKED
-# define ATTRIBUTE_PACKED __attribute__ ((packed))
-#endif
-
-/* Attribute `hot' and `cold' was valid as of gcc 4.3.  */
-#ifndef ATTRIBUTE_COLD
-# if (GCC_VERSION >= 4003)
-#  define ATTRIBUTE_COLD __attribute__ ((__cold__))
-# else
-#  define ATTRIBUTE_COLD
-# endif /* GNUC >= 4.3 */
-#endif /* ATTRIBUTE_COLD */
-#ifndef ATTRIBUTE_HOT
-# if (GCC_VERSION >= 4003)
-#  define ATTRIBUTE_HOT __attribute__ ((__hot__))
-# else
-#  define ATTRIBUTE_HOT
-# endif /* GNUC >= 4.3 */
-#endif /* ATTRIBUTE_HOT */
-
-/* We use __extension__ in some places to suppress -pedantic warnings
-   about GCC extensions.  This feature didn't work properly before
-   gcc 2.8.  */
-#if GCC_VERSION < 2008
-#define __extension__
-#endif
-
-/* This is used to declare a const variable which should be visible
-   outside of the current compilation unit.  Use it as
-     EXPORTED_CONST int i = 1;
-   This is because the semantics of const are different in C and C++.
-   "extern const" is permitted in C but it looks strange, and gcc
-   warns about it when -Wc++-compat is not used.  */
-#ifdef __cplusplus
-#define EXPORTED_CONST extern const
-#else
-#define EXPORTED_CONST const
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif	/* ansidecl.h	*/
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/auto-host.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/auto-host.h
deleted file mode 100644
index 6b83d30..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/auto-host.h
+++ /dev/null
@@ -1,1979 +0,0 @@
-/* auto-host.h.  Generated from config.in by configure.  */
-/* config.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-#ifndef USED_FOR_TARGET
-/* #undef AC_APPLE_UNIVERSAL_BUILD */
-#endif
-
-
-/* Define as the number of bits in a byte, if `limits.h' doesn't. */
-#ifndef USED_FOR_TARGET
-/* #undef CHAR_BIT */
-#endif
-
-
-/* Define 0/1 to force the choice for exception handling model. */
-#ifndef USED_FOR_TARGET
-/* #undef CONFIG_SJLJ_EXCEPTIONS */
-#endif
-
-
-/* Define to enable the use of a default assembler. */
-#ifndef USED_FOR_TARGET
-/* #undef DEFAULT_ASSEMBLER */
-#endif
-
-
-/* Define to enable the use of a default linker. */
-#ifndef USED_FOR_TARGET
-/* #undef DEFAULT_LINKER */
-#endif
-
-
-/* Define if you want to use __cxa_atexit, rather than atexit, to register C++
-   destructors for local statics and global objects. This is essential for
-   fully standards-compliant handling of destructors, but requires
-   __cxa_atexit in libc. */
-#ifndef USED_FOR_TARGET
-#define DEFAULT_USE_CXA_ATEXIT 2
-#endif
-
-
-/* Define if you want assertions enabled. This is a cheap check. */
-#ifndef USED_FOR_TARGET
-#define ENABLE_ASSERT_CHECKING 1
-#endif
-
-
-/* Define if building with C++. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_BUILD_WITH_CXX */
-#endif
-
-
-/* Define if you want more run-time sanity checks. This one gets a grab bag of
-   miscellaneous but relatively cheap checks. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_CHECKING */
-#endif
-
-
-/* Define to 1 to specify that we are using the BID decimal floating point
-   format instead of DPD */
-#ifndef USED_FOR_TARGET
-#define ENABLE_DECIMAL_BID_FORMAT 0
-#endif
-
-
-/* Define to 1 to enable decimal float extension to C. */
-#ifndef USED_FOR_TARGET
-#define ENABLE_DECIMAL_FLOAT 0
-#endif
-
-
-/* Define if you want more run-time sanity checks for dataflow. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_DF_CHECKING */
-#endif
-
-
-/* Define to 1 to enable fixed-point arithmetic extension to C. */
-#ifndef USED_FOR_TARGET
-#define ENABLE_FIXED_POINT 1
-#endif
-
-
-/* Define if you want fold checked that it never destructs its argument. This
-   is quite expensive. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_FOLD_CHECKING */
-#endif
-
-
-/* Define if you want the garbage collector to operate in maximally paranoid
-   mode, validating the entire heap and collecting garbage at every
-   opportunity. This is extremely expensive. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_GC_ALWAYS_COLLECT */
-#endif
-
-
-/* Define if you want the garbage collector to do object poisoning and other
-   memory allocation checks. This is quite expensive. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_GC_CHECKING */
-#endif
-
-
-/* Define if you want operations on GIMPLE (the basic data structure of the
-   high-level optimizers) to be checked for dynamic type safety at runtime.
-   This is moderately expensive. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_GIMPLE_CHECKING */
-#endif
-
-
-/* Define if gcc should always pass --build-id to linker. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_LD_BUILDID */
-#endif
-
-
-/* Define to 1 to enable libquadmath support */
-#ifndef USED_FOR_TARGET
-#define ENABLE_LIBQUADMATH_SUPPORT 1
-#endif
-
-
-/* Define to enable LTO support. */
-#ifndef USED_FOR_TARGET
-#define ENABLE_LTO 1
-#endif
-
-
-/* Define to 1 if translation of program messages to the user's native
-   language is requested. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_NLS */
-#endif
-
-
-/* Define to enable plugin support. */
-#ifndef USED_FOR_TARGET
-#define ENABLE_PLUGIN 1
-#endif
-
-
-/* Define if you want all operations on RTL (the basic data structure of the
-   optimizer and back end) to be checked for dynamic type safety at runtime.
-   This is quite expensive. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_RTL_CHECKING */
-#endif
-
-
-/* Define if you want RTL flag accesses to be checked against the RTL codes
-   that are supported for each access macro. This is relatively cheap. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_RTL_FLAG_CHECKING */
-#endif
-
-
-/* Define if you want runtime assertions enabled. This is a cheap check. */
-#define ENABLE_RUNTIME_CHECKING 1
-
-/* Define if you want all operations on trees (the basic data structure of the
-   front ends) to be checked for dynamic type safety at runtime. This is
-   moderately expensive. The tree browser debugging routines will also be
-   enabled by this option. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_TREE_CHECKING */
-#endif
-
-
-/* Define if you want all gimple types to be verified after gimplifiation.
-   This is cheap. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_TYPES_CHECKING */
-#endif
-
-
-/* Define if you want to run subprograms and generated programs through
-   valgrind (a memory checker). This is extremely expensive. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_VALGRIND_CHECKING */
-#endif
-
-
-/* Define to 1 if installation paths should be looked up in the Windows
-   Registry. Ignored on non-Windows hosts. */
-#ifndef USED_FOR_TARGET
-/* #undef ENABLE_WIN32_REGISTRY */
-#endif
-
-
-/* Define to the name of a file containing a list of extra machine modes for
-   this architecture. */
-#ifndef USED_FOR_TARGET
-#define EXTRA_MODES_FILE "config/mips/mips-modes.def"
-#endif
-
-
-/* Define to enable detailed memory allocation stats gathering. */
-#ifndef USED_FOR_TARGET
-/* #undef GATHER_STATISTICS */
-#endif
-
-
-/* Define if the zone collector is in use */
-#ifndef USED_FOR_TARGET
-/* #undef GGC_ZONE */
-#endif
-
-
-/* mcontext_t fields start with __ */
-#ifndef USED_FOR_TARGET
-/* #undef HAS_MCONTEXT_T_UNDERSCORES */
-#endif
-
-
-/* Define if your assembler supports cmpb. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_CMPB */
-#endif
-
-
-/* Define if your assembler supports the DCI/ICI instructions. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_DCI */
-#endif
-
-
-/* Define if your assembler supports the --debug-prefix-map option. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_DEBUG_PREFIX_MAP 1
-#endif
-
-
-/* Define if your assembler supports DFP instructions. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_DFP */
-#endif
-
-
-/* Define if your assembler supports DSPR1 mult. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_DSPR1_MULT 1
-#endif
-
-
-/* Define if your assembler supports .dtprelword. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_DTPRELWORD 1
-#endif
-
-
-/* Define if your assembler supports dwarf2 .file/.loc directives, and
-   preserves file table indices exactly as given. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_DWARF2_DEBUG_LINE 1
-#endif
-
-
-/* Define if your assembler supports explicit relocations. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_EXPLICIT_RELOCS */
-#endif
-
-
-/* Define if your assembler supports fprnd. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_FPRND */
-#endif
-
-
-/* Define if your assembler supports the --gdwarf2 option. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_GDWARF2_DEBUG_FLAG 1
-#endif
-
-
-/* Define if your assembler supports .gnu_attribute. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_GNU_ATTRIBUTE 1
-#endif
-
-
-/* Define true if the assembler supports '.long foo@GOTOFF'. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_GOTOFF_IN_DATA */
-#endif
-
-
-/* Define if your assembler supports the --gstabs option. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_GSTABS_DEBUG_FLAG 1
-#endif
-
-
-/* Define if your assembler supports the Sun syntax for cmov. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */
-#endif
-
-
-/* Define if your assembler supports the subtraction of symbols in different
-   sections. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */
-#endif
-
-
-/* Define if your assembler supports the ffreep mnemonic. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_FFREEP */
-#endif
-
-
-/* Define if your assembler uses fildq and fistq mnemonics. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_FILDQ */
-#endif
-
-
-/* Define if your assembler uses filds and fists mnemonics. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_FILDS */
-#endif
-
-
-/* Define if your assembler supports the .quad directive. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_QUAD */
-#endif
-
-
-/* Define if the assembler supports 'rep <insn>, lock <insn>'. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */
-#endif
-
-
-/* Define if your assembler supports the sahf mnemonic in 64bit mode. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_SAHF */
-#endif
-
-
-/* Define if your assembler supports the swap suffix. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_IX86_SWAP */
-#endif
-
-
-/* Define if your assembler supports the lituse_jsrdirect relocation. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_JSRDIRECT_RELOCS */
-#endif
-
-
-/* Define if your assembler supports .sleb128 and .uleb128. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_LEB128 1
-#endif
-
-
-/* Define if the assembler won't complain about a line such as # 0 "" 2. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_LINE_ZERO 1
-#endif
-
-
-/* Define if your assembler supports ltoffx and ldxmov relocations. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */
-#endif
-
-
-/* Define if your assembler supports LWSYNC instructions. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_LWSYNC */
-#endif
-
-
-/* Define if your assembler supports mfcr field. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_MFCRF */
-#endif
-
-
-/* Define if your assembler supports mffgpr and mftgpr. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_MFPGPR */
-#endif
-
-
-/* Define if your assembler supports the -no-mul-bug-abort option. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */
-#endif
-
-
-/* Define if the assembler understands -mno-shared. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_NO_SHARED 1
-#endif
-
-
-/* Define if your assembler supports offsetable %lo(). */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_OFFSETABLE_LO10 */
-#endif
-
-
-/* Define if your assembler supports popcntb field. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_POPCNTB */
-#endif
-
-
-/* Define if your assembler supports POPCNTD instructions. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_POPCNTD */
-#endif
-
-
-/* Define if your assembler supports .ref */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_REF */
-#endif
-
-
-/* Define if your assembler supports .register. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_REGISTER_PSEUDO_OP */
-#endif
-
-
-/* Define if your assembler supports R_PPC_REL16 relocs. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_REL16 */
-#endif
-
-
-/* Define if your assembler supports -relax option. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_RELAX_OPTION */
-#endif
-
-
-/* Define if your assembler and linker support GOTDATA_OP relocs. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_SPARC_GOTDATA_OP */
-#endif
-
-
-/* Define if your assembler and linker support unaligned PC relative relocs.
-   */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_SPARC_UA_PCREL */
-#endif
-
-
-/* Define if your assembler and linker support unaligned PC relative relocs
-   against hidden symbols. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */
-#endif
-
-
-/* Define if your assembler and linker support thread-local storage. */
-#ifndef USED_FOR_TARGET
-#define HAVE_AS_TLS 1
-#endif
-
-
-/* Define if your assembler supports arg info for __tls_get_addr. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_TLS_MARKERS */
-#endif
-
-
-/* Define if your assembler supports VSX instructions. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_AS_VSX */
-#endif
-
-
-/* Define to 1 if you have the `atoll' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_ATOLL 1
-#endif
-
-
-/* Define to 1 if you have the `atoq' function. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_ATOQ */
-#endif
-
-
-/* Define to 1 if you have the `clearerr_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_CLEARERR_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `clock' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_CLOCK 1
-#endif
-
-
-/* Define if <time.h> defines clock_t. */
-#ifndef USED_FOR_TARGET
-#define HAVE_CLOCK_T 1
-#endif
-
-
-/* Define 0/1 if your assembler and linker support COMDAT groups. */
-#ifndef USED_FOR_TARGET
-#define HAVE_COMDAT_GROUP 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'abort', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_ABORT 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'asprintf', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_ASPRINTF 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_ATOF 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_ATOL 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'basename', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_BASENAME 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_CALLOC 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_CLEARERR_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'clock', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_CLOCK 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'errno', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_ERRNO 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define
-   to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FEOF_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FERROR_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FFLUSH_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FGETC_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FGETS_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FILENO_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FPRINTF_UNLOCKED 0
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FPUTC_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FPUTS_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FREAD_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FREE 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_FWRITE_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETCHAR_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETCWD 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define
-   to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETC_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETENV 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETOPT 0
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getpagesize', otherwise define
-   to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETPAGESIZE 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETRLIMIT 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getrusage', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETRUSAGE 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_GETWD 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_LDGETNAME 0
-#endif
-
-
-/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_MALLOC 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise
-   define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_PUTCHAR_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define
-   to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_PUTC_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_REALLOC 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_SBRK 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_SETRLIMIT 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define
-   to 0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_SIGALTSTACK 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'snprintf', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_SNPRINTF 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'strsignal', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_STRSIGNAL 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_STRSTR 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_STRVERSCMP 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'times', otherwise define to 0.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_TIMES 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_VASPRINTF 1
-#endif
-
-
-/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to
-   0. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DECL_VSNPRINTF 1
-#endif
-
-
-/* Define to 1 if you have the <direct.h> header file. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_DIRECT_H */
-#endif
-
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_DLFCN_H 1
-#endif
-
-
-/* Define to 1 if you have the <ext/hash_map> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_EXT_HASH_MAP 1
-#endif
-
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FCNTL_H 1
-#endif
-
-
-/* Define to 1 if you have the `feof_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FEOF_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `ferror_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FERROR_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `fflush_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FFLUSH_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `fgetc_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FGETC_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `fgets_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FGETS_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `fileno_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FILENO_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `fork' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FORK 1
-#endif
-
-
-/* Define to 1 if you have the `fprintf_unlocked' function. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_FPRINTF_UNLOCKED */
-#endif
-
-
-/* Define to 1 if you have the `fputc_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FPUTC_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `fputs_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FPUTS_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `fread_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FREAD_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `fwrite_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_FWRITE_UNLOCKED 1
-#endif
-
-
-/* Define if your assembler supports specifying the alignment of objects
-   allocated using the GAS .comm command. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_GAS_ALIGNED_COMM */
-#endif
-
-
-/* Define if your assembler supports .balign and .p2align. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GAS_BALIGN_AND_P2ALIGN 1
-#endif
-
-
-/* Define 0/1 if your assembler supports CFI directives. */
-#define HAVE_GAS_CFI_DIRECTIVE 1
-
-/* Define 0/1 if your assembler supports .cfi_personality. */
-#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1
-
-/* Define 0/1 if your assembler supports .cfi_sections. */
-#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1
-
-/* Define if your assembler supports the .loc discriminator sub-directive. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GAS_DISCRIMINATOR 1
-#endif
-
-
-/* Define if your assembler supports @gnu_unique_object. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */
-#endif
-
-
-/* Define if your assembler and linker support .hidden. */
-#define HAVE_GAS_HIDDEN 1
-
-/* Define if your assembler supports .lcomm with an alignment field. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */
-#endif
-
-
-/* Define if your assembler supports .literal16. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_GAS_LITERAL16 */
-#endif
-
-
-/* Define if your assembler supports specifying the maximum number of bytes to
-   skip when using the GAS .p2align command. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GAS_MAX_SKIP_P2ALIGN 1
-#endif
-
-
-/* Define if your assembler supports .nsubspa comdat option. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_GAS_NSUBSPA_COMDAT */
-#endif
-
-
-/* Define if your assembler and linker support 32-bit section relative relocs
-   via '.secrel32 label'. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_GAS_PE_SECREL32_RELOC */
-#endif
-
-
-/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.
-   */
-#ifndef USED_FOR_TARGET
-#define HAVE_GAS_SHF_MERGE 1
-#endif
-
-
-/* Define if your assembler supports .subsection and .subsection -1 starts
-   emitting at the beginning of your section. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GAS_SUBSECTION_ORDERING 1
-#endif
-
-
-/* Define if your assembler supports .weak. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GAS_WEAK 1
-#endif
-
-
-/* Define if your assembler supports .weakref. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GAS_WEAKREF 1
-#endif
-
-
-/* Define to 1 if you have the `getchar_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GETCHAR_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `getc_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GETC_UNLOCKED 1
-#endif
-
-
-/* Define if _Unwind_GetIPInfo is available. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GETIPINFO 1
-#endif
-
-
-/* Define to 1 if you have the `getrlimit' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GETRLIMIT 1
-#endif
-
-
-/* Define to 1 if you have the `getrusage' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GETRUSAGE 1
-#endif
-
-
-/* Define to 1 if you have the `gettimeofday' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GETTIMEOFDAY 1
-#endif
-
-
-/* Define if using GNU as. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GNU_AS 0
-#endif
-
-
-/* Define if your system supports gnu indirect functions. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_GNU_INDIRECT_FUNCTION */
-#endif
-
-
-/* Define if using GNU ld. */
-#ifndef USED_FOR_TARGET
-#define HAVE_GNU_LD 1
-#endif
-
-
-/* Define if you have the iconv() function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_ICONV 1
-#endif
-
-
-/* Define to 1 if you have the <iconv.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_ICONV_H 1
-#endif
-
-
-/* Define .init_array/.fini_array sections are available and working. */
-#ifndef USED_FOR_TARGET
-#define HAVE_INITFINI_ARRAY 1
-#endif
-
-
-/* Define to 1 if the system has the type `intmax_t'. */
-#ifndef USED_FOR_TARGET
-#define HAVE_INTMAX_T 1
-#endif
-
-
-/* Define to 1 if the system has the type `intptr_t'. */
-#ifndef USED_FOR_TARGET
-#define HAVE_INTPTR_T 1
-#endif
-
-
-/* Define if you have a working <inttypes.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_INTTYPES_H 1
-#endif
-
-
-/* Define to 1 if you have the `kill' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_KILL 1
-#endif
-
-
-/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
-#ifndef USED_FOR_TARGET
-#define HAVE_LANGINFO_CODESET 1
-#endif
-
-
-/* Define to 1 if you have the <langinfo.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LANGINFO_H 1
-#endif
-
-
-/* Define if your <locale.h> file defines LC_MESSAGES. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LC_MESSAGES 1
-#endif
-
-
-/* Define to 1 if you have the <ldfcn.h> header file. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_LDFCN_H */
-#endif
-
-
-/* Define if your linker supports --as-needed and --no-as-needed options. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LD_AS_NEEDED 1
-#endif
-
-
-/* Define if your linker supports --build-id. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LD_BUILDID 1
-#endif
-
-
-/* Define if your linker supports --demangle option. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_LD_DEMANGLE */
-#endif
-
-
-/* Define if your linker supports .eh_frame_hdr. */
-#define HAVE_LD_EH_FRAME_HDR 1
-
-/* Define if your linker supports garbage collection of sections in presence
-   of EH frames. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LD_EH_GC_SECTIONS 1
-#endif
-
-
-/* Define if your linker has buggy garbage collection of sections support when
-   .text.startup.foo like sections are used. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_LD_EH_GC_SECTIONS_BUG */
-#endif
-
-
-/* Define if your PowerPC64 linker supports a large TOC. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_LD_LARGE_TOC */
-#endif
-
-
-/* Define if your PowerPC64 linker only needs function descriptor syms. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_LD_NO_DOT_SYMS */
-#endif
-
-
-/* Define if your linker can relax absolute .eh_frame personality pointers
-   into PC-relative form. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LD_PERSONALITY_RELAXATION 1
-#endif
-
-
-/* Define if your linker supports -pie option. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LD_PIE 1
-#endif
-
-
-/* Define if your linker links a mix of read-only and read-write sections into
-   a read-write section. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LD_RO_RW_SECTION_MIXING 1
-#endif
-
-
-/* Define if your linker supports the *_sol2 emulations. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_LD_SOL2_EMULATION */
-#endif
-
-
-/* Define if your linker supports -Bstatic/-Bdynamic or equivalent options. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LD_STATIC_DYNAMIC 1
-#endif
-
-
-/* Define if your linker supports --sysroot. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LD_SYSROOT 1
-#endif
-
-
-/* Define to 1 if you have the <limits.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LIMITS_H 1
-#endif
-
-
-/* Define to 1 if you have the <locale.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LOCALE_H 1
-#endif
-
-
-/* Define to 1 if the system has the type `long long'. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LONG_LONG 1
-#endif
-
-
-/* Define to 1 if the system has the type `long long int'. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LONG_LONG_INT 1
-#endif
-
-
-/* Define if your linker supports plugin. */
-#ifndef USED_FOR_TARGET
-#define HAVE_LTO_PLUGIN 1
-#endif
-
-
-/* Define to 1 if you have the <malloc.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_MALLOC_H 1
-#endif
-
-
-/* Define to 1 if you have the `mbstowcs' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_MBSTOWCS 1
-#endif
-
-
-/* Define if valgrind's memcheck.h header is installed. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_MEMCHECK_H */
-#endif
-
-
-/* Define to 1 if you have the <memory.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_MEMORY_H 1
-#endif
-
-
-/* Define to 1 if you have the `mmap' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_MMAP 1
-#endif
-
-
-/* Define if mmap with MAP_ANON(YMOUS) works. */
-#ifndef USED_FOR_TARGET
-#define HAVE_MMAP_ANON 1
-#endif
-
-
-/* Define if mmap of /dev/zero works. */
-#ifndef USED_FOR_TARGET
-#define HAVE_MMAP_DEV_ZERO 1
-#endif
-
-
-/* Define if read-only mmap of a plain file works. */
-#ifndef USED_FOR_TARGET
-#define HAVE_MMAP_FILE 1
-#endif
-
-
-/* Define to 1 if you have the `nl_langinfo' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_NL_LANGINFO 1
-#endif
-
-
-/* Define to 1 if you have the `putchar_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_PUTCHAR_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `putc_unlocked' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_PUTC_UNLOCKED 1
-#endif
-
-
-/* Define to 1 if you have the `setlocale' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SETLOCALE 1
-#endif
-
-
-/* Define to 1 if you have the `setrlimit' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SETRLIMIT 1
-#endif
-
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_STDDEF_H 1
-#endif
-
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_STDINT_H 1
-#endif
-
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_STDLIB_H 1
-#endif
-
-
-/* Define to 1 if you have the <strings.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_STRINGS_H 1
-#endif
-
-
-/* Define to 1 if you have the <string.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_STRING_H 1
-#endif
-
-
-/* Define to 1 if you have the `strsignal' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_STRSIGNAL 1
-#endif
-
-
-/* Define if <sys/times.h> defines struct tms. */
-#ifndef USED_FOR_TARGET
-#define HAVE_STRUCT_TMS 1
-#endif
-
-
-/* Define to 1 if you have the `sysconf' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYSCONF 1
-#endif
-
-
-/* Define to 1 if you have the <sys/file.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_FILE_H 1
-#endif
-
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_MMAN_H 1
-#endif
-
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_PARAM_H 1
-#endif
-
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_RESOURCE_H 1
-#endif
-
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_STAT_H 1
-#endif
-
-
-/* Define to 1 if you have the <sys/times.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_TIMES_H 1
-#endif
-
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_TIME_H 1
-#endif
-
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_TYPES_H 1
-#endif
-
-
-/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
-#ifndef USED_FOR_TARGET
-#define HAVE_SYS_WAIT_H 1
-#endif
-
-
-/* Define to 1 if you have the `times' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_TIMES 1
-#endif
-
-
-/* Define to 1 if you have the <time.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_TIME_H 1
-#endif
-
-
-/* Define to 1 if you have the <tr1/unordered_map> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_TR1_UNORDERED_MAP 1
-#endif
-
-
-/* Define to 1 if the system has the type `uintmax_t'. */
-#ifndef USED_FOR_TARGET
-#define HAVE_UINTMAX_T 1
-#endif
-
-
-/* Define to 1 if the system has the type `uintptr_t'. */
-#ifndef USED_FOR_TARGET
-#define HAVE_UINTPTR_T 1
-#endif
-
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_UNISTD_H 1
-#endif
-
-
-/* Define to 1 if you have the <unordered_map> header file. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_UNORDERED_MAP */
-#endif
-
-
-/* Define to 1 if the system has the type `unsigned long long int'. */
-#ifndef USED_FOR_TARGET
-#define HAVE_UNSIGNED_LONG_LONG_INT 1
-#endif
-
-
-/* Define if valgrind's valgrind/memcheck.h header is installed. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_VALGRIND_MEMCHECK_H */
-#endif
-
-
-/* Define to 1 if you have the `vfork' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_VFORK 1
-#endif
-
-
-/* Define to 1 if you have the <vfork.h> header file. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_VFORK_H */
-#endif
-
-
-/* Define to 1 if you have the <wchar.h> header file. */
-#ifndef USED_FOR_TARGET
-#define HAVE_WCHAR_H 1
-#endif
-
-
-/* Define to 1 if you have the `wcswidth' function. */
-#ifndef USED_FOR_TARGET
-#define HAVE_WCSWIDTH 1
-#endif
-
-
-/* Define to 1 if `fork' works. */
-#ifndef USED_FOR_TARGET
-#define HAVE_WORKING_FORK 1
-#endif
-
-
-/* Define this macro if mbstowcs does not crash when its first argument is
-   NULL. */
-#ifndef USED_FOR_TARGET
-#define HAVE_WORKING_MBSTOWCS 1
-#endif
-
-
-/* Define to 1 if `vfork' works. */
-#ifndef USED_FOR_TARGET
-#define HAVE_WORKING_VFORK 1
-#endif
-
-
-/* Define to 1 if the system has the type `__int64'. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE___INT64 */
-#endif
-
-
-/* Define if cloog is in use. */
-#ifndef USED_FOR_TARGET
-/* #undef HAVE_cloog */
-#endif
-
-
-/* Define as const if the declaration of iconv() needs const. */
-#ifndef USED_FOR_TARGET
-#define ICONV_CONST 
-#endif
-
-
-/* Define to the linker option to enable use of shared objects. */
-#ifndef USED_FOR_TARGET
-#define LD_DYNAMIC_OPTION "-Bdynamic"
-#endif
-
-
-/* Define to the linker option to disable use of shared objects. */
-#ifndef USED_FOR_TARGET
-#define LD_STATIC_OPTION "-Bstatic"
-#endif
-
-
-/* Define to the linker flags to use for -pthread. */
-#ifndef USED_FOR_TARGET
-/* #undef LIB_THREAD_LDFLAGS_SPEC */
-#endif
-
-
-/* Define to the library containing __tls_get_addr/___tls_get_addr. */
-#ifndef USED_FOR_TARGET
-/* #undef LIB_TLS_SPEC */
-#endif
-
-
-/* Define to the name of the LTO plugin DSO that must be passed to the
-   linker's -plugin=LIB option. */
-#ifndef USED_FOR_TARGET
-#define LTOPLUGINSONAME "liblto_plugin.so"
-#endif
-
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#ifndef USED_FOR_TARGET
-#define LT_OBJDIR ".libs/"
-#endif
-
-
-/* Define if host mkdir takes a single argument. */
-#ifndef USED_FOR_TARGET
-/* #undef MKDIR_TAKES_ONE_ARG */
-#endif
-
-
-/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */
-#ifndef USED_FOR_TARGET
-#define NEED_64BIT_HOST_WIDE_INT 1
-#endif
-
-
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#ifndef USED_FOR_TARGET
-/* #undef NO_MINUS_C_MINUS_O */
-#endif
-
-
-/* Define to the address where bug reports for this package should be sent. */
-#ifndef USED_FOR_TARGET
-#define PACKAGE_BUGREPORT ""
-#endif
-
-
-/* Define to the full name of this package. */
-#ifndef USED_FOR_TARGET
-#define PACKAGE_NAME ""
-#endif
-
-
-/* Define to the full name and version of this package. */
-#ifndef USED_FOR_TARGET
-#define PACKAGE_STRING ""
-#endif
-
-
-/* Define to the one symbol short name of this package. */
-#ifndef USED_FOR_TARGET
-#define PACKAGE_TARNAME ""
-#endif
-
-
-/* Define to the home page for this package. */
-#ifndef USED_FOR_TARGET
-#define PACKAGE_URL ""
-#endif
-
-
-/* Define to the version of this package. */
-#ifndef USED_FOR_TARGET
-#define PACKAGE_VERSION ""
-#endif
-
-
-/* Specify plugin linker */
-#ifndef USED_FOR_TARGET
-#define PLUGIN_LD "ld"
-#endif
-
-
-/* Define to PREFIX/include if cpp should also search that directory. */
-#ifndef USED_FOR_TARGET
-/* #undef PREFIX_INCLUDE_DIR */
-#endif
-
-
-/* The size of `int', as computed by sizeof. */
-#ifndef USED_FOR_TARGET
-#define SIZEOF_INT 4
-#endif
-
-
-/* The size of `long', as computed by sizeof. */
-#ifndef USED_FOR_TARGET
-#define SIZEOF_LONG 8
-#endif
-
-
-/* The size of `long long', as computed by sizeof. */
-#ifndef USED_FOR_TARGET
-#define SIZEOF_LONG_LONG 8
-#endif
-
-
-/* The size of `short', as computed by sizeof. */
-#ifndef USED_FOR_TARGET
-#define SIZEOF_SHORT 2
-#endif
-
-
-/* The size of `void *', as computed by sizeof. */
-#ifndef USED_FOR_TARGET
-#define SIZEOF_VOID_P 8
-#endif
-
-
-/* The size of `__int64', as computed by sizeof. */
-#ifndef USED_FOR_TARGET
-/* #undef SIZEOF___INT64 */
-#endif
-
-
-/* Define to 1 if you have the ANSI C header files. */
-#ifndef USED_FOR_TARGET
-#define STDC_HEADERS 1
-#endif
-
-
-/* Define if you can safely include both <string.h> and <strings.h>. */
-#ifndef USED_FOR_TARGET
-#define STRING_WITH_STRINGS 1
-#endif
-
-
-/* Define if TFmode long double should be the default */
-#ifndef USED_FOR_TARGET
-/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */
-#endif
-
-
-/* Define if your target C library provides the `dl_iterate_phdr' function. */
-/* #undef TARGET_DL_ITERATE_PHDR */
-
-/* Define if your target C library provides stack protector support */
-#ifndef USED_FOR_TARGET
-/* #undef TARGET_LIBC_PROVIDES_SSP */
-#endif
-
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#ifndef USED_FOR_TARGET
-#define TIME_WITH_SYS_TIME 1
-#endif
-
-
-/* Define to the flag used to mark TLS sections if the default (`T') doesn't
-   work. */
-#ifndef USED_FOR_TARGET
-/* #undef TLS_SECTION_ASM_FLAG */
-#endif
-
-
-/* Define if your assembler mis-optimizes .eh_frame data. */
-#ifndef USED_FOR_TARGET
-/* #undef USE_AS_TRADITIONAL_FORMAT */
-#endif
-
-
-/* Define if you want to generate code by default that assumes that the Cygwin
-   DLL exports wrappers to support libstdc++ function replacement. */
-#ifndef USED_FOR_TARGET
-/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */
-#endif
-
-
-/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but
-   still efficiently supported by the host hardware. */
-#ifndef USED_FOR_TARGET
-/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */
-#endif
-
-
-/* Define if we should use leading underscore on 64 bit mingw targets */
-#ifndef USED_FOR_TARGET
-/* #undef USE_MINGW64_LEADING_UNDERSCORES */
-#endif
-
-
-/* Enable extensions on AIX 3, Interix.  */
-#ifndef _ALL_SOURCE
-# define _ALL_SOURCE 1
-#endif
-/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-#endif
-/* Enable threading extensions on Solaris.  */
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# define _POSIX_PTHREAD_SEMANTICS 1
-#endif
-/* Enable extensions on HP NonStop.  */
-#ifndef _TANDEM_SOURCE
-# define _TANDEM_SOURCE 1
-#endif
-/* Enable general extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# define __EXTENSIONS__ 1
-#endif
-
-
-/* Define to be the last component of the Windows registry key under which to
-   look for installation paths. The full key used will be
-   HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}.
-   The default is the GCC version number. */
-#ifndef USED_FOR_TARGET
-/* #undef WIN32_REGISTRY_KEY */
-#endif
-
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* #  undef WORDS_BIGENDIAN */
-# endif
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#ifndef USED_FOR_TARGET
-/* #undef _FILE_OFFSET_BITS */
-#endif
-
-
-/* Define for large files, on AIX-style hosts. */
-#ifndef USED_FOR_TARGET
-/* #undef _LARGE_FILES */
-#endif
-
-
-/* Define to 1 if on MINIX. */
-#ifndef USED_FOR_TARGET
-/* #undef _MINIX */
-#endif
-
-
-/* Define to 2 if the system does not provide POSIX.1 features except with
-   this defined. */
-#ifndef USED_FOR_TARGET
-/* #undef _POSIX_1_SOURCE */
-#endif
-
-
-/* Define to 1 if you need to in order for `stat' and other things to work. */
-#ifndef USED_FOR_TARGET
-/* #undef _POSIX_SOURCE */
-#endif
-
-
-/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
-   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
-   #define below would cause a syntax error. */
-#ifndef USED_FOR_TARGET
-/* #undef _UINT32_T */
-#endif
-
-
-/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
-   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
-   #define below would cause a syntax error. */
-#ifndef USED_FOR_TARGET
-/* #undef _UINT64_T */
-#endif
-
-
-/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
-   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
-   #define below would cause a syntax error. */
-#ifndef USED_FOR_TARGET
-/* #undef _UINT8_T */
-#endif
-
-
-/* Define to `char *' if <sys/types.h> does not define. */
-#ifndef USED_FOR_TARGET
-/* #undef caddr_t */
-#endif
-
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-/* #undef inline */
-#endif
-
-/* Define to the type of a signed integer type of width exactly 16 bits if
-   such a type exists and the standard includes do not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef int16_t */
-#endif
-
-
-/* Define to the type of a signed integer type of width exactly 32 bits if
-   such a type exists and the standard includes do not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef int32_t */
-#endif
-
-
-/* Define to the type of a signed integer type of width exactly 64 bits if
-   such a type exists and the standard includes do not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef int64_t */
-#endif
-
-
-/* Define to the type of a signed integer type of width exactly 8 bits if such
-   a type exists and the standard includes do not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef int8_t */
-#endif
-
-
-/* Define to the widest signed integer type if <stdint.h> and <inttypes.h> do
-   not define. */
-#ifndef USED_FOR_TARGET
-/* #undef intmax_t */
-#endif
-
-
-/* Define to the type of a signed integer type wide enough to hold a pointer,
-   if such a type exists, and if the system does not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef intptr_t */
-#endif
-
-
-/* Define to `int' if <sys/types.h> does not define. */
-#ifndef USED_FOR_TARGET
-/* #undef pid_t */
-#endif
-
-
-/* Define to `long' if <sys/resource.h> doesn't define. */
-#ifndef USED_FOR_TARGET
-/* #undef rlim_t */
-#endif
-
-
-/* Define to `int' if <sys/types.h> does not define. */
-#ifndef USED_FOR_TARGET
-/* #undef ssize_t */
-#endif
-
-
-/* Define to the type of an unsigned integer type of width exactly 16 bits if
-   such a type exists and the standard includes do not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef uint16_t */
-#endif
-
-
-/* Define to the type of an unsigned integer type of width exactly 32 bits if
-   such a type exists and the standard includes do not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef uint32_t */
-#endif
-
-
-/* Define to the type of an unsigned integer type of width exactly 64 bits if
-   such a type exists and the standard includes do not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef uint64_t */
-#endif
-
-
-/* Define to the type of an unsigned integer type of width exactly 8 bits if
-   such a type exists and the standard includes do not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef uint8_t */
-#endif
-
-
-/* Define to the widest unsigned integer type if <stdint.h> and <inttypes.h>
-   do not define. */
-#ifndef USED_FOR_TARGET
-/* #undef uintmax_t */
-#endif
-
-
-/* Define to the type of an unsigned integer type wide enough to hold a
-   pointer, if such a type exists, and if the system does not define it. */
-#ifndef USED_FOR_TARGET
-/* #undef uintptr_t */
-#endif
-
-
-/* Define as `fork' if `vfork' does not work. */
-#ifndef USED_FOR_TARGET
-/* #undef vfork */
-#endif
-
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/b-header-vars b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/b-header-vars
deleted file mode 100644
index 93ca9b4..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/b-header-vars
+++ /dev/null
@@ -1,106 +0,0 @@
-USER_H=loongson.h
-UNWIND_H=unwind-generic.h
-HASHTAB_H=hashtab.h
-OBSTACK_H=obstack.h
-SPLAY_TREE_H=splay-tree.h
-FIBHEAP_H=fibheap.h
-PARTITION_H=partition.h
-DWARF2_H=dwarf2.h
-XREGEX_H=xregex.h
-LINKER_PLUGIN_API_H=plugin-api.h
-LTO_SYMTAB_H=lto-symtab.h
-BCONFIG_H=bconfig.h auto-host.h ansidecl.h
-CONFIG_H=config.h auto-host.h ansidecl.h
-TCONFIG_H=tconfig.h auto-host.h ansidecl.h
-TM_P_H=tm_p.h config/mips/mips-protos.h tm-preds.h
-GTM_H=tm.h options.h config/dbxelf.h defaults.h insn-constants.h
-TM_H=tm.h options.h config/dbxelf.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h
-VEC_H=vec.h statistics.h
-EXCEPT_H=except.h hashtab.h vecprim.h vecir.h
-TARGET_H=tm.h options.h config/dbxelf.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h target.h target.def insn-modes.h
-MACHMODE_H=machmode.h mode-classes.def insn-modes.h
-HOOKS_H=hooks.h machmode.h mode-classes.def insn-modes.h
-HOSTHOOKS_DEF_H=hosthooks-def.h hooks.h machmode.h mode-classes.def insn-modes.h
-LANGHOOKS_DEF_H=langhooks-def.h hooks.h machmode.h mode-classes.def insn-modes.h
-TARGET_DEF_H=target-def.h target-hooks-def.h hooks.h machmode.h mode-classes.def insn-modes.h targhooks.h
-RTL_BASE_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def hashtab.h
-FIXED_VALUE_H=fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h
-RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def hashtab.h genrtl.h vecir.h
-RTL_ERROR_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def line-map.h input.h bversion.h diagnostic.def
-READ_MD_H=hashtab.h read-md.h
-PARAMS_H=params.h params.def
-TREE_H=tree.h all-tree.def tree.def c-family/c-common.def obstack.h flags.h coretypes.h flag-types.h options.h flag-types.h vecir.h real.h machmode.h mode-classes.def insn-modes.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h
-REGSET_H=regset.h bitmap.h hashtab.h statistics.h hard-reg-set.h
-BASIC_BLOCK_H=basic-block.h predict.h predict.def vec.h statistics.h function.h tree.h all-tree.def tree.def c-family/c-common.def defaults.h insn-constants.h insn-flags.h options.h flag-types.h hard-reg-set.h cfghooks.h
-GIMPLE_H=gimple.h gimple.def gsstruct.def pointer-set.h vec.h statistics.h ggc.h gtype-desc.h statistics.h basic-block.h predict.h predict.def vec.h statistics.h function.h tree.h all-tree.def tree.def c-family/c-common.def defaults.h insn-constants.h insn-flags.h options.h flag-types.h target.h target.def insn-modes.h tree-ssa-operands.h tree-ssa-alias.h vecir.h
-GCOV_IO_H=gcov-io.h gcov-iov.h auto-host.h
-COVERAGE_H=coverage.h gcov-io.h gcov-iov.h auto-host.h
-DEMANGLE_H=demangle.h
-RECOG_H=recog.h
-ALIAS_H=alias.h coretypes.h
-EMIT_RTL_H=emit-rtl.h
-FLAGS_H=flags.h coretypes.h flag-types.h options.h flag-types.h
-OPTIONS_H=options.h flag-types.h
-FUNCTION_H=function.h tree.h all-tree.def tree.def c-family/c-common.def defaults.h insn-constants.h insn-flags.h options.h flag-types.h hard-reg-set.h
-EXPR_H=expr.h insn-config.h function.h tree.h all-tree.def tree.def c-family/c-common.def obstack.h flags.h coretypes.h flag-types.h options.h flag-types.h vecir.h real.h machmode.h mode-classes.def insn-modes.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h machmode.h mode-classes.def insn-modes.h emit-rtl.h
-OPTABS_H=optabs.h insn-codes.h
-REGS_H=regs.h machmode.h mode-classes.def insn-modes.h hard-reg-set.h
-SCHED_INT_H=sched-int.h insn-attr.h hashtab.h statistics.h hard-reg-set.h
-SEL_SCHED_IR_H=sel-sched-ir.h insn-attr.h hashtab.h statistics.h hard-reg-set.h
-SEL_SCHED_DUMP_H=sel-sched-dump.h sel-sched-ir.h insn-attr.h hashtab.h statistics.h hard-reg-set.h
-INTEGRATE_H=integrate.h
-CFGLAYOUT_H=cfglayout.h basic-block.h predict.h predict.def vec.h statistics.h function.h tree.h all-tree.def tree.def c-family/c-common.def defaults.h insn-constants.h insn-flags.h options.h flag-types.h hard-reg-set.h cfghooks.h
-CFGLOOP_H=cfgloop.h basic-block.h predict.h predict.def vec.h statistics.h function.h tree.h all-tree.def tree.def c-family/c-common.def hashtab.h statistics.h sbitmap.h
-IPA_UTILS_H=ipa-utils.h tree.h all-tree.def tree.def c-family/c-common.def plugin-api.h
-IPA_REFERENCE_H=ipa-reference.h bitmap.h obstack.h flags.h coretypes.h flag-types.h options.h flag-types.h vecir.h real.h machmode.h mode-classes.def insn-modes.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h
-IPA_TYPE_ESCAPE_H=ipa-type-escape.h tree.h all-tree.def tree.def c-family/c-common.def obstack.h flags.h coretypes.h flag-types.h options.h flag-types.h vecir.h real.h machmode.h mode-classes.def insn-modes.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h
-CGRAPH_H=cgraph.h vec.h statistics.h tree.h all-tree.def tree.def c-family/c-common.def plugin-api.h
-DF_H=df.h bitmap.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h hard-reg-set.h cfghooks.h alloc-pool.h timevar.h timevar.def
-RESOURCE_H=resource.h hard-reg-set.h df.h bitmap.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h hard-reg-set.h cfghooks.h alloc-pool.h timevar.h timevar.def
-DDG_H=ddg.h sbitmap.h df.h bitmap.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h hard-reg-set.h cfghooks.h alloc-pool.h timevar.h timevar.def
-GCC_H=gcc.h version.h diagnostic-core.h line-map.h input.h bversion.h diagnostic.def
-GGC_H=ggc.h gtype-desc.h statistics.h
-GGC_INTERNAL_H=ggc-internal.h ggc.h gtype-desc.h statistics.h
-TIMEVAR_H=timevar.h timevar.def
-INSN_ATTR_H=insn-attr.h insn-addr.h vecprim.h
-INSN_ADDR_H=insn-addr.h vecprim.h
-C_COMMON_H=c-family/c-common.h c-family/c-common.def line-map.h input.h bversion.h diagnostic.def
-C_PRAGMA_H=c-family/c-pragma.h cpplib.h
-C_TREE_H=c-tree.h c-family/c-common.h c-family/c-common.def obstack.h
-SYSTEM_H=system.h hwint.h filenames.h
-PREDICT_H=predict.h predict.def
-CPPLIB_H=cpplib.h
-INPUT_H=line-map.h input.h
-OPTS_H=line-map.h input.h vec.h statistics.h opts.h
-DECNUM_H=decimal128Local.h
-MKDEPS_H=mkdeps.h
-SYMTAB_H=obstack.h
-CPP_ID_DATA_H=cpp-id-data.h
-CPP_INTERNAL_H=cpp-id-data.h
-TREE_PASS_H=tree-pass.h timevar.h timevar.def
-TREE_DUMP_H=tree-dump.h splay-tree.h tree-pass.h timevar.h timevar.def
-TREE_FLOW_H=tree-flow.h tree-flow-inline.h tree-ssa-operands.h bitmap.h obstack.h flags.h coretypes.h flag-types.h options.h flag-types.h vecir.h real.h machmode.h mode-classes.def insn-modes.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h tree-ssa-alias.h
-TREE_SSA_LIVE_H=tree-ssa-live.h partition.h vecprim.h
-SSAEXPAND_H=ssaexpand.h tree-ssa-live.h partition.h vecprim.h
-PRETTY_PRINT_H=pretty-print.h obstack.h
-DIAGNOSTIC_CORE_H=diagnostic-core.h line-map.h input.h bversion.h diagnostic.def
-DIAGNOSTIC_H=diagnostic.h diagnostic-core.h obstack.h
-C_PRETTY_PRINT_H=c-family/c-pretty-print.h pretty-print.h obstack.h flags.h coretypes.h flag-types.h options.h flag-types.h vecir.h real.h machmode.h mode-classes.def insn-modes.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h
-SCEV_H=tree-scalar-evolution.h ggc.h gtype-desc.h statistics.h tree-chrec.h params.h params.def
-TREE_DATA_REF_H=tree-data-ref.h omega.h graphds.h tree-scalar-evolution.h ggc.h gtype-desc.h statistics.h tree-chrec.h params.h params.def
-TREE_INLINE_H=tree-inline.h vecir.h
-REAL_H=real.h machmode.h mode-classes.def insn-modes.h
-IRA_INT_H=ira.h ira-int.h cfgloop.h basic-block.h predict.h predict.def vec.h statistics.h function.h tree.h all-tree.def tree.def c-family/c-common.def hashtab.h statistics.h sbitmap.h alloc-pool.h
-DBGCNT_H=dbgcnt.h dbgcnt.def
-EBITMAP_H=ebitmap.h sbitmap.h
-LTO_STREAMER_H=lto-streamer.h defaults.h insn-constants.h insn-flags.h options.h flag-types.h target.h target.def insn-modes.h tree-ssa-operands.h tree-ssa-alias.h vecir.h gcov-io.h gcov-iov.h auto-host.h
-TREE_VECTORIZER_H=tree-vectorizer.h tree-data-ref.h omega.h graphds.h tree-scalar-evolution.h ggc.h gtype-desc.h statistics.h tree-chrec.h params.h params.def
-IPA_PROP_H=ipa-prop.h tree.h all-tree.def tree.def c-family/c-common.def defaults.h insn-constants.h insn-flags.h options.h flag-types.h target.h target.def insn-modes.h tree-ssa-operands.h tree-ssa-alias.h vecir.h
-GSTAB_H=gstab.h stab.def
-BITMAP_H=bitmap.h hashtab.h statistics.h
-GCC_PLUGIN_H=gcc-plugin.h highlev-plugin-common.h config.h auto-host.h hashtab.h
-PLUGIN_H=plugin.h gcc-plugin.h highlev-plugin-common.h config.h auto-host.h hashtab.h
-PLUGIN_VERSION_H=plugin-version.h configargs.h
-LIBFUNCS_H=libfuncs.h hashtab.h
-GTFILES_H=gt-coverage.h gt-caller-save.h gt-alias.h gt-bitmap.h gt-cselib.h gt-cgraph.h gt-ipa-prop.h gt-ipa-cp.h gt-ipa-inline.h gt-matrix-reorg.h gt-dbxout.h gt-ipa-struct-reorg.h gt-dwarf2out.h gt-dwarf2asm.h gt-tree-vect-generic.h gt-dojump.h gt-emit-rtl.h gt-explow.h gt-expr.h gt-function.h gt-except.h gt-gcse.h gt-godump.h gt-integrate.h gt-lists.h gt-optabs.h gt-profile.h gt-mcf.h gt-reg-stack.h gt-cfglayout.h gt-sdbout.h gt-stor-layout.h gt-stringpool.h gt-tree.h gt-varasm.h gt-gimple.h gt-tree-mudflap.h gt-tree-ssanames.h gt-tree-eh.h gt-tree-ssa-address.h gt-tree-cfg.h gt-tree-dfa.h gt-tree-iterator.h gt-gimplify.h gt-tree-scalar-evolution.h gt-tree-profile.h gt-tree-nested.h gt-varpool.h gt-tree-parloops.h gt-omp-low.h gt-targhooks.h gt-mips.h gt-passes.h gt-cgraphunit.h gt-tree-ssa-propagate.h gt-tree-phinodes.h gt-tree-ssa-structalias.h gt-lto-symtab.h gt-ada-decl.h gt-ada-trans.h gt-ada-utils.h gt-ada-misc.h gt-cp-rtti.h gt-cp-mangle.h gt-cp-name-lookup.h gt-cp-call.h gt-cp-decl.h gt-cp-decl2.h gt-cp-pt.h gt-cp-repo.h gt-cp-semantics.h gt-cp-tree.h gt-cp-parser.h gt-cp-method.h gt-cp-typeck2.h gt-c-family-c-common.h gt-c-family-c-lex.h gt-c-family-c-pragma.h gt-cp-class.h gt-cp-cp-objcp-common.h gt-cp-cp-lang.h gt-fortran-f95-lang.h gt-fortran-trans-decl.h gt-fortran-trans-intrinsic.h gt-fortran-trans-io.h gt-fortran-trans-stmt.h gt-fortran-trans-types.h gt-go-go-lang.h gt-java-builtins.h gt-java-class.h gt-java-constants.h gt-java-decl.h gt-java-expr.h gt-java-jcf-parse.h gt-java-lang.h gt-java-mangle.h gt-java-resource.h gt-lto-lto-lang.h gt-lto-lto.h gt-objc-objc-act.h gt-objc-objc-runtime-shared-support.h gt-objc-objc-gnu-runtime-abi-01.h gt-objc-objc-next-runtime-abi-01.h gt-objc-objc-next-runtime-abi-02.h gt-c-parser.h gt-c-decl.h gt-c-objc-common.h gt-c-family-c-common.h gt-c-family-c-cppbuiltin.h gt-c-family-c-pragma.h gt-objc-objc-act.h gt-objc-objc-runtime-shared-support.h gt-objc-objc-gnu-runtime-abi-01.h gt-objc-objc-next-runtime-abi-01.h gt-objc-objc-next-runtime-abi-02.h gt-cp-call.h gt-cp-class.h gt-cp-decl.h gt-cp-decl2.h gt-cp-mangle.h gt-cp-method.h gt-cp-name-lookup.h gt-cp-cp-objcp-common.h gt-cp-parser.h gt-cp-pt.h gt-cp-repo.h gt-cp-rtti.h gt-cp-semantics.h gt-cp-tree.h gt-cp-typeck2.h gt-c-family-c-common.h gt-c-family-c-lex.h gt-c-family-c-cppbuiltin.h gt-c-family-c-pragma.h gt-c-lang.h gt-c-decl.h gt-c-family-c-common.h gt-c-family-c-cppbuiltin.h gt-c-family-c-pragma.h gt-c-objc-common.h gt-c-parser.h
-GTFILES_LANG_H=gtype-ada.h gtype-cp.h gtype-fortran.h gtype-go.h gtype-java.h gtype-lto.h gtype-objc.h gtype-objcp.h gtype-c.h
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/basic-block.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/basic-block.h
deleted file mode 100644
index 3594eea..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/basic-block.h
+++ /dev/null
@@ -1,938 +0,0 @@
-/* Define control flow data structures for the CFG.
-   Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_BASIC_BLOCK_H
-#define GCC_BASIC_BLOCK_H
-
-#include "predict.h"
-#include "vec.h"
-#include "function.h"
-
-/* Type we use to hold basic block counters.  Should be at least
-   64bit.  Although a counter cannot be negative, we use a signed
-   type, because erroneous negative counts can be generated when the
-   flow graph is manipulated by various optimizations.  A signed type
-   makes those easy to detect.  */
-typedef HOST_WIDEST_INT gcov_type;
-
-/* Control flow edge information.  */
-struct GTY(()) edge_def {
-  /* The two blocks at the ends of the edge.  */
-  struct basic_block_def *src;
-  struct basic_block_def *dest;
-
-  /* Instructions queued on the edge.  */
-  union edge_def_insns {
-    gimple_seq GTY ((tag ("true"))) g;
-    rtx GTY ((tag ("false"))) r;
-  } GTY ((desc ("current_ir_type () == IR_GIMPLE"))) insns;
-
-  /* Auxiliary info specific to a pass.  */
-  PTR GTY ((skip (""))) aux;
-
-  /* Location of any goto implicit in the edge and associated BLOCK.  */
-  tree goto_block;
-  location_t goto_locus;
-
-  /* The index number corresponding to this edge in the edge vector
-     dest->preds.  */
-  unsigned int dest_idx;
-
-  int flags;			/* see EDGE_* below  */
-  int probability;		/* biased by REG_BR_PROB_BASE */
-  gcov_type count;		/* Expected number of executions calculated
-				   in profile.c  */
-};
-
-DEF_VEC_P(edge);
-DEF_VEC_ALLOC_P(edge,gc);
-DEF_VEC_ALLOC_P(edge,heap);
-
-#define EDGE_FALLTHRU		1	/* 'Straight line' flow */
-#define EDGE_ABNORMAL		2	/* Strange flow, like computed
-					   label, or eh */
-#define EDGE_ABNORMAL_CALL	4	/* Call with abnormal exit
-					   like an exception, or sibcall */
-#define EDGE_EH			8	/* Exception throw */
-#define EDGE_FAKE		16	/* Not a real edge (profile.c) */
-#define EDGE_DFS_BACK		32	/* A backwards edge */
-#define EDGE_CAN_FALLTHRU	64	/* Candidate for straight line
-					   flow.  */
-#define EDGE_IRREDUCIBLE_LOOP	128	/* Part of irreducible loop.  */
-#define EDGE_SIBCALL		256	/* Edge from sibcall to exit.  */
-#define EDGE_LOOP_EXIT		512	/* Exit of a loop.  */
-#define EDGE_TRUE_VALUE		1024	/* Edge taken when controlling
-					   predicate is nonzero.  */
-#define EDGE_FALSE_VALUE	2048	/* Edge taken when controlling
-					   predicate is zero.  */
-#define EDGE_EXECUTABLE		4096	/* Edge is executable.  Only
-					   valid during SSA-CCP.  */
-#define EDGE_CROSSING		8192    /* Edge crosses between hot
-					   and cold sections, when we
-					   do partitioning.  */
-#define EDGE_ALL_FLAGS	       16383
-
-#define EDGE_COMPLEX	(EDGE_ABNORMAL | EDGE_ABNORMAL_CALL | EDGE_EH)
-
-/* Counter summary from the last set of coverage counts read by
-   profile.c.  */
-extern const struct gcov_ctr_summary *profile_info;
-
-/* Declared in cfgloop.h.  */
-struct loop;
-
-/* Declared in tree-flow.h.  */
-struct rtl_bb_info;
-
-/* A basic block is a sequence of instructions with only entry and
-   only one exit.  If any one of the instructions are executed, they
-   will all be executed, and in sequence from first to last.
-
-   There may be COND_EXEC instructions in the basic block.  The
-   COND_EXEC *instructions* will be executed -- but if the condition
-   is false the conditionally executed *expressions* will of course
-   not be executed.  We don't consider the conditionally executed
-   expression (which might have side-effects) to be in a separate
-   basic block because the program counter will always be at the same
-   location after the COND_EXEC instruction, regardless of whether the
-   condition is true or not.
-
-   Basic blocks need not start with a label nor end with a jump insn.
-   For example, a previous basic block may just "conditionally fall"
-   into the succeeding basic block, and the last basic block need not
-   end with a jump insn.  Block 0 is a descendant of the entry block.
-
-   A basic block beginning with two labels cannot have notes between
-   the labels.
-
-   Data for jump tables are stored in jump_insns that occur in no
-   basic block even though these insns can follow or precede insns in
-   basic blocks.  */
-
-/* Basic block information indexed by block number.  */
-struct GTY((chain_next ("%h.next_bb"), chain_prev ("%h.prev_bb"))) basic_block_def {
-  /* The edges into and out of the block.  */
-  VEC(edge,gc) *preds;
-  VEC(edge,gc) *succs;
-
-  /* Auxiliary info specific to a pass.  */
-  PTR GTY ((skip (""))) aux;
-
-  /* Innermost loop containing the block.  */
-  struct loop *loop_father;
-
-  /* The dominance and postdominance information node.  */
-  struct et_node * GTY ((skip (""))) dom[2];
-
-  /* Previous and next blocks in the chain.  */
-  struct basic_block_def *prev_bb;
-  struct basic_block_def *next_bb;
-
-  union basic_block_il_dependent {
-      struct gimple_bb_info * GTY ((tag ("0"))) gimple;
-      struct rtl_bb_info * GTY ((tag ("1"))) rtl;
-    } GTY ((desc ("((%1.flags & BB_RTL) != 0)"))) il;
-
-  /* Expected number of executions: calculated in profile.c.  */
-  gcov_type count;
-
-  /* The index of this block.  */
-  int index;
-
-  /* The loop depth of this block.  */
-  int loop_depth;
-
-  /* Expected frequency.  Normalized to be in range 0 to BB_FREQ_MAX.  */
-  int frequency;
-
-  /* The discriminator for this block.  */
-  int discriminator;
-
-  /* Various flags.  See BB_* below.  */
-  int flags;
-};
-
-struct GTY(()) rtl_bb_info {
-  /* The first and last insns of the block.  */
-  rtx head_;
-  rtx end_;
-
-  /* In CFGlayout mode points to insn notes/jumptables to be placed just before
-     and after the block.   */
-  rtx header;
-  rtx footer;
-
-  /* This field is used by the bb-reorder and tracer passes.  */
-  int visited;
-};
-
-struct GTY(()) gimple_bb_info {
-  /* Sequence of statements in this block.  */
-  gimple_seq seq;
-
-  /* PHI nodes for this block.  */
-  gimple_seq phi_nodes;
-};
-
-DEF_VEC_P(basic_block);
-DEF_VEC_ALLOC_P(basic_block,gc);
-DEF_VEC_ALLOC_P(basic_block,heap);
-
-#define BB_FREQ_MAX 10000
-
-/* Masks for basic_block.flags.
-
-   BB_HOT_PARTITION and BB_COLD_PARTITION should be preserved throughout
-   the compilation, so they are never cleared.
-
-   All other flags may be cleared by clear_bb_flags().  It is generally
-   a bad idea to rely on any flags being up-to-date.  */
-
-enum bb_flags
-{
-  /* Only set on blocks that have just been created by create_bb.  */
-  BB_NEW = 1 << 0,
-
-  /* Set by find_unreachable_blocks.  Do not rely on this being set in any
-     pass.  */
-  BB_REACHABLE = 1 << 1,
-
-  /* Set for blocks in an irreducible loop by loop analysis.  */
-  BB_IRREDUCIBLE_LOOP = 1 << 2,
-
-  /* Set on blocks that may actually not be single-entry single-exit block.  */
-  BB_SUPERBLOCK = 1 << 3,
-
-  /* Set on basic blocks that the scheduler should not touch.  This is used
-     by SMS to prevent other schedulers from messing with the loop schedule.  */
-  BB_DISABLE_SCHEDULE = 1 << 4,
-
-  /* Set on blocks that should be put in a hot section.  */
-  BB_HOT_PARTITION = 1 << 5,
-
-  /* Set on blocks that should be put in a cold section.  */
-  BB_COLD_PARTITION = 1 << 6,
-
-  /* Set on block that was duplicated.  */
-  BB_DUPLICATED = 1 << 7,
-
-  /* Set if the label at the top of this block is the target of a non-local goto.  */
-  BB_NON_LOCAL_GOTO_TARGET = 1 << 8,
-
-  /* Set on blocks that are in RTL format.  */
-  BB_RTL = 1 << 9 ,
-
-  /* Set on blocks that are forwarder blocks.
-     Only used in cfgcleanup.c.  */
-  BB_FORWARDER_BLOCK = 1 << 10,
-
-  /* Set on blocks that cannot be threaded through.
-     Only used in cfgcleanup.c.  */
-  BB_NONTHREADABLE_BLOCK = 1 << 11,
-
-  /* Set on blocks that were modified in some way.  This bit is set in
-     df_set_bb_dirty, but not cleared by df_analyze, so it can be used
-     to test whether a block has been modified prior to a df_analyze
-     call.  */
-  BB_MODIFIED = 1 << 12
-};
-
-/* Dummy flag for convenience in the hot/cold partitioning code.  */
-#define BB_UNPARTITIONED	0
-
-/* Partitions, to be used when partitioning hot and cold basic blocks into
-   separate sections.  */
-#define BB_PARTITION(bb) ((bb)->flags & (BB_HOT_PARTITION|BB_COLD_PARTITION))
-#define BB_SET_PARTITION(bb, part) do {					\
-  basic_block bb_ = (bb);						\
-  bb_->flags = ((bb_->flags & ~(BB_HOT_PARTITION|BB_COLD_PARTITION))	\
-		| (part));						\
-} while (0)
-
-#define BB_COPY_PARTITION(dstbb, srcbb) \
-  BB_SET_PARTITION (dstbb, BB_PARTITION (srcbb))
-
-/* State of dominance information.  */
-
-enum dom_state
-{
-  DOM_NONE,		/* Not computed at all.  */
-  DOM_NO_FAST_QUERY,	/* The data is OK, but the fast query data are not usable.  */
-  DOM_OK		/* Everything is ok.  */
-};
-
-/* What sort of profiling information we have.  */
-enum profile_status_d
-{
-  PROFILE_ABSENT,
-  PROFILE_GUESSED,
-  PROFILE_READ
-};
-
-/* A structure to group all the per-function control flow graph data.
-   The x_* prefixing is necessary because otherwise references to the
-   fields of this struct are interpreted as the defines for backward
-   source compatibility following the definition of this struct.  */
-struct GTY(()) control_flow_graph {
-  /* Block pointers for the exit and entry of a function.
-     These are always the head and tail of the basic block list.  */
-  basic_block x_entry_block_ptr;
-  basic_block x_exit_block_ptr;
-
-  /* Index by basic block number, get basic block struct info.  */
-  VEC(basic_block,gc) *x_basic_block_info;
-
-  /* Number of basic blocks in this flow graph.  */
-  int x_n_basic_blocks;
-
-  /* Number of edges in this flow graph.  */
-  int x_n_edges;
-
-  /* The first free basic block number.  */
-  int x_last_basic_block;
-
-  /* UIDs for LABEL_DECLs.  */
-  int last_label_uid;
-
-  /* Mapping of labels to their associated blocks.  At present
-     only used for the gimple CFG.  */
-  VEC(basic_block,gc) *x_label_to_block_map;
-
-  enum profile_status_d x_profile_status;
-
-  /* Whether the dominators and the postdominators are available.  */
-  enum dom_state x_dom_computed[2];
-
-  /* Number of basic blocks in the dominance tree.  */
-  unsigned x_n_bbs_in_dom_tree[2];
-
-  /* Maximal number of entities in the single jumptable.  Used to estimate
-     final flowgraph size.  */
-  int max_jumptable_ents;
-};
-
-/* Defines for accessing the fields of the CFG structure for function FN.  */
-#define ENTRY_BLOCK_PTR_FOR_FUNCTION(FN)     ((FN)->cfg->x_entry_block_ptr)
-#define EXIT_BLOCK_PTR_FOR_FUNCTION(FN)	     ((FN)->cfg->x_exit_block_ptr)
-#define basic_block_info_for_function(FN)    ((FN)->cfg->x_basic_block_info)
-#define n_basic_blocks_for_function(FN)	     ((FN)->cfg->x_n_basic_blocks)
-#define n_edges_for_function(FN)	     ((FN)->cfg->x_n_edges)
-#define last_basic_block_for_function(FN)    ((FN)->cfg->x_last_basic_block)
-#define label_to_block_map_for_function(FN)  ((FN)->cfg->x_label_to_block_map)
-#define profile_status_for_function(FN)	     ((FN)->cfg->x_profile_status)
-
-#define BASIC_BLOCK_FOR_FUNCTION(FN,N) \
-  (VEC_index (basic_block, basic_block_info_for_function(FN), (N)))
-#define SET_BASIC_BLOCK_FOR_FUNCTION(FN,N,BB) \
-  (VEC_replace (basic_block, basic_block_info_for_function(FN), (N), (BB)))
-
-/* Defines for textual backward source compatibility.  */
-#define ENTRY_BLOCK_PTR		(cfun->cfg->x_entry_block_ptr)
-#define EXIT_BLOCK_PTR		(cfun->cfg->x_exit_block_ptr)
-#define basic_block_info	(cfun->cfg->x_basic_block_info)
-#define n_basic_blocks		(cfun->cfg->x_n_basic_blocks)
-#define n_edges			(cfun->cfg->x_n_edges)
-#define last_basic_block	(cfun->cfg->x_last_basic_block)
-#define label_to_block_map	(cfun->cfg->x_label_to_block_map)
-#define profile_status		(cfun->cfg->x_profile_status)
-
-#define BASIC_BLOCK(N)		(VEC_index (basic_block, basic_block_info, (N)))
-#define SET_BASIC_BLOCK(N,BB)	(VEC_replace (basic_block, basic_block_info, (N), (BB)))
-
-/* For iterating over basic blocks.  */
-#define FOR_BB_BETWEEN(BB, FROM, TO, DIR) \
-  for (BB = FROM; BB != TO; BB = BB->DIR)
-
-#define FOR_EACH_BB_FN(BB, FN) \
-  FOR_BB_BETWEEN (BB, (FN)->cfg->x_entry_block_ptr->next_bb, (FN)->cfg->x_exit_block_ptr, next_bb)
-
-#define FOR_EACH_BB(BB) FOR_EACH_BB_FN (BB, cfun)
-
-#define FOR_EACH_BB_REVERSE_FN(BB, FN) \
-  FOR_BB_BETWEEN (BB, (FN)->cfg->x_exit_block_ptr->prev_bb, (FN)->cfg->x_entry_block_ptr, prev_bb)
-
-#define FOR_EACH_BB_REVERSE(BB) FOR_EACH_BB_REVERSE_FN(BB, cfun)
-
-/* For iterating over insns in basic block.  */
-#define FOR_BB_INSNS(BB, INSN)			\
-  for ((INSN) = BB_HEAD (BB);			\
-       (INSN) && (INSN) != NEXT_INSN (BB_END (BB));	\
-       (INSN) = NEXT_INSN (INSN))
-
-/* For iterating over insns in basic block when we might remove the
-   current insn.  */
-#define FOR_BB_INSNS_SAFE(BB, INSN, CURR)			\
-  for ((INSN) = BB_HEAD (BB), (CURR) = (INSN) ? NEXT_INSN ((INSN)): NULL;	\
-       (INSN) && (INSN) != NEXT_INSN (BB_END (BB));	\
-       (INSN) = (CURR), (CURR) = (INSN) ? NEXT_INSN ((INSN)) : NULL)
-
-#define FOR_BB_INSNS_REVERSE(BB, INSN)		\
-  for ((INSN) = BB_END (BB);			\
-       (INSN) && (INSN) != PREV_INSN (BB_HEAD (BB));	\
-       (INSN) = PREV_INSN (INSN))
-
-#define FOR_BB_INSNS_REVERSE_SAFE(BB, INSN, CURR)	\
-  for ((INSN) = BB_END (BB),(CURR) = (INSN) ? PREV_INSN ((INSN)) : NULL;	\
-       (INSN) && (INSN) != PREV_INSN (BB_HEAD (BB));	\
-       (INSN) = (CURR), (CURR) = (INSN) ? PREV_INSN ((INSN)) : NULL)
-
-/* Cycles through _all_ basic blocks, even the fake ones (entry and
-   exit block).  */
-
-#define FOR_ALL_BB(BB) \
-  for (BB = ENTRY_BLOCK_PTR; BB; BB = BB->next_bb)
-
-#define FOR_ALL_BB_FN(BB, FN) \
-  for (BB = ENTRY_BLOCK_PTR_FOR_FUNCTION (FN); BB; BB = BB->next_bb)
-
-
-/* Stuff for recording basic block info.  */
-
-#define BB_HEAD(B)      (B)->il.rtl->head_
-#define BB_END(B)       (B)->il.rtl->end_
-
-/* Special block numbers [markers] for entry and exit.
-   Neither of them is supposed to hold actual statements.  */
-#define ENTRY_BLOCK (0)
-#define EXIT_BLOCK (1)
-
-/* The two blocks that are always in the cfg.  */
-#define NUM_FIXED_BLOCKS (2)
-
-#define set_block_for_insn(INSN, BB)  (BLOCK_FOR_INSN (INSN) = BB)
-
-extern void compute_bb_for_insn (void);
-extern unsigned int free_bb_for_insn (void);
-extern void update_bb_for_insn (basic_block);
-
-extern void insert_insn_on_edge (rtx, edge);
-basic_block split_edge_and_insert (edge, rtx);
-
-extern void commit_one_edge_insertion (edge e);
-extern void commit_edge_insertions (void);
-
-extern void remove_fake_edges (void);
-extern void remove_fake_exit_edges (void);
-extern void add_noreturn_fake_exit_edges (void);
-extern void connect_infinite_loops_to_exit (void);
-extern edge unchecked_make_edge (basic_block, basic_block, int);
-extern edge cached_make_edge (sbitmap, basic_block, basic_block, int);
-extern edge make_edge (basic_block, basic_block, int);
-extern edge make_single_succ_edge (basic_block, basic_block, int);
-extern void remove_edge_raw (edge);
-extern void redirect_edge_succ (edge, basic_block);
-extern edge redirect_edge_succ_nodup (edge, basic_block);
-extern void redirect_edge_pred (edge, basic_block);
-extern basic_block create_basic_block_structure (rtx, rtx, rtx, basic_block);
-extern void clear_bb_flags (void);
-extern int post_order_compute (int *, bool, bool);
-extern int inverted_post_order_compute (int *);
-extern int pre_and_rev_post_order_compute (int *, int *, bool);
-extern int dfs_enumerate_from (basic_block, int,
-			       bool (*)(const_basic_block, const void *),
-			       basic_block *, int, const void *);
-extern void compute_dominance_frontiers (struct bitmap_head_def *);
-extern bitmap compute_idf (bitmap, struct bitmap_head_def *);
-extern void dump_bb_info (basic_block, bool, bool, int, const char *, FILE *);
-extern void dump_edge_info (FILE *, edge, int);
-extern void brief_dump_cfg (FILE *);
-extern void clear_edges (void);
-extern void scale_bbs_frequencies_int (basic_block *, int, int, int);
-extern void scale_bbs_frequencies_gcov_type (basic_block *, int, gcov_type,
-					     gcov_type);
-
-/* Structure to group all of the information to process IF-THEN and
-   IF-THEN-ELSE blocks for the conditional execution support.  This
-   needs to be in a public file in case the IFCVT macros call
-   functions passing the ce_if_block data structure.  */
-
-typedef struct ce_if_block
-{
-  basic_block test_bb;			/* First test block.  */
-  basic_block then_bb;			/* THEN block.  */
-  basic_block else_bb;			/* ELSE block or NULL.  */
-  basic_block join_bb;			/* Join THEN/ELSE blocks.  */
-  basic_block last_test_bb;		/* Last bb to hold && or || tests.  */
-  int num_multiple_test_blocks;		/* # of && and || basic blocks.  */
-  int num_and_and_blocks;		/* # of && blocks.  */
-  int num_or_or_blocks;			/* # of || blocks.  */
-  int num_multiple_test_insns;		/* # of insns in && and || blocks.  */
-  int and_and_p;			/* Complex test is &&.  */
-  int num_then_insns;			/* # of insns in THEN block.  */
-  int num_else_insns;			/* # of insns in ELSE block.  */
-  int pass;				/* Pass number.  */
-
-#ifdef IFCVT_EXTRA_FIELDS
-  IFCVT_EXTRA_FIELDS			/* Any machine dependent fields.  */
-#endif
-
-} ce_if_block_t;
-
-/* This structure maintains an edge list vector.  */
-struct edge_list
-{
-  int num_blocks;
-  int num_edges;
-  edge *index_to_edge;
-};
-
-/* The base value for branch probability notes and edge probabilities.  */
-#define REG_BR_PROB_BASE  10000
-
-/* This is the value which indicates no edge is present.  */
-#define EDGE_INDEX_NO_EDGE	-1
-
-/* EDGE_INDEX returns an integer index for an edge, or EDGE_INDEX_NO_EDGE
-   if there is no edge between the 2 basic blocks.  */
-#define EDGE_INDEX(el, pred, succ) (find_edge_index ((el), (pred), (succ)))
-
-/* INDEX_EDGE_PRED_BB and INDEX_EDGE_SUCC_BB return a pointer to the basic
-   block which is either the pred or succ end of the indexed edge.  */
-#define INDEX_EDGE_PRED_BB(el, index)	((el)->index_to_edge[(index)]->src)
-#define INDEX_EDGE_SUCC_BB(el, index)	((el)->index_to_edge[(index)]->dest)
-
-/* INDEX_EDGE returns a pointer to the edge.  */
-#define INDEX_EDGE(el, index)           ((el)->index_to_edge[(index)])
-
-/* Number of edges in the compressed edge list.  */
-#define NUM_EDGES(el)			((el)->num_edges)
-
-/* BB is assumed to contain conditional jump.  Return the fallthru edge.  */
-#define FALLTHRU_EDGE(bb)		(EDGE_SUCC ((bb), 0)->flags & EDGE_FALLTHRU \
-					 ? EDGE_SUCC ((bb), 0) : EDGE_SUCC ((bb), 1))
-
-/* BB is assumed to contain conditional jump.  Return the branch edge.  */
-#define BRANCH_EDGE(bb)			(EDGE_SUCC ((bb), 0)->flags & EDGE_FALLTHRU \
-					 ? EDGE_SUCC ((bb), 1) : EDGE_SUCC ((bb), 0))
-
-/* Return expected execution frequency of the edge E.  */
-#define EDGE_FREQUENCY(e)		(((e)->src->frequency \
-					  * (e)->probability \
-					  + REG_BR_PROB_BASE / 2) \
-					 / REG_BR_PROB_BASE)
-
-/* Return nonzero if edge is critical.  */
-#define EDGE_CRITICAL_P(e)		(EDGE_COUNT ((e)->src->succs) >= 2 \
-					 && EDGE_COUNT ((e)->dest->preds) >= 2)
-
-#define EDGE_COUNT(ev)			VEC_length (edge, (ev))
-#define EDGE_I(ev,i)			VEC_index  (edge, (ev), (i))
-#define EDGE_PRED(bb,i)			VEC_index  (edge, (bb)->preds, (i))
-#define EDGE_SUCC(bb,i)			VEC_index  (edge, (bb)->succs, (i))
-
-/* Returns true if BB has precisely one successor.  */
-
-static inline bool
-single_succ_p (const_basic_block bb)
-{
-  return EDGE_COUNT (bb->succs) == 1;
-}
-
-/* Returns true if BB has precisely one predecessor.  */
-
-static inline bool
-single_pred_p (const_basic_block bb)
-{
-  return EDGE_COUNT (bb->preds) == 1;
-}
-
-/* Returns the single successor edge of basic block BB.  Aborts if
-   BB does not have exactly one successor.  */
-
-static inline edge
-single_succ_edge (const_basic_block bb)
-{
-  gcc_checking_assert (single_succ_p (bb));
-  return EDGE_SUCC (bb, 0);
-}
-
-/* Returns the single predecessor edge of basic block BB.  Aborts
-   if BB does not have exactly one predecessor.  */
-
-static inline edge
-single_pred_edge (const_basic_block bb)
-{
-  gcc_checking_assert (single_pred_p (bb));
-  return EDGE_PRED (bb, 0);
-}
-
-/* Returns the single successor block of basic block BB.  Aborts
-   if BB does not have exactly one successor.  */
-
-static inline basic_block
-single_succ (const_basic_block bb)
-{
-  return single_succ_edge (bb)->dest;
-}
-
-/* Returns the single predecessor block of basic block BB.  Aborts
-   if BB does not have exactly one predecessor.*/
-
-static inline basic_block
-single_pred (const_basic_block bb)
-{
-  return single_pred_edge (bb)->src;
-}
-
-/* Iterator object for edges.  */
-
-typedef struct {
-  unsigned index;
-  VEC(edge,gc) **container;
-} edge_iterator;
-
-static inline VEC(edge,gc) *
-ei_container (edge_iterator i)
-{
-  gcc_checking_assert (i.container);
-  return *i.container;
-}
-
-#define ei_start(iter) ei_start_1 (&(iter))
-#define ei_last(iter) ei_last_1 (&(iter))
-
-/* Return an iterator pointing to the start of an edge vector.  */
-static inline edge_iterator
-ei_start_1 (VEC(edge,gc) **ev)
-{
-  edge_iterator i;
-
-  i.index = 0;
-  i.container = ev;
-
-  return i;
-}
-
-/* Return an iterator pointing to the last element of an edge
-   vector.  */
-static inline edge_iterator
-ei_last_1 (VEC(edge,gc) **ev)
-{
-  edge_iterator i;
-
-  i.index = EDGE_COUNT (*ev) - 1;
-  i.container = ev;
-
-  return i;
-}
-
-/* Is the iterator `i' at the end of the sequence?  */
-static inline bool
-ei_end_p (edge_iterator i)
-{
-  return (i.index == EDGE_COUNT (ei_container (i)));
-}
-
-/* Is the iterator `i' at one position before the end of the
-   sequence?  */
-static inline bool
-ei_one_before_end_p (edge_iterator i)
-{
-  return (i.index + 1 == EDGE_COUNT (ei_container (i)));
-}
-
-/* Advance the iterator to the next element.  */
-static inline void
-ei_next (edge_iterator *i)
-{
-  gcc_checking_assert (i->index < EDGE_COUNT (ei_container (*i)));
-  i->index++;
-}
-
-/* Move the iterator to the previous element.  */
-static inline void
-ei_prev (edge_iterator *i)
-{
-  gcc_checking_assert (i->index > 0);
-  i->index--;
-}
-
-/* Return the edge pointed to by the iterator `i'.  */
-static inline edge
-ei_edge (edge_iterator i)
-{
-  return EDGE_I (ei_container (i), i.index);
-}
-
-/* Return an edge pointed to by the iterator.  Do it safely so that
-   NULL is returned when the iterator is pointing at the end of the
-   sequence.  */
-static inline edge
-ei_safe_edge (edge_iterator i)
-{
-  return !ei_end_p (i) ? ei_edge (i) : NULL;
-}
-
-/* Return 1 if we should continue to iterate.  Return 0 otherwise.
-   *Edge P is set to the next edge if we are to continue to iterate
-   and NULL otherwise.  */
-
-static inline bool
-ei_cond (edge_iterator ei, edge *p)
-{
-  if (!ei_end_p (ei))
-    {
-      *p = ei_edge (ei);
-      return 1;
-    }
-  else
-    {
-      *p = NULL;
-      return 0;
-    }
-}
-
-/* This macro serves as a convenient way to iterate each edge in a
-   vector of predecessor or successor edges.  It must not be used when
-   an element might be removed during the traversal, otherwise
-   elements will be missed.  Instead, use a for-loop like that shown
-   in the following pseudo-code:
-
-   FOR (ei = ei_start (bb->succs); (e = ei_safe_edge (ei)); )
-     {
-	IF (e != taken_edge)
-	  remove_edge (e);
-	ELSE
-	  ei_next (&ei);
-     }
-*/
-
-#define FOR_EACH_EDGE(EDGE,ITER,EDGE_VEC)	\
-  for ((ITER) = ei_start ((EDGE_VEC));		\
-       ei_cond ((ITER), &(EDGE));		\
-       ei_next (&(ITER)))
-
-struct edge_list * create_edge_list (void);
-void free_edge_list (struct edge_list *);
-void print_edge_list (FILE *, struct edge_list *);
-void verify_edge_list (FILE *, struct edge_list *);
-int find_edge_index (struct edge_list *, basic_block, basic_block);
-edge find_edge (basic_block, basic_block);
-
-#define CLEANUP_EXPENSIVE	1	/* Do relatively expensive optimizations
-					   except for edge forwarding */
-#define CLEANUP_CROSSJUMP	2	/* Do crossjumping.  */
-#define CLEANUP_POST_REGSTACK	4	/* We run after reg-stack and need
-					   to care REG_DEAD notes.  */
-#define CLEANUP_THREADING	8	/* Do jump threading.  */
-#define CLEANUP_NO_INSN_DEL	16	/* Do not try to delete trivially dead
-					   insns.  */
-#define CLEANUP_CFGLAYOUT	32	/* Do cleanup in cfglayout mode.  */
-
-/* In lcm.c */
-extern struct edge_list *pre_edge_lcm (int, sbitmap *, sbitmap *,
-				       sbitmap *, sbitmap *, sbitmap **,
-				       sbitmap **);
-extern struct edge_list *pre_edge_rev_lcm (int, sbitmap *,
-					   sbitmap *, sbitmap *,
-					   sbitmap *, sbitmap **,
-					   sbitmap **);
-extern void compute_available (sbitmap *, sbitmap *, sbitmap *, sbitmap *);
-
-/* In predict.c */
-extern bool maybe_hot_bb_p (const_basic_block);
-extern bool maybe_hot_edge_p (edge);
-extern bool probably_never_executed_bb_p (const_basic_block);
-extern bool optimize_bb_for_size_p (const_basic_block);
-extern bool optimize_bb_for_speed_p (const_basic_block);
-extern bool optimize_edge_for_size_p (edge);
-extern bool optimize_edge_for_speed_p (edge);
-extern bool optimize_loop_for_size_p (struct loop *);
-extern bool optimize_loop_for_speed_p (struct loop *);
-extern bool optimize_loop_nest_for_size_p (struct loop *);
-extern bool optimize_loop_nest_for_speed_p (struct loop *);
-extern bool gimple_predicted_by_p (const_basic_block, enum br_predictor);
-extern bool rtl_predicted_by_p (const_basic_block, enum br_predictor);
-extern void gimple_predict_edge (edge, enum br_predictor, int);
-extern void rtl_predict_edge (edge, enum br_predictor, int);
-extern void predict_edge_def (edge, enum br_predictor, enum prediction);
-extern void guess_outgoing_edge_probabilities (basic_block);
-extern void remove_predictions_associated_with_edge (edge);
-extern bool edge_probability_reliable_p (const_edge);
-extern bool br_prob_note_reliable_p (const_rtx);
-extern bool predictable_edge_p (edge);
-
-/* In cfg.c  */
-extern void init_flow (struct function *);
-extern void debug_bb (basic_block);
-extern basic_block debug_bb_n (int);
-extern void expunge_block (basic_block);
-extern void link_block (basic_block, basic_block);
-extern void unlink_block (basic_block);
-extern void compact_blocks (void);
-extern basic_block alloc_block (void);
-extern void alloc_aux_for_blocks (int);
-extern void clear_aux_for_blocks (void);
-extern void free_aux_for_blocks (void);
-extern void alloc_aux_for_edges (int);
-extern void clear_aux_for_edges (void);
-extern void free_aux_for_edges (void);
-
-/* In cfganal.c  */
-extern void find_unreachable_blocks (void);
-extern bool forwarder_block_p (const_basic_block);
-extern bool can_fallthru (basic_block, basic_block);
-extern bool could_fall_through (basic_block, basic_block);
-extern void flow_nodes_print (const char *, const_sbitmap, FILE *);
-extern void flow_edge_list_print (const char *, const edge *, int, FILE *);
-
-/* In cfgrtl.c  */
-extern basic_block force_nonfallthru (edge);
-extern rtx block_label (basic_block);
-extern bool purge_all_dead_edges (void);
-extern bool purge_dead_edges (basic_block);
-
-/* In cfgbuild.c.  */
-extern void find_many_sub_basic_blocks (sbitmap);
-extern void rtl_make_eh_edge (sbitmap, basic_block, rtx);
-
-/* In cfgcleanup.c.  */
-extern bool cleanup_cfg (int);
-extern int flow_find_cross_jump (basic_block, basic_block, rtx *, rtx *);
-extern int flow_find_head_matching_sequence (basic_block, basic_block,
-					     rtx *, rtx *, int);
-
-extern bool delete_unreachable_blocks (void);
-
-extern bool mark_dfs_back_edges (void);
-extern void set_edge_can_fallthru_flag (void);
-extern void update_br_prob_note (basic_block);
-extern void fixup_abnormal_edges (void);
-extern bool inside_basic_block_p (const_rtx);
-extern bool control_flow_insn_p (const_rtx);
-extern rtx get_last_bb_insn (basic_block);
-
-/* In bb-reorder.c */
-extern void reorder_basic_blocks (void);
-
-/* In dominance.c */
-
-enum cdi_direction
-{
-  CDI_DOMINATORS = 1,
-  CDI_POST_DOMINATORS = 2
-};
-
-extern enum dom_state dom_info_state (enum cdi_direction);
-extern void set_dom_info_availability (enum cdi_direction, enum dom_state);
-extern bool dom_info_available_p (enum cdi_direction);
-extern void calculate_dominance_info (enum cdi_direction);
-extern void free_dominance_info (enum cdi_direction);
-extern basic_block nearest_common_dominator (enum cdi_direction,
-					     basic_block, basic_block);
-extern basic_block nearest_common_dominator_for_set (enum cdi_direction,
-						     bitmap);
-extern void set_immediate_dominator (enum cdi_direction, basic_block,
-				     basic_block);
-extern basic_block get_immediate_dominator (enum cdi_direction, basic_block);
-extern bool dominated_by_p (enum cdi_direction, const_basic_block, const_basic_block);
-extern VEC (basic_block, heap) *get_dominated_by (enum cdi_direction, basic_block);
-extern VEC (basic_block, heap) *get_dominated_by_region (enum cdi_direction,
-							 basic_block *,
-							 unsigned);
-extern VEC (basic_block, heap) *get_dominated_to_depth (enum cdi_direction,
-							basic_block, int);
-extern VEC (basic_block, heap) *get_all_dominated_blocks (enum cdi_direction,
-							  basic_block);
-extern void add_to_dominance_info (enum cdi_direction, basic_block);
-extern void delete_from_dominance_info (enum cdi_direction, basic_block);
-basic_block recompute_dominator (enum cdi_direction, basic_block);
-extern void redirect_immediate_dominators (enum cdi_direction, basic_block,
-					   basic_block);
-extern void iterate_fix_dominators (enum cdi_direction,
-				    VEC (basic_block, heap) *, bool);
-extern void verify_dominators (enum cdi_direction);
-extern basic_block first_dom_son (enum cdi_direction, basic_block);
-extern basic_block next_dom_son (enum cdi_direction, basic_block);
-unsigned bb_dom_dfs_in (enum cdi_direction, basic_block);
-unsigned bb_dom_dfs_out (enum cdi_direction, basic_block);
-
-extern edge try_redirect_by_replacing_jump (edge, basic_block, bool);
-extern void break_superblocks (void);
-extern void relink_block_chain (bool);
-extern void check_bb_profile (basic_block, FILE *);
-extern void update_bb_profile_for_threading (basic_block, int, gcov_type, edge);
-extern void init_rtl_bb_info (basic_block);
-
-extern void initialize_original_copy_tables (void);
-extern void free_original_copy_tables (void);
-extern void set_bb_original (basic_block, basic_block);
-extern basic_block get_bb_original (basic_block);
-extern void set_bb_copy (basic_block, basic_block);
-extern basic_block get_bb_copy (basic_block);
-void set_loop_copy (struct loop *, struct loop *);
-struct loop *get_loop_copy (struct loop *);
-
-#include "cfghooks.h"
-
-/* Return true when one of the predecessor edges of BB is marked with EDGE_EH.  */
-static inline bool
-bb_has_eh_pred (basic_block bb)
-{
-  edge e;
-  edge_iterator ei;
-
-  FOR_EACH_EDGE (e, ei, bb->preds)
-    {
-      if (e->flags & EDGE_EH)
-	return true;
-    }
-  return false;
-}
-
-/* Return true when one of the predecessor edges of BB is marked with EDGE_ABNORMAL.  */
-static inline bool
-bb_has_abnormal_pred (basic_block bb)
-{
-  edge e;
-  edge_iterator ei;
-
-  FOR_EACH_EDGE (e, ei, bb->preds)
-    {
-      if (e->flags & EDGE_ABNORMAL)
-	return true;
-    }
-  return false;
-}
-
-/* Return the fallthru edge in EDGES if it exists, NULL otherwise.  */
-static inline edge
-find_fallthru_edge (VEC(edge,gc) *edges)
-{
-  edge e;
-  edge_iterator ei;
-
-  FOR_EACH_EDGE (e, ei, edges)
-    if (e->flags & EDGE_FALLTHRU)
-      break;
-
-  return e;
-}
-
-/* In cfgloopmanip.c.  */
-extern edge mfb_kj_edge;
-extern bool mfb_keep_just (edge);
-
-/* In cfgexpand.c.  */
-extern void rtl_profile_for_bb (basic_block);
-extern void rtl_profile_for_edge (edge);
-extern void default_rtl_profile (void);
-
-#endif /* GCC_BASIC_BLOCK_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/bitmap.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/bitmap.h
deleted file mode 100644
index 411443f..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/bitmap.h
+++ /dev/null
@@ -1,597 +0,0 @@
-/* Functions to support general ended bitmaps.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-   2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_BITMAP_H
-#define GCC_BITMAP_H
-#include "hashtab.h"
-#include "statistics.h"
-#include "obstack.h"
-
-/* Fundamental storage type for bitmap.  */
-
-typedef unsigned long BITMAP_WORD;
-/* BITMAP_WORD_BITS needs to be unsigned, but cannot contain casts as
-   it is used in preprocessor directives -- hence the 1u.  */
-#define BITMAP_WORD_BITS (CHAR_BIT * SIZEOF_LONG * 1u)
-
-/* Number of words to use for each element in the linked list.  */
-
-#ifndef BITMAP_ELEMENT_WORDS
-#define BITMAP_ELEMENT_WORDS ((128 + BITMAP_WORD_BITS - 1) / BITMAP_WORD_BITS)
-#endif
-
-/* Number of bits in each actual element of a bitmap.  */
-
-#define BITMAP_ELEMENT_ALL_BITS (BITMAP_ELEMENT_WORDS * BITMAP_WORD_BITS)
-
-/* Obstack for allocating bitmaps and elements from.  */
-typedef struct GTY (()) bitmap_obstack {
-  struct bitmap_element_def *elements;
-  struct bitmap_head_def *heads;
-  struct obstack GTY ((skip)) obstack;
-} bitmap_obstack;
-
-/* Bitmap set element.  We use a linked list to hold only the bits that
-   are set.  This allows for use to grow the bitset dynamically without
-   having to realloc and copy a giant bit array.
-
-   The free list is implemented as a list of lists.  There is one
-   outer list connected together by prev fields.  Each element of that
-   outer is an inner list (that may consist only of the outer list
-   element) that are connected by the next fields.  The prev pointer
-   is undefined for interior elements.  This allows
-   bitmap_elt_clear_from to be implemented in unit time rather than
-   linear in the number of elements to be freed.  */
-
-typedef struct GTY(()) bitmap_element_def {
-  struct bitmap_element_def *next;		/* Next element.  */
-  struct bitmap_element_def *prev;		/* Previous element.  */
-  unsigned int indx;			/* regno/BITMAP_ELEMENT_ALL_BITS.  */
-  BITMAP_WORD bits[BITMAP_ELEMENT_WORDS]; /* Bits that are set.  */
-} bitmap_element;
-
-struct bitmap_descriptor;
-/* Head of bitmap linked list.  gengtype ignores ifdefs, but for
-   statistics we need to add a bitmap descriptor pointer.  As it is
-   not collected, we can just GTY((skip)) it.   */
-
-typedef struct GTY(()) bitmap_head_def {
-  bitmap_element *first;	/* First element in linked list.  */
-  bitmap_element *current;	/* Last element looked at.  */
-  unsigned int indx;		/* Index of last element looked at.  */
-  bitmap_obstack *obstack;	/* Obstack to allocate elements from.
-				   If NULL, then use GGC allocation.  */
-#ifdef GATHER_STATISTICS
-  struct bitmap_descriptor GTY((skip)) *desc;
-#endif
-} bitmap_head;
-
-/* Global data */
-extern bitmap_element bitmap_zero_bits;	/* Zero bitmap element */
-extern bitmap_obstack bitmap_default_obstack;   /* Default bitmap obstack */
-
-/* Clear a bitmap by freeing up the linked list.  */
-extern void bitmap_clear (bitmap);
-
-/* Copy a bitmap to another bitmap.  */
-extern void bitmap_copy (bitmap, const_bitmap);
-
-/* True if two bitmaps are identical.  */
-extern bool bitmap_equal_p (const_bitmap, const_bitmap);
-
-/* True if the bitmaps intersect (their AND is non-empty).  */
-extern bool bitmap_intersect_p (const_bitmap, const_bitmap);
-
-/* True if the complement of the second intersects the first (their
-   AND_COMPL is non-empty).  */
-extern bool bitmap_intersect_compl_p (const_bitmap, const_bitmap);
-
-/* True if MAP is an empty bitmap.  */
-#define bitmap_empty_p(MAP) (!(MAP)->first)
-
-/* True if the bitmap has only a single bit set.  */
-extern bool bitmap_single_bit_set_p (const_bitmap);
-
-/* Count the number of bits set in the bitmap.  */
-extern unsigned long bitmap_count_bits (const_bitmap);
-
-/* Boolean operations on bitmaps.  The _into variants are two operand
-   versions that modify the first source operand.  The other variants
-   are three operand versions that to not destroy the source bitmaps.
-   The operations supported are &, & ~, |, ^.  */
-extern void bitmap_and (bitmap, const_bitmap, const_bitmap);
-extern void bitmap_and_into (bitmap, const_bitmap);
-extern bool bitmap_and_compl (bitmap, const_bitmap, const_bitmap);
-extern bool bitmap_and_compl_into (bitmap, const_bitmap);
-#define bitmap_compl_and(DST, A, B) bitmap_and_compl (DST, B, A)
-extern void bitmap_compl_and_into (bitmap, const_bitmap);
-extern void bitmap_clear_range (bitmap, unsigned int, unsigned int);
-extern void bitmap_set_range (bitmap, unsigned int, unsigned int);
-extern bool bitmap_ior (bitmap, const_bitmap, const_bitmap);
-extern bool bitmap_ior_into (bitmap, const_bitmap);
-extern void bitmap_xor (bitmap, const_bitmap, const_bitmap);
-extern void bitmap_xor_into (bitmap, const_bitmap);
-
-/* DST = A | (B & C).  Return true if DST changes.  */
-extern bool bitmap_ior_and_into (bitmap DST, const_bitmap B, const_bitmap C);
-/* DST = A | (B & ~C).  Return true if DST changes.  */
-extern bool bitmap_ior_and_compl (bitmap DST, const_bitmap A, const_bitmap B, const_bitmap C);
-/* A |= (B & ~C).  Return true if A changes.  */
-extern bool bitmap_ior_and_compl_into (bitmap DST, const_bitmap B, const_bitmap C);
-
-/* Clear a single bit in a bitmap.  Return true if the bit changed.  */
-extern bool bitmap_clear_bit (bitmap, int);
-
-/* Set a single bit in a bitmap.  Return true if the bit changed.  */
-extern bool bitmap_set_bit (bitmap, int);
-
-/* Return true if a register is set in a register set.  */
-extern int bitmap_bit_p (bitmap, int);
-
-/* Debug functions to print a bitmap linked list.  */
-extern void debug_bitmap (const_bitmap);
-extern void debug_bitmap_file (FILE *, const_bitmap);
-
-/* Print a bitmap.  */
-extern void bitmap_print (FILE *, const_bitmap, const char *, const char *);
-
-/* Initialize and release a bitmap obstack.  */
-extern void bitmap_obstack_initialize (bitmap_obstack *);
-extern void bitmap_obstack_release (bitmap_obstack *);
-extern void bitmap_register (bitmap MEM_STAT_DECL);
-extern void dump_bitmap_statistics (void);
-
-/* Initialize a bitmap header.  OBSTACK indicates the bitmap obstack
-   to allocate from, NULL for GC'd bitmap.  */
-
-static inline void
-bitmap_initialize_stat (bitmap head, bitmap_obstack *obstack MEM_STAT_DECL)
-{
-  head->first = head->current = NULL;
-  head->obstack = obstack;
-#ifdef GATHER_STATISTICS
-  bitmap_register (head PASS_MEM_STAT);
-#endif
-}
-#define bitmap_initialize(h,o) bitmap_initialize_stat (h,o MEM_STAT_INFO)
-
-/* Allocate and free bitmaps from obstack, malloc and gc'd memory.  */
-extern bitmap bitmap_obstack_alloc_stat (bitmap_obstack *obstack MEM_STAT_DECL);
-#define bitmap_obstack_alloc(t) bitmap_obstack_alloc_stat (t MEM_STAT_INFO)
-extern bitmap bitmap_gc_alloc_stat (ALONE_MEM_STAT_DECL);
-#define bitmap_gc_alloc() bitmap_gc_alloc_stat (ALONE_MEM_STAT_INFO)
-extern void bitmap_obstack_free (bitmap);
-
-/* A few compatibility/functions macros for compatibility with sbitmaps */
-#define dump_bitmap(file, bitmap) bitmap_print (file, bitmap, "", "\n")
-#define bitmap_zero(a) bitmap_clear (a)
-extern unsigned bitmap_first_set_bit (const_bitmap);
-extern unsigned bitmap_last_set_bit (const_bitmap);
-
-/* Compute bitmap hash (for purposes of hashing etc.)  */
-extern hashval_t bitmap_hash(const_bitmap);
-
-/* Allocate a bitmap from a bit obstack.  */
-#define BITMAP_ALLOC(OBSTACK) bitmap_obstack_alloc (OBSTACK)
-
-/* Allocate a gc'd bitmap.  */
-#define BITMAP_GGC_ALLOC() bitmap_gc_alloc ()
-
-/* Do any cleanup needed on a bitmap when it is no longer used.  */
-#define BITMAP_FREE(BITMAP) \
-       ((void) (bitmap_obstack_free ((bitmap) BITMAP), (BITMAP) = (bitmap) NULL))
-
-/* Iterator for bitmaps.  */
-
-typedef struct
-{
-  /* Pointer to the current bitmap element.  */
-  bitmap_element *elt1;
-
-  /* Pointer to 2nd bitmap element when two are involved.  */
-  bitmap_element *elt2;
-
-  /* Word within the current element.  */
-  unsigned word_no;
-
-  /* Contents of the actually processed word.  When finding next bit
-     it is shifted right, so that the actual bit is always the least
-     significant bit of ACTUAL.  */
-  BITMAP_WORD bits;
-} bitmap_iterator;
-
-/* Initialize a single bitmap iterator.  START_BIT is the first bit to
-   iterate from.  */
-
-static inline void
-bmp_iter_set_init (bitmap_iterator *bi, const_bitmap map,
-		   unsigned start_bit, unsigned *bit_no)
-{
-  bi->elt1 = map->first;
-  bi->elt2 = NULL;
-
-  /* Advance elt1 until it is not before the block containing start_bit.  */
-  while (1)
-    {
-      if (!bi->elt1)
-	{
-	  bi->elt1 = &bitmap_zero_bits;
-	  break;
-	}
-
-      if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS)
-	break;
-      bi->elt1 = bi->elt1->next;
-    }
-
-  /* We might have gone past the start bit, so reinitialize it.  */
-  if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS)
-    start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
-
-  /* Initialize for what is now start_bit.  */
-  bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
-  bi->bits = bi->elt1->bits[bi->word_no];
-  bi->bits >>= start_bit % BITMAP_WORD_BITS;
-
-  /* If this word is zero, we must make sure we're not pointing at the
-     first bit, otherwise our incrementing to the next word boundary
-     will fail.  It won't matter if this increment moves us into the
-     next word.  */
-  start_bit += !bi->bits;
-
-  *bit_no = start_bit;
-}
-
-/* Initialize an iterator to iterate over the intersection of two
-   bitmaps.  START_BIT is the bit to commence from.  */
-
-static inline void
-bmp_iter_and_init (bitmap_iterator *bi, const_bitmap map1, const_bitmap map2,
-		   unsigned start_bit, unsigned *bit_no)
-{
-  bi->elt1 = map1->first;
-  bi->elt2 = map2->first;
-
-  /* Advance elt1 until it is not before the block containing
-     start_bit.  */
-  while (1)
-    {
-      if (!bi->elt1)
-	{
-	  bi->elt2 = NULL;
-	  break;
-	}
-
-      if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS)
-	break;
-      bi->elt1 = bi->elt1->next;
-    }
-
-  /* Advance elt2 until it is not before elt1.  */
-  while (1)
-    {
-      if (!bi->elt2)
-	{
-	  bi->elt1 = bi->elt2 = &bitmap_zero_bits;
-	  break;
-	}
-
-      if (bi->elt2->indx >= bi->elt1->indx)
-	break;
-      bi->elt2 = bi->elt2->next;
-    }
-
-  /* If we're at the same index, then we have some intersecting bits.  */
-  if (bi->elt1->indx == bi->elt2->indx)
-    {
-      /* We might have advanced beyond the start_bit, so reinitialize
-	 for that.  */
-      if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS)
-	start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
-
-      bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
-      bi->bits = bi->elt1->bits[bi->word_no] & bi->elt2->bits[bi->word_no];
-      bi->bits >>= start_bit % BITMAP_WORD_BITS;
-    }
-  else
-    {
-      /* Otherwise we must immediately advance elt1, so initialize for
-	 that.  */
-      bi->word_no = BITMAP_ELEMENT_WORDS - 1;
-      bi->bits = 0;
-    }
-
-  /* If this word is zero, we must make sure we're not pointing at the
-     first bit, otherwise our incrementing to the next word boundary
-     will fail.  It won't matter if this increment moves us into the
-     next word.  */
-  start_bit += !bi->bits;
-
-  *bit_no = start_bit;
-}
-
-/* Initialize an iterator to iterate over the bits in MAP1 & ~MAP2.
-   */
-
-static inline void
-bmp_iter_and_compl_init (bitmap_iterator *bi, const_bitmap map1, const_bitmap map2,
-			 unsigned start_bit, unsigned *bit_no)
-{
-  bi->elt1 = map1->first;
-  bi->elt2 = map2->first;
-
-  /* Advance elt1 until it is not before the block containing start_bit.  */
-  while (1)
-    {
-      if (!bi->elt1)
-	{
-	  bi->elt1 = &bitmap_zero_bits;
-	  break;
-	}
-
-      if (bi->elt1->indx >= start_bit / BITMAP_ELEMENT_ALL_BITS)
-	break;
-      bi->elt1 = bi->elt1->next;
-    }
-
-  /* Advance elt2 until it is not before elt1.  */
-  while (bi->elt2 && bi->elt2->indx < bi->elt1->indx)
-    bi->elt2 = bi->elt2->next;
-
-  /* We might have advanced beyond the start_bit, so reinitialize for
-     that.  */
-  if (bi->elt1->indx != start_bit / BITMAP_ELEMENT_ALL_BITS)
-    start_bit = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
-
-  bi->word_no = start_bit / BITMAP_WORD_BITS % BITMAP_ELEMENT_WORDS;
-  bi->bits = bi->elt1->bits[bi->word_no];
-  if (bi->elt2 && bi->elt1->indx == bi->elt2->indx)
-    bi->bits &= ~bi->elt2->bits[bi->word_no];
-  bi->bits >>= start_bit % BITMAP_WORD_BITS;
-
-  /* If this word is zero, we must make sure we're not pointing at the
-     first bit, otherwise our incrementing to the next word boundary
-     will fail.  It won't matter if this increment moves us into the
-     next word.  */
-  start_bit += !bi->bits;
-
-  *bit_no = start_bit;
-}
-
-/* Advance to the next bit in BI.  We don't advance to the next
-   nonzero bit yet.  */
-
-static inline void
-bmp_iter_next (bitmap_iterator *bi, unsigned *bit_no)
-{
-  bi->bits >>= 1;
-  *bit_no += 1;
-}
-
-/* Advance to first set bit in BI.  */
-
-static inline void
-bmp_iter_next_bit (bitmap_iterator * bi, unsigned *bit_no)
-{
-#if (GCC_VERSION >= 3004)
-  {
-    unsigned int n = __builtin_ctzl (bi->bits);
-    gcc_assert (sizeof (unsigned long) == sizeof (BITMAP_WORD));
-    bi->bits >>= n;
-    *bit_no += n;
-  }
-#else
-  while (!(bi->bits & 1))
-    {
-      bi->bits >>= 1;
-      *bit_no += 1;
-    }
-#endif
-}
-
-/* Advance to the next nonzero bit of a single bitmap, we will have
-   already advanced past the just iterated bit.  Return true if there
-   is a bit to iterate.  */
-
-static inline bool
-bmp_iter_set (bitmap_iterator *bi, unsigned *bit_no)
-{
-  /* If our current word is nonzero, it contains the bit we want.  */
-  if (bi->bits)
-    {
-    next_bit:
-      bmp_iter_next_bit (bi, bit_no);
-      return true;
-    }
-
-  /* Round up to the word boundary.  We might have just iterated past
-     the end of the last word, hence the -1.  It is not possible for
-     bit_no to point at the beginning of the now last word.  */
-  *bit_no = ((*bit_no + BITMAP_WORD_BITS - 1)
-	     / BITMAP_WORD_BITS * BITMAP_WORD_BITS);
-  bi->word_no++;
-
-  while (1)
-    {
-      /* Find the next nonzero word in this elt.  */
-      while (bi->word_no != BITMAP_ELEMENT_WORDS)
-	{
-	  bi->bits = bi->elt1->bits[bi->word_no];
-	  if (bi->bits)
-	    goto next_bit;
-	  *bit_no += BITMAP_WORD_BITS;
-	  bi->word_no++;
-	}
-
-      /* Advance to the next element.  */
-      bi->elt1 = bi->elt1->next;
-      if (!bi->elt1)
-	return false;
-      *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
-      bi->word_no = 0;
-    }
-}
-
-/* Advance to the next nonzero bit of an intersecting pair of
-   bitmaps.  We will have already advanced past the just iterated bit.
-   Return true if there is a bit to iterate.  */
-
-static inline bool
-bmp_iter_and (bitmap_iterator *bi, unsigned *bit_no)
-{
-  /* If our current word is nonzero, it contains the bit we want.  */
-  if (bi->bits)
-    {
-    next_bit:
-      bmp_iter_next_bit (bi, bit_no);
-      return true;
-    }
-
-  /* Round up to the word boundary.  We might have just iterated past
-     the end of the last word, hence the -1.  It is not possible for
-     bit_no to point at the beginning of the now last word.  */
-  *bit_no = ((*bit_no + BITMAP_WORD_BITS - 1)
-	     / BITMAP_WORD_BITS * BITMAP_WORD_BITS);
-  bi->word_no++;
-
-  while (1)
-    {
-      /* Find the next nonzero word in this elt.  */
-      while (bi->word_no != BITMAP_ELEMENT_WORDS)
-	{
-	  bi->bits = bi->elt1->bits[bi->word_no] & bi->elt2->bits[bi->word_no];
-	  if (bi->bits)
-	    goto next_bit;
-	  *bit_no += BITMAP_WORD_BITS;
-	  bi->word_no++;
-	}
-
-      /* Advance to the next identical element.  */
-      do
-	{
-	  /* Advance elt1 while it is less than elt2.  We always want
-	     to advance one elt.  */
-	  do
-	    {
-	      bi->elt1 = bi->elt1->next;
-	      if (!bi->elt1)
-		return false;
-	    }
-	  while (bi->elt1->indx < bi->elt2->indx);
-
-	  /* Advance elt2 to be no less than elt1.  This might not
-	     advance.  */
-	  while (bi->elt2->indx < bi->elt1->indx)
-	    {
-	      bi->elt2 = bi->elt2->next;
-	      if (!bi->elt2)
-		return false;
-	    }
-	}
-      while (bi->elt1->indx != bi->elt2->indx);
-
-      *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
-      bi->word_no = 0;
-    }
-}
-
-/* Advance to the next nonzero bit in the intersection of
-   complemented bitmaps.  We will have already advanced past the just
-   iterated bit.  */
-
-static inline bool
-bmp_iter_and_compl (bitmap_iterator *bi, unsigned *bit_no)
-{
-  /* If our current word is nonzero, it contains the bit we want.  */
-  if (bi->bits)
-    {
-    next_bit:
-      bmp_iter_next_bit (bi, bit_no);
-      return true;
-    }
-
-  /* Round up to the word boundary.  We might have just iterated past
-     the end of the last word, hence the -1.  It is not possible for
-     bit_no to point at the beginning of the now last word.  */
-  *bit_no = ((*bit_no + BITMAP_WORD_BITS - 1)
-	     / BITMAP_WORD_BITS * BITMAP_WORD_BITS);
-  bi->word_no++;
-
-  while (1)
-    {
-      /* Find the next nonzero word in this elt.  */
-      while (bi->word_no != BITMAP_ELEMENT_WORDS)
-	{
-	  bi->bits = bi->elt1->bits[bi->word_no];
-	  if (bi->elt2 && bi->elt2->indx == bi->elt1->indx)
-	    bi->bits &= ~bi->elt2->bits[bi->word_no];
-	  if (bi->bits)
-	    goto next_bit;
-	  *bit_no += BITMAP_WORD_BITS;
-	  bi->word_no++;
-	}
-
-      /* Advance to the next element of elt1.  */
-      bi->elt1 = bi->elt1->next;
-      if (!bi->elt1)
-	return false;
-
-      /* Advance elt2 until it is no less than elt1.  */
-      while (bi->elt2 && bi->elt2->indx < bi->elt1->indx)
-	bi->elt2 = bi->elt2->next;
-
-      *bit_no = bi->elt1->indx * BITMAP_ELEMENT_ALL_BITS;
-      bi->word_no = 0;
-    }
-}
-
-/* Loop over all bits set in BITMAP, starting with MIN and setting
-   BITNUM to the bit number.  ITER is a bitmap iterator.  BITNUM
-   should be treated as a read-only variable as it contains loop
-   state.  */
-
-#define EXECUTE_IF_SET_IN_BITMAP(BITMAP, MIN, BITNUM, ITER)		\
-  for (bmp_iter_set_init (&(ITER), (BITMAP), (MIN), &(BITNUM));		\
-       bmp_iter_set (&(ITER), &(BITNUM));				\
-       bmp_iter_next (&(ITER), &(BITNUM)))
-
-/* Loop over all the bits set in BITMAP1 & BITMAP2, starting with MIN
-   and setting BITNUM to the bit number.  ITER is a bitmap iterator.
-   BITNUM should be treated as a read-only variable as it contains
-   loop state.  */
-
-#define EXECUTE_IF_AND_IN_BITMAP(BITMAP1, BITMAP2, MIN, BITNUM, ITER)	\
-  for (bmp_iter_and_init (&(ITER), (BITMAP1), (BITMAP2), (MIN),		\
-			  &(BITNUM));					\
-       bmp_iter_and (&(ITER), &(BITNUM));				\
-       bmp_iter_next (&(ITER), &(BITNUM)))
-
-/* Loop over all the bits set in BITMAP1 & ~BITMAP2, starting with MIN
-   and setting BITNUM to the bit number.  ITER is a bitmap iterator.
-   BITNUM should be treated as a read-only variable as it contains
-   loop state.  */
-
-#define EXECUTE_IF_AND_COMPL_IN_BITMAP(BITMAP1, BITMAP2, MIN, BITNUM, ITER) \
-  for (bmp_iter_and_compl_init (&(ITER), (BITMAP1), (BITMAP2), (MIN),	\
-				&(BITNUM));				\
-       bmp_iter_and_compl (&(ITER), &(BITNUM));				\
-       bmp_iter_next (&(ITER), &(BITNUM)))
-
-#endif /* GCC_BITMAP_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/builtins.def b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/builtins.def
deleted file mode 100644
index 3e102e3..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/builtins.def
+++ /dev/null
@@ -1,774 +0,0 @@
-/* This file contains the definitions and documentation for the
-   builtins used in the GNU compiler.
-   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-   2010 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-/* Before including this file, you should define a macro:
-
-     DEF_BUILTIN (ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P,
-                  FALLBACK_P, NONANSI_P, ATTRS, IMPLICIT, COND)
-
-   This macro will be called once for each builtin function.  The
-   ENUM will be of type `enum built_in_function', and will indicate
-   which builtin function is being processed.  The NAME of the builtin
-   function (which will always start with `__builtin_') is a string
-   literal.  The CLASS is of type `enum built_in_class' and indicates
-   what kind of builtin is being processed.
-
-   Some builtins are actually two separate functions.  For example,
-   for `strcmp' there are two builtin functions; `__builtin_strcmp'
-   and `strcmp' itself.  Both behave identically.  Other builtins
-   define only the `__builtin' variant.  If BOTH_P is TRUE, then this
-   builtin has both variants; otherwise, it is has only the first
-   variant.
-
-   TYPE indicates the type of the function.  The symbols correspond to
-   enumerals from builtin-types.def.  If BOTH_P is true, then LIBTYPE
-   is the type of the non-`__builtin_' variant.  Otherwise, LIBTYPE
-   should be ignored.
-
-   If FALLBACK_P is true then, if for some reason, the compiler cannot
-   expand the builtin function directly, it will call the
-   corresponding library function (which does not have the
-   `__builtin_' prefix.
-
-   If NONANSI_P is true, then the non-`__builtin_' variant is not an
-   ANSI/ISO library function, and so we should pretend it does not
-   exist when compiling in ANSI conformant mode.
-
-   ATTRs is an attribute list as defined in builtin-attrs.def that
-   describes the attributes of this builtin function.
-
-   IMPLICIT specifies condition when the builtin can be produced by
-   compiler.  For instance C90 reserves floorf function, but does not
-   define it's meaning.  When user uses floorf we may assume that the
-   floorf has the meaning we expect, but we can't produce floorf by
-   simplifying floor((double)float) since the runtime need not implement
-   it.
-
-   The builtins is registered only if COND is true.  */
-
-/* A GCC builtin (like __builtin_saveregs) is provided by the
-   compiler, but does not correspond to a function in the standard
-   library.  */
-#undef DEF_GCC_BUILTIN
-#define DEF_GCC_BUILTIN(ENUM, NAME, TYPE, ATTRS)		\
-  DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, BT_LAST,	\
-	       false, false, false, ATTRS, true, true)
-
-/* Like DEF_GCC_BUILTIN, except we don't prepend "__builtin_".  */
-#undef DEF_SYNC_BUILTIN
-#define DEF_SYNC_BUILTIN(ENUM, NAME, TYPE, ATTRS)		\
-  DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, TYPE, BT_LAST,	\
-	       false, false, false, ATTRS, true, true)
-
-/* A library builtin (like __builtin_strchr) is a builtin equivalent
-   of an ANSI/ISO standard library function.  In addition to the
-   `__builtin' version, we will create an ordinary version (e.g,
-   `strchr') as well.  If we cannot compute the answer using the
-   builtin function, we will fall back to the standard library
-   version.  */
-#undef DEF_LIB_BUILTIN
-#define DEF_LIB_BUILTIN(ENUM, NAME, TYPE, ATTRS)	\
-  DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,	\
-	       true, true, false, ATTRS, true, true)
-
-/* Like DEF_LIB_BUILTIN, except that the function is not one that is
-   specified by ANSI/ISO C.  So, when we're being fully conformant we
-   ignore the version of these builtins that does not begin with
-   __builtin.  */
-#undef DEF_EXT_LIB_BUILTIN
-#define DEF_EXT_LIB_BUILTIN(ENUM, NAME, TYPE, ATTRS)	\
-  DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,	\
-	       true, true, true, ATTRS, false, true)
-
-/* Like DEF_LIB_BUILTIN, except that the function is only a part of
-   the standard in C94 or above.  */
-#undef DEF_C94_BUILTIN
-#define DEF_C94_BUILTIN(ENUM, NAME, TYPE, ATTRS)	\
-  DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,	\
-	       true, true, !flag_isoc94, ATTRS, TARGET_C99_FUNCTIONS, true)
-
-/* Like DEF_LIB_BUILTIN, except that the function is only a part of
-   the standard in C99 or above.  */
-#undef DEF_C99_BUILTIN
-#define DEF_C99_BUILTIN(ENUM, NAME, TYPE, ATTRS)	\
-  DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,	\
-	       true, true, !flag_isoc99, ATTRS, TARGET_C99_FUNCTIONS, true)
-
-/* Builtin that is specified by C99 and C90 reserve the name for future use.
-   We can still recognize the builtin in C90 mode but we can't produce it
-   implicitly.  */
-#undef DEF_C99_C90RES_BUILTIN
-#define DEF_C99_C90RES_BUILTIN(ENUM, NAME, TYPE, ATTRS)	\
-  DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,	\
-	       true, true, !flag_isoc99, ATTRS, TARGET_C99_FUNCTIONS, true)
-
-/* Builtin that C99 reserve the name for future use. We can still recognize
-   the builtin in C99 mode but we can't produce it implicitly.  */
-#undef DEF_EXT_C99RES_BUILTIN
-#define DEF_EXT_C99RES_BUILTIN(ENUM, NAME, TYPE, ATTRS)        \
-  DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,   \
-	      true, true, true, ATTRS, false, true)
-
-/* Allocate the enum and the name for a builtin, but do not actually
-   define it here at all.  */
-#undef DEF_BUILTIN_STUB
-#define DEF_BUILTIN_STUB(ENUM, NAME) \
-  DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, 0, 0, false, false, \
-	       false, 0, false, false)
-
-/* Builtin used by the implementation of GNU OpenMP.  None of these are
-   actually implemented in the compiler; they're all in libgomp.  */
-#undef DEF_GOMP_BUILTIN
-#define DEF_GOMP_BUILTIN(ENUM, NAME, TYPE, ATTRS) \
-  DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE,    \
-               false, true, true, ATTRS, false, \
-	       (flag_openmp || flag_tree_parallelize_loops))
-
-/* Define an attribute list for math functions that are normally
-   "impure" because some of them may write into global memory for
-   `errno'.  If !flag_errno_math they are instead "const".  */
-#undef ATTR_MATHFN_ERRNO
-#define ATTR_MATHFN_ERRNO (flag_errno_math ? \
-	ATTR_NOTHROW_LEAF_LIST : ATTR_CONST_NOTHROW_LEAF_LIST)
-
-/* Define an attribute list for math functions that are normally
-   "const" but if flag_rounding_math is set they are instead "pure".
-   This distinction accounts for the fact that some math functions
-   check the rounding mode which is akin to examining global
-   memory.  */
-#undef ATTR_MATHFN_FPROUNDING
-#define ATTR_MATHFN_FPROUNDING (flag_rounding_math ? \
-	ATTR_PURE_NOTHROW_NOVOPS_LEAF_LIST : ATTR_CONST_NOTHROW_LEAF_LIST)
-
-/* Define an attribute list for math functions that are normally
-   "impure" because some of them may write into global memory for
-   `errno'.  If !flag_errno_math, we can possibly use "pure" or
-   "const" depending on whether we care about FP rounding.  */
-#undef ATTR_MATHFN_FPROUNDING_ERRNO
-#define ATTR_MATHFN_FPROUNDING_ERRNO (flag_errno_math ? \
-	ATTR_NOTHROW_LEAF_LIST : ATTR_MATHFN_FPROUNDING)
-
-/* Define an attribute list for math functions that need to mind FP
-   rounding, but because they store into memory they are never "const"
-   or "pure".  Use of this macro is mainly for documentation and
-   maintenance purposes.  */
-#undef ATTR_MATHFN_FPROUNDING_STORE
-#define ATTR_MATHFN_FPROUNDING_STORE ATTR_NOTHROW_LEAF_LIST
-
-/* Category: math builtins.  */
-DEF_LIB_BUILTIN        (BUILT_IN_ACOS, "acos", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ACOSF, "acosf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ACOSH, "acosh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ACOSHF, "acoshf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ACOSHL, "acoshl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ACOSL, "acosl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_ASIN, "asin", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ASINF, "asinf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ASINH, "asinh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_ASINHF, "asinhf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_ASINHL, "asinhl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ASINL, "asinl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_ATAN, "atan", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_LIB_BUILTIN        (BUILT_IN_ATAN2, "atan2", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ATAN2F, "atan2f", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ATAN2L, "atan2l", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ATANF, "atanf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_ATANH, "atanh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ATANHF, "atanhf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ATANHL, "atanhl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ATANL, "atanl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CBRT, "cbrt", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CBRTF, "cbrtf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CBRTL, "cbrtl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_LIB_BUILTIN        (BUILT_IN_CEIL, "ceil", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_CEILF, "ceilf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_CEILL, "ceill", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_COPYSIGN, "copysign", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_COPYSIGNF, "copysignf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_COPYSIGNL, "copysignl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_COS, "cos", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_COSF, "cosf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_LIB_BUILTIN        (BUILT_IN_COSH, "cosh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_COSHF, "coshf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_COSHL, "coshl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_COSL, "cosl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_DREM, "drem", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_DREMF, "dremf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_DREML, "dreml", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ERF, "erf", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_ERFC, "erfc", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ERFCF, "erfcf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ERFCL, "erfcl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ERFF, "erff", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_ERFL, "erfl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_LIB_BUILTIN        (BUILT_IN_EXP, "exp", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_EXP10, "exp10", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_EXP10F, "exp10f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_EXP10L, "exp10l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_EXP2, "exp2", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_EXP2F, "exp2f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_EXP2L, "exp2l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_EXPF, "expf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_EXPL, "expl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_EXPM1, "expm1", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_EXPM1F, "expm1f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_EXPM1L, "expm1l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_FABS, "fabs", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_FABSF, "fabsf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_FABSL, "fabsl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_FDIM, "fdim", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_FDIMF, "fdimf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_FDIML, "fdiml", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_FLOOR, "floor", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_FLOORF, "floorf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_FLOORL, "floorl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_FMA, "fma", BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_FMAF, "fmaf", BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_FMAL, "fmal", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_FMAX, "fmax", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_FMAXF, "fmaxf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_FMAXL, "fmaxl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_FMIN, "fmin", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_FMINF, "fminf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_FMINL, "fminl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_FMOD, "fmod", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_FMODF, "fmodf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_FMODL, "fmodl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_FREXP, "frexp", BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPF, "frexpf", BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPL, "frexpl", BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMA, "gamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMAF, "gammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMAL, "gammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMA_R, "gamma_r", BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMAF_R, "gammaf_r", BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_GAMMAL_R, "gammal_r", BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_GCC_BUILTIN        (BUILT_IN_HUGE_VAL, "huge_val", BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_HUGE_VALF, "huge_valf", BT_FN_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_HUGE_VALL, "huge_vall", BT_FN_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_HYPOT, "hypot", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_HYPOTF, "hypotf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_HYPOTL, "hypotl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ILOGB, "ilogb", BT_FN_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ILOGBF, "ilogbf", BT_FN_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ILOGBL, "ilogbl", BT_FN_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_GCC_BUILTIN        (BUILT_IN_INF, "inf", BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_INFF, "inff", BT_FN_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_INFL, "infl", BT_FN_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN	       (BUILT_IN_INFD32, "infd32", BT_FN_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_INFD64, "infd64", BT_FN_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_INFD128, "infd128", BT_FN_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_J0, "j0", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_J0F, "j0f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_J0L, "j0l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_J1, "j1", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_J1F, "j1f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_J1L, "j1l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_JN, "jn", BT_FN_DOUBLE_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_JNF, "jnf", BT_FN_FLOAT_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_JNL, "jnl", BT_FN_LONGDOUBLE_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_GCC_BUILTIN        (BUILT_IN_LCEIL, "lceil", BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LCEILF, "lceilf", BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LCEILL, "lceill", BT_FN_LONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_LDEXP, "ldexp", BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_LDEXPF, "ldexpf", BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_LDEXPL, "ldexpl", BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_GCC_BUILTIN        (BUILT_IN_LFLOOR, "lfloor", BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LFLOORF, "lfloorf", BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LFLOORL, "lfloorl", BT_FN_LONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_LGAMMA, "lgamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_BUILTIN        (BUILT_IN_LGAMMAF, "lgammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_BUILTIN        (BUILT_IN_LGAMMAL, "lgammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_LGAMMA_R, "lgamma_r", BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_LGAMMAF_R, "lgammaf_r", BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_LGAMMAL_R, "lgammal_r", BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_GCC_BUILTIN        (BUILT_IN_LLCEIL, "llceil", BT_FN_LONGLONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LLCEILF, "llceilf", BT_FN_LONGLONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LLCEILL, "llceill", BT_FN_LONGLONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LLFLOOR, "llfloor", BT_FN_LONGLONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LLFLOORF, "llfloorf", BT_FN_LONGLONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LLFLOORL, "llfloorl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_LLRINT, "llrint", BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LLRINTF, "llrintf", BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LLRINTL, "llrintl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LLROUND, "llround", BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LLROUNDF, "llroundf", BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LLROUNDL, "llroundl", BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_LOG, "log", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_LOG10, "log10", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_LOG10F, "log10f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_LOG10L, "log10l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOG1P, "log1p", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOG1PF, "log1pf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOG1PL, "log1pl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOG2, "log2", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOG2F, "log2f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOG2L, "log2l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOGB, "logb", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOGBF, "logbf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LOGBL, "logbl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_LOGF, "logf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_LOGL, "logl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LRINT, "lrint", BT_FN_LONG_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LRINTF, "lrintf", BT_FN_LONG_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LRINTL, "lrintl", BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LROUND, "lround", BT_FN_LONG_DOUBLE, ATTR_MATHFN_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LROUNDF, "lroundf", BT_FN_LONG_FLOAT, ATTR_MATHFN_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_LROUNDL, "lroundl", BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_MODF, "modf", BT_FN_DOUBLE_DOUBLE_DOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_MODFF, "modff", BT_FN_FLOAT_FLOAT_FLOATPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_MODFL, "modfl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_BUILTIN        (BUILT_IN_NAN, "nan", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_C99_BUILTIN        (BUILT_IN_NANF, "nanf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_C99_BUILTIN        (BUILT_IN_NANL, "nanl", BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_GCC_BUILTIN        (BUILT_IN_NAND32, "nand32", BT_FN_DFLOAT32_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_GCC_BUILTIN        (BUILT_IN_NAND64, "nand64", BT_FN_DFLOAT64_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_GCC_BUILTIN        (BUILT_IN_NAND128, "nand128", BT_FN_DFLOAT128_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_GCC_BUILTIN        (BUILT_IN_NANS, "nans", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_GCC_BUILTIN        (BUILT_IN_NANSF, "nansf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_GCC_BUILTIN        (BUILT_IN_NANSL, "nansl", BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL)
-DEF_C99_BUILTIN        (BUILT_IN_NEARBYINT, "nearbyint", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_NEARBYINTF, "nearbyintf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_NEARBYINTL, "nearbyintl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_NEXTAFTER, "nextafter", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_NEXTAFTERF, "nextafterf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_NEXTAFTERL, "nextafterl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_NEXTTOWARD, "nexttoward", BT_FN_DOUBLE_DOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_NEXTTOWARDF, "nexttowardf", BT_FN_FLOAT_FLOAT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_NEXTTOWARDL, "nexttowardl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_POW, "pow", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_POW10, "pow10", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_POW10F, "pow10f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_POW10L, "pow10l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_POWF, "powf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_GCC_BUILTIN        (BUILT_IN_POWI, "powi", BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING)
-DEF_GCC_BUILTIN        (BUILT_IN_POWIF, "powif", BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING)
-DEF_GCC_BUILTIN        (BUILT_IN_POWIL, "powil", BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_POWL, "powl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_REMAINDER, "remainder", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_REMAINDERF, "remainderf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_REMAINDERL, "remainderl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_REMQUO, "remquo", BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_BUILTIN        (BUILT_IN_REMQUOF, "remquof", BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_BUILTIN        (BUILT_IN_REMQUOL, "remquol", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_BUILTIN        (BUILT_IN_RINT, "rint", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_RINTF, "rintf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_RINTL, "rintl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_ROUND, "round", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_ROUNDF, "roundf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_ROUNDL, "roundl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SCALB, "scalb", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SCALBF, "scalbf", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SCALBL, "scalbl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_SCALBLN, "scalbln", BT_FN_DOUBLE_DOUBLE_LONG, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_SCALBLNF, "scalblnf", BT_FN_FLOAT_FLOAT_LONG, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_SCALBLNL, "scalblnl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONG, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_SCALBN, "scalbn", BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_SCALBNF, "scalbnf", BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_SCALBNL, "scalbnl", BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNBIT, "signbit", BT_FN_INT_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNBITF, "signbitf", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNBITL, "signbitl", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNBITD32, "signbitd32", BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNBITD64, "signbitd64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNBITD128, "signbitd128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNIFICAND, "significand", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNIFICANDF, "significandf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SIGNIFICANDL, "significandl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_SIN, "sin", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SINCOS, "sincos", BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SINCOSF, "sincosf", BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SINCOSL, "sincosl", BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_SINF, "sinf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_LIB_BUILTIN        (BUILT_IN_SINH, "sinh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_SINHF, "sinhf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_SINHL, "sinhl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_SINL, "sinl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_LIB_BUILTIN        (BUILT_IN_SQRT, "sqrt", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_SQRTF, "sqrtf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_SQRTL, "sqrtl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_LIB_BUILTIN        (BUILT_IN_TAN, "tan", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_TANF, "tanf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_LIB_BUILTIN        (BUILT_IN_TANH, "tanh", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_TANHF, "tanhf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_TANHL, "tanhl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_TANL, "tanl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_TGAMMA, "tgamma", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_TGAMMAF, "tgammaf", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_TGAMMAL, "tgammal", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_C99_BUILTIN        (BUILT_IN_TRUNC, "trunc", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_TRUNCF, "truncf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_TRUNCL, "truncl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_Y0, "y0", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_Y0F, "y0f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_Y0L, "y0l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_Y1, "y1", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_Y1F, "y1f", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_Y1L, "y1l", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_YN, "yn", BT_FN_DOUBLE_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_YNF, "ynf", BT_FN_FLOAT_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_YNL, "ynl", BT_FN_LONGDOUBLE_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
-
-/* Category: _Complex math builtins.  */
-DEF_C99_BUILTIN        (BUILT_IN_CABS, "cabs", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CABSF, "cabsf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CABSL, "cabsl", BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CACOS, "cacos", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CACOSF, "cacosf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CACOSH, "cacosh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CACOSHF, "cacoshf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CACOSHL, "cacoshl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CACOSL, "cacosl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CARG, "carg", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CARGF, "cargf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CARGL, "cargl", BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CASIN, "casin", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CASINF, "casinf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CASINH, "casinh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CASINHF, "casinhf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CASINHL, "casinhl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CASINL, "casinl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CATAN, "catan", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CATANF, "catanf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CATANH, "catanh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CATANHF, "catanhf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CATANHL, "catanhl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CATANL, "catanl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CCOS, "ccos", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CCOSF, "ccosf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CCOSH, "ccosh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CCOSHF, "ccoshf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CCOSHL, "ccoshl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CCOSL, "ccosl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CEXP, "cexp", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CEXPF, "cexpf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CEXPL, "cexpl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_GCC_BUILTIN        (BUILT_IN_CEXPI, "cexpi", BT_FN_COMPLEX_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_GCC_BUILTIN        (BUILT_IN_CEXPIF, "cexpif", BT_FN_COMPLEX_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_GCC_BUILTIN        (BUILT_IN_CEXPIL, "cexpil", BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CIMAG, "cimag", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CIMAGF, "cimagf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CIMAGL, "cimagl", BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CLOG, "clog", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CLOGF, "clogf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CLOGL, "clogl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10, "clog10", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10F, "clog10f", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10L, "clog10l", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CONJ, "conj", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CONJF, "conjf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CONJL, "conjl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CPOW, "cpow", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CPOWF, "cpowf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CPOWL, "cpowl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CPROJ, "cproj", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CPROJF, "cprojf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CPROJL, "cprojl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CREAL, "creal", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CREALF, "crealf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CREALL, "creall", BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_CSIN, "csin", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CSINF, "csinf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CSINH, "csinh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CSINHF, "csinhf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CSINHL, "csinhl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CSINL, "csinl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CSQRT, "csqrt", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CSQRTF, "csqrtf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CSQRTL, "csqrtl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CTAN, "ctan", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CTANF, "ctanf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CTANH, "ctanh", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CTANHF, "ctanhf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CTANHL, "ctanhl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-DEF_C99_BUILTIN        (BUILT_IN_CTANL, "ctanl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
-
-/* Category: string/memory builtins.  */
-/* bcmp, bcopy and bzero have traditionally accepted NULL pointers
-   when the length parameter is zero, so don't apply attribute "nonnull".  */
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_BCMP, "bcmp", BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_BCOPY, "bcopy", BT_FN_VOID_CONST_PTR_PTR_SIZE, ATTR_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_BZERO, "bzero", BT_FN_VOID_PTR_SIZE, ATTR_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_INDEX, "index", BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_MEMCHR, "memchr", BT_FN_PTR_CONST_PTR_INT_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_MEMCMP, "memcmp", BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_MEMCPY, "memcpy", BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_MEMMOVE, "memmove", BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_MEMPCPY, "mempcpy", BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_MEMSET, "memset", BT_FN_PTR_PTR_INT_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_RINDEX, "rindex", BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STPCPY, "stpcpy", BT_FN_STRING_STRING_CONST_STRING, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STPNCPY, "stpncpy", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRCASECMP, "strcasecmp", BT_FN_INT_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRCAT, "strcat", BT_FN_STRING_STRING_CONST_STRING, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRCHR, "strchr", BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRCMP, "strcmp", BT_FN_INT_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRCPY, "strcpy", BT_FN_STRING_STRING_CONST_STRING, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRCSPN, "strcspn", BT_FN_SIZE_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRDUP, "strdup", BT_FN_STRING_CONST_STRING, ATTR_MALLOC_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRNDUP, "strndup", BT_FN_STRING_CONST_STRING_SIZE, ATTR_MALLOC_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRLEN, "strlen", BT_FN_SIZE_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRNCASECMP, "strncasecmp", BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRNCAT, "strncat", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRNCMP, "strncmp", BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRNCPY, "strncpy", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRPBRK, "strpbrk", BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRRCHR, "strrchr", BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRSPN, "strspn", BT_FN_SIZE_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_STRSTR, "strstr", BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF)
-
-/* Category: stdio builtins.  */
-DEF_LIB_BUILTIN        (BUILT_IN_FPRINTF, "fprintf", BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_2_3)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FPRINTF_UNLOCKED, "fprintf_unlocked", BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_2_3)
-DEF_LIB_BUILTIN        (BUILT_IN_PUTC, "putc", BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_PUTC_UNLOCKED, "putc_unlocked", BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_FPUTC, "fputc", BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FPUTC_UNLOCKED, "fputc_unlocked", BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_FPUTS, "fputs", BT_FN_INT_CONST_STRING_FILEPTR, ATTR_NONNULL_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FPUTS_UNLOCKED, "fputs_unlocked", BT_FN_INT_CONST_STRING_FILEPTR, ATTR_NONNULL_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_FSCANF, "fscanf", BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_FORMAT_SCANF_2_3)
-DEF_LIB_BUILTIN        (BUILT_IN_FWRITE, "fwrite", BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, ATTR_NONNULL_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FWRITE_UNLOCKED, "fwrite_unlocked", BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, ATTR_NONNULL_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_PRINTF, "printf", BT_FN_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_1_2)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_PRINTF_UNLOCKED, "printf_unlocked", BT_FN_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_1_2)
-DEF_LIB_BUILTIN        (BUILT_IN_PUTCHAR, "putchar", BT_FN_INT_INT, ATTR_NULL)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_PUTCHAR_UNLOCKED, "putchar_unlocked", BT_FN_INT_INT, ATTR_NULL)
-DEF_LIB_BUILTIN        (BUILT_IN_PUTS, "puts", BT_FN_INT_CONST_STRING, ATTR_NONNULL_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_PUTS_UNLOCKED, "puts_unlocked", BT_FN_INT_CONST_STRING, ATTR_NONNULL_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_SCANF, "scanf", BT_FN_INT_CONST_STRING_VAR, ATTR_FORMAT_SCANF_1_2)
-DEF_C99_BUILTIN        (BUILT_IN_SNPRINTF, "snprintf", BT_FN_INT_STRING_SIZE_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_NOTHROW_3_4)
-DEF_LIB_BUILTIN        (BUILT_IN_SPRINTF, "sprintf", BT_FN_INT_STRING_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_NOTHROW_2_3)
-DEF_LIB_BUILTIN        (BUILT_IN_SSCANF, "sscanf", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_FORMAT_SCANF_NOTHROW_2_3)
-DEF_LIB_BUILTIN        (BUILT_IN_VFPRINTF, "vfprintf", BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_2_0)
-DEF_C99_BUILTIN        (BUILT_IN_VFSCANF, "vfscanf", BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_2_0)
-DEF_LIB_BUILTIN        (BUILT_IN_VPRINTF, "vprintf", BT_FN_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_1_0)
-DEF_C99_BUILTIN        (BUILT_IN_VSCANF, "vscanf", BT_FN_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_1_0)
-DEF_C99_BUILTIN        (BUILT_IN_VSNPRINTF, "vsnprintf", BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_NOTHROW_3_0)
-DEF_LIB_BUILTIN        (BUILT_IN_VSPRINTF, "vsprintf", BT_FN_INT_STRING_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_NOTHROW_2_0)
-DEF_C99_BUILTIN        (BUILT_IN_VSSCANF, "vsscanf", BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_NOTHROW_2_0)
-
-/* Category: ctype builtins.  */
-DEF_LIB_BUILTIN        (BUILT_IN_ISALNUM, "isalnum", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISALPHA, "isalpha", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISASCII, "isascii", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_ISBLANK, "isblank", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISCNTRL, "iscntrl", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISDIGIT, "isdigit", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISGRAPH, "isgraph", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISLOWER, "islower", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISPRINT, "isprint", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISPUNCT, "ispunct", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISSPACE, "isspace", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISUPPER, "isupper", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ISXDIGIT, "isxdigit", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_TOASCII, "toascii", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_TOLOWER, "tolower", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_TOUPPER, "toupper", BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-
-/* Category: wctype builtins.  */
-DEF_C94_BUILTIN        (BUILT_IN_ISWALNUM, "iswalnum", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWALPHA, "iswalpha", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_ISWBLANK, "iswblank", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWCNTRL, "iswcntrl", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWDIGIT, "iswdigit", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWGRAPH, "iswgraph", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWLOWER, "iswlower", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWPRINT, "iswprint", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWPUNCT, "iswpunct", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWSPACE, "iswspace", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWUPPER, "iswupper", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_ISWXDIGIT, "iswxdigit", BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_TOWLOWER, "towlower", BT_FN_WINT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_C94_BUILTIN        (BUILT_IN_TOWUPPER, "towupper", BT_FN_WINT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST)
-
-/* Category: miscellaneous builtins.  */
-DEF_LIB_BUILTIN        (BUILT_IN_ABORT, "abort", BT_FN_VOID, ATTR_NORETURN_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_ABS, "abs", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_AGGREGATE_INCOMING_ADDRESS, "aggregate_incoming_address", BT_FN_PTR_VAR, ATTR_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ALLOCA, "alloca", BT_FN_PTR_SIZE, ATTR_MALLOC_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_APPLY, "apply", BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, ATTR_NULL)
-DEF_GCC_BUILTIN        (BUILT_IN_APPLY_ARGS, "apply_args", BT_FN_PTR_VAR, ATTR_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_BSWAP32, "bswap32", BT_FN_UINT32_UINT32, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_BSWAP64, "bswap64", BT_FN_UINT64_UINT64, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_CLEAR_CACHE, "__clear_cache", BT_FN_VOID_PTR_PTR, ATTR_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_CALLOC, "calloc", BT_FN_PTR_SIZE_SIZE, ATTR_MALLOC_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CLASSIFY_TYPE, "classify_type", BT_FN_INT_VAR, ATTR_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CLZ, "clz", BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CLZIMAX, "clzimax", BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CLZL, "clzl", BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CLZLL, "clzll", BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CONSTANT_P, "constant_p", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CTZ, "ctz", BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CTZIMAX, "ctzimax", BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CTZL, "ctzl", BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_CTZLL, "ctzll", BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_DCGETTEXT, "dcgettext", BT_FN_STRING_CONST_STRING_CONST_STRING_INT, ATTR_FORMAT_ARG_2)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_DGETTEXT, "dgettext", BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_FORMAT_ARG_2)
-DEF_GCC_BUILTIN        (BUILT_IN_DWARF_CFA, "dwarf_cfa", BT_FN_PTR, ATTR_NULL)
-DEF_GCC_BUILTIN        (BUILT_IN_DWARF_SP_COLUMN, "dwarf_sp_column", BT_FN_UINT, ATTR_NULL)
-DEF_GCC_BUILTIN        (BUILT_IN_EH_RETURN, "eh_return", BT_FN_VOID_PTRMODE_PTR, ATTR_NORETURN_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_EH_RETURN_DATA_REGNO, "eh_return_data_regno", BT_FN_INT_INT, ATTR_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN        (BUILT_IN_EXECL, "execl", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_SENTINEL_NOTHROW_LIST)
-DEF_EXT_LIB_BUILTIN        (BUILT_IN_EXECLP, "execlp", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_SENTINEL_NOTHROW_LIST)
-DEF_EXT_LIB_BUILTIN        (BUILT_IN_EXECLE, "execle", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_NOTHROW_SENTINEL_1)
-DEF_EXT_LIB_BUILTIN        (BUILT_IN_EXECV, "execv", BT_FN_INT_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST)
-DEF_EXT_LIB_BUILTIN        (BUILT_IN_EXECVP, "execvp", BT_FN_INT_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST)
-DEF_EXT_LIB_BUILTIN        (BUILT_IN_EXECVE, "execve", BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_EXIT, "exit", BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_EXPECT, "expect", BT_FN_LONG_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_EXTEND_POINTER, "extend_pointer", BT_FN_UNWINDWORD_PTR, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_EXTRACT_RETURN_ADDR, "extract_return_addr", BT_FN_PTR_PTR, ATTR_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FFS, "ffs", BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FFSIMAX, "ffsimax", BT_FN_INT_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FFSL, "ffsl", BT_FN_INT_LONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FFSLL, "ffsll", BT_FN_INT_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN        (BUILT_IN_FORK, "fork", BT_FN_PID, ATTR_NOTHROW_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_FRAME_ADDRESS, "frame_address", BT_FN_PTR_UINT, ATTR_NULL)
-DEF_LIB_BUILTIN        (BUILT_IN_FREE, "free", BT_FN_VOID_PTR, ATTR_NOTHROW_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_FROB_RETURN_ADDR, "frob_return_addr", BT_FN_PTR_PTR, ATTR_NULL)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_GETTEXT, "gettext", BT_FN_STRING_CONST_STRING, ATTR_FORMAT_ARG_1)
-DEF_C99_BUILTIN        (BUILT_IN_IMAXABS, "imaxabs", BT_FN_INTMAX_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_INIT_DWARF_REG_SIZES, "init_dwarf_reg_size_table", BT_FN_VOID_PTR, ATTR_NULL)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FINITE, "finite", BT_FN_INT_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FINITEF, "finitef", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FINITEL, "finitel", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FINITED32, "finited32", BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FINITED64, "finited64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FINITED128, "finited128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_FPCLASSIFY, "fpclassify", BT_FN_INT_INT_INT_INT_INT_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_GCC_BUILTIN        (BUILT_IN_ISFINITE, "isfinite", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_GCC_BUILTIN        (BUILT_IN_ISINF_SIGN, "isinf_sign", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ISINF, "isinf", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISINFF, "isinff", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISINFL, "isinfl", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISINFD32, "isinfd32", BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISINFD64, "isinfd64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISINFD128, "isinfd128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_C90RES_BUILTIN (BUILT_IN_ISNAN, "isnan", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISNANF, "isnanf", BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISNANL, "isnanl", BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISNAND32, "isnand32", BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISNAND64, "isnand64", BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_ISNAND128, "isnand128", BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_ISNORMAL, "isnormal", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_GCC_BUILTIN        (BUILT_IN_ISGREATER, "isgreater", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_GCC_BUILTIN        (BUILT_IN_ISGREATEREQUAL, "isgreaterequal", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_GCC_BUILTIN        (BUILT_IN_ISLESS, "isless", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_GCC_BUILTIN        (BUILT_IN_ISLESSEQUAL, "islessequal", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_GCC_BUILTIN        (BUILT_IN_ISLESSGREATER, "islessgreater", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_GCC_BUILTIN        (BUILT_IN_ISUNORDERED, "isunordered", BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF)
-DEF_LIB_BUILTIN        (BUILT_IN_LABS, "labs", BT_FN_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN_LLABS, "llabs", BT_FN_LONGLONG_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_LONGJMP, "longjmp", BT_FN_VOID_PTR_INT, ATTR_NORETURN_NOTHROW_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_MALLOC, "malloc", BT_FN_PTR_SIZE, ATTR_MALLOC_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_NEXT_ARG, "next_arg", BT_FN_PTR_VAR, ATTR_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_PARITY, "parity", BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_PARITYIMAX, "parityimax", BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_PARITYL, "parityl", BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_PARITYLL, "parityll", BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_POPCOUNT, "popcount", BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_POPCOUNTIMAX, "popcountimax", BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_POPCOUNTL, "popcountl", BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_POPCOUNTLL, "popcountll", BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_PREFETCH, "prefetch", BT_FN_VOID_CONST_PTR_VAR, ATTR_NOVOPS_LEAF_LIST)
-DEF_LIB_BUILTIN        (BUILT_IN_REALLOC, "realloc", BT_FN_PTR_PTR_SIZE, ATTR_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_RETURN, "return", BT_FN_VOID_PTR, ATTR_NORETURN_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_RETURN_ADDRESS, "return_address", BT_FN_PTR_UINT, ATTR_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_SAVEREGS, "saveregs", BT_FN_PTR_VAR, ATTR_NULL)
-DEF_GCC_BUILTIN        (BUILT_IN_SETJMP, "setjmp", BT_FN_INT_PTR, ATTR_NULL)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRFMON, "strfmon", BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR, ATTR_FORMAT_STRFMON_NOTHROW_3_4)
-DEF_LIB_BUILTIN        (BUILT_IN_STRFTIME, "strftime", BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR, ATTR_FORMAT_STRFTIME_NOTHROW_3_0)
-DEF_GCC_BUILTIN        (BUILT_IN_TRAP, "trap", BT_FN_VOID, ATTR_NORETURN_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_UNREACHABLE, "unreachable", BT_FN_VOID, ATTR_NORETURN_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_UNWIND_INIT, "unwind_init", BT_FN_VOID, ATTR_NULL)
-DEF_GCC_BUILTIN        (BUILT_IN_UPDATE_SETJMP_BUF, "update_setjmp_buf", BT_FN_VOID_PTR_INT, ATTR_NULL)
-DEF_GCC_BUILTIN        (BUILT_IN_VA_COPY, "va_copy", BT_FN_VOID_VALIST_REF_VALIST_ARG, ATTR_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_VA_END, "va_end", BT_FN_VOID_VALIST_REF, ATTR_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_VA_START, "va_start", BT_FN_VOID_VALIST_REF_VAR, ATTR_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_VA_ARG_PACK, "va_arg_pack", BT_FN_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_GCC_BUILTIN        (BUILT_IN_VA_ARG_PACK_LEN, "va_arg_pack_len", BT_FN_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN__EXIT, "_exit", BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LEAF_LIST)
-DEF_C99_BUILTIN        (BUILT_IN__EXIT2, "_Exit", BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LEAF_LIST)
-
-/* Implementing nested functions.  */
-DEF_BUILTIN_STUB (BUILT_IN_INIT_TRAMPOLINE, "__builtin_init_trampoline")
-DEF_BUILTIN_STUB (BUILT_IN_ADJUST_TRAMPOLINE, "__builtin_adjust_trampoline")
-DEF_BUILTIN_STUB (BUILT_IN_NONLOCAL_GOTO, "__builtin_nonlocal_goto")
-
-/* Implementing __builtin_setjmp.  */
-DEF_BUILTIN_STUB (BUILT_IN_SETJMP_SETUP, "__builtin_setjmp_setup")
-DEF_BUILTIN_STUB (BUILT_IN_SETJMP_DISPATCHER, "__builtin_setjmp_dispatcher")
-DEF_BUILTIN_STUB (BUILT_IN_SETJMP_RECEIVER, "__builtin_setjmp_receiver")
-
-/* Implementing variable sized local variables.  */
-DEF_BUILTIN_STUB (BUILT_IN_STACK_SAVE, "__builtin_stack_save")
-DEF_BUILTIN_STUB (BUILT_IN_STACK_RESTORE, "__builtin_stack_restore")
-
-/* Object size checking builtins.  */
-DEF_GCC_BUILTIN	       (BUILT_IN_OBJECT_SIZE, "object_size", BT_FN_SIZE_CONST_PTR_INT, ATTR_PURE_NOTHROW_LEAF_LIST)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_MEMCPY_CHK, "__memcpy_chk", BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_MEMMOVE_CHK, "__memmove_chk", BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_MEMPCPY_CHK, "__mempcpy_chk", BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_MEMSET_CHK, "__memset_chk", BT_FN_PTR_PTR_INT_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STPCPY_CHK, "__stpcpy_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRCAT_CHK, "__strcat_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRCPY_CHK, "__strcpy_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRNCAT_CHK, "__strncat_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRNCPY_CHK, "__strncpy_chk", BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SNPRINTF_CHK, "__snprintf_chk", BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_NOTHROW_5_6)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_SPRINTF_CHK, "__sprintf_chk", BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_NOTHROW_4_5)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_VSNPRINTF_CHK, "__vsnprintf_chk", BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_NOTHROW_5_0)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_VSPRINTF_CHK, "__vsprintf_chk", BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_NOTHROW_4_0)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_FPRINTF_CHK, "__fprintf_chk", BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_3_4)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_PRINTF_CHK, "__printf_chk", BT_FN_INT_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_2_3)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_VFPRINTF_CHK, "__vfprintf_chk", BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_3_0)
-DEF_EXT_LIB_BUILTIN    (BUILT_IN_VPRINTF_CHK, "__vprintf_chk", BT_FN_INT_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_2_0)
-
-/* Profiling hooks.  */
-DEF_BUILTIN (BUILT_IN_PROFILE_FUNC_ENTER, "__cyg_profile_func_enter", BUILT_IN_NORMAL, BT_FN_VOID_PTR_PTR, BT_LAST,
-	     false, false, false, ATTR_NULL, true, true)
-DEF_BUILTIN (BUILT_IN_PROFILE_FUNC_EXIT, "__cyg_profile_func_exit", BUILT_IN_NORMAL, BT_FN_VOID_PTR_PTR, BT_LAST,
-	     false, false, false, ATTR_NULL, true, true)
-
-/* TLS emulation.  */
-DEF_BUILTIN (BUILT_IN_EMUTLS_GET_ADDRESS, targetm.emutls.get_address,
-	     BUILT_IN_NORMAL,
-	     BT_FN_PTR_PTR,  BT_FN_PTR_PTR,
-	     true, true, true, ATTR_CONST_NOTHROW_NONNULL_LEAF, false,
-	     !targetm.have_tls)
-DEF_BUILTIN (BUILT_IN_EMUTLS_REGISTER_COMMON,
-	     targetm.emutls.register_common, BUILT_IN_NORMAL,
-	     BT_FN_VOID_PTR_WORD_WORD_PTR, BT_FN_VOID_PTR_WORD_WORD_PTR,
-	     true, true, true, ATTR_NOTHROW_LEAF_LIST, false,
-	     !targetm.have_tls)
-
-/* Exception support.  */
-DEF_BUILTIN_STUB (BUILT_IN_UNWIND_RESUME, "__builtin_unwind_resume")
-DEF_BUILTIN_STUB (BUILT_IN_CXA_END_CLEANUP, "__builtin_cxa_end_cleanup")
-DEF_BUILTIN_STUB (BUILT_IN_EH_POINTER, "__builtin_eh_pointer")
-DEF_BUILTIN_STUB (BUILT_IN_EH_FILTER, "__builtin_eh_filter")
-DEF_BUILTIN_STUB (BUILT_IN_EH_COPY_VALUES, "__builtin_eh_copy_values")
-
-/* Synchronization Primitives.  */
-#include "sync-builtins.def"
-
-/* OpenMP builtins.  */
-#include "omp-builtins.def"
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/bversion.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/bversion.h
deleted file mode 100644
index cb869b7..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/bversion.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#define BUILDING_GCC_MAJOR 4
-#define BUILDING_GCC_MINOR 6
-#define BUILDING_GCC_PATCHLEVEL 4
-#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR)
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-common.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-common.h
deleted file mode 100644
index 456c7e5..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-common.h
+++ /dev/null
@@ -1,1011 +0,0 @@
-/* Definitions for c-common.c.
-   Copyright (C) 1987, 1993, 1994, 1995, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_C_COMMON_H
-#define GCC_C_COMMON_H
-
-#include "splay-tree.h"
-#include "cpplib.h"
-#include "ggc.h"
-
-/* In order for the format checking to accept the C frontend
-   diagnostic framework extensions, you must include this file before
-   diagnostic-core.h, not after.  The C front end formats are a subset of those
-   for C++, so they are the appropriate set to use in common code;
-   cp-tree.h overrides this for C++.  */
-#if defined(GCC_DIAGNOSTIC_CORE_H)
-#error \
-In order for the format checking to accept the C front end diagnostic \
-framework extensions, you must include this file before diagnostic-core.h \
-never after.
-#endif
-#ifndef GCC_DIAG_STYLE
-#define GCC_DIAG_STYLE __gcc_cdiag__
-#endif
-#include "diagnostic-core.h"
-
-/* Usage of TREE_LANG_FLAG_?:
-   0: TREE_NEGATED_INT (in INTEGER_CST).
-      IDENTIFIER_MARKED (used by search routines).
-      DECL_PRETTY_FUNCTION_P (in VAR_DECL)
-      C_MAYBE_CONST_EXPR_INT_OPERANDS (in C_MAYBE_CONST_EXPR, for C)
-   1: C_DECLARED_LABEL_FLAG (in LABEL_DECL)
-      STATEMENT_LIST_STMT_EXPR (in STATEMENT_LIST)
-      C_MAYBE_CONST_EXPR_NON_CONST (in C_MAYBE_CONST_EXPR, for C)
-   2: unused
-   3: STATEMENT_LIST_HAS_LABEL (in STATEMENT_LIST)
-   4: unused
-*/
-
-/* Reserved identifiers.  This is the union of all the keywords for C,
-   C++, and Objective-C.  All the type modifiers have to be in one
-   block at the beginning, because they are used as mask bits.  There
-   are 27 type modifiers; if we add many more we will have to redesign
-   the mask mechanism.  */
-
-enum rid
-{
-  /* Modifiers: */
-  /* C, in empirical order of frequency.  */
-  RID_STATIC = 0,
-  RID_UNSIGNED, RID_LONG,    RID_CONST, RID_EXTERN,
-  RID_REGISTER, RID_TYPEDEF, RID_SHORT, RID_INLINE,
-  RID_VOLATILE, RID_SIGNED,  RID_AUTO,  RID_RESTRICT,
-
-  /* C extensions */
-  RID_COMPLEX, RID_THREAD, RID_SAT,
-
-  /* C++ */
-  RID_FRIEND, RID_VIRTUAL, RID_EXPLICIT, RID_EXPORT, RID_MUTABLE,
-
-  /* ObjC ("PQ" reserved words - they do not appear after a '@' and
-     are keywords only in specific contexts)  */
-  RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF, RID_ONEWAY,
-
-  /* ObjC ("PATTR" reserved words - they do not appear after a '@' 
-     and are keywords only as property attributes)  */
-  RID_GETTER, RID_SETTER,
-  RID_READONLY, RID_READWRITE,
-  RID_ASSIGN, RID_RETAIN, RID_COPY,
-  RID_NONATOMIC,
-
-  /* C (reserved and imaginary types not implemented, so any use is a
-     syntax error) */
-  RID_IMAGINARY,
-
-  /* C */
-  RID_INT,     RID_CHAR,   RID_FLOAT,    RID_DOUBLE, RID_VOID,
-  RID_INT128,
-  RID_ENUM,    RID_STRUCT, RID_UNION,    RID_IF,     RID_ELSE,
-  RID_WHILE,   RID_DO,     RID_FOR,      RID_SWITCH, RID_CASE,
-  RID_DEFAULT, RID_BREAK,  RID_CONTINUE, RID_RETURN, RID_GOTO,
-  RID_SIZEOF,
-
-  /* C extensions */
-  RID_ASM,       RID_TYPEOF,   RID_ALIGNOF,  RID_ATTRIBUTE,  RID_VA_ARG,
-  RID_EXTENSION, RID_IMAGPART, RID_REALPART, RID_LABEL,      RID_CHOOSE_EXPR,
-  RID_TYPES_COMPATIBLE_P,
-  RID_DFLOAT32, RID_DFLOAT64, RID_DFLOAT128,
-  RID_FRACT, RID_ACCUM,
-
-  /* This means to warn that this is a C++ keyword, and then treat it
-     as a normal identifier.  */
-  RID_CXX_COMPAT_WARN,
-
-  /* Too many ways of getting the name of a function as a string */
-  RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME, RID_C99_FUNCTION_NAME,
-
-  /* C++ (some of these are keywords in Objective-C as well, but only
-     if they appear after a '@') */
-  RID_BOOL,     RID_WCHAR,    RID_CLASS,
-  RID_PUBLIC,   RID_PRIVATE,  RID_PROTECTED,
-  RID_TEMPLATE, RID_NULL,     RID_CATCH,
-  RID_DELETE,   RID_FALSE,    RID_NAMESPACE,
-  RID_NEW,      RID_OFFSETOF, RID_OPERATOR,
-  RID_THIS,     RID_THROW,    RID_TRUE,
-  RID_TRY,      RID_TYPENAME, RID_TYPEID,
-  RID_USING,    RID_CHAR16,   RID_CHAR32,
-
-  /* casts */
-  RID_CONSTCAST, RID_DYNCAST, RID_REINTCAST, RID_STATCAST,
-
-  /* C++ extensions */
-  RID_HAS_NOTHROW_ASSIGN,      RID_HAS_NOTHROW_CONSTRUCTOR,
-  RID_HAS_NOTHROW_COPY,        RID_HAS_TRIVIAL_ASSIGN,
-  RID_HAS_TRIVIAL_CONSTRUCTOR, RID_HAS_TRIVIAL_COPY,
-  RID_HAS_TRIVIAL_DESTRUCTOR,  RID_HAS_VIRTUAL_DESTRUCTOR,
-  RID_IS_ABSTRACT,             RID_IS_BASE_OF,
-  RID_IS_CONVERTIBLE_TO,       RID_IS_CLASS,
-  RID_IS_EMPTY,                RID_IS_ENUM,
-  RID_IS_POD,                  RID_IS_POLYMORPHIC,
-  RID_IS_STD_LAYOUT,           RID_IS_TRIVIAL,
-  RID_IS_UNION,                RID_IS_LITERAL_TYPE,
-
-  /* C++0x */
-  RID_CONSTEXPR, RID_DECLTYPE, RID_NOEXCEPT, RID_NULLPTR, RID_STATIC_ASSERT,
-
-  /* Objective-C ("AT" reserved words - they are only keywords when
-     they follow '@')  */
-  RID_AT_ENCODE,   RID_AT_END,
-  RID_AT_CLASS,    RID_AT_ALIAS,     RID_AT_DEFS,
-  RID_AT_PRIVATE,  RID_AT_PROTECTED, RID_AT_PUBLIC,  RID_AT_PACKAGE,
-  RID_AT_PROTOCOL, RID_AT_SELECTOR,
-  RID_AT_THROW,	   RID_AT_TRY,       RID_AT_CATCH,
-  RID_AT_FINALLY,  RID_AT_SYNCHRONIZED, 
-  RID_AT_OPTIONAL, RID_AT_REQUIRED, RID_AT_PROPERTY,
-  RID_AT_SYNTHESIZE, RID_AT_DYNAMIC,
-  RID_AT_INTERFACE,
-  RID_AT_IMPLEMENTATION,
-
-  /* Named address support, mapping the keyword to a particular named address
-     number.  Named address space 0 is reserved for the generic address.  If
-     there are more than 254 named addresses, the addr_space_t type will need
-     to be grown from an unsigned char to unsigned short.  */
-  RID_ADDR_SPACE_0,		/* generic address */
-  RID_ADDR_SPACE_1,
-  RID_ADDR_SPACE_2,
-  RID_ADDR_SPACE_3,
-  RID_ADDR_SPACE_4,
-  RID_ADDR_SPACE_5,
-  RID_ADDR_SPACE_6,
-  RID_ADDR_SPACE_7,
-  RID_ADDR_SPACE_8,
-  RID_ADDR_SPACE_9,
-  RID_ADDR_SPACE_10,
-  RID_ADDR_SPACE_11,
-  RID_ADDR_SPACE_12,
-  RID_ADDR_SPACE_13,
-  RID_ADDR_SPACE_14,
-  RID_ADDR_SPACE_15,
-
-  RID_FIRST_ADDR_SPACE = RID_ADDR_SPACE_0,
-  RID_LAST_ADDR_SPACE = RID_ADDR_SPACE_15,
-
-  RID_MAX,
-
-  RID_FIRST_MODIFIER = RID_STATIC,
-  RID_LAST_MODIFIER = RID_ONEWAY,
-
-  RID_FIRST_CXX0X = RID_CONSTEXPR,
-  RID_LAST_CXX0X = RID_STATIC_ASSERT,
-  RID_FIRST_AT = RID_AT_ENCODE,
-  RID_LAST_AT = RID_AT_IMPLEMENTATION,
-  RID_FIRST_PQ = RID_IN,
-  RID_LAST_PQ = RID_ONEWAY,
-  RID_FIRST_PATTR = RID_GETTER,
-  RID_LAST_PATTR = RID_NONATOMIC
-};
-
-#define OBJC_IS_AT_KEYWORD(rid) \
-  ((unsigned int) (rid) >= (unsigned int) RID_FIRST_AT && \
-   (unsigned int) (rid) <= (unsigned int) RID_LAST_AT)
-
-#define OBJC_IS_PQ_KEYWORD(rid) \
-  ((unsigned int) (rid) >= (unsigned int) RID_FIRST_PQ && \
-   (unsigned int) (rid) <= (unsigned int) RID_LAST_PQ)
-
-#define OBJC_IS_PATTR_KEYWORD(rid) \
-  ((unsigned int) (rid) >= (unsigned int) RID_FIRST_PATTR && \
-   (unsigned int) (rid) <= (unsigned int) RID_LAST_PATTR)
-
-/* OBJC_IS_CXX_KEYWORD recognizes the 'CXX_OBJC' keywords (such as
-   'class') which are shared in a subtle way between Objective-C and
-   C++.  When the lexer is lexing in Objective-C/Objective-C++, if it
-   finds '@' followed by one of these identifiers (eg, '@class'), it
-   recognizes the whole as an Objective-C keyword.  If the identifier
-   is found elsewhere, it follows the rules of the C/C++ language.
- */
-#define OBJC_IS_CXX_KEYWORD(rid) \
-  (rid == RID_CLASS							\
-   || rid == RID_PUBLIC || rid == RID_PROTECTED || rid == RID_PRIVATE	\
-   || rid == RID_TRY || rid == RID_THROW || rid == RID_CATCH)
-
-/* The elements of `ridpointers' are identifier nodes for the reserved
-   type names and storage classes.  It is indexed by a RID_... value.  */
-extern GTY ((length ("(int) RID_MAX"))) tree *ridpointers;
-
-/* Standard named or nameless data types of the C compiler.  */
-
-enum c_tree_index
-{
-    CTI_CHAR16_TYPE,
-    CTI_CHAR32_TYPE,
-    CTI_WCHAR_TYPE,
-    CTI_UNDERLYING_WCHAR_TYPE,
-    CTI_WINT_TYPE,
-    CTI_SIGNED_SIZE_TYPE, /* For format checking only.  */
-    CTI_UNSIGNED_PTRDIFF_TYPE, /* For format checking only.  */
-    CTI_INTMAX_TYPE,
-    CTI_UINTMAX_TYPE,
-    CTI_WIDEST_INT_LIT_TYPE,
-    CTI_WIDEST_UINT_LIT_TYPE,
-
-    /* Types for <stdint.h>, that may not be defined on all
-       targets.  */
-    CTI_SIG_ATOMIC_TYPE,
-    CTI_INT8_TYPE,
-    CTI_INT16_TYPE,
-    CTI_INT32_TYPE,
-    CTI_INT64_TYPE,
-    CTI_UINT8_TYPE,
-    CTI_UINT16_TYPE,
-    CTI_UINT32_TYPE,
-    CTI_UINT64_TYPE,
-    CTI_INT_LEAST8_TYPE,
-    CTI_INT_LEAST16_TYPE,
-    CTI_INT_LEAST32_TYPE,
-    CTI_INT_LEAST64_TYPE,
-    CTI_UINT_LEAST8_TYPE,
-    CTI_UINT_LEAST16_TYPE,
-    CTI_UINT_LEAST32_TYPE,
-    CTI_UINT_LEAST64_TYPE,
-    CTI_INT_FAST8_TYPE,
-    CTI_INT_FAST16_TYPE,
-    CTI_INT_FAST32_TYPE,
-    CTI_INT_FAST64_TYPE,
-    CTI_UINT_FAST8_TYPE,
-    CTI_UINT_FAST16_TYPE,
-    CTI_UINT_FAST32_TYPE,
-    CTI_UINT_FAST64_TYPE,
-    CTI_INTPTR_TYPE,
-    CTI_UINTPTR_TYPE,
-
-    CTI_CHAR_ARRAY_TYPE,
-    CTI_CHAR16_ARRAY_TYPE,
-    CTI_CHAR32_ARRAY_TYPE,
-    CTI_WCHAR_ARRAY_TYPE,
-    CTI_INT_ARRAY_TYPE,
-    CTI_STRING_TYPE,
-    CTI_CONST_STRING_TYPE,
-
-    /* Type for boolean expressions (bool in C++, int in C).  */
-    CTI_TRUTHVALUE_TYPE,
-    CTI_TRUTHVALUE_TRUE,
-    CTI_TRUTHVALUE_FALSE,
-
-    CTI_DEFAULT_FUNCTION_TYPE,
-
-    /* These are not types, but we have to look them up all the time.  */
-    CTI_FUNCTION_NAME_DECL,
-    CTI_PRETTY_FUNCTION_NAME_DECL,
-    CTI_C99_FUNCTION_NAME_DECL,
-    CTI_SAVED_FUNCTION_NAME_DECLS,
-
-    CTI_VOID_ZERO,
-
-    CTI_NULL,
-
-    CTI_MAX
-};
-
-#define C_CPP_HASHNODE(id) \
-  (&(((struct c_common_identifier *) (id))->node))
-#define C_RID_CODE(id) \
-  ((enum rid) (((struct c_common_identifier *) (id))->node.rid_code))
-#define C_SET_RID_CODE(id, code) \
-  (((struct c_common_identifier *) (id))->node.rid_code = (unsigned char) code)
-
-/* Identifier part common to the C front ends.  Inherits from
-   tree_identifier, despite appearances.  */
-struct GTY(()) c_common_identifier {
-  struct tree_common common;
-  struct cpp_hashnode node;
-};
-
-/* An entry in the reserved keyword table.  */
-
-struct c_common_resword
-{
-  const char *const word;
-  ENUM_BITFIELD(rid) const rid : 16;
-  const unsigned int disable   : 16;
-};
-
-/* Disable mask.  Keywords are disabled if (reswords[i].disable &
-   mask) is _true_.  Thus for keywords which are present in all
-   languages the disable field is zero.  */
-
-#define D_CONLY		0x001	/* C only (not in C++).  */
-#define D_CXXONLY	0x002	/* C++ only (not in C).  */
-#define D_C99		0x004	/* In C, C99 only.  */
-#define D_CXX0X         0x008	/* In C++, C++0X only.  */
-#define D_EXT		0x010	/* GCC extension.  */
-#define D_EXT89		0x020	/* GCC extension incorporated in C99.  */
-#define D_ASM		0x040	/* Disabled by -fno-asm.  */
-#define D_OBJC		0x080	/* In Objective C and neither C nor C++.  */
-#define D_CXX_OBJC	0x100	/* In Objective C, and C++, but not C.  */
-#define D_CXXWARN	0x200	/* In C warn with -Wcxx-compat.  */
-
-/* The reserved keyword table.  */
-extern const struct c_common_resword c_common_reswords[];
-
-/* The number of items in the reserved keyword table.  */
-extern const unsigned int num_c_common_reswords;
-
-#define char16_type_node		c_global_trees[CTI_CHAR16_TYPE]
-#define char32_type_node		c_global_trees[CTI_CHAR32_TYPE]
-#define wchar_type_node			c_global_trees[CTI_WCHAR_TYPE]
-#define underlying_wchar_type_node	c_global_trees[CTI_UNDERLYING_WCHAR_TYPE]
-#define wint_type_node			c_global_trees[CTI_WINT_TYPE]
-#define signed_size_type_node		c_global_trees[CTI_SIGNED_SIZE_TYPE]
-#define unsigned_ptrdiff_type_node	c_global_trees[CTI_UNSIGNED_PTRDIFF_TYPE]
-#define intmax_type_node		c_global_trees[CTI_INTMAX_TYPE]
-#define uintmax_type_node		c_global_trees[CTI_UINTMAX_TYPE]
-#define widest_integer_literal_type_node c_global_trees[CTI_WIDEST_INT_LIT_TYPE]
-#define widest_unsigned_literal_type_node c_global_trees[CTI_WIDEST_UINT_LIT_TYPE]
-
-#define sig_atomic_type_node		c_global_trees[CTI_SIG_ATOMIC_TYPE]
-#define int8_type_node			c_global_trees[CTI_INT8_TYPE]
-#define int16_type_node			c_global_trees[CTI_INT16_TYPE]
-#define int32_type_node			c_global_trees[CTI_INT32_TYPE]
-#define int64_type_node			c_global_trees[CTI_INT64_TYPE]
-#define uint8_type_node			c_global_trees[CTI_UINT8_TYPE]
-#define uint16_type_node		c_global_trees[CTI_UINT16_TYPE]
-#define c_uint32_type_node		c_global_trees[CTI_UINT32_TYPE]
-#define c_uint64_type_node		c_global_trees[CTI_UINT64_TYPE]
-#define int_least8_type_node		c_global_trees[CTI_INT_LEAST8_TYPE]
-#define int_least16_type_node		c_global_trees[CTI_INT_LEAST16_TYPE]
-#define int_least32_type_node		c_global_trees[CTI_INT_LEAST32_TYPE]
-#define int_least64_type_node		c_global_trees[CTI_INT_LEAST64_TYPE]
-#define uint_least8_type_node		c_global_trees[CTI_UINT_LEAST8_TYPE]
-#define uint_least16_type_node		c_global_trees[CTI_UINT_LEAST16_TYPE]
-#define uint_least32_type_node		c_global_trees[CTI_UINT_LEAST32_TYPE]
-#define uint_least64_type_node		c_global_trees[CTI_UINT_LEAST64_TYPE]
-#define int_fast8_type_node		c_global_trees[CTI_INT_FAST8_TYPE]
-#define int_fast16_type_node		c_global_trees[CTI_INT_FAST16_TYPE]
-#define int_fast32_type_node		c_global_trees[CTI_INT_FAST32_TYPE]
-#define int_fast64_type_node		c_global_trees[CTI_INT_FAST64_TYPE]
-#define uint_fast8_type_node		c_global_trees[CTI_UINT_FAST8_TYPE]
-#define uint_fast16_type_node		c_global_trees[CTI_UINT_FAST16_TYPE]
-#define uint_fast32_type_node		c_global_trees[CTI_UINT_FAST32_TYPE]
-#define uint_fast64_type_node		c_global_trees[CTI_UINT_FAST64_TYPE]
-#define intptr_type_node		c_global_trees[CTI_INTPTR_TYPE]
-#define uintptr_type_node		c_global_trees[CTI_UINTPTR_TYPE]
-
-#define truthvalue_type_node		c_global_trees[CTI_TRUTHVALUE_TYPE]
-#define truthvalue_true_node		c_global_trees[CTI_TRUTHVALUE_TRUE]
-#define truthvalue_false_node		c_global_trees[CTI_TRUTHVALUE_FALSE]
-
-#define char_array_type_node		c_global_trees[CTI_CHAR_ARRAY_TYPE]
-#define char16_array_type_node		c_global_trees[CTI_CHAR16_ARRAY_TYPE]
-#define char32_array_type_node		c_global_trees[CTI_CHAR32_ARRAY_TYPE]
-#define wchar_array_type_node		c_global_trees[CTI_WCHAR_ARRAY_TYPE]
-#define int_array_type_node		c_global_trees[CTI_INT_ARRAY_TYPE]
-#define string_type_node		c_global_trees[CTI_STRING_TYPE]
-#define const_string_type_node		c_global_trees[CTI_CONST_STRING_TYPE]
-
-#define default_function_type		c_global_trees[CTI_DEFAULT_FUNCTION_TYPE]
-
-#define function_name_decl_node		c_global_trees[CTI_FUNCTION_NAME_DECL]
-#define pretty_function_name_decl_node	c_global_trees[CTI_PRETTY_FUNCTION_NAME_DECL]
-#define c99_function_name_decl_node		c_global_trees[CTI_C99_FUNCTION_NAME_DECL]
-#define saved_function_name_decls	c_global_trees[CTI_SAVED_FUNCTION_NAME_DECLS]
-
-/* A node for `((void) 0)'.  */
-#define void_zero_node                  c_global_trees[CTI_VOID_ZERO]
-
-/* The node for C++ `__null'.  */
-#define null_node                       c_global_trees[CTI_NULL]
-
-extern GTY(()) tree c_global_trees[CTI_MAX];
-
-/* In a RECORD_TYPE, a sorted array of the fields of the type, not a
-   tree for size reasons.  */
-struct GTY((variable_size)) sorted_fields_type {
-  int len;
-  tree GTY((length ("%h.len"))) elts[1];
-};
-
-/* Mark which labels are explicitly declared.
-   These may be shadowed, and may be referenced from nested functions.  */
-#define C_DECLARED_LABEL_FLAG(label) TREE_LANG_FLAG_1 (label)
-
-typedef enum c_language_kind
-{
-  clk_c		= 0,		/* C90, C94 or C99 */
-  clk_objc	= 1,		/* clk_c with ObjC features.  */
-  clk_cxx	= 2,		/* ANSI/ISO C++ */
-  clk_objcxx	= 3		/* clk_cxx with ObjC features.  */
-}
-c_language_kind;
-
-/* To test for a specific language use c_language, defined by each
-   front end.  For "ObjC features" or "not C++" use the macros.  */
-extern c_language_kind c_language;
-
-#define c_dialect_cxx()		((c_language & clk_cxx) != 0)
-#define c_dialect_objc()	((c_language & clk_objc) != 0)
-
-/* The various name of operator that appears in error messages. */
-typedef enum ref_operator {
-  /* NULL */
-  RO_NULL,
-  /* array indexing */
-  RO_ARRAY_INDEXING,
-  /* unary * */
-  RO_UNARY_STAR,
-  /* -> */
-  RO_ARROW,
-  /* implicit conversion */
-  RO_IMPLICIT_CONVERSION
-} ref_operator;
-
-/* Information about a statement tree.  */
-
-struct GTY(()) stmt_tree_s {
-  /* The current statement list being collected.  */
-  tree x_cur_stmt_list;
-
-  /* In C++, Nonzero if we should treat statements as full
-     expressions.  In particular, this variable is no-zero if at the
-     end of a statement we should destroy any temporaries created
-     during that statement.  Similarly, if, at the end of a block, we
-     should destroy any local variables in this block.  Normally, this
-     variable is nonzero, since those are the normal semantics of
-     C++.
-
-     However, in order to represent aggregate initialization code as
-     tree structure, we use statement-expressions.  The statements
-     within the statement expression should not result in cleanups
-     being run until the entire enclosing statement is complete.
-
-     This flag has no effect in C.  */
-  int stmts_are_full_exprs_p;
-};
-
-typedef struct stmt_tree_s *stmt_tree;
-
-/* Global state pertinent to the current function.  Some C dialects
-   extend this structure with additional fields.  */
-
-struct GTY(()) c_language_function {
-  /* While we are parsing the function, this contains information
-     about the statement-tree that we are building.  */
-  struct stmt_tree_s x_stmt_tree;
-};
-
-/* When building a statement-tree, this is the current statement list
-   being collected.  It's TREE_CHAIN is a back-pointer to the previous
-   statement list.  */
-
-#define cur_stmt_list (current_stmt_tree ()->x_cur_stmt_list)
-
-/* Language-specific hooks.  */
-
-/* If non-NULL, this function is called after a precompile header file
-   is loaded.  */
-extern void (*lang_post_pch_load) (void);
-
-extern void push_file_scope (void);
-extern void pop_file_scope (void);
-extern stmt_tree current_stmt_tree (void);
-extern tree push_stmt_list (void);
-extern tree pop_stmt_list (tree);
-extern tree add_stmt (tree);
-extern void push_cleanup (tree, tree, bool);
-extern tree pushdecl_top_level (tree);
-extern tree pushdecl (tree);
-extern tree build_modify_expr (location_t, tree, tree, enum tree_code,
-			       location_t, tree, tree);
-extern tree build_indirect_ref (location_t, tree, ref_operator);
-
-extern int c_expand_decl (tree);
-
-extern int field_decl_cmp (const void *, const void *);
-extern void resort_sorted_fields (void *, void *, gt_pointer_operator,
-				  void *);
-extern bool has_c_linkage (const_tree decl);
-
-/* Switches common to the C front ends.  */
-
-/* Nonzero means don't output line number information.  */
-
-extern char flag_no_line_commands;
-
-/* Nonzero causes -E output not to be done, but directives such as
-   #define that have side effects are still obeyed.  */
-
-extern char flag_no_output;
-
-/* Nonzero means dump macros in some fashion; contains the 'D', 'M',
-   'N' or 'U' of the command line switch.  */
-
-extern char flag_dump_macros;
-
-/* Nonzero means pass #include lines through to the output.  */
-
-extern char flag_dump_includes;
-
-/* Nonzero means process PCH files while preprocessing.  */
-
-extern bool flag_pch_preprocess;
-
-/* The file name to which we should write a precompiled header, or
-   NULL if no header will be written in this compile.  */
-
-extern const char *pch_file;
-
-/* Nonzero if an ISO standard was selected.  It rejects macros in the
-   user's namespace.  */
-
-extern int flag_iso;
-
-/* Warn about #pragma directives that are not recognized.  */
-
-extern int warn_unknown_pragmas; /* Tri state variable.  */
-
-/* Warn about format/argument anomalies in calls to formatted I/O functions
-   (*printf, *scanf, strftime, strfmon, etc.).  */
-
-extern int warn_format;
-
-
-/* C/ObjC language option variables.  */
-
-
-/* Nonzero means allow type mismatches in conditional expressions;
-   just make their values `void'.  */
-
-extern int flag_cond_mismatch;
-
-/* Nonzero means enable C89 Amendment 1 features.  */
-
-extern int flag_isoc94;
-
-/* Nonzero means use the ISO C99 (or C1X) dialect of C.  */
-
-extern int flag_isoc99;
-
-/* Nonzero means use the ISO C1X dialect of C.  */
-
-extern int flag_isoc1x;
-
-/* Nonzero means that we have builtin functions, and main is an int.  */
-
-extern int flag_hosted;
-
-/* ObjC language option variables.  */
-
-
-/* Tells the compiler that this is a special run.  Do not perform any
-   compiling, instead we are to test some platform dependent features
-   and output a C header file with appropriate definitions.  */
-
-extern int print_struct_values;
-
-/* Tells the compiler what is the constant string class for ObjC.  */
-
-extern const char *constant_string_class_name;
-
-
-/* C++ language option variables.  */
-
-
-/* Nonzero means generate separate instantiation control files and
-   juggle them at link time.  */
-
-extern int flag_use_repository;
-
-/* The supported C++ dialects.  */
-
-enum cxx_dialect {
-  /* C++98  */
-  cxx98,
-  /* Experimental features that are likely to become part of
-     C++0x.  */
-  cxx0x
-};
-
-/* The C++ dialect being used. C++98 is the default.  */
-extern enum cxx_dialect cxx_dialect;
-
-/* Maximum template instantiation depth.  This limit is rather
-   arbitrary, but it exists to limit the time it takes to notice
-   infinite template instantiations.  */
-
-extern int max_tinst_depth;
-
-/* Nonzero means that we should not issue warnings about problems that
-   occur when the code is executed, because the code being processed
-   is not expected to be executed.  This is set during parsing.  This
-   is used for cases like sizeof() and "0 ? a : b".  This is a count,
-   not a bool, because unexecuted expressions can nest.  */
-
-extern int c_inhibit_evaluation_warnings;
-
-/* Whether lexing has been completed, so subsequent preprocessor
-   errors should use the compiler's input_location.  */
-
-extern bool done_lexing;
-
-/* C types are partitioned into three subsets: object, function, and
-   incomplete types.  */
-#define C_TYPE_OBJECT_P(type) \
-  (TREE_CODE (type) != FUNCTION_TYPE && TYPE_SIZE (type))
-
-#define C_TYPE_INCOMPLETE_P(type) \
-  (TREE_CODE (type) != FUNCTION_TYPE && TYPE_SIZE (type) == 0)
-
-#define C_TYPE_FUNCTION_P(type) \
-  (TREE_CODE (type) == FUNCTION_TYPE)
-
-/* For convenience we define a single macro to identify the class of
-   object or incomplete types.  */
-#define C_TYPE_OBJECT_OR_INCOMPLETE_P(type) \
-  (!C_TYPE_FUNCTION_P (type))
-
-struct visibility_flags
-{
-  unsigned inpragma : 1;	/* True when in #pragma GCC visibility.  */
-  unsigned inlines_hidden : 1;	/* True when -finlineshidden in effect.  */
-};
-
-/* Global visibility options.  */
-extern struct visibility_flags visibility_options;
-
-/* Attribute table common to the C front ends.  */
-extern const struct attribute_spec c_common_attribute_table[];
-extern const struct attribute_spec c_common_format_attribute_table[];
-
-/* Pointer to function to lazily generate the VAR_DECL for __FUNCTION__ etc.
-   ID is the identifier to use, NAME is the string.
-   TYPE_DEP indicates whether it depends on type of the function or not
-   (i.e. __PRETTY_FUNCTION__).  */
-
-extern tree (*make_fname_decl) (location_t, tree, int);
-
-/* In c-decl.c and cp/tree.c.  FIXME.  */
-extern void c_register_addr_space (const char *str, addr_space_t as);
-
-/* In c-common.c.  */
-extern bool in_late_binary_op;
-extern const char *c_addr_space_name (addr_space_t as);
-extern tree identifier_global_value (tree);
-extern void record_builtin_type (enum rid, const char *, tree);
-extern tree build_void_list_node (void);
-extern void start_fname_decls (void);
-extern void finish_fname_decls (void);
-extern const char *fname_as_string (int);
-extern tree fname_decl (location_t, unsigned, tree);
-
-extern void check_function_arguments (tree, int, tree *, tree);
-extern void check_function_arguments_recurse (void (*)
-					      (void *, tree,
-					       unsigned HOST_WIDE_INT),
-					      void *, tree,
-					      unsigned HOST_WIDE_INT);
-extern bool check_builtin_function_arguments (tree, int, tree *);
-extern void check_function_format (tree, int, tree *);
-extern void set_Wformat (int);
-extern tree handle_format_attribute (tree *, tree, tree, int, bool *);
-extern tree handle_format_arg_attribute (tree *, tree, tree, int, bool *);
-extern bool attribute_takes_identifier_p (const_tree);
-extern bool c_common_handle_option (size_t, const char *, int, int, location_t,
-				    const struct cl_option_handlers *);
-extern tree c_common_type_for_mode (enum machine_mode, int);
-extern tree c_common_type_for_size (unsigned int, int);
-extern tree c_common_fixed_point_type_for_size (unsigned int, unsigned int,
-						int, int);
-extern tree c_common_unsigned_type (tree);
-extern tree c_common_signed_type (tree);
-extern tree c_common_signed_or_unsigned_type (int, tree);
-extern tree c_build_bitfield_integer_type (unsigned HOST_WIDE_INT, int);
-extern bool decl_with_nonnull_addr_p (const_tree);
-extern tree c_fully_fold (tree, bool, bool *);
-extern tree decl_constant_value_for_optimization (tree);
-extern tree c_wrap_maybe_const (tree, bool);
-extern tree c_save_expr (tree);
-extern tree c_common_truthvalue_conversion (location_t, tree);
-extern void c_apply_type_quals_to_decl (int, tree);
-extern tree c_sizeof_or_alignof_type (location_t, tree, bool, int);
-extern tree c_alignof_expr (location_t, tree);
-/* Print an error message for invalid operands to arith operation CODE.
-   NOP_EXPR is used as a special case (see truthvalue_conversion).  */
-extern void binary_op_error (location_t, enum tree_code, tree, tree);
-extern tree fix_string_type (tree);
-extern void constant_expression_warning (tree);
-extern void constant_expression_error (tree);
-extern bool strict_aliasing_warning (tree, tree, tree);
-extern void warnings_for_convert_and_check (tree, tree, tree);
-extern tree convert_and_check (tree, tree);
-extern void overflow_warning (location_t, tree);
-extern void warn_logical_operator (location_t, enum tree_code, tree,
-				   enum tree_code, tree, enum tree_code, tree);
-extern void check_main_parameter_types (tree decl);
-extern bool c_determine_visibility (tree);
-extern bool same_scalar_type_ignoring_signedness (tree, tree);
-extern void mark_valid_location_for_stdc_pragma (bool);
-extern bool valid_location_for_stdc_pragma_p (void);
-extern void set_float_const_decimal64 (void);
-extern void clear_float_const_decimal64 (void);
-extern bool float_const_decimal64_p (void);
-
-extern bool keyword_begins_type_specifier (enum rid);
-extern bool keyword_is_storage_class_specifier (enum rid);
-extern bool keyword_is_type_qualifier (enum rid);
-extern bool keyword_is_decl_specifier (enum rid);
-
-#define c_sizeof(LOC, T)  c_sizeof_or_alignof_type (LOC, T, true, 1)
-#define c_alignof(LOC, T) c_sizeof_or_alignof_type (LOC, T, false, 1)
-
-/* Subroutine of build_binary_op, used for certain operations.  */
-extern tree shorten_binary_op (tree result_type, tree op0, tree op1, bool bitwise);
-
-/* Subroutine of build_binary_op, used for comparison operations.
-   See if the operands have both been converted from subword integer types
-   and, if so, perhaps change them both back to their original type.  */
-extern tree shorten_compare (tree *, tree *, tree *, enum tree_code *);
-
-extern tree pointer_int_sum (location_t, enum tree_code, tree, tree);
-
-/* Add qualifiers to a type, in the fashion for C.  */
-extern tree c_build_qualified_type (tree, int);
-
-/* Build tree nodes and builtin functions common to both C and C++ language
-   frontends.  */
-extern void c_common_nodes_and_builtins (void);
-
-extern void disable_builtin_function (const char *);
-
-extern void set_compound_literal_name (tree decl);
-
-extern tree build_va_arg (location_t, tree, tree);
-
-extern const unsigned int c_family_lang_mask;
-extern unsigned int c_common_option_lang_mask (void);
-extern void c_common_initialize_diagnostics (diagnostic_context *);
-extern bool c_common_complain_wrong_lang_p (const struct cl_option *);
-extern void c_common_init_options_struct (struct gcc_options *);
-extern void c_common_init_options (unsigned int, struct cl_decoded_option *);
-extern bool c_common_post_options (const char **);
-extern bool c_common_init (void);
-extern void c_common_finish (void);
-extern void c_common_parse_file (void);
-extern alias_set_type c_common_get_alias_set (tree);
-extern void c_register_builtin_type (tree, const char*);
-extern bool c_promoting_integer_type_p (const_tree);
-extern int self_promoting_args_p (const_tree);
-extern tree strip_pointer_operator (tree);
-extern tree strip_pointer_or_array_types (tree);
-extern HOST_WIDE_INT c_common_to_target_charset (HOST_WIDE_INT);
-
-/* This is the basic parsing function.  */
-extern void c_parse_file (void);
-
-extern void warn_for_omitted_condop (location_t, tree);
-
-/* These macros provide convenient access to the various _STMT nodes.  */
-
-/* Nonzero if a given STATEMENT_LIST represents the outermost binding
-   if a statement expression.  */
-#define STATEMENT_LIST_STMT_EXPR(NODE) \
-  TREE_LANG_FLAG_1 (STATEMENT_LIST_CHECK (NODE))
-
-/* Nonzero if a label has been added to the statement list.  */
-#define STATEMENT_LIST_HAS_LABEL(NODE) \
-  TREE_LANG_FLAG_3 (STATEMENT_LIST_CHECK (NODE))
-
-/* C_MAYBE_CONST_EXPR accessors.  */
-#define C_MAYBE_CONST_EXPR_PRE(NODE)			\
-  TREE_OPERAND (C_MAYBE_CONST_EXPR_CHECK (NODE), 0)
-#define C_MAYBE_CONST_EXPR_EXPR(NODE)			\
-  TREE_OPERAND (C_MAYBE_CONST_EXPR_CHECK (NODE), 1)
-#define C_MAYBE_CONST_EXPR_INT_OPERANDS(NODE)		\
-  TREE_LANG_FLAG_0 (C_MAYBE_CONST_EXPR_CHECK (NODE))
-#define C_MAYBE_CONST_EXPR_NON_CONST(NODE)		\
-  TREE_LANG_FLAG_1 (C_MAYBE_CONST_EXPR_CHECK (NODE))
-#define EXPR_INT_CONST_OPERANDS(EXPR)			\
-  (INTEGRAL_TYPE_P (TREE_TYPE (EXPR))			\
-   && (TREE_CODE (EXPR) == INTEGER_CST			\
-       || (TREE_CODE (EXPR) == C_MAYBE_CONST_EXPR	\
-	   && C_MAYBE_CONST_EXPR_INT_OPERANDS (EXPR))))
-
-/* In a FIELD_DECL, nonzero if the decl was originally a bitfield.  */
-#define DECL_C_BIT_FIELD(NODE) \
-  (DECL_LANG_FLAG_4 (FIELD_DECL_CHECK (NODE)) == 1)
-#define SET_DECL_C_BIT_FIELD(NODE) \
-  (DECL_LANG_FLAG_4 (FIELD_DECL_CHECK (NODE)) = 1)
-#define CLEAR_DECL_C_BIT_FIELD(NODE) \
-  (DECL_LANG_FLAG_4 (FIELD_DECL_CHECK (NODE)) = 0)
-
-extern tree do_case (location_t, tree, tree);
-extern tree build_stmt (location_t, enum tree_code, ...);
-extern tree build_case_label (location_t, tree, tree, tree);
-extern tree build_real_imag_expr (location_t, enum tree_code, tree);
-
-/* These functions must be defined by each front-end which implements
-   a variant of the C language.  They are used in c-common.c.  */
-
-extern tree build_unary_op (location_t, enum tree_code, tree, int);
-extern tree build_binary_op (location_t, enum tree_code, tree, tree, int);
-extern tree perform_integral_promotions (tree);
-
-/* These functions must be defined by each front-end which implements
-   a variant of the C language.  They are used by port files.  */
-
-extern tree default_conversion (tree);
-
-/* Given two integer or real types, return the type for their sum.
-   Given two compatible ANSI C types, returns the merged type.  */
-
-extern tree common_type (tree, tree);
-
-extern tree decl_constant_value (tree);
-
-/* Handle increment and decrement of boolean types.  */
-extern tree boolean_increment (enum tree_code, tree);
-
-extern int case_compare (splay_tree_key, splay_tree_key);
-
-extern tree c_add_case_label (location_t, splay_tree, tree, tree, tree, tree);
-
-extern void c_do_switch_warnings (splay_tree, location_t, tree, tree);
-
-extern tree build_function_call (location_t, tree, tree);
-
-extern tree build_function_call_vec (location_t, tree,
-    				     VEC(tree,gc) *, VEC(tree,gc) *);
-
-extern tree resolve_overloaded_builtin (location_t, tree, VEC(tree,gc) *);
-
-extern tree finish_label_address_expr (tree, location_t);
-
-/* Same function prototype, but the C and C++ front ends have
-   different implementations.  Used in c-common.c.  */
-extern tree lookup_label (tree);
-extern tree lookup_name (tree);
-extern bool lvalue_p (const_tree);
-
-extern bool vector_targets_convertible_p (const_tree t1, const_tree t2);
-extern bool vector_types_convertible_p (const_tree t1, const_tree t2, bool emit_lax_note);
-
-extern rtx c_expand_expr (tree, rtx, enum machine_mode, int, rtx *);
-
-extern void init_c_lex (void);
-
-extern void c_cpp_builtins (cpp_reader *);
-extern void c_cpp_builtins_optimize_pragma (cpp_reader *, tree, tree);
-extern bool c_cpp_error (cpp_reader *, int, int, location_t, unsigned int,
-			 const char *, va_list *)
-     ATTRIBUTE_GCC_DIAG(6,0);
-
-extern bool parse_optimize_options (tree, bool);
-
-/* Positive if an implicit `extern "C"' scope has just been entered;
-   negative if such a scope has just been exited.  */
-extern GTY(()) int pending_lang_change;
-
-/* Information recorded about each file examined during compilation.  */
-
-struct c_fileinfo
-{
-  int time;	/* Time spent in the file.  */
-
-  /* Flags used only by C++.
-     INTERFACE_ONLY nonzero means that we are in an "interface" section
-     of the compiler.  INTERFACE_UNKNOWN nonzero means we cannot trust
-     the value of INTERFACE_ONLY.  If INTERFACE_UNKNOWN is zero and
-     INTERFACE_ONLY is zero, it means that we are responsible for
-     exporting definitions that others might need.  */
-  short interface_only;
-  short interface_unknown;
-};
-
-struct c_fileinfo *get_fileinfo (const char *);
-extern void dump_time_statistics (void);
-
-extern bool c_dump_tree (void *, tree);
-
-extern void verify_sequence_points (tree);
-
-extern tree fold_offsetof_1 (tree);
-extern tree fold_offsetof (tree);
-
-/* Places where an lvalue, or modifiable lvalue, may be required.
-   Used to select diagnostic messages in lvalue_error and
-   readonly_error.  */
-enum lvalue_use {
-  lv_assign,
-  lv_increment,
-  lv_decrement,
-  lv_addressof,
-  lv_asm
-};
-
-extern void readonly_error (tree, enum lvalue_use);
-extern void lvalue_error (location_t, enum lvalue_use);
-extern void invalid_indirection_error (location_t, tree, ref_operator);
-
-extern int complete_array_type (tree *, tree, bool);
-
-extern tree builtin_type_for_size (int, bool);
-
-extern void c_common_mark_addressable_vec (tree);
-
-extern void warn_array_subscript_with_type_char (tree);
-extern void warn_about_parentheses (enum tree_code,
-				    enum tree_code, tree,
-				    enum tree_code, tree);
-extern void warn_for_unused_label (tree label);
-extern void warn_for_div_by_zero (location_t, tree divisor);
-extern void warn_for_sign_compare (location_t,
-				   tree orig_op0, tree orig_op1,
-				   tree op0, tree op1,
-				   tree result_type,
-				   enum tree_code resultcode);
-extern void do_warn_double_promotion (tree, tree, tree, const char *, 
-				      location_t);
-extern void set_underlying_type (tree x);
-extern VEC(tree,gc) *make_tree_vector (void);
-extern void release_tree_vector (VEC(tree,gc) *);
-extern VEC(tree,gc) *make_tree_vector_single (tree);
-extern VEC(tree,gc) *make_tree_vector_copy (const VEC(tree,gc) *);
-
-/* In c-gimplify.c  */
-extern void c_genericize (tree);
-extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
-extern tree c_build_bind_expr (location_t, tree, tree);
-
-/* In c-pch.c  */
-extern void pch_init (void);
-extern int c_common_valid_pch (cpp_reader *pfile, const char *name, int fd);
-extern void c_common_read_pch (cpp_reader *pfile, const char *name, int fd,
-			       const char *orig);
-extern void c_common_write_pch (void);
-extern void c_common_no_more_pch (void);
-extern void c_common_pch_pragma (cpp_reader *pfile, const char *);
-extern void c_common_print_pch_checksum (FILE *f);
-
-/* In *-checksum.c */
-extern const unsigned char executable_checksum[16];
-
-/* In c-cppbuiltin.c  */
-extern void builtin_define_std (const char *macro);
-extern void builtin_define_with_value (const char *, const char *, int);
-extern void c_stddef_cpp_builtins (void);
-extern void fe_file_change (const struct line_map *);
-extern void c_parse_error (const char *, enum cpp_ttype, tree, unsigned char);
-
-/* In c-ppoutput.c  */
-extern void init_pp_output (FILE *);
-extern void preprocess_file (cpp_reader *);
-extern void pp_file_change (const struct line_map *);
-extern void pp_dir_change (cpp_reader *, const char *);
-extern bool check_missing_format_attribute (tree, tree);
-
-/* In c-omp.c  */
-extern tree c_finish_omp_master (location_t, tree);
-extern tree c_finish_omp_critical (location_t, tree, tree);
-extern tree c_finish_omp_ordered (location_t, tree);
-extern void c_finish_omp_barrier (location_t);
-extern tree c_finish_omp_atomic (location_t, enum tree_code, tree, tree);
-extern void c_finish_omp_flush (location_t);
-extern void c_finish_omp_taskwait (location_t);
-extern tree c_finish_omp_for (location_t, tree, tree, tree, tree, tree, tree);
-extern void c_split_parallel_clauses (location_t, tree, tree *, tree *);
-extern enum omp_clause_default_kind c_omp_predetermined_sharing (tree);
-
-/* Not in c-omp.c; provided by the front end.  */
-extern bool c_omp_sharing_predetermined (tree);
-extern tree c_omp_remap_decl (tree, bool);
-extern void record_types_used_by_current_var_decl (tree);
-
-#endif /* ! GCC_C_COMMON_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-family/c-common.def b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-family/c-common.def
deleted file mode 100644
index c7e01b6..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-family/c-common.def
+++ /dev/null
@@ -1,54 +0,0 @@
-/* This file contains the definitions and documentation for the
-   additional tree codes used in the GNU C compiler (see tree.def
-   for the standard codes).
-   Copyright (C) 1987, 1988, 1990, 1993, 1997, 1998,
-   1999, 2000, 2001, 2004, 2005, 2007, 2009, 2010
-   Free Software Foundation, Inc.
-   Written by Benjamin Chelf <chelf@codesourcery.com>
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-/* Tree nodes used in the C frontend.  These are also shared with the
-   C++ and Objective C frontends.  */
-
-/* A C_MAYBE_CONST_EXPR, currently only used for C and Objective C,
-   tracks information about constancy of an expression and VLA type
-   sizes or VM expressions from typeof that need to be evaluated
-   before the main expression.  It is used during parsing and removed
-   in c_fully_fold.  C_MAYBE_CONST_EXPR_PRE is the expression to
-   evaluate first, if not NULL; C_MAYBE_CONST_EXPR_EXPR is the main
-   expression.  If C_MAYBE_CONST_EXPR_INT_OPERANDS is set then the
-   expression may be used in an unevaluated part of an integer
-   constant expression, but not in an evaluated part.  If
-   C_MAYBE_CONST_EXPR_NON_CONST is set then the expression contains
-   something that cannot occur in an evaluated part of a constant
-   expression (or outside of sizeof in C90 mode); otherwise it does
-   not.  */
-DEFTREECODE (C_MAYBE_CONST_EXPR, "c_maybe_const_expr", tcc_expression, 2)
-
-/* An EXCESS_PRECISION_EXPR, currently only used for C and Objective
-   C, represents an expression evaluated in greater range or precision
-   than its type.  The type of the EXCESS_PRECISION_EXPR is the
-   semantic type while the operand represents what is actually being
-   evaluated.  */
-DEFTREECODE (EXCESS_PRECISION_EXPR, "excess_precision_expr", tcc_expression, 1)
-
-/*
-Local variables:
-mode:c
-End:
-*/
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-objc.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-objc.h
deleted file mode 100644
index e67eede..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-objc.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Definitions of Objective-C front-end entry points used for C and C++.
-   Copyright (C) 1987, 1993, 1994, 1995, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_C_COMMON_OBJC_H
-#define GCC_C_COMMON_OBJC_H
-
-/* ObjC ivar visibility types.  */
-typedef enum objc_ivar_visibility_kind {
-  OBJC_IVAR_VIS_PROTECTED = 0,
-  OBJC_IVAR_VIS_PUBLIC    = 1,
-  OBJC_IVAR_VIS_PRIVATE   = 2,
-  OBJC_IVAR_VIS_PACKAGE   = 3
-} objc_ivar_visibility_kind;
-
-/* Objective-C / Objective-C++ entry points.  */
-
-/* The following ObjC/ObjC++ functions are called by the C and/or C++
-   front-ends; they all must have corresponding stubs in stub-objc.c.  */
-extern void objc_write_global_declarations (void);
-extern tree objc_is_class_name (tree);
-extern tree objc_is_object_ptr (tree);
-extern void objc_check_decl (tree);
-extern void objc_check_global_decl (tree);
-extern tree objc_common_type (tree, tree);
-extern bool objc_compare_types (tree, tree, int, tree);
-extern bool objc_have_common_type (tree, tree, int, tree);
-extern bool objc_diagnose_private_ivar (tree);
-extern void objc_volatilize_decl (tree);
-extern tree objc_rewrite_function_call (tree, tree);
-extern tree objc_message_selector (void);
-extern tree objc_lookup_ivar (tree, tree);
-extern void objc_clear_super_receiver (void);
-extern int objc_is_public (tree, tree);
-extern tree objc_is_id (tree);
-extern void objc_declare_alias (tree, tree);
-extern void objc_declare_class (tree);
-extern void objc_declare_protocols (tree, tree);
-extern tree objc_build_message_expr (tree);
-extern tree objc_finish_message_expr (tree, tree, tree, tree*);
-extern tree objc_build_selector_expr (location_t, tree);
-extern tree objc_build_protocol_expr (tree);
-extern tree objc_build_encode_expr (tree);
-extern tree objc_build_string_object (tree);
-extern tree objc_get_protocol_qualified_type (tree, tree);
-extern tree objc_get_class_reference (tree);
-extern tree objc_get_class_ivars (tree);
-extern tree objc_get_interface_ivars (tree);
-extern void objc_start_class_interface (tree, tree, tree, tree);
-extern void objc_start_category_interface (tree, tree, tree, tree);
-extern void objc_start_protocol (tree, tree, tree);
-extern void objc_continue_interface (void);
-extern void objc_finish_interface (void);
-extern void objc_start_class_implementation (tree, tree);
-extern void objc_start_category_implementation (tree, tree);
-extern void objc_continue_implementation (void);
-extern void objc_finish_implementation (void);
-extern void objc_set_visibility (objc_ivar_visibility_kind);
-extern tree objc_build_method_signature (bool, tree, tree, tree, bool);
-extern void objc_add_method_declaration (bool, tree, tree);
-extern bool objc_start_method_definition (bool, tree, tree);
-extern void objc_finish_method_definition (tree);
-extern void objc_add_instance_variable (tree);
-extern tree objc_build_keyword_decl (tree, tree, tree, tree);
-extern tree objc_build_throw_stmt (location_t, tree);
-extern void objc_begin_try_stmt (location_t, tree);
-extern tree objc_finish_try_stmt (void);
-extern void objc_begin_catch_clause (tree);
-extern void objc_finish_catch_clause (void);
-extern void objc_build_finally_clause (location_t, tree);
-extern tree objc_build_synchronized (location_t, tree, tree);
-extern int objc_static_init_needed_p (void);
-extern tree objc_generate_static_init_call (tree);
-extern tree objc_generate_write_barrier (tree, enum tree_code, tree);
-extern void objc_set_method_opt (bool);
-extern void objc_finish_foreach_loop (location_t, tree, tree, tree, tree, tree);
-extern bool  objc_method_decl (enum tree_code);
-extern void objc_add_property_declaration (location_t, tree, bool, bool, bool, 
-					   bool, bool, bool, tree, tree);
-extern tree objc_maybe_build_component_ref (tree, tree);
-extern tree objc_build_class_component_ref (tree, tree);
-extern tree objc_maybe_build_modify_expr (tree, tree);
-extern tree objc_build_incr_expr_for_property_ref (location_t, enum tree_code, 
-						   tree, tree);
-extern void objc_add_synthesize_declaration (location_t, tree);
-extern void objc_add_dynamic_declaration (location_t, tree);
-extern const char * objc_maybe_printable_name (tree, int);
-extern bool objc_is_property_ref (tree);
-extern bool objc_string_ref_type_p (tree);
-extern void objc_check_format_arg (tree, tree);
-extern void objc_finish_function (void);
-extern void objc_maybe_warn_exceptions (location_t);
-
-/* The following are provided by the C and C++ front-ends, and called by
-   ObjC/ObjC++.  */
-extern void *objc_get_current_scope (void);
-extern void objc_mark_locals_volatile (void *);
-
-#endif /* ! GCC_C_COMMON_OBJC_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-pragma.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-pragma.h
deleted file mode 100644
index cec9cd1..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-pragma.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Pragma related interfaces.
-   Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-   2007, 2008, 2009, 2010  Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_C_PRAGMA_H
-#define GCC_C_PRAGMA_H
-
-#include "cpplib.h" /* For enum cpp_ttype.  */
-
-/* Pragma identifiers built in to the front end parsers.  Identifiers
-   for ancillary handlers will follow these.  */
-typedef enum pragma_kind {
-  PRAGMA_NONE = 0,
-
-  PRAGMA_OMP_ATOMIC,
-  PRAGMA_OMP_BARRIER,
-  PRAGMA_OMP_CRITICAL,
-  PRAGMA_OMP_FLUSH,
-  PRAGMA_OMP_FOR,
-  PRAGMA_OMP_MASTER,
-  PRAGMA_OMP_ORDERED,
-  PRAGMA_OMP_PARALLEL,
-  PRAGMA_OMP_PARALLEL_FOR,
-  PRAGMA_OMP_PARALLEL_SECTIONS,
-  PRAGMA_OMP_SECTION,
-  PRAGMA_OMP_SECTIONS,
-  PRAGMA_OMP_SINGLE,
-  PRAGMA_OMP_TASK,
-  PRAGMA_OMP_TASKWAIT,
-  PRAGMA_OMP_THREADPRIVATE,
-
-  PRAGMA_GCC_PCH_PREPROCESS,
-
-  PRAGMA_FIRST_EXTERNAL
-} pragma_kind;
-
-
-/* All clauses defined by OpenMP 2.5 and 3.0.
-   Used internally by both C and C++ parsers.  */
-typedef enum pragma_omp_clause {
-  PRAGMA_OMP_CLAUSE_NONE = 0,
-
-  PRAGMA_OMP_CLAUSE_COLLAPSE,
-  PRAGMA_OMP_CLAUSE_COPYIN,
-  PRAGMA_OMP_CLAUSE_COPYPRIVATE,
-  PRAGMA_OMP_CLAUSE_DEFAULT,
-  PRAGMA_OMP_CLAUSE_FIRSTPRIVATE,
-  PRAGMA_OMP_CLAUSE_IF,
-  PRAGMA_OMP_CLAUSE_LASTPRIVATE,
-  PRAGMA_OMP_CLAUSE_NOWAIT,
-  PRAGMA_OMP_CLAUSE_NUM_THREADS,
-  PRAGMA_OMP_CLAUSE_ORDERED,
-  PRAGMA_OMP_CLAUSE_PRIVATE,
-  PRAGMA_OMP_CLAUSE_REDUCTION,
-  PRAGMA_OMP_CLAUSE_SCHEDULE,
-  PRAGMA_OMP_CLAUSE_SHARED,
-  PRAGMA_OMP_CLAUSE_UNTIED
-} pragma_omp_clause;
-
-extern struct cpp_reader* parse_in;
-
-/* It's safe to always leave visibility pragma enabled as if
-   visibility is not supported on the host OS platform the
-   statements are ignored.  */
-extern void push_visibility (const char *, int);
-extern bool pop_visibility (int);
-
-extern void init_pragma (void);
-
-/* Front-end wrappers for pragma registration.  */
-typedef void (*pragma_handler)(struct cpp_reader *);
-extern void c_register_pragma (const char *, const char *, pragma_handler);
-extern void c_register_pragma_with_expansion (const char *, const char *,
-					      pragma_handler);
-extern void c_invoke_pragma_handler (unsigned int);
-
-extern void maybe_apply_pragma_weak (tree);
-extern void maybe_apply_pending_pragma_weaks (void);
-extern tree maybe_apply_renaming_pragma (tree, tree);
-extern void add_to_renaming_pragma_list (tree, tree);
-
-extern enum cpp_ttype pragma_lex (tree *);
-
-/* Flags for use with c_lex_with_flags.  The values here were picked
-   so that 0 means to translate and join strings.  */
-#define C_LEX_STRING_NO_TRANSLATE 1 /* Do not lex strings into
-				       execution character set.  */
-#define C_LEX_STRING_NO_JOIN	  2 /* Do not concatenate strings
-				       nor translate them into execution
-				       character set.  */
-
-/* This is not actually available to pragma parsers.  It's merely a
-   convenient location to declare this function for c-lex, after
-   having enum cpp_ttype declared.  */
-extern enum cpp_ttype c_lex_with_flags (tree *, location_t *, unsigned char *,
-					int);
-
-extern void c_pp_lookup_pragma (unsigned int, const char **, const char **);
-
-#endif /* GCC_C_PRAGMA_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-pretty-print.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-pretty-print.h
deleted file mode 100644
index f0daa4a..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/c-pretty-print.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/* Various declarations for the C and C++ pretty-printers.
-   Copyright (C) 2002, 2003, 2004, 2007, 2009, 2010
-   Free Software Foundation, Inc.
-   Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_C_PRETTY_PRINTER
-#define GCC_C_PRETTY_PRINTER
-
-#include "tree.h"
-#include "c-common.h"
-#include "pretty-print.h"
-
-
-typedef enum
-  {
-     pp_c_flag_abstract = 1 << 1,
-     pp_c_flag_last_bit = 2
-  } pp_c_pretty_print_flags;
-
-
-/* The data type used to bundle information necessary for pretty-printing
-   a C or C++ entity.  */
-typedef struct c_pretty_print_info c_pretty_printer;
-
-/* The type of a C pretty-printer 'member' function.  */
-typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree);
-
-/* The datatype that contains information necessary for pretty-printing
-   a tree that represents a C construct.  Any pretty-printer for a
-   language using C/c++ syntax can derive from this datatype and reuse
-   facilities provided here.  It can do so by having a subobject of type
-   c_pretty_printer and override the macro pp_c_base to return a pointer
-   to that subobject.  Such a pretty-printer has the responsibility to
-   initialize the pp_base() part, then call pp_c_pretty_printer_init
-   to set up the components that are specific to the C pretty-printer.
-   A derived pretty-printer can override any function listed in the
-   vtable below.  See cp/cxx-pretty-print.h and cp/cxx-pretty-print.c
-   for an example of derivation.  */
-struct c_pretty_print_info
-{
-  pretty_printer base;
-  /* Points to the first element of an array of offset-list.
-     Not used yet.  */
-  int *offset_list;
-
-  pp_flags flags;
-
-  /* These must be overridden by each of the C and C++ front-end to
-     reflect their understanding of syntactic productions when they differ.  */
-  c_pretty_print_fn declaration;
-  c_pretty_print_fn declaration_specifiers;
-  c_pretty_print_fn declarator;
-  c_pretty_print_fn abstract_declarator;
-  c_pretty_print_fn direct_abstract_declarator;
-  c_pretty_print_fn type_specifier_seq;
-  c_pretty_print_fn direct_declarator;
-  c_pretty_print_fn ptr_operator;
-  c_pretty_print_fn parameter_list;
-  c_pretty_print_fn type_id;
-  c_pretty_print_fn simple_type_specifier;
-  c_pretty_print_fn function_specifier;
-  c_pretty_print_fn storage_class_specifier;
-  c_pretty_print_fn initializer;
-
-  c_pretty_print_fn statement;
-
-  c_pretty_print_fn constant;
-  c_pretty_print_fn id_expression;
-  c_pretty_print_fn primary_expression;
-  c_pretty_print_fn postfix_expression;
-  c_pretty_print_fn unary_expression;
-  c_pretty_print_fn multiplicative_expression;
-  c_pretty_print_fn conditional_expression;
-  c_pretty_print_fn assignment_expression;
-  c_pretty_print_fn expression;
-};
-
-/* Override the pp_base macro.  Derived pretty-printers should not
-   touch this macro.  Instead they should override pp_c_base instead.  */
-#undef pp_base
-#define pp_base(PP)  (&pp_c_base (PP)->base)
-
-
-#define pp_c_tree_identifier(PPI, ID)              \
-   pp_c_identifier (PPI, IDENTIFIER_POINTER (ID))
-
-#define pp_declaration(PPI, T)                    \
-   pp_c_base (PPI)->declaration (pp_c_base (PPI), T)
-#define pp_declaration_specifiers(PPI, D)         \
-   pp_c_base (PPI)->declaration_specifiers (pp_c_base (PPI), D)
-#define pp_abstract_declarator(PP, D)             \
-   pp_c_base (PP)->abstract_declarator (pp_c_base (PP), D)
-#define pp_type_specifier_seq(PPI, D)             \
-   pp_c_base (PPI)->type_specifier_seq (pp_c_base (PPI), D)
-#define pp_declarator(PPI, D)                     \
-   pp_c_base (PPI)->declarator (pp_c_base (PPI), D)
-#define pp_direct_declarator(PPI, D)              \
-   pp_c_base (PPI)->direct_declarator (pp_c_base (PPI), D)
-#define pp_direct_abstract_declarator(PP, D)      \
-   pp_c_base (PP)->direct_abstract_declarator (pp_c_base (PP), D)
-#define pp_ptr_operator(PP, D)                    \
-   pp_c_base (PP)->ptr_operator (pp_c_base (PP), D)
-#define pp_parameter_list(PPI, T)                 \
-  pp_c_base (PPI)->parameter_list (pp_c_base (PPI), T)
-#define pp_type_id(PPI, D)                        \
-  pp_c_base (PPI)->type_id (pp_c_base (PPI), D)
-#define pp_simple_type_specifier(PP, T)           \
-  pp_c_base (PP)->simple_type_specifier (pp_c_base (PP), T)
-#define pp_function_specifier(PP, D)              \
-  pp_c_base (PP)->function_specifier (pp_c_base (PP), D)
-#define pp_storage_class_specifier(PP, D)         \
-  pp_c_base (PP)->storage_class_specifier (pp_c_base (PP), D);
-
-#define pp_statement(PPI, S)                      \
-  pp_c_base (PPI)->statement (pp_c_base (PPI), S)
-
-#define pp_constant(PP, E) \
-  pp_c_base (PP)->constant (pp_c_base (PP), E)
-#define pp_id_expression(PP, E)  \
-  pp_c_base (PP)->id_expression (pp_c_base (PP), E)
-#define pp_primary_expression(PPI, E)             \
-  pp_c_base (PPI)->primary_expression (pp_c_base (PPI), E)
-#define pp_postfix_expression(PPI, E)             \
-  pp_c_base (PPI)->postfix_expression (pp_c_base (PPI), E)
-#define pp_unary_expression(PPI, E)               \
-  pp_c_base (PPI)->unary_expression (pp_c_base (PPI), E)
-#define pp_initializer(PPI, E)                    \
-  pp_c_base (PPI)->initializer (pp_c_base (PPI), E)
-#define pp_multiplicative_expression(PPI, E)      \
-  pp_c_base (PPI)->multiplicative_expression (pp_c_base (PPI), E)
-#define pp_conditional_expression(PPI, E)         \
-  pp_c_base (PPI)->conditional_expression (pp_c_base (PPI), E)
-#define pp_assignment_expression(PPI, E)          \
-   pp_c_base (PPI)->assignment_expression (pp_c_base (PPI), E)
-#define pp_expression(PP, E)                      \
-   pp_c_base (PP)->expression (pp_c_base (PP), E)
-
-
-/* Returns the c_pretty_printer base object of PRETTY-PRINTER.  This
-   macro must be overridden by any subclass of c_pretty_print_info.  */
-#define pp_c_base(PP)  (PP)
-
-extern void pp_c_pretty_printer_init (c_pretty_printer *);
-void pp_c_whitespace (c_pretty_printer *);
-void pp_c_left_paren (c_pretty_printer *);
-void pp_c_right_paren (c_pretty_printer *);
-void pp_c_left_brace (c_pretty_printer *);
-void pp_c_right_brace (c_pretty_printer *);
-void pp_c_left_bracket (c_pretty_printer *);
-void pp_c_right_bracket (c_pretty_printer *);
-void pp_c_dot (c_pretty_printer *);
-void pp_c_ampersand (c_pretty_printer *);
-void pp_c_star (c_pretty_printer *);
-void pp_c_arrow (c_pretty_printer *);
-void pp_c_semicolon (c_pretty_printer *);
-void pp_c_complement (c_pretty_printer *);
-void pp_c_exclamation (c_pretty_printer *);
-void pp_c_space_for_pointer_operator (c_pretty_printer *, tree);
-
-/* Declarations.  */
-void pp_c_tree_decl_identifier (c_pretty_printer *, tree);
-void pp_c_function_definition (c_pretty_printer *, tree);
-void pp_c_attributes (c_pretty_printer *, tree);
-void pp_c_cv_qualifiers (c_pretty_printer *pp, int qualifiers, bool func_type);
-void pp_c_type_qualifier_list (c_pretty_printer *, tree);
-void pp_c_parameter_type_list (c_pretty_printer *, tree);
-void pp_c_declaration (c_pretty_printer *, tree);
-void pp_c_declaration_specifiers (c_pretty_printer *, tree);
-void pp_c_declarator (c_pretty_printer *, tree);
-void pp_c_direct_declarator (c_pretty_printer *, tree);
-void pp_c_specifier_qualifier_list (c_pretty_printer *, tree);
-void pp_c_function_specifier (c_pretty_printer *, tree);
-void pp_c_type_id (c_pretty_printer *, tree);
-void pp_c_direct_abstract_declarator (c_pretty_printer *, tree);
-void pp_c_type_specifier (c_pretty_printer *, tree);
-void pp_c_storage_class_specifier (c_pretty_printer *, tree);
-/* Statements.  */
-void pp_c_statement (c_pretty_printer *, tree);
-/* Expressions.  */
-void pp_c_expression (c_pretty_printer *, tree);
-void pp_c_logical_or_expression (c_pretty_printer *, tree);
-void pp_c_expression_list (c_pretty_printer *, tree);
-void pp_c_constructor_elts (c_pretty_printer *, VEC(constructor_elt,gc) *);
-void pp_c_call_argument_list (c_pretty_printer *, tree);
-void pp_c_unary_expression (c_pretty_printer *, tree);
-void pp_c_cast_expression (c_pretty_printer *, tree);
-void pp_c_postfix_expression (c_pretty_printer *, tree);
-void pp_c_primary_expression (c_pretty_printer *, tree);
-void pp_c_init_declarator (c_pretty_printer *, tree);
-void pp_c_constant (c_pretty_printer *, tree);
-void pp_c_id_expression (c_pretty_printer *, tree);
-void pp_c_ws_string (c_pretty_printer *, const char *);
-void pp_c_identifier (c_pretty_printer *, const char *);
-void pp_c_string_literal (c_pretty_printer *, tree);
-
-void print_c_tree (FILE *file, tree t);
-
-#endif /* GCC_C_PRETTY_PRINTER */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cfghooks.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cfghooks.h
deleted file mode 100644
index 5741768..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cfghooks.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/* Hooks for cfg representation specific functions.
-   Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
-   Free Software Foundation, Inc.
-   Contributed by Sebastian Pop <s.pop@laposte.net>
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_CFGHOOKS_H
-#define GCC_CFGHOOKS_H
-
-struct cfg_hooks
-{
-  /* Name of the corresponding ir.  */
-  const char *name;
-
-  /* Debugging.  */
-  int (*verify_flow_info) (void);
-  void (*dump_bb) (basic_block, FILE *, int, int);
-
-  /* Basic CFG manipulation.  */
-
-  /* Return new basic block.  */
-  basic_block (*create_basic_block) (void *head, void *end, basic_block after);
-
-  /* Redirect edge E to the given basic block B and update underlying program
-     representation.  Returns edge representing redirected branch (that may not
-     be equivalent to E in the case of duplicate edges being removed) or NULL
-     if edge is not easily redirectable for whatever reason.  */
-  edge (*redirect_edge_and_branch) (edge e, basic_block b);
-
-  /* Same as the above but allows redirecting of fallthru edges.  In that case
-     newly created forwarder basic block is returned.  The edge must
-     not be abnormal.  */
-  basic_block (*redirect_edge_and_branch_force) (edge, basic_block);
-
-  /* Returns true if it is possible to remove the edge by redirecting it
-     to the destination of the other edge going from its source.  */
-  bool (*can_remove_branch_p) (const_edge);
-
-  /* Remove statements corresponding to a given basic block.  */
-  void (*delete_basic_block) (basic_block);
-
-  /* Creates a new basic block just after basic block B by splitting
-     everything after specified instruction I.  */
-  basic_block (*split_block) (basic_block b, void * i);
-
-  /* Move block B immediately after block A.  */
-  bool (*move_block_after) (basic_block b, basic_block a);
-
-  /* Return true when blocks A and B can be merged into single basic block.  */
-  bool (*can_merge_blocks_p) (basic_block a, basic_block b);
-
-  /* Merge blocks A and B.  */
-  void (*merge_blocks) (basic_block a, basic_block b);
-
-  /* Predict edge E using PREDICTOR to given PROBABILITY.  */
-  void (*predict_edge) (edge e, enum br_predictor predictor, int probability);
-
-  /* Return true if the one of outgoing edges is already predicted by
-     PREDICTOR.  */
-  bool (*predicted_by_p) (const_basic_block bb, enum br_predictor predictor);
-
-  /* Return true when block A can be duplicated.  */
-  bool (*can_duplicate_block_p) (const_basic_block a);
-
-  /* Duplicate block A.  */
-  basic_block (*duplicate_block) (basic_block a);
-
-  /* Higher level functions representable by primitive operations above if
-     we didn't have some oddities in RTL and Tree representations.  */
-  basic_block (*split_edge) (edge);
-  void (*make_forwarder_block) (edge);
-
-  /* Tries to make the edge fallthru.  */
-  void (*tidy_fallthru_edge) (edge);
-
-  /* Say whether a block ends with a call, possibly followed by some
-     other code that must stay with the call.  */
-  bool (*block_ends_with_call_p) (basic_block);
-
-  /* Say whether a block ends with a conditional branch.  Switches
-     and unconditional branches do not qualify.  */
-  bool (*block_ends_with_condjump_p) (const_basic_block);
-
-  /* Add fake edges to the function exit for any non constant and non noreturn
-     calls, volatile inline assembly in the bitmap of blocks specified by
-     BLOCKS or to the whole CFG if BLOCKS is zero.  Return the number of blocks
-     that were split.
-
-     The goal is to expose cases in which entering a basic block does not imply
-     that all subsequent instructions must be executed.  */
-  int (*flow_call_edges_add) (sbitmap);
-
-  /* This function is called immediately after edge E is added to the
-     edge vector E->dest->preds.  */
-  void (*execute_on_growing_pred) (edge);
-
-  /* This function is called immediately before edge E is removed from
-     the edge vector E->dest->preds.  */
-  void (*execute_on_shrinking_pred) (edge);
-
-  /* A hook for duplicating loop in CFG, currently this is used
-     in loop versioning.  */
-  bool (*cfg_hook_duplicate_loop_to_header_edge) (struct loop *, edge,
-						  unsigned, sbitmap,
-						  edge, VEC (edge, heap) **,
-						  int);
-
-  /* Add condition to new basic block and update CFG used in loop
-     versioning.  */
-  void (*lv_add_condition_to_bb) (basic_block, basic_block, basic_block,
-				  void *);
-  /* Update the PHI nodes in case of loop versioning.  */
-  void (*lv_adjust_loop_header_phi) (basic_block, basic_block,
-				     basic_block, edge);
-
-  /* Given a condition BB extract the true/false taken/not taken edges
-     (depending if we are on tree's or RTL). */
-  void (*extract_cond_bb_edges) (basic_block, edge *, edge *);
-
-
-  /* Add PHI arguments queued in PENDINT_STMT list on edge E to edge
-     E->dest (only in tree-ssa loop versioning.  */
-  void (*flush_pending_stmts) (edge);
-};
-
-extern void verify_flow_info (void);
-extern void dump_bb (basic_block, FILE *, int);
-extern edge redirect_edge_and_branch (edge, basic_block);
-extern basic_block redirect_edge_and_branch_force (edge, basic_block);
-extern bool can_remove_branch_p (const_edge);
-extern void remove_branch (edge);
-extern void remove_edge (edge);
-extern edge split_block (basic_block, void *);
-extern edge split_block_after_labels (basic_block);
-extern bool move_block_after (basic_block, basic_block);
-extern void delete_basic_block (basic_block);
-extern basic_block split_edge (edge);
-extern basic_block create_basic_block (void *, void *, basic_block);
-extern basic_block create_empty_bb (basic_block);
-extern bool can_merge_blocks_p (basic_block, basic_block);
-extern void merge_blocks (basic_block, basic_block);
-extern edge make_forwarder_block (basic_block, bool (*)(edge),
-				  void (*) (basic_block));
-extern void tidy_fallthru_edge (edge);
-extern void tidy_fallthru_edges (void);
-extern void predict_edge (edge e, enum br_predictor predictor, int probability);
-extern bool predicted_by_p (const_basic_block bb, enum br_predictor predictor);
-extern bool can_duplicate_block_p (const_basic_block);
-extern basic_block duplicate_block (basic_block, edge, basic_block);
-extern bool block_ends_with_call_p (basic_block bb);
-extern bool block_ends_with_condjump_p (const_basic_block bb);
-extern int flow_call_edges_add (sbitmap);
-extern void execute_on_growing_pred (edge);
-extern void execute_on_shrinking_pred (edge);
-extern bool cfg_hook_duplicate_loop_to_header_edge (struct loop *loop, edge,
-						    unsigned int ndupl,
-						    sbitmap wont_exit,
-						    edge orig,
-						    VEC (edge, heap) **to_remove,
-						    int flags);
-
-extern void lv_flush_pending_stmts (edge);
-extern void extract_cond_bb_edges (basic_block, edge *, edge*);
-extern void lv_adjust_loop_header_phi (basic_block, basic_block, basic_block,
-				       edge);
-extern void lv_add_condition_to_bb (basic_block, basic_block, basic_block,
-				    void *);
-
-/* Hooks containers.  */
-extern struct cfg_hooks gimple_cfg_hooks;
-extern struct cfg_hooks rtl_cfg_hooks;
-extern struct cfg_hooks cfg_layout_rtl_cfg_hooks;
-
-/* Declarations.  */
-extern enum ir_type current_ir_type (void);
-extern void rtl_register_cfg_hooks (void);
-extern void cfg_layout_rtl_register_cfg_hooks (void);
-extern void gimple_register_cfg_hooks (void);
-extern struct cfg_hooks get_cfg_hooks (void);
-extern void set_cfg_hooks (struct cfg_hooks);
-
-#endif  /* GCC_CFGHOOKS_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cfgloop.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cfgloop.h
deleted file mode 100644
index 0ff44de..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cfgloop.h
+++ /dev/null
@@ -1,693 +0,0 @@
-/* Natural loop functions
-   Copyright (C) 1987, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-   2005, 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_CFGLOOP_H
-#define GCC_CFGLOOP_H
-
-#include "basic-block.h"
-/* For rtx_code.  */
-#include "rtl.h"
-#include "vecprim.h"
-#include "double-int.h"
-
-#include "bitmap.h"
-#include "sbitmap.h"
-
-/* Structure to hold decision about unrolling/peeling.  */
-enum lpt_dec
-{
-  LPT_NONE,
-  LPT_PEEL_COMPLETELY,
-  LPT_PEEL_SIMPLE,
-  LPT_UNROLL_CONSTANT,
-  LPT_UNROLL_RUNTIME,
-  LPT_UNROLL_STUPID
-};
-
-struct GTY (()) lpt_decision {
-  enum lpt_dec decision;
-  unsigned times;
-};
-
-/* The structure describing a bound on number of iterations of a loop.  */
-
-struct GTY ((chain_next ("%h.next"))) nb_iter_bound {
-  /* The statement STMT is executed at most ...  */
-  gimple stmt;
-
-  /* ... BOUND + 1 times (BOUND must be an unsigned constant).
-     The + 1 is added for the following reasons:
-
-     a) 0 would otherwise be unused, while we would need to care more about
-        overflows (as MAX + 1 is sometimes produced as the estimate on number
-	of executions of STMT).
-     b) it is consistent with the result of number_of_iterations_exit.  */
-  double_int bound;
-
-  /* True if the statement will cause the loop to be leaved the (at most)
-     BOUND + 1-st time it is executed, that is, all the statements after it
-     are executed at most BOUND times.  */
-  bool is_exit;
-
-  /* The next bound in the list.  */
-  struct nb_iter_bound *next;
-};
-
-/* Description of the loop exit.  */
-
-struct GTY (()) loop_exit {
-  /* The exit edge.  */
-  struct edge_def *e;
-
-  /* Previous and next exit in the list of the exits of the loop.  */
-  struct loop_exit *prev;
-  struct loop_exit *next;
-
-  /* Next element in the list of loops from that E exits.  */
-  struct loop_exit *next_e;
-};
-
-typedef struct loop *loop_p;
-DEF_VEC_P (loop_p);
-DEF_VEC_ALLOC_P (loop_p, heap);
-DEF_VEC_ALLOC_P (loop_p, gc);
-
-/* An integer estimation of the number of iterations.  Estimate_state
-   describes what is the state of the estimation.  */
-enum loop_estimation
-{
-  /* Estimate was not computed yet.  */
-  EST_NOT_COMPUTED,
-  /* Estimate is ready.  */
-  EST_AVAILABLE
-};
-
-/* Structure to hold information for each natural loop.  */
-struct GTY ((chain_next ("%h.next"))) loop {
-  /* Index into loops array.  */
-  int num;
-
-  /* Number of loop insns.  */
-  unsigned ninsns;
-
-  /* Basic block of loop header.  */
-  struct basic_block_def *header;
-
-  /* Basic block of loop latch.  */
-  struct basic_block_def *latch;
-
-  /* For loop unrolling/peeling decision.  */
-  struct lpt_decision lpt_decision;
-
-  /* Average number of executed insns per iteration.  */
-  unsigned av_ninsns;
-
-  /* Number of blocks contained within the loop.  */
-  unsigned num_nodes;
-
-  /* Superloops of the loop, starting with the outermost loop.  */
-  VEC (loop_p, gc) *superloops;
-
-  /* The first inner (child) loop or NULL if innermost loop.  */
-  struct loop *inner;
-
-  /* Link to the next (sibling) loop.  */
-  struct loop *next;
-
-  /* Auxiliary info specific to a pass.  */
-  PTR GTY ((skip (""))) aux;
-
-  /* The number of times the latch of the loop is executed.  This can be an
-     INTEGER_CST, or a symbolic expression representing the number of
-     iterations like "N - 1", or a COND_EXPR containing the runtime
-     conditions under which the number of iterations is non zero.
-
-     Don't access this field directly: number_of_latch_executions
-     computes and caches the computed information in this field.  */
-  tree nb_iterations;
-
-  /* An integer guaranteed to bound the number of iterations of the loop
-     from above.  */
-  double_int nb_iterations_upper_bound;
-
-  /* An integer giving the expected number of iterations of the loop.  */
-  double_int nb_iterations_estimate;
-
-  bool any_upper_bound;
-  bool any_estimate;
-
-  /* True if the loop can be parallel.  */
-  bool can_be_parallel;
-
-  /* An integer estimation of the number of iterations.  Estimate_state
-     describes what is the state of the estimation.  */
-  enum loop_estimation estimate_state;
-
-  /* Upper bound on number of iterations of a loop.  */
-  struct nb_iter_bound *bounds;
-
-  /* Head of the cyclic list of the exits of the loop.  */
-  struct loop_exit *exits;
-};
-
-/* Flags for state of loop structure.  */
-enum
-{
-  LOOPS_HAVE_PREHEADERS = 1,
-  LOOPS_HAVE_SIMPLE_LATCHES = 2,
-  LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS = 4,
-  LOOPS_HAVE_RECORDED_EXITS = 8,
-  LOOPS_MAY_HAVE_MULTIPLE_LATCHES = 16,
-  LOOP_CLOSED_SSA = 32,
-  LOOPS_NEED_FIXUP = 64,
-  LOOPS_HAVE_FALLTHRU_PREHEADERS = 128
-};
-
-#define LOOPS_NORMAL (LOOPS_HAVE_PREHEADERS | LOOPS_HAVE_SIMPLE_LATCHES \
-		      | LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS)
-#define AVOID_CFG_MODIFICATIONS (LOOPS_MAY_HAVE_MULTIPLE_LATCHES)
-
-/* Structure to hold CFG information about natural loops within a function.  */
-struct GTY (()) loops {
-  /* State of loops.  */
-  int state;
-
-  /* Array of the loops.  */
-  VEC (loop_p, gc) *larray;
-
-  /* Maps edges to the list of their descriptions as loop exits.  Edges
-     whose sources or destinations have loop_father == NULL (which may
-     happen during the cfg manipulations) should not appear in EXITS.  */
-  htab_t GTY((param_is (struct loop_exit))) exits;
-
-  /* Pointer to root of loop hierarchy tree.  */
-  struct loop *tree_root;
-};
-
-/* Loop recognition.  */
-extern int flow_loops_find (struct loops *);
-extern void disambiguate_loops_with_multiple_latches (void);
-extern void flow_loops_free (struct loops *);
-extern void flow_loops_dump (FILE *,
-			     void (*)(const struct loop *, FILE *, int), int);
-extern void flow_loop_dump (const struct loop *, FILE *,
-			    void (*)(const struct loop *, FILE *, int), int);
-struct loop *alloc_loop (void);
-extern void flow_loop_free (struct loop *);
-int flow_loop_nodes_find (basic_block, struct loop *);
-void fix_loop_structure (bitmap changed_bbs);
-bool mark_irreducible_loops (void);
-void release_recorded_exits (void);
-void record_loop_exits (void);
-void rescan_loop_exit (edge, bool, bool);
-
-/* Loop data structure manipulation/querying.  */
-extern void flow_loop_tree_node_add (struct loop *, struct loop *);
-extern void flow_loop_tree_node_remove (struct loop *);
-extern void add_loop (struct loop *, struct loop *);
-extern bool flow_loop_nested_p	(const struct loop *, const struct loop *);
-extern bool flow_bb_inside_loop_p (const struct loop *, const_basic_block);
-extern struct loop * find_common_loop (struct loop *, struct loop *);
-struct loop *superloop_at_depth (struct loop *, unsigned);
-struct eni_weights_d;
-extern unsigned tree_num_loop_insns (struct loop *, struct eni_weights_d *);
-extern int num_loop_insns (const struct loop *);
-extern int average_num_loop_insns (const struct loop *);
-extern unsigned get_loop_level (const struct loop *);
-extern bool loop_exit_edge_p (const struct loop *, const_edge);
-extern bool loop_exits_to_bb_p (struct loop *, basic_block);
-extern bool loop_exits_from_bb_p (struct loop *, basic_block);
-extern void mark_loop_exit_edges (void);
-
-/* Loops & cfg manipulation.  */
-extern basic_block *get_loop_body (const struct loop *);
-extern unsigned get_loop_body_with_size (const struct loop *, basic_block *,
-					 unsigned);
-extern basic_block *get_loop_body_in_dom_order (const struct loop *);
-extern basic_block *get_loop_body_in_bfs_order (const struct loop *);
-extern basic_block *get_loop_body_in_custom_order (const struct loop *,
-			       int (*) (const void *, const void *));
-
-extern VEC (edge, heap) *get_loop_exit_edges (const struct loop *);
-edge single_exit (const struct loop *);
-extern unsigned num_loop_branches (const struct loop *);
-
-extern edge loop_preheader_edge (const struct loop *);
-extern edge loop_latch_edge (const struct loop *);
-
-extern void add_bb_to_loop (basic_block, struct loop *);
-extern void remove_bb_from_loops (basic_block);
-
-extern void cancel_loop_tree (struct loop *);
-extern void delete_loop (struct loop *);
-
-enum
-{
-  CP_SIMPLE_PREHEADERS = 1,
-  CP_FALLTHRU_PREHEADERS = 2
-};
-
-basic_block create_preheader (struct loop *, int);
-extern void create_preheaders (int);
-extern void force_single_succ_latches (void);
-
-extern void verify_loop_structure (void);
-
-/* Loop analysis.  */
-extern bool just_once_each_iteration_p (const struct loop *, const_basic_block);
-gcov_type expected_loop_iterations_unbounded (const struct loop *);
-extern unsigned expected_loop_iterations (const struct loop *);
-extern rtx doloop_condition_get (rtx);
-
-void estimate_numbers_of_iterations_loop (struct loop *, bool);
-HOST_WIDE_INT estimated_loop_iterations_int (struct loop *, bool);
-bool estimated_loop_iterations (struct loop *, bool, double_int *);
-
-/* Loop manipulation.  */
-extern bool can_duplicate_loop_p (const struct loop *loop);
-
-#define DLTHE_FLAG_UPDATE_FREQ	1	/* Update frequencies in
-					   duplicate_loop_to_header_edge.  */
-#define DLTHE_RECORD_COPY_NUMBER 2	/* Record copy number in the aux
-					   field of newly create BB.  */
-#define DLTHE_FLAG_COMPLETTE_PEEL 4	/* Update frequencies expecting
-					   a complete peeling.  */
-
-extern edge create_empty_if_region_on_edge (edge, tree);
-extern struct loop *create_empty_loop_on_edge (edge, tree, tree, tree, tree,
-					       tree *, tree *, struct loop *);
-extern struct loop * duplicate_loop (struct loop *, struct loop *);
-extern void duplicate_subloops (struct loop *, struct loop *);
-extern bool duplicate_loop_to_header_edge (struct loop *, edge,
-					   unsigned, sbitmap, edge,
- 					   VEC (edge, heap) **, int);
-extern struct loop *loopify (edge, edge,
-			     basic_block, edge, edge, bool,
-			     unsigned, unsigned);
-struct loop * loop_version (struct loop *, void *,
-			    basic_block *, unsigned, unsigned, unsigned, bool);
-extern bool remove_path (edge);
-void scale_loop_frequencies (struct loop *, int, int);
-
-/* Induction variable analysis.  */
-
-/* The description of induction variable.  The things are a bit complicated
-   due to need to handle subregs and extends.  The value of the object described
-   by it can be obtained as follows (all computations are done in extend_mode):
-
-   Value in i-th iteration is
-     delta + mult * extend_{extend_mode} (subreg_{mode} (base + i * step)).
-
-   If first_special is true, the value in the first iteration is
-     delta + mult * base
-
-   If extend = UNKNOWN, first_special must be false, delta 0, mult 1 and value is
-     subreg_{mode} (base + i * step)
-
-   The get_iv_value function can be used to obtain these expressions.
-
-   ??? Add a third mode field that would specify the mode in that inner
-   computation is done, which would enable it to be different from the
-   outer one?  */
-
-struct rtx_iv
-{
-  /* Its base and step (mode of base and step is supposed to be extend_mode,
-     see the description above).  */
-  rtx base, step;
-
-  /* The type of extend applied to it (SIGN_EXTEND, ZERO_EXTEND or UNKNOWN).  */
-  enum rtx_code extend;
-
-  /* Operations applied in the extended mode.  */
-  rtx delta, mult;
-
-  /* The mode it is extended to.  */
-  enum machine_mode extend_mode;
-
-  /* The mode the variable iterates in.  */
-  enum machine_mode mode;
-
-  /* Whether the first iteration needs to be handled specially.  */
-  unsigned first_special : 1;
-};
-
-/* The description of an exit from the loop and of the number of iterations
-   till we take the exit.  */
-
-struct niter_desc
-{
-  /* The edge out of the loop.  */
-  edge out_edge;
-
-  /* The other edge leading from the condition.  */
-  edge in_edge;
-
-  /* True if we are able to say anything about number of iterations of the
-     loop.  */
-  bool simple_p;
-
-  /* True if the loop iterates the constant number of times.  */
-  bool const_iter;
-
-  /* Number of iterations if constant.  */
-  unsigned HOST_WIDEST_INT niter;
-
-  /* Upper bound on the number of iterations.  */
-  unsigned HOST_WIDEST_INT niter_max;
-
-  /* Assumptions under that the rest of the information is valid.  */
-  rtx assumptions;
-
-  /* Assumptions under that the loop ends before reaching the latch,
-     even if value of niter_expr says otherwise.  */
-  rtx noloop_assumptions;
-
-  /* Condition under that the loop is infinite.  */
-  rtx infinite;
-
-  /* Whether the comparison is signed.  */
-  bool signed_p;
-
-  /* The mode in that niter_expr should be computed.  */
-  enum machine_mode mode;
-
-  /* The number of iterations of the loop.  */
-  rtx niter_expr;
-};
-
-extern void iv_analysis_loop_init (struct loop *);
-extern bool iv_analyze (rtx, rtx, struct rtx_iv *);
-extern bool iv_analyze_result (rtx, rtx, struct rtx_iv *);
-extern bool iv_analyze_expr (rtx, rtx, enum machine_mode, struct rtx_iv *);
-extern rtx get_iv_value (struct rtx_iv *, rtx);
-extern bool biv_p (rtx, rtx);
-extern void find_simple_exit (struct loop *, struct niter_desc *);
-extern void iv_analysis_done (void);
-
-extern struct niter_desc *get_simple_loop_desc (struct loop *loop);
-extern void free_simple_loop_desc (struct loop *loop);
-
-static inline struct niter_desc *
-simple_loop_desc (struct loop *loop)
-{
-  return (struct niter_desc *) loop->aux;
-}
-
-/* Accessors for the loop structures.  */
-
-/* Returns the loop with index NUM from current_loops.  */
-
-static inline struct loop *
-get_loop (unsigned num)
-{
-  return VEC_index (loop_p, current_loops->larray, num);
-}
-
-/* Returns the number of superloops of LOOP.  */
-
-static inline unsigned
-loop_depth (const struct loop *loop)
-{
-  return VEC_length (loop_p, loop->superloops);
-}
-
-/* Returns the immediate superloop of LOOP, or NULL if LOOP is the outermost
-   loop.  */
-
-static inline struct loop *
-loop_outer (const struct loop *loop)
-{
-  unsigned n = VEC_length (loop_p, loop->superloops);
-
-  if (n == 0)
-    return NULL;
-
-  return VEC_index (loop_p, loop->superloops, n - 1);
-}
-
-/* Returns true if LOOP has at least one exit edge.  */
-
-static inline bool
-loop_has_exit_edges (const struct loop *loop)
-{
-  return loop->exits->next->e != NULL;
-}
-
-/* Returns the list of loops in current_loops.  */
-
-static inline VEC (loop_p, gc) *
-get_loops (void)
-{
-  if (!current_loops)
-    return NULL;
-
-  return current_loops->larray;
-}
-
-/* Returns the number of loops in current_loops (including the removed
-   ones and the fake loop that forms the root of the loop tree).  */
-
-static inline unsigned
-number_of_loops (void)
-{
-  if (!current_loops)
-    return 0;
-
-  return VEC_length (loop_p, current_loops->larray);
-}
-
-/* Returns true if state of the loops satisfies all properties
-   described by FLAGS.  */
-
-static inline bool
-loops_state_satisfies_p (unsigned flags)
-{
-  return (current_loops->state & flags) == flags;
-}
-
-/* Sets FLAGS to the loops state.  */
-
-static inline void
-loops_state_set (unsigned flags)
-{
-  current_loops->state |= flags;
-}
-
-/* Clears FLAGS from the loops state.  */
-
-static inline void
-loops_state_clear (unsigned flags)
-{
-  if (!current_loops)
-    return;
-  current_loops->state &= ~flags;
-}
-
-/* Loop iterators.  */
-
-/* Flags for loop iteration.  */
-
-enum li_flags
-{
-  LI_INCLUDE_ROOT = 1,		/* Include the fake root of the loop tree.  */
-  LI_FROM_INNERMOST = 2,	/* Iterate over the loops in the reverse order,
-				   starting from innermost ones.  */
-  LI_ONLY_INNERMOST = 4		/* Iterate only over innermost loops.  */
-};
-
-/* The iterator for loops.  */
-
-typedef struct
-{
-  /* The list of loops to visit.  */
-  VEC(int,heap) *to_visit;
-
-  /* The index of the actual loop.  */
-  unsigned idx;
-} loop_iterator;
-
-static inline void
-fel_next (loop_iterator *li, loop_p *loop)
-{
-  int anum;
-
-  while (VEC_iterate (int, li->to_visit, li->idx, anum))
-    {
-      li->idx++;
-      *loop = get_loop (anum);
-      if (*loop)
-	return;
-    }
-
-  VEC_free (int, heap, li->to_visit);
-  *loop = NULL;
-}
-
-static inline void
-fel_init (loop_iterator *li, loop_p *loop, unsigned flags)
-{
-  struct loop *aloop;
-  unsigned i;
-  int mn;
-
-  li->idx = 0;
-  if (!current_loops)
-    {
-      li->to_visit = NULL;
-      *loop = NULL;
-      return;
-    }
-
-  li->to_visit = VEC_alloc (int, heap, number_of_loops ());
-  mn = (flags & LI_INCLUDE_ROOT) ? 0 : 1;
-
-  if (flags & LI_ONLY_INNERMOST)
-    {
-      for (i = 0; VEC_iterate (loop_p, current_loops->larray, i, aloop); i++)
-	if (aloop != NULL
-	    && aloop->inner == NULL
-	    && aloop->num >= mn)
-	  VEC_quick_push (int, li->to_visit, aloop->num);
-    }
-  else if (flags & LI_FROM_INNERMOST)
-    {
-      /* Push the loops to LI->TO_VISIT in postorder.  */
-      for (aloop = current_loops->tree_root;
-	   aloop->inner != NULL;
-	   aloop = aloop->inner)
-	continue;
-
-      while (1)
-	{
-	  if (aloop->num >= mn)
-	    VEC_quick_push (int, li->to_visit, aloop->num);
-
-	  if (aloop->next)
-	    {
-	      for (aloop = aloop->next;
-		   aloop->inner != NULL;
-		   aloop = aloop->inner)
-		continue;
-	    }
-	  else if (!loop_outer (aloop))
-	    break;
-	  else
-	    aloop = loop_outer (aloop);
-	}
-    }
-  else
-    {
-      /* Push the loops to LI->TO_VISIT in preorder.  */
-      aloop = current_loops->tree_root;
-      while (1)
-	{
-	  if (aloop->num >= mn)
-	    VEC_quick_push (int, li->to_visit, aloop->num);
-
-	  if (aloop->inner != NULL)
-	    aloop = aloop->inner;
-	  else
-	    {
-	      while (aloop != NULL && aloop->next == NULL)
-		aloop = loop_outer (aloop);
-	      if (aloop == NULL)
-		break;
-	      aloop = aloop->next;
-	    }
-	}
-    }
-
-  fel_next (li, loop);
-}
-
-#define FOR_EACH_LOOP(LI, LOOP, FLAGS) \
-  for (fel_init (&(LI), &(LOOP), FLAGS); \
-       (LOOP); \
-       fel_next (&(LI), &(LOOP)))
-
-#define FOR_EACH_LOOP_BREAK(LI) \
-  { \
-    VEC_free (int, heap, (LI)->to_visit); \
-    break; \
-  }
-
-/* The properties of the target.  */
-struct target_cfgloop {
-  /* Number of available registers.  */
-  unsigned x_target_avail_regs;
-
-  /* Number of available registers that are call-clobbered.  */
-  unsigned x_target_clobbered_regs;
-
-  /* Number of registers reserved for temporary expressions.  */
-  unsigned x_target_res_regs;
-
-  /* The cost for register when there still is some reserve, but we are
-     approaching the number of available registers.  */
-  unsigned x_target_reg_cost[2];
-
-  /* The cost for register when we need to spill.  */
-  unsigned x_target_spill_cost[2];
-};
-
-extern struct target_cfgloop default_target_cfgloop;
-#if SWITCHABLE_TARGET
-extern struct target_cfgloop *this_target_cfgloop;
-#else
-#define this_target_cfgloop (&default_target_cfgloop)
-#endif
-
-#define target_avail_regs \
-  (this_target_cfgloop->x_target_avail_regs)
-#define target_clobbered_regs \
-  (this_target_cfgloop->x_target_clobbered_regs)
-#define target_res_regs \
-  (this_target_cfgloop->x_target_res_regs)
-#define target_reg_cost \
-  (this_target_cfgloop->x_target_reg_cost)
-#define target_spill_cost \
-  (this_target_cfgloop->x_target_spill_cost)
-
-/* Register pressure estimation for induction variable optimizations & loop
-   invariant motion.  */
-extern unsigned estimate_reg_pressure_cost (unsigned, unsigned, bool, bool);
-extern void init_set_costs (void);
-
-/* Loop optimizer initialization.  */
-extern void loop_optimizer_init (unsigned);
-extern void loop_optimizer_finalize (void);
-
-/* Optimization passes.  */
-extern void unswitch_loops (void);
-
-enum
-{
-  UAP_PEEL = 1,		/* Enables loop peeling.  */
-  UAP_UNROLL = 2,	/* Enables unrolling of loops if it seems profitable.  */
-  UAP_UNROLL_ALL = 4	/* Enables unrolling of all loops.  */
-};
-
-extern void unroll_and_peel_loops (int);
-extern void doloop_optimize_loops (void);
-extern void move_loop_invariants (void);
-extern bool finite_loop_p (struct loop *);
-
-#endif /* GCC_CFGLOOP_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cgraph.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cgraph.h
deleted file mode 100644
index bad1bb9..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cgraph.h
+++ /dev/null
@@ -1,964 +0,0 @@
-/* Callgraph handling code.
-   Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
-   Contributed by Jan Hubicka
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_CGRAPH_H
-#define GCC_CGRAPH_H
-
-#include "plugin-api.h"
-#include "vec.h"
-#include "tree.h"
-#include "basic-block.h"
-#include "function.h"
-#include "ipa-ref.h"	/* FIXME: inappropriate dependency of cgraph on IPA.  */
-
-enum availability
-{
-  /* Not yet set by cgraph_function_body_availability.  */
-  AVAIL_UNSET,
-  /* Function body/variable initializer is unknown.  */
-  AVAIL_NOT_AVAILABLE,
-  /* Function body/variable initializer is known but might be replaced
-     by a different one from other compilation unit and thus needs to
-     be dealt with a care.  Like AVAIL_NOT_AVAILABLE it can have
-     arbitrary side effects on escaping variables and functions, while
-     like AVAILABLE it might access static variables.  */
-  AVAIL_OVERWRITABLE,
-  /* Function body/variable initializer is known and will be used in final
-     program.  */
-  AVAIL_AVAILABLE,
-  /* Function body/variable initializer is known and all it's uses are explicitly
-     visible within current unit (ie it's address is never taken and it is not
-     exported to other units).
-     Currently used only for functions.  */
-  AVAIL_LOCAL
-};
-
-/* This is the information that is put into the cgraph local structure
-   to recover a function.  */
-struct lto_file_decl_data;
-
-extern const char * const cgraph_availability_names[];
-extern const char * const ld_plugin_symbol_resolution_names[];
-
-/* Function inlining information.  */
-
-struct GTY(()) inline_summary
-{
-  /* Estimated stack frame consumption by the function.  */
-  HOST_WIDE_INT estimated_self_stack_size;
-
-  /* Size of the function body.  */
-  int self_size;
-  /* How many instructions are likely going to disappear after inlining.  */
-  int size_inlining_benefit;
-  /* Estimated time spent executing the function body.  */
-  int self_time;
-  /* How much time is going to be saved by inlining.  */
-  int time_inlining_benefit;
-};
-
-/* Information about thunk, used only for same body aliases.  */
-
-struct GTY(()) cgraph_thunk_info {
-  /* Information about the thunk.  */
-  HOST_WIDE_INT fixed_offset;
-  HOST_WIDE_INT virtual_value;
-  tree alias;
-  bool this_adjusting;
-  bool virtual_offset_p;
-  /* Set to true when alias node is thunk.  */
-  bool thunk_p;
-};
-
-/* Information about the function collected locally.
-   Available after function is analyzed.  */
-
-struct GTY(()) cgraph_local_info {
-  /* File stream where this node is being written to.  */
-  struct lto_file_decl_data * lto_file_data;
-
-  struct inline_summary inline_summary;
-
-  /* Set when function function is visible in current compilation unit only
-     and its address is never taken.  */
-  unsigned local : 1;
-
-  /* Set when function is visible by other units.  */
-  unsigned externally_visible : 1;
-  
-  /* Set once it has been finalized so we consider it to be output.  */
-  unsigned finalized : 1;
-
-  /* False when there something makes inlining impossible (such as va_arg).  */
-  unsigned inlinable : 1;
-
-  /* False when there something makes versioning impossible.
-     Currently computed and used only by ipa-cp.  */
-  unsigned versionable : 1;
-
-  /* False when function calling convention and signature can not be changed.
-     This is the case when __builtin_apply_args is used.  */
-  unsigned can_change_signature : 1;
-
-  /* True when function should be inlined independently on its size.  */
-  unsigned disregard_inline_limits : 1;
-
-  /* True when the function has been originally extern inline, but it is
-     redefined now.  */
-  unsigned redefined_extern_inline : 1;
-
-  /* True if the function is going to be emitted in some other translation
-     unit, referenced from vtable.  */
-  unsigned vtable_method : 1;
-};
-
-/* Information about the function that needs to be computed globally
-   once compilation is finished.  Available only with -funit-at-a-time.  */
-
-struct GTY(()) cgraph_global_info {
-  /* Estimated stack frame consumption by the function.  */
-  HOST_WIDE_INT estimated_stack_size;
-  /* Expected offset of the stack frame of inlined function.  */
-  HOST_WIDE_INT stack_frame_offset;
-
-  /* For inline clones this points to the function they will be
-     inlined into.  */
-  struct cgraph_node *inlined_to;
-
-  /* Estimated size of the function after inlining.  */
-  int time;
-  int size;
-
-  /* Estimated growth after inlining.  INT_MIN if not computed.  */
-  int estimated_growth;
-};
-
-/* Information about the function that is propagated by the RTL backend.
-   Available only for functions that has been already assembled.  */
-
-struct GTY(()) cgraph_rtl_info {
-   unsigned int preferred_incoming_stack_boundary;
-};
-
-/* Represent which DECL tree (or reference to such tree)
-   will be replaced by another tree while versioning.  */
-struct GTY(()) ipa_replace_map
-{
-  /* The tree that will be replaced.  */
-  tree old_tree;
-  /* The new (replacing) tree.  */
-  tree new_tree;
-  /* Parameter number to replace, when old_tree is NULL.  */
-  int parm_num;
-  /* True when a substitution should be done, false otherwise.  */
-  bool replace_p;
-  /* True when we replace a reference to old_tree.  */
-  bool ref_p;
-};
-typedef struct ipa_replace_map *ipa_replace_map_p;
-DEF_VEC_P(ipa_replace_map_p);
-DEF_VEC_ALLOC_P(ipa_replace_map_p,gc);
-
-struct GTY(()) cgraph_clone_info
-{
-  VEC(ipa_replace_map_p,gc)* tree_map;
-  bitmap args_to_skip;
-  bitmap combined_args_to_skip;
-};
-
-
-/* The cgraph data structure.
-   Each function decl has assigned cgraph_node listing callees and callers.  */
-
-struct GTY((chain_next ("%h.next"), chain_prev ("%h.previous"))) cgraph_node {
-  tree decl;
-  struct cgraph_edge *callees;
-  struct cgraph_edge *callers;
-  struct cgraph_node *next;
-  struct cgraph_node *previous;
-  /* List of edges representing indirect calls with a yet undetermined
-     callee.  */
-  struct cgraph_edge *indirect_calls;
-  /* For nested functions points to function the node is nested in.  */
-  struct cgraph_node *origin;
-  /* Points to first nested function, if any.  */
-  struct cgraph_node *nested;
-  /* Pointer to the next function with same origin, if any.  */
-  struct cgraph_node *next_nested;
-  /* Pointer to the next function in cgraph_nodes_queue.  */
-  struct cgraph_node *next_needed;
-  /* Pointer to the next clone.  */
-  struct cgraph_node *next_sibling_clone;
-  struct cgraph_node *prev_sibling_clone;
-  struct cgraph_node *clones;
-  struct cgraph_node *clone_of;
-  /* For normal nodes pointer to the list of alias and thunk nodes,
-     in alias/thunk nodes pointer to the normal node.  */
-  struct cgraph_node *same_body;
-  /* Circular list of nodes in the same comdat group if non-NULL.  */
-  struct cgraph_node *same_comdat_group;
-  /* For functions with many calls sites it holds map from call expression
-     to the edge to speed up cgraph_edge function.  */
-  htab_t GTY((param_is (struct cgraph_edge))) call_site_hash;
-  /* Declaration node used to be clone of. */
-  tree former_clone_of;
-
-  PTR GTY ((skip)) aux;
-
-  /* Interprocedural passes scheduled to have their transform functions
-     applied next time we execute local pass on them.  We maintain it
-     per-function in order to allow IPA passes to introduce new functions.  */
-  VEC(ipa_opt_pass,heap) * GTY((skip)) ipa_transforms_to_apply;
-
-  struct ipa_ref_list ref_list;
-  struct cgraph_local_info local;
-  struct cgraph_global_info global;
-  struct cgraph_rtl_info rtl;
-  struct cgraph_clone_info clone;
-  struct cgraph_thunk_info thunk;
-
-  /* Expected number of executions: calculated in profile.c.  */
-  gcov_type count;
-  /* How to scale counts at materialization time; used to merge
-     LTO units with different number of profile runs.  */
-  int count_materialization_scale;
-  /* Unique id of the node.  */
-  int uid;
-  /* Ordering of all cgraph nodes.  */
-  int order;
-
-  /* unique id for profiling. pid is not suitable because of different
-     number of cfg nodes with -fprofile-generate and -fprofile-use */
-  int pid;
-  enum ld_plugin_symbol_resolution resolution;
-
-  /* Set when function must be output for some reason.  The primary
-     use of this flag is to mark functions needed to be output for
-     non-standard reason.  Functions that are externally visible
-     or reachable from functions needed to be output are marked
-     by specialized flags.  */
-  unsigned needed : 1;
-  /* Set when function has address taken.
-     In current implementation it imply needed flag. */
-  unsigned address_taken : 1;
-  /* Set when decl is an abstract function pointed to by the
-     ABSTRACT_DECL_ORIGIN of a reachable function.  */
-  unsigned abstract_and_needed : 1;
-  /* Set when function is reachable by call from other function
-     that is either reachable or needed.
-     This flag is computed at original cgraph construction and then
-     updated in cgraph_remove_unreachable_nodes.  Note that after
-     cgraph_remove_unreachable_nodes cgraph still can contain unreachable
-     nodes when they are needed for virtual clone instantiation.  */
-  unsigned reachable : 1;
-  /* Set when function is reachable by call from other LTRANS partition.  */
-  unsigned reachable_from_other_partition : 1;
-  /* Set once the function is lowered (i.e. its CFG is built).  */
-  unsigned lowered : 1;
-  /* Set once the function has been instantiated and its callee
-     lists created.  */
-  unsigned analyzed : 1;
-  /* Set when function is available in the other LTRANS partition.  
-     During WPA output it is used to mark nodes that are present in
-     multiple partitions.  */
-  unsigned in_other_partition : 1;
-  /* Set when function is scheduled to be processed by local passes.  */
-  unsigned process : 1;
-  /* Set for aliases once they got through assemble_alias.  */
-  unsigned alias : 1;
-  /* Set for nodes that was constructed and finalized by frontend.  */
-  unsigned finalized_by_frontend : 1;
-  /* Set for alias and thunk nodes, same_body points to the node they are alias
-     of and they are linked through the next/previous pointers.  */
-  unsigned same_body_alias : 1;
-  /* How commonly executed the node is.  Initialized during branch
-     probabilities pass.  */
-  ENUM_BITFIELD (node_frequency) frequency : 2;
-  /* True when function can only be called at startup (from static ctor).  */
-  unsigned only_called_at_startup : 1;
-  /* True when function can only be called at startup (from static dtor).  */
-  unsigned only_called_at_exit : 1;
-};
-
-typedef struct cgraph_node *cgraph_node_ptr;
-
-DEF_VEC_P(cgraph_node_ptr);
-DEF_VEC_ALLOC_P(cgraph_node_ptr,heap);
-DEF_VEC_ALLOC_P(cgraph_node_ptr,gc);
-
-/* A cgraph node set is a collection of cgraph nodes.  A cgraph node
-   can appear in multiple sets.  */
-struct GTY(()) cgraph_node_set_def
-{
-  htab_t GTY((param_is (struct cgraph_node_set_element_def))) hashtab;
-  VEC(cgraph_node_ptr, gc) *nodes;
-};
-
-typedef struct varpool_node *varpool_node_ptr;
-
-DEF_VEC_P(varpool_node_ptr);
-DEF_VEC_ALLOC_P(varpool_node_ptr,heap);
-DEF_VEC_ALLOC_P(varpool_node_ptr,gc);
-
-/* A varpool node set is a collection of varpool nodes.  A varpool node
-   can appear in multiple sets.  */
-struct GTY(()) varpool_node_set_def
-{
-  htab_t GTY((param_is (struct varpool_node_set_element_def))) hashtab;
-  VEC(varpool_node_ptr, gc) *nodes;
-};
-
-typedef struct cgraph_node_set_def *cgraph_node_set;
-
-DEF_VEC_P(cgraph_node_set);
-DEF_VEC_ALLOC_P(cgraph_node_set,gc);
-DEF_VEC_ALLOC_P(cgraph_node_set,heap);
-
-typedef struct varpool_node_set_def *varpool_node_set;
-
-DEF_VEC_P(varpool_node_set);
-DEF_VEC_ALLOC_P(varpool_node_set,gc);
-DEF_VEC_ALLOC_P(varpool_node_set,heap);
-
-/* A cgraph node set element contains an index in the vector of nodes in
-   the set.  */
-struct GTY(()) cgraph_node_set_element_def
-{
-  struct cgraph_node *node;
-  HOST_WIDE_INT index;
-};
-
-typedef struct cgraph_node_set_element_def *cgraph_node_set_element;
-typedef const struct cgraph_node_set_element_def *const_cgraph_node_set_element;
-
-/* Iterator structure for cgraph node sets.  */
-typedef struct
-{
-  cgraph_node_set set;
-  unsigned index;
-} cgraph_node_set_iterator;
-
-/* A varpool node set element contains an index in the vector of nodes in
-   the set.  */
-struct GTY(()) varpool_node_set_element_def
-{
-  struct varpool_node *node;
-  HOST_WIDE_INT index;
-};
-
-typedef struct varpool_node_set_element_def *varpool_node_set_element;
-typedef const struct varpool_node_set_element_def *const_varpool_node_set_element;
-
-/* Iterator structure for varpool node sets.  */
-typedef struct
-{
-  varpool_node_set set;
-  unsigned index;
-} varpool_node_set_iterator;
-
-#define DEFCIFCODE(code, string)	CIF_ ## code,
-/* Reasons for inlining failures.  */
-typedef enum {
-#include "cif-code.def"
-  CIF_N_REASONS
-} cgraph_inline_failed_t;
-
-/* Structure containing additional information about an indirect call.  */
-
-struct GTY(()) cgraph_indirect_call_info
-{
-  /* Offset accumulated from ancestor jump functions of inlined call graph
-     edges.  */
-  HOST_WIDE_INT anc_offset;
-  /* OBJ_TYPE_REF_TOKEN of a polymorphic call (if polymorphic is set).  */
-  HOST_WIDE_INT otr_token;
-  /* Delta by which must be added to this parameter to compensate for a skipped
-     this adjusting thunk.  */
-  HOST_WIDE_INT thunk_delta;
-  /* Type of the object from OBJ_TYPE_REF_OBJECT. */
-  tree otr_type;
-  /* Index of the parameter that is called.  */
-  int param_index;
-  /* ECF flags determined from the caller.  */
-  int ecf_flags;
-
-  /* Set when the call is a virtual call with the parameter being the
-     associated object pointer rather than a simple direct call.  */
-  unsigned polymorphic : 1;
-};
-
-struct GTY((chain_next ("%h.next_caller"), chain_prev ("%h.prev_caller"))) cgraph_edge {
-  /* Expected number of executions: calculated in profile.c.  */
-  gcov_type count;
-  struct cgraph_node *caller;
-  struct cgraph_node *callee;
-  struct cgraph_edge *prev_caller;
-  struct cgraph_edge *next_caller;
-  struct cgraph_edge *prev_callee;
-  struct cgraph_edge *next_callee;
-  gimple call_stmt;
-  /* Additional information about an indirect call.  Not cleared when an edge
-     becomes direct.  */
-  struct cgraph_indirect_call_info *indirect_info;
-  PTR GTY ((skip (""))) aux;
-  /* When equal to CIF_OK, inline this call.  Otherwise, points to the
-     explanation why function was not inlined.  */
-  cgraph_inline_failed_t inline_failed;
-  /* The stmt_uid of call_stmt.  This is used by LTO to recover the call_stmt
-     when the function is serialized in.  */
-  unsigned int lto_stmt_uid;
-  /* Expected frequency of executions within the function.
-     When set to CGRAPH_FREQ_BASE, the edge is expected to be called once
-     per function call.  The range is 0 to CGRAPH_FREQ_MAX.  */
-  int frequency;
-  /* Unique id of the edge.  */
-  int uid;
-  /* Depth of loop nest, 1 means no loop nest.  */
-  unsigned short int loop_nest;
-  /* Whether this edge was made direct by indirect inlining.  */
-  unsigned int indirect_inlining_edge : 1;
-  /* Whether this edge describes an indirect call with an undetermined
-     callee.  */
-  unsigned int indirect_unknown_callee : 1;
-  /* Whether this edge is still a dangling  */
-  /* True if the corresponding CALL stmt cannot be inlined.  */
-  unsigned int call_stmt_cannot_inline_p : 1;
-  /* Can this call throw externally?  */
-  unsigned int can_throw_external : 1;
-};
-
-#define CGRAPH_FREQ_BASE 1000
-#define CGRAPH_FREQ_MAX 100000
-
-typedef struct cgraph_edge *cgraph_edge_p;
-
-DEF_VEC_P(cgraph_edge_p);
-DEF_VEC_ALLOC_P(cgraph_edge_p,heap);
-
-/* The varpool data structure.
-   Each static variable decl has assigned varpool_node.  */
-
-struct GTY((chain_next ("%h.next"), chain_prev ("%h.prev"))) varpool_node {
-  tree decl;
-  /* Pointer to the next function in varpool_nodes.  */
-  struct varpool_node *next, *prev;
-  /* Pointer to the next function in varpool_nodes_queue.  */
-  struct varpool_node *next_needed, *prev_needed;
-  /* For normal nodes a pointer to the first extra name alias.  For alias
-     nodes a pointer to the normal node.  */
-  struct varpool_node *extra_name;
-  /* Circular list of nodes in the same comdat group if non-NULL.  */
-  struct varpool_node *same_comdat_group;
-  struct ipa_ref_list ref_list;
-  /* File stream where this node is being written to.  */
-  struct lto_file_decl_data * lto_file_data;
-  PTR GTY ((skip)) aux;
-  /* Ordering of all cgraph nodes.  */
-  int order;
-  enum ld_plugin_symbol_resolution resolution;
-
-  /* Set when function must be output - it is externally visible
-     or its address is taken.  */
-  unsigned needed : 1;
-  /* Needed variables might become dead by optimization.  This flag
-     forces the variable to be output even if it appears dead otherwise.  */
-  unsigned force_output : 1;
-  /* Set once the variable has been instantiated and its callee
-     lists created.  */
-  unsigned analyzed : 1;
-  /* Set once it has been finalized so we consider it to be output.  */
-  unsigned finalized : 1;
-  /* Set when variable is scheduled to be assembled.  */
-  unsigned output : 1;
-  /* Set when function is visible by other units.  */
-  unsigned externally_visible : 1;
-  /* Set for aliases once they got through assemble_alias.  Also set for
-     extra name aliases in varpool_extra_name_alias.  */
-  unsigned alias : 1;
-  /* Set when variable is used from other LTRANS partition.  */
-  unsigned used_from_other_partition : 1;
-  /* Set when variable is available in the other LTRANS partition.
-     During WPA output it is used to mark nodes that are present in
-     multiple partitions.  */
-  unsigned in_other_partition : 1;
-};
-
-/* Every top level asm statement is put into a cgraph_asm_node.  */
-
-struct GTY(()) cgraph_asm_node {
-  /* Next asm node.  */
-  struct cgraph_asm_node *next;
-  /* String for this asm node.  */
-  tree asm_str;
-  /* Ordering of all cgraph nodes.  */
-  int order;
-};
-
-extern GTY(()) struct cgraph_node *cgraph_nodes;
-extern GTY(()) int cgraph_n_nodes;
-extern GTY(()) int cgraph_max_uid;
-extern GTY(()) int cgraph_edge_max_uid;
-extern GTY(()) int cgraph_max_pid;
-extern bool cgraph_global_info_ready;
-enum cgraph_state
-{
-  /* Callgraph is being constructed.  It is safe to add new functions.  */
-  CGRAPH_STATE_CONSTRUCTION,
-  /* Callgraph is built and IPA passes are being run.  */
-  CGRAPH_STATE_IPA,
-  /* Callgraph is built and all functions are transformed to SSA form.  */
-  CGRAPH_STATE_IPA_SSA,
-  /* Functions are now ordered and being passed to RTL expanders.  */
-  CGRAPH_STATE_EXPANSION,
-  /* All cgraph expansion is done.  */
-  CGRAPH_STATE_FINISHED
-};
-extern enum cgraph_state cgraph_state;
-extern bool cgraph_function_flags_ready;
-extern GTY(()) struct cgraph_node *cgraph_nodes_queue;
-extern GTY(()) struct cgraph_node *cgraph_new_nodes;
-
-extern GTY(()) struct cgraph_asm_node *cgraph_asm_nodes;
-extern GTY(()) int cgraph_order;
-
-/* In cgraph.c  */
-void dump_cgraph (FILE *);
-void debug_cgraph (void);
-void dump_cgraph_node (FILE *, struct cgraph_node *);
-void debug_cgraph_node (struct cgraph_node *);
-void cgraph_insert_node_to_hashtable (struct cgraph_node *node);
-void cgraph_remove_edge (struct cgraph_edge *);
-void cgraph_remove_node (struct cgraph_node *);
-bool cgraph_remove_node_and_inline_clones (struct cgraph_node *, struct cgraph_node *);
-void cgraph_release_function_body (struct cgraph_node *);
-void cgraph_node_remove_callees (struct cgraph_node *node);
-struct cgraph_edge *cgraph_create_edge (struct cgraph_node *,
-					struct cgraph_node *,
-					gimple, gcov_type, int, int);
-struct cgraph_edge *cgraph_create_indirect_edge (struct cgraph_node *, gimple,
-						 int, gcov_type, int, int);
-struct cgraph_indirect_call_info *cgraph_allocate_init_indirect_info (void);
-struct cgraph_node * cgraph_get_node (const_tree);
-struct cgraph_node * cgraph_get_node_or_alias (const_tree);
-struct cgraph_node * cgraph_node (tree);
-struct cgraph_node * cgraph_same_body_alias (struct cgraph_node *, tree, tree);
-struct cgraph_node * cgraph_add_thunk (struct cgraph_node *, tree, tree, bool, HOST_WIDE_INT,
-				       HOST_WIDE_INT, tree, tree);
-void cgraph_remove_same_body_alias (struct cgraph_node *);
-struct cgraph_node *cgraph_node_for_asm (tree);
-struct cgraph_edge *cgraph_edge (struct cgraph_node *, gimple);
-void cgraph_set_call_stmt (struct cgraph_edge *, gimple);
-void cgraph_set_call_stmt_including_clones (struct cgraph_node *, gimple, gimple);
-void cgraph_create_edge_including_clones (struct cgraph_node *,
-					  struct cgraph_node *,
-					  gimple, gimple, gcov_type, int, int,
-					  cgraph_inline_failed_t);
-void cgraph_update_edges_for_call_stmt (gimple, tree, gimple);
-struct cgraph_local_info *cgraph_local_info (tree);
-struct cgraph_global_info *cgraph_global_info (tree);
-struct cgraph_rtl_info *cgraph_rtl_info (tree);
-const char * cgraph_node_name (struct cgraph_node *);
-struct cgraph_edge * cgraph_clone_edge (struct cgraph_edge *,
-					struct cgraph_node *, gimple,
-					unsigned, gcov_type, int, int, bool);
-struct cgraph_node * cgraph_clone_node (struct cgraph_node *, tree, gcov_type, int,
-					int, bool, VEC(cgraph_edge_p,heap) *);
-
-void cgraph_redirect_edge_callee (struct cgraph_edge *, struct cgraph_node *);
-void cgraph_make_edge_direct (struct cgraph_edge *, struct cgraph_node *,
-			      HOST_WIDE_INT);
-
-struct cgraph_asm_node *cgraph_add_asm_node (tree);
-
-bool cgraph_function_possibly_inlined_p (tree);
-void cgraph_unnest_node (struct cgraph_node *);
-
-enum availability cgraph_function_body_availability (struct cgraph_node *);
-void cgraph_add_new_function (tree, bool);
-const char* cgraph_inline_failed_string (cgraph_inline_failed_t);
-struct cgraph_node * cgraph_create_virtual_clone (struct cgraph_node *old_node,
-			                          VEC(cgraph_edge_p,heap)*,
-			                          VEC(ipa_replace_map_p,gc)* tree_map,
-			                          bitmap args_to_skip,
-						  const char *clone_name);
-
-void cgraph_set_nothrow_flag (struct cgraph_node *, bool);
-void cgraph_set_const_flag (struct cgraph_node *, bool, bool);
-void cgraph_set_pure_flag (struct cgraph_node *, bool, bool);
-tree clone_function_name (tree decl, const char *);
-bool cgraph_node_cannot_return (struct cgraph_node *);
-bool cgraph_edge_cannot_lead_to_return (struct cgraph_edge *);
-bool cgraph_will_be_removed_from_program_if_no_direct_calls
-  (struct cgraph_node *node);
-bool cgraph_can_remove_if_no_direct_calls_and_refs_p
-  (struct cgraph_node *node);
-bool resolution_used_from_other_file_p (enum ld_plugin_symbol_resolution resolution);
-bool cgraph_used_from_object_file_p (struct cgraph_node *node);
-bool varpool_used_from_object_file_p (struct varpool_node *node);
-
-/* In cgraphunit.c  */
-extern FILE *cgraph_dump_file;
-void cgraph_finalize_function (tree, bool);
-void cgraph_mark_if_needed (tree);
-void cgraph_finalize_compilation_unit (void);
-void cgraph_optimize (void);
-void cgraph_mark_needed_node (struct cgraph_node *);
-void cgraph_mark_address_taken_node (struct cgraph_node *);
-void cgraph_mark_reachable_node (struct cgraph_node *);
-bool cgraph_inline_p (struct cgraph_edge *, cgraph_inline_failed_t *reason);
-bool cgraph_preserve_function_body_p (tree);
-void verify_cgraph (void);
-void verify_cgraph_node (struct cgraph_node *);
-void cgraph_build_static_cdtor (char which, tree body, int priority);
-void cgraph_reset_static_var_maps (void);
-void init_cgraph (void);
-struct cgraph_node *cgraph_function_versioning (struct cgraph_node *,
-						VEC(cgraph_edge_p,heap)*,
-						VEC(ipa_replace_map_p,gc)*,
-						bitmap, bitmap, basic_block,
-						const char *);
-void tree_function_versioning (tree, tree, VEC (ipa_replace_map_p,gc)*, bool, bitmap,
-			       bitmap, basic_block);
-struct cgraph_node *save_inline_function_body (struct cgraph_node *);
-void record_references_in_initializer (tree, bool);
-bool cgraph_process_new_functions (void);
-
-bool cgraph_decide_is_function_needed (struct cgraph_node *, tree);
-
-typedef void (*cgraph_edge_hook)(struct cgraph_edge *, void *);
-typedef void (*cgraph_node_hook)(struct cgraph_node *, void *);
-typedef void (*cgraph_2edge_hook)(struct cgraph_edge *, struct cgraph_edge *,
-				  void *);
-typedef void (*cgraph_2node_hook)(struct cgraph_node *, struct cgraph_node *,
-				  void *);
-struct cgraph_edge_hook_list;
-struct cgraph_node_hook_list;
-struct cgraph_2edge_hook_list;
-struct cgraph_2node_hook_list;
-struct cgraph_edge_hook_list *cgraph_add_edge_removal_hook (cgraph_edge_hook, void *);
-void cgraph_remove_edge_removal_hook (struct cgraph_edge_hook_list *);
-struct cgraph_node_hook_list *cgraph_add_node_removal_hook (cgraph_node_hook,
-							    void *);
-void cgraph_remove_node_removal_hook (struct cgraph_node_hook_list *);
-struct cgraph_node_hook_list *cgraph_add_function_insertion_hook (cgraph_node_hook,
-							          void *);
-void cgraph_remove_function_insertion_hook (struct cgraph_node_hook_list *);
-void cgraph_call_function_insertion_hooks (struct cgraph_node *node);
-struct cgraph_2edge_hook_list *cgraph_add_edge_duplication_hook (cgraph_2edge_hook, void *);
-void cgraph_remove_edge_duplication_hook (struct cgraph_2edge_hook_list *);
-struct cgraph_2node_hook_list *cgraph_add_node_duplication_hook (cgraph_2node_hook, void *);
-void cgraph_remove_node_duplication_hook (struct cgraph_2node_hook_list *);
-void cgraph_materialize_all_clones (void);
-gimple cgraph_redirect_edge_call_stmt_to_callee (struct cgraph_edge *);
-bool cgraph_propagate_frequency (struct cgraph_node *node);
-/* In cgraphbuild.c  */
-unsigned int rebuild_cgraph_edges (void);
-void cgraph_rebuild_references (void);
-void reset_inline_failed (struct cgraph_node *);
-int compute_call_stmt_bb_frequency (tree, basic_block bb);
-
-/* In ipa.c  */
-bool cgraph_remove_unreachable_nodes (bool, FILE *);
-int cgraph_postorder (struct cgraph_node **);
-cgraph_node_set cgraph_node_set_new (void);
-cgraph_node_set_iterator cgraph_node_set_find (cgraph_node_set,
-					       struct cgraph_node *);
-void cgraph_node_set_add (cgraph_node_set, struct cgraph_node *);
-void cgraph_node_set_remove (cgraph_node_set, struct cgraph_node *);
-void dump_cgraph_node_set (FILE *, cgraph_node_set);
-void debug_cgraph_node_set (cgraph_node_set);
-
-varpool_node_set varpool_node_set_new (void);
-varpool_node_set_iterator varpool_node_set_find (varpool_node_set,
-					       struct varpool_node *);
-void varpool_node_set_add (varpool_node_set, struct varpool_node *);
-void varpool_node_set_remove (varpool_node_set, struct varpool_node *);
-void dump_varpool_node_set (FILE *, varpool_node_set);
-void debug_varpool_node_set (varpool_node_set);
-void ipa_discover_readonly_nonaddressable_vars (void);
-bool cgraph_comdat_can_be_unshared_p (struct cgraph_node *);
-
-/* In predict.c  */
-bool cgraph_maybe_hot_edge_p (struct cgraph_edge *e);
-
-/* In varpool.c  */
-extern GTY(()) struct varpool_node *varpool_nodes_queue;
-extern GTY(()) struct varpool_node *varpool_nodes;
-
-struct varpool_node *varpool_node (tree);
-struct varpool_node *varpool_node_for_asm (tree asmname);
-void varpool_mark_needed_node (struct varpool_node *);
-void debug_varpool (void);
-void dump_varpool (FILE *);
-void dump_varpool_node (FILE *, struct varpool_node *);
-
-void varpool_finalize_decl (tree);
-bool decide_is_variable_needed (struct varpool_node *, tree);
-enum availability cgraph_variable_initializer_availability (struct varpool_node *);
-void cgraph_make_decl_local (tree);
-void cgraph_make_node_local (struct cgraph_node *);
-bool cgraph_node_can_be_local_p (struct cgraph_node *);
-
-
-struct varpool_node * varpool_get_node (const_tree decl);
-void varpool_remove_node (struct varpool_node *node);
-void varpool_finalize_named_section_flags (struct varpool_node *node);
-bool varpool_assemble_pending_decls (void);
-bool varpool_assemble_decl (struct varpool_node *node);
-bool varpool_analyze_pending_decls (void);
-void varpool_remove_unreferenced_decls (void);
-void varpool_empty_needed_queue (void);
-struct varpool_node * varpool_extra_name_alias (tree, tree);
-const char * varpool_node_name (struct varpool_node *node);
-void varpool_reset_queue (void);
-bool const_value_known_p (tree);
-
-/* Walk all reachable static variables.  */
-#define FOR_EACH_STATIC_VARIABLE(node) \
-   for ((node) = varpool_nodes_queue; (node); (node) = (node)->next_needed)
-
-/* Return first reachable static variable with initializer.  */
-static inline struct varpool_node *
-varpool_first_static_initializer (void)
-{
-  struct varpool_node *node;
-  for (node = varpool_nodes_queue; node; node = node->next_needed)
-    {
-      gcc_checking_assert (TREE_CODE (node->decl) == VAR_DECL);
-      if (DECL_INITIAL (node->decl))
-	return node;
-    }
-  return NULL;
-}
-
-/* Return next reachable static variable with initializer after NODE.  */
-static inline struct varpool_node *
-varpool_next_static_initializer (struct varpool_node *node)
-{
-  for (node = node->next_needed; node; node = node->next_needed)
-    {
-      gcc_checking_assert (TREE_CODE (node->decl) == VAR_DECL);
-      if (DECL_INITIAL (node->decl))
-	return node;
-    }
-  return NULL;
-}
-
-/* Walk all static variables with initializer set.  */
-#define FOR_EACH_STATIC_INITIALIZER(node) \
-   for ((node) = varpool_first_static_initializer (); (node); \
-        (node) = varpool_next_static_initializer (node))
-
-/* In ipa-inline.c  */
-void cgraph_clone_inlined_nodes (struct cgraph_edge *, bool, bool);
-void compute_inline_parameters (struct cgraph_node *);
-
-
-/* Create a new static variable of type TYPE.  */
-tree add_new_static_var (tree type);
-
-/* Return true if iterator CSI points to nothing.  */
-static inline bool
-csi_end_p (cgraph_node_set_iterator csi)
-{
-  return csi.index >= VEC_length (cgraph_node_ptr, csi.set->nodes);
-}
-
-/* Advance iterator CSI.  */
-static inline void
-csi_next (cgraph_node_set_iterator *csi)
-{
-  csi->index++;
-}
-
-/* Return the node pointed to by CSI.  */
-static inline struct cgraph_node *
-csi_node (cgraph_node_set_iterator csi)
-{
-  return VEC_index (cgraph_node_ptr, csi.set->nodes, csi.index);
-}
-
-/* Return an iterator to the first node in SET.  */
-static inline cgraph_node_set_iterator
-csi_start (cgraph_node_set set)
-{
-  cgraph_node_set_iterator csi;
-
-  csi.set = set;
-  csi.index = 0;
-  return csi;
-}
-
-/* Return true if SET contains NODE.  */
-static inline bool
-cgraph_node_in_set_p (struct cgraph_node *node, cgraph_node_set set)
-{
-  cgraph_node_set_iterator csi;
-  csi = cgraph_node_set_find (set, node);
-  return !csi_end_p (csi);
-}
-
-/* Return number of nodes in SET.  */
-static inline size_t
-cgraph_node_set_size (cgraph_node_set set)
-{
-  return htab_elements (set->hashtab);
-}
-
-/* Return true if iterator VSI points to nothing.  */
-static inline bool
-vsi_end_p (varpool_node_set_iterator vsi)
-{
-  return vsi.index >= VEC_length (varpool_node_ptr, vsi.set->nodes);
-}
-
-/* Advance iterator VSI.  */
-static inline void
-vsi_next (varpool_node_set_iterator *vsi)
-{
-  vsi->index++;
-}
-
-/* Return the node pointed to by VSI.  */
-static inline struct varpool_node *
-vsi_node (varpool_node_set_iterator vsi)
-{
-  return VEC_index (varpool_node_ptr, vsi.set->nodes, vsi.index);
-}
-
-/* Return an iterator to the first node in SET.  */
-static inline varpool_node_set_iterator
-vsi_start (varpool_node_set set)
-{
-  varpool_node_set_iterator vsi;
-
-  vsi.set = set;
-  vsi.index = 0;
-  return vsi;
-}
-
-/* Return true if SET contains NODE.  */
-static inline bool
-varpool_node_in_set_p (struct varpool_node *node, varpool_node_set set)
-{
-  varpool_node_set_iterator vsi;
-  vsi = varpool_node_set_find (set, node);
-  return !vsi_end_p (vsi);
-}
-
-/* Return number of nodes in SET.  */
-static inline size_t
-varpool_node_set_size (varpool_node_set set)
-{
-  return htab_elements (set->hashtab);
-}
-
-/* Uniquize all constants that appear in memory.
-   Each constant in memory thus far output is recorded
-   in `const_desc_table'.  */
-
-struct GTY(()) constant_descriptor_tree {
-  /* A MEM for the constant.  */
-  rtx rtl;
-
-  /* The value of the constant.  */
-  tree value;
-
-  /* Hash of value.  Computing the hash from value each time
-     hashfn is called can't work properly, as that means recursive
-     use of the hash table during hash table expansion.  */
-  hashval_t hash;
-};
-
-/* Return true if set is nonempty.  */
-static inline bool
-cgraph_node_set_nonempty_p (cgraph_node_set set)
-{
-  return !VEC_empty (cgraph_node_ptr, set->nodes);
-}
-
-/* Return true if set is nonempty.  */
-static inline bool
-varpool_node_set_nonempty_p (varpool_node_set set)
-{
-  return !VEC_empty (varpool_node_ptr, set->nodes);
-}
-
-/* Return true when function NODE is only called directly.
-   i.e. it is not externally visible, address was not taken and
-   it is not used in any other non-standard way.  */
-
-static inline bool
-cgraph_only_called_directly_p (struct cgraph_node *node)
-{
-  gcc_assert (!node->global.inlined_to);
-  return (!node->needed && !node->address_taken
-	  && !node->reachable_from_other_partition
-	  && !DECL_VIRTUAL_P (node->decl)
-	  && !DECL_STATIC_CONSTRUCTOR (node->decl)
-	  && !DECL_STATIC_DESTRUCTOR (node->decl)
-	  && !node->local.externally_visible);
-}
-
-/* Return true when function NODE can be removed from callgraph
-   if all direct calls are eliminated.  */
-
-static inline bool
-cgraph_can_remove_if_no_direct_calls_p (struct cgraph_node *node)
-{
-  /* Extern inlines can always go, we will use the external definition.  */
-  if (DECL_EXTERNAL (node->decl))
-    return true;
-  return !node->address_taken && cgraph_can_remove_if_no_direct_calls_and_refs_p (node);
-}
-
-/* Return true when function NODE can be removed from callgraph
-   if all direct calls are eliminated.  */
-
-static inline bool
-varpool_can_remove_if_no_refs (struct varpool_node *node)
-{
-  return (!node->force_output && !node->used_from_other_partition
-	  && (flag_toplevel_reorder || DECL_COMDAT (node->decl)
-	      || DECL_ARTIFICIAL (node->decl))
-  	  && (DECL_COMDAT (node->decl) || !node->externally_visible));
-}
-
-/* Return true when all references to VNODE must be visible in ipa_ref_list.
-   i.e. if the variable is not externally visible or not used in some magic
-   way (asm statement or such).
-   The magic uses are all summarized in force_output flag.  */
-
-static inline bool
-varpool_all_refs_explicit_p (struct varpool_node *vnode)
-{
-  return (!vnode->externally_visible
-	  && !vnode->used_from_other_partition
-	  && !vnode->force_output);
-}
-
-/* Constant pool accessor function.  */
-htab_t constant_pool_htab (void);
-
-/* FIXME: inappropriate dependency of cgraph on IPA.  */
-#include "ipa-ref-inline.h"
-
-#endif  /* GCC_CGRAPH_H  */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cif-code.def b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cif-code.def
deleted file mode 100644
index 1f3258f..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/cif-code.def
+++ /dev/null
@@ -1,92 +0,0 @@
-/* This file contains the definitions of the cgraph_inline_failed_t
-   enums used in GCC.
-
-   Copyright (C) 2008, 2010 Free Software Foundation, Inc.
-   Contributed by Doug Kwan <dougkwan@google.com>
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-/* The format of this file is
-   DEFCIFCODE(code, string).
-
-   Where symbol is the enumeration name without the ``''.
-   The argument STRING is a explain the failure.  Except for OK,
-   which is a NULL pointer.  */
-
-/* Inlining successful.  This must be the first code.  */
-DEFCIFCODE(OK , NULL)
-
-/* Inlining failed for an unspecified reason.  */
-DEFCIFCODE(UNSPECIFIED , "")
-
-/* Function has not be considered for inlining.  This is the code for
-   functions that have not been rejected for inlining yet.  */
-DEFCIFCODE(FUNCTION_NOT_CONSIDERED,
-	   N_("function not considered for inlining"))
-
-/* Inlining failed owing to unavailable function body.  */
-DEFCIFCODE(BODY_NOT_AVAILABLE, N_("function body not available"))
-
-DEFCIFCODE(REDEFINED_EXTERN_INLINE,
-           N_("redefined extern inline functions are not considered for "
-              "inlining"))
-
-/* Function is not inlinable.  */
-DEFCIFCODE(FUNCTION_NOT_INLINABLE, N_("function not inlinable"))
-
-/* Function is not an inlining candidate.  */
-DEFCIFCODE(FUNCTION_NOT_INLINE_CANDIDATE, N_("function not inline candidate"))
-
-/* Inlining failed because of various limit parameters.  */
-DEFCIFCODE(LARGE_FUNCTION_GROWTH_LIMIT,
-	   N_("--param large-function-growth limit reached"))
-DEFCIFCODE(LARGE_STACK_FRAME_GROWTH_LIMIT,
-	   N_("--param large-stack-frame-growth limit reached"))
-DEFCIFCODE(MAX_INLINE_INSNS_SINGLE_LIMIT,
-	   N_("--param max-inline-insns-single limit reached"))
-DEFCIFCODE(MAX_INLINE_INSNS_AUTO_LIMIT,
-	   N_("--param max-inline-insns-auto limit reached"))
-DEFCIFCODE(INLINE_UNIT_GROWTH_LIMIT,
-	   N_("--param inline-unit-growth limit reached"))
-
-/* Recursive inlining.  */
-DEFCIFCODE(RECURSIVE_INLINING, N_("recursive inlining"))
-
-/* Call is unlikely.  */
-DEFCIFCODE(UNLIKELY_CALL, N_("call is unlikely and code size would grow"))
-
-/* Function is not declared as an inline.  */
-DEFCIFCODE(NOT_DECLARED_INLINED,
-	   N_("function not declared inline and code size would grow"))
-
-/* Inlining suppressed due to size optimization.  */
-DEFCIFCODE(OPTIMIZING_FOR_SIZE,
-	   N_("optimizing for size and code size would grow"))
-
-/* Inlining failed because of mismatched options or arguments.  */
-DEFCIFCODE(TARGET_OPTION_MISMATCH, N_("target specific option mismatch"))
-DEFCIFCODE(MISMATCHED_ARGUMENTS, N_("mismatched arguments"))
-
-/* Call was originally indirect.  */
-DEFCIFCODE(ORIGINALLY_INDIRECT_CALL,
-	   N_("originally indirect function call not considered for inlining"))
-
-/* Ths edge represents an indirect edge with a yet-undetermined callee .  */
-DEFCIFCODE(INDIRECT_UNKNOWN_CALL,
-	   N_("indirect function call with a yet undetermined callee"))
-
-DEFCIFCODE(OVERWRITABLE, N_("function body can be overwriten at linktime"))
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/dbxelf.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/dbxelf.h
deleted file mode 100644
index 8d3c265..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/dbxelf.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Definitions needed when using stabs embedded in ELF sections.
-   Copyright (C) 1999, 2004, 2007, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/* This file may be included by any ELF target which wishes to
-   support -gstabs generating stabs in sections, as produced by gas
-   and understood by gdb.  */
-
-#ifndef GCC_DBX_ELF_H
-#define GCC_DBX_ELF_H
-
-/* Output DBX (stabs) debugging information if doing -gstabs.  */
-
-#define DBX_DEBUGGING_INFO 1
-
-/* Make LBRAC and RBRAC addresses relative to the start of the
-   function.  The native Solaris stabs debugging format works this
-   way, gdb expects it, and it reduces the number of relocation
-   entries...  */
-
-#define DBX_BLOCKS_FUNCTION_RELATIVE 1
-
-/* ... but, to make this work, functions must appear prior to line info.  */
-
-#define DBX_FUNCTION_FIRST
-
-/* When generating stabs debugging, use N_BINCL entries.  */
-
-#define DBX_USE_BINCL
-
-/* There is no limit to the length of stabs strings.  */
-
-#ifndef DBX_CONTIN_LENGTH
-#define DBX_CONTIN_LENGTH 0
-#endif
-
-/* Like block addresses, stabs line numbers are relative to the
-   current function.  */
-
-#define DBX_LINES_FUNCTION_RELATIVE 1
-
-/* Generate a blank trailing N_SO to mark the end of the .o file, since
-   we can't depend upon the linker to mark .o file boundaries with
-   embedded stabs.  */
-
-#define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END
-
-#endif /* ! GCC_DBX_ELF_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/elfos.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/elfos.h
deleted file mode 100644
index e483216..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/elfos.h
+++ /dev/null
@@ -1,531 +0,0 @@
-/* elfos.h  --  operating system specific defines to be used when
-   targeting GCC for some generic ELF system
-   Copyright (C) 1991, 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004,
-   2007, 2009, 2010 Free Software Foundation, Inc.
-   Based on svr4.h contributed by Ron Guilmette (rfg@netcom.com).
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-#define TARGET_OBJFMT_CPP_BUILTINS()		\
-  do						\
-    {						\
-	builtin_define ("__ELF__");		\
-    }						\
-  while (0)
-
-/* Define a symbol indicating that we are using elfos.h.
-   Some CPU specific configuration files use this.  */
-#define USING_ELFOS_H
-
-/* The prefix to add to user-visible assembler symbols.
-
-   For ELF systems the convention is *not* to prepend a leading
-   underscore onto user-level symbol names.  */
-
-#undef  USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""
-
-/* The biggest alignment supported by ELF in bits. 32-bit ELF 
-   supports section alignment up to (0x80000000 * 8), while 
-   64-bit ELF supports (0x8000000000000000 * 8). If this macro 
-   is not defined, the default is the largest alignment supported 
-   by 32-bit ELF and representable on a 32-bit host. Use this
-   macro to limit the alignment which can be specified using
-   the `__attribute__ ((aligned (N)))' construct.  */
-#ifndef MAX_OFILE_ALIGNMENT
-#define MAX_OFILE_ALIGNMENT (((unsigned int) 1 << 28) * 8)
-#endif
-
-/* Use periods rather than dollar signs in special g++ assembler names.  */
-
-#define NO_DOLLAR_IN_LABEL
-
-/* Writing `int' for a bit-field forces int alignment for the structure.  */
-
-#ifndef PCC_BITFIELD_TYPE_MATTERS
-#define PCC_BITFIELD_TYPE_MATTERS 1
-#endif
-
-/* All ELF targets can support DWARF-2.  */
-
-#define DWARF2_DEBUGGING_INFO 1
-
-/* The GNU tools operate better with dwarf2, and it is required by some
-   psABI's.  Since we don't have any native tools to be compatible with,
-   default to dwarf2.  */
-
-#ifndef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-#endif
-
-/* All SVR4 targets use the ELF object file format.  */
-#define OBJECT_FORMAT_ELF
-
-
-/* Output #ident as a .ident.  */
-
-#define ASM_OUTPUT_IDENT(FILE, NAME) \
-  fprintf (FILE, "%s\"%s\"\n", IDENT_ASM_OP, NAME);
-
-#define IDENT_ASM_OP "\t.ident\t"
-
-#undef  SET_ASM_OP
-#define SET_ASM_OP	"\t.set\t"
-
-/* Most svr4 assemblers want a .file directive at the beginning of
-   their input file.  */
-#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
-
-/* This is how to allocate empty space in some section.  The .zero
-   pseudo-op is used for this on most svr4 assemblers.  */
-
-#define SKIP_ASM_OP	"\t.zero\t"
-
-#undef  ASM_OUTPUT_SKIP
-#define ASM_OUTPUT_SKIP(FILE, SIZE) \
-   fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\
-	    SKIP_ASM_OP, (SIZE))
-
-/* This is how to store into the string LABEL
-   the symbol_ref name of an internal numbered label where
-   PREFIX is the class of label and NUM is the number within the class.
-   This is suitable for output with `assemble_name'.
-
-   For most svr4 systems, the convention is that any symbol which begins
-   with a period is not put into the linker symbol table by the assembler.  */
-
-#undef  ASM_GENERATE_INTERNAL_LABEL
-#define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM)		\
-  do								\
-    {								\
-      sprintf (LABEL, "*.%s%u", PREFIX, (unsigned) (NUM));	\
-    }								\
-  while (0)
-
-/* Output the label which precedes a jumptable.  Note that for all svr4
-   systems where we actually generate jumptables (which is to say every
-   svr4 target except i386, where we use casesi instead) we put the jump-
-   tables into the .rodata section and since other stuff could have been
-   put into the .rodata section prior to any given jumptable, we have to
-   make sure that the location counter for the .rodata section gets pro-
-   perly re-aligned prior to the actual beginning of the jump table.  */
-
-#undef ALIGN_ASM_OP
-#define ALIGN_ASM_OP "\t.align\t"
-
-#ifndef ASM_OUTPUT_BEFORE_CASE_LABEL
-#define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE, PREFIX, NUM, TABLE) \
-  ASM_OUTPUT_ALIGN ((FILE), 2);
-#endif
-
-#undef  ASM_OUTPUT_CASE_LABEL
-#define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, JUMPTABLE)		\
-  do									\
-    {									\
-      ASM_OUTPUT_BEFORE_CASE_LABEL (FILE, PREFIX, NUM, JUMPTABLE)	\
-	(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM);			\
-    }									\
-  while (0)
-
-/* The standard SVR4 assembler seems to require that certain builtin
-   library routines (e.g. .udiv) be explicitly declared as .globl
-   in each assembly file where they are referenced.  */
-
-#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN)	\
-  (*targetm.asm_out.globalize_label) (FILE, XSTR (FUN, 0))
-
-/* This says how to output assembler code to declare an
-   uninitialized external linkage data object.  Under SVR4,
-   the linker seems to want the alignment of data objects
-   to depend on their types.  We do exactly that here.  */
-
-#define COMMON_ASM_OP	"\t.comm\t"
-
-#undef  ASM_OUTPUT_ALIGNED_COMMON
-#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN)		\
-  do									\
-    {									\
-      fprintf ((FILE), "%s", COMMON_ASM_OP);				\
-      assemble_name ((FILE), (NAME));					\
-      fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",		\
-	       (SIZE), (ALIGN) / BITS_PER_UNIT);			\
-    }									\
-  while (0)
-
-/* This says how to output assembler code to declare an
-   uninitialized internal linkage data object.  Under SVR4,
-   the linker seems to want the alignment of data objects
-   to depend on their types.  We do exactly that here.  */
-
-#define LOCAL_ASM_OP	"\t.local\t"
-
-#undef  ASM_OUTPUT_ALIGNED_LOCAL
-#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN)	\
-  do								\
-    {								\
-      fprintf ((FILE), "%s", LOCAL_ASM_OP);			\
-      assemble_name ((FILE), (NAME));				\
-      fprintf ((FILE), "\n");					\
-      ASM_OUTPUT_ALIGNED_COMMON (FILE, NAME, SIZE, ALIGN);	\
-    }								\
-  while (0)
-
-/* This is the pseudo-op used to generate a contiguous sequence of byte
-   values from a double-quoted string WITHOUT HAVING A TERMINATING NUL
-   AUTOMATICALLY APPENDED.  This is the same for most svr4 assemblers.  */
-
-#undef  ASCII_DATA_ASM_OP
-#define ASCII_DATA_ASM_OP	"\t.ascii\t"
-
-/* Support a read-only data section.  */
-#define READONLY_DATA_SECTION_ASM_OP	"\t.section\t.rodata"
-
-/* On svr4, we *do* have support for the .init and .fini sections, and we
-   can put stuff in there to be executed before and after `main'.  We let
-   crtstuff.c and other files know this by defining the following symbols.
-   The definitions say how to change sections to the .init and .fini
-   sections.  This is the same for all known svr4 assemblers.  */
-
-#define INIT_SECTION_ASM_OP	"\t.section\t.init"
-#define FINI_SECTION_ASM_OP	"\t.section\t.fini"
-
-/* Output assembly directive to move to the beginning of current section.  */
-#ifdef HAVE_GAS_SUBSECTION_ORDERING
-# define ASM_SECTION_START_OP	"\t.subsection\t-1"
-# define ASM_OUTPUT_SECTION_START(FILE)	\
-  fprintf ((FILE), "%s\n", ASM_SECTION_START_OP)
-#endif
-
-#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
-
-/* Switch into a generic section.  */
-#define TARGET_ASM_NAMED_SECTION  default_elf_asm_named_section
-
-#undef  TARGET_ASM_SELECT_RTX_SECTION
-#define TARGET_ASM_SELECT_RTX_SECTION default_elf_select_rtx_section
-#undef	TARGET_ASM_SELECT_SECTION
-#define TARGET_ASM_SELECT_SECTION default_elf_select_section
-#undef  TARGET_HAVE_SWITCHABLE_BSS_SECTIONS
-#define TARGET_HAVE_SWITCHABLE_BSS_SECTIONS true
-
-/* Define the strings used for the special svr4 .type and .size directives.
-   These strings generally do not vary from one system running svr4 to
-   another, but if a given system (e.g. m88k running svr) needs to use
-   different pseudo-op names for these, they may be overridden in the
-   file which includes this one.  */
-
-#define TYPE_ASM_OP	"\t.type\t"
-#define SIZE_ASM_OP	"\t.size\t"
-
-/* This is how we tell the assembler that a symbol is weak.  */
-
-#define ASM_WEAKEN_LABEL(FILE, NAME)	\
-  do					\
-    {					\
-      fputs ("\t.weak\t", (FILE));	\
-      assemble_name ((FILE), (NAME));	\
-      fputc ('\n', (FILE));		\
-    }					\
-  while (0)
-
-/* The following macro defines the format used to output the second
-   operand of the .type assembler directive.  Different svr4 assemblers
-   expect various different forms for this operand.  The one given here
-   is just a default.  You may need to override it in your machine-
-   specific tm.h file (depending upon the particulars of your assembler).  */
-
-#define TYPE_OPERAND_FMT	"@%s"
-
-/* Write the extra assembler code needed to declare a function's result.
-   Most svr4 assemblers don't require any special declaration of the
-   result value, but there are exceptions.  */
-
-#ifndef ASM_DECLARE_RESULT
-#define ASM_DECLARE_RESULT(FILE, RESULT)
-#endif
-
-/* These macros generate the special .type and .size directives which
-   are used to set the corresponding fields of the linker symbol table
-   entries in an ELF object file under SVR4.  These macros also output
-   the starting labels for the relevant functions/objects.  */
-
-/* Write the extra assembler code needed to declare a function properly.
-   Some svr4 assemblers need to also have something extra said about the
-   function's return value.  We allow for that here.  */
-
-#ifndef ASM_DECLARE_FUNCTION_NAME
-#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)		\
-  do								\
-    {								\
-      ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function");	\
-      ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL));		\
-      ASM_OUTPUT_FUNCTION_LABEL (FILE, NAME, DECL);		\
-    }								\
-  while (0)
-#endif
-
-/* Write the extra assembler code needed to declare an object properly.  */
-
-#ifdef HAVE_GAS_GNU_UNIQUE_OBJECT
-#define USE_GNU_UNIQUE_OBJECT 1
-#else
-#define USE_GNU_UNIQUE_OBJECT 0
-#endif
-
-#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL)			\
-  do									\
-    {									\
-      HOST_WIDE_INT size;						\
-									\
-      /* For template static data member instantiations or		\
-	 inline fn local statics and their guard variables, use		\
-	 gnu_unique_object so that they will be combined even under	\
-	 RTLD_LOCAL.  Don't use gnu_unique_object for typeinfo,		\
-	 vtables and other read-only artificial decls.  */		\
-      if (USE_GNU_UNIQUE_OBJECT && DECL_ONE_ONLY (DECL)			\
-	  && (!DECL_ARTIFICIAL (DECL) || !TREE_READONLY (DECL)))	\
-	ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "gnu_unique_object");	\
-      else								\
-	ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object");		\
-									\
-      size_directive_output = 0;					\
-      if (!flag_inhibit_size_directive					\
-	  && (DECL) && DECL_SIZE (DECL))				\
-	{								\
-	  size_directive_output = 1;					\
-	  size = int_size_in_bytes (TREE_TYPE (DECL));			\
-	  ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size);			\
-	}								\
-									\
-      ASM_OUTPUT_LABEL (FILE, NAME);					\
-    }									\
-  while (0)
-
-/* Output the size directive for a decl in rest_of_decl_compilation
-   in the case where we did not do so before the initializer.
-   Once we find the error_mark_node, we know that the value of
-   size_directive_output was set
-   by ASM_DECLARE_OBJECT_NAME when it was run for the same decl.  */
-
-#undef ASM_FINISH_DECLARE_OBJECT
-#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)\
-  do								\
-    {								\
-      const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0);	\
-      HOST_WIDE_INT size;					\
-								\
-      if (!flag_inhibit_size_directive				\
-	  && DECL_SIZE (DECL)					\
-	  && ! AT_END && TOP_LEVEL				\
-	  && DECL_INITIAL (DECL) == error_mark_node		\
-	  && !size_directive_output)				\
-	{							\
-	  size_directive_output = 1;				\
-	  size = int_size_in_bytes (TREE_TYPE (DECL));		\
-	  ASM_OUTPUT_SIZE_DIRECTIVE (FILE, name, size);		\
-	}							\
-    }								\
-  while (0)
-
-/* This is how to declare the size of a function.  */
-#ifndef ASM_DECLARE_FUNCTION_SIZE
-#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL)		\
-  do								\
-    {								\
-      if (!flag_inhibit_size_directive)				\
-	ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME);			\
-    }								\
-  while (0)
-#endif
-
-/* A table of bytes codes used by the ASM_OUTPUT_ASCII and
-   ASM_OUTPUT_LIMITED_STRING macros.  Each byte in the table
-   corresponds to a particular byte value [0..255].  For any
-   given byte value, if the value in the corresponding table
-   position is zero, the given character can be output directly.
-   If the table value is 1, the byte must be output as a \ooo
-   octal escape.  If the tables value is anything else, then the
-   byte value should be output as a \ followed by the value
-   in the table.  Note that we can use standard UN*X escape
-   sequences for many control characters, but we don't use
-   \a to represent BEL because some svr4 assemblers (e.g. on
-   the i386) don't know about that.  Also, we don't use \v
-   since some versions of gas, such as 2.2 did not accept it.  */
-
-#define ESCAPES \
-"\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
-\0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
-\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\
-\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\
-\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
-\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
-\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
-\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"
-
-/* Some svr4 assemblers have a limit on the number of characters which
-   can appear in the operand of a .string directive.  If your assembler
-   has such a limitation, you should define STRING_LIMIT to reflect that
-   limit.  Note that at least some svr4 assemblers have a limit on the
-   actual number of bytes in the double-quoted string, and that they
-   count each character in an escape sequence as one byte.  Thus, an
-   escape sequence like \377 would count as four bytes.
-
-   If your target assembler doesn't support the .string directive, you
-   should define this to zero.
-*/
-
-#define STRING_LIMIT	((unsigned) 256)
-
-#define STRING_ASM_OP	"\t.string\t"
-
-/* The routine used to output NUL terminated strings.  We use a special
-   version of this for most svr4 targets because doing so makes the
-   generated assembly code more compact (and thus faster to assemble)
-   as well as more readable, especially for targets like the i386
-   (where the only alternative is to output character sequences as
-   comma separated lists of numbers).  */
-
-#define ASM_OUTPUT_LIMITED_STRING(FILE, STR)		\
-  do							\
-    {							\
-      register const unsigned char *_limited_str =	\
-	(const unsigned char *) (STR);			\
-      register unsigned ch;				\
-							\
-      fprintf ((FILE), "%s\"", STRING_ASM_OP);		\
-							\
-      for (; (ch = *_limited_str); _limited_str++)	\
-        {						\
-	  register int escape;				\
-							\
-	  switch (escape = ESCAPES[ch])			\
-	    {						\
-	    case 0:					\
-	      putc (ch, (FILE));			\
-	      break;					\
-	    case 1:					\
-	      fprintf ((FILE), "\\%03o", ch);		\
-	      break;					\
-	    default:					\
-	      putc ('\\', (FILE));			\
-	      putc (escape, (FILE));			\
-	      break;					\
-	    }						\
-        }						\
-							\
-      fprintf ((FILE), "\"\n");				\
-    }							\
-  while (0)
-
-/* The routine used to output sequences of byte values.  We use a special
-   version of this for most svr4 targets because doing so makes the
-   generated assembly code more compact (and thus faster to assemble)
-   as well as more readable.  Note that if we find subparts of the
-   character sequence which end with NUL (and which are shorter than
-   STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING.  */
-
-#undef  ASM_OUTPUT_ASCII
-#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)				\
-  do									\
-    {									\
-      const unsigned char *_ascii_bytes =				\
-	(const unsigned char *) (STR);					\
-      const unsigned char *limit = _ascii_bytes + (LENGTH);		\
-      const unsigned char *last_null = NULL;				\
-      unsigned bytes_in_chunk = 0;					\
-									\
-      for (; _ascii_bytes < limit; _ascii_bytes++)			\
-        {								\
-	  const unsigned char *p;					\
-									\
-	  if (bytes_in_chunk >= 60)					\
-	    {								\
-	      fprintf ((FILE), "\"\n");					\
-	      bytes_in_chunk = 0;					\
-	    }								\
-									\
-	  if (_ascii_bytes > last_null)					\
-	    {								\
-	      for (p = _ascii_bytes; p < limit && *p != '\0'; p++)	\
-		continue;						\
-	      last_null = p;						\
-	    }								\
-	  else								\
-	    p = last_null;						\
-									\
-	  if (p < limit && (p - _ascii_bytes) <= (long)STRING_LIMIT)	\
-	    {								\
-	      if (bytes_in_chunk > 0)					\
-		{							\
-		  fprintf ((FILE), "\"\n");				\
-		  bytes_in_chunk = 0;					\
-		}							\
-									\
-	      ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes);		\
-	      _ascii_bytes = p;						\
-	    }								\
-	  else								\
-	    {								\
-	      register int escape;					\
-	      register unsigned ch;					\
-									\
-	      if (bytes_in_chunk == 0)					\
-		fprintf ((FILE), "%s\"", ASCII_DATA_ASM_OP);		\
-									\
-	      switch (escape = ESCAPES[ch = *_ascii_bytes])		\
-		{							\
-		case 0:							\
-		  putc (ch, (FILE));					\
-		  bytes_in_chunk++;					\
-		  break;						\
-		case 1:							\
-		  fprintf ((FILE), "\\%03o", ch);			\
-		  bytes_in_chunk += 4;					\
-		  break;						\
-		default:						\
-		  putc ('\\', (FILE));					\
-		  putc (escape, (FILE));				\
-		  bytes_in_chunk += 2;					\
-		  break;						\
-		}							\
-	    }								\
-	}								\
-									\
-      if (bytes_in_chunk > 0)						\
-        fprintf ((FILE), "\"\n");					\
-    }									\
-  while (0)
-
-/* Allow the use of the -frecord-gcc-switches switch via the
-   elf_record_gcc_switches function defined in varasm.c.  */
-#undef  TARGET_ASM_RECORD_GCC_SWITCHES
-#define TARGET_ASM_RECORD_GCC_SWITCHES elf_record_gcc_switches
-
-/* A C statement (sans semicolon) to output to the stdio stream STREAM
-   any text necessary for declaring the name of an external symbol
-   named NAME which is referenced in this compilation but not defined.
-   It is needed to properly support non-default visibility.  */
-
-#ifndef ASM_OUTPUT_EXTERNAL
-#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
-  default_elf_asm_output_external (FILE, DECL, NAME)
-#endif
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/glibc-stdint.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/glibc-stdint.h
deleted file mode 100644
index 4f8fe07..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/glibc-stdint.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Definitions for <stdint.h> types on systems using GNU libc or uClibc.
-   Copyright (C) 2008, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-#define SIG_ATOMIC_TYPE "int"
-
-#define INT8_TYPE "signed char"
-#define INT16_TYPE "short int"
-#define INT32_TYPE "int"
-#define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
-#define UINT8_TYPE "unsigned char"
-#define UINT16_TYPE "short unsigned int"
-#define UINT32_TYPE "unsigned int"
-#define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
-
-#define INT_LEAST8_TYPE "signed char"
-#define INT_LEAST16_TYPE "short int"
-#define INT_LEAST32_TYPE "int"
-#define INT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
-#define UINT_LEAST8_TYPE "unsigned char"
-#define UINT_LEAST16_TYPE "short unsigned int"
-#define UINT_LEAST32_TYPE "unsigned int"
-#define UINT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
-
-#define INT_FAST8_TYPE "signed char"
-#define INT_FAST16_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int")
-#define INT_FAST32_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int")
-#define INT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
-#define UINT_FAST8_TYPE "unsigned char"
-#define UINT_FAST16_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int")
-#define UINT_FAST32_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int")
-#define UINT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
-
-#define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int")
-#define UINTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int")
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/gnu-user.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/gnu-user.h
deleted file mode 100644
index 1c4e71d..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/gnu-user.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Definitions for systems using, at least optionally, a GNU
-   (glibc-based) userspace or other userspace with libc derived from
-   glibc (e.g. uClibc) or for which similar specs are appropriate.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2006,
-   2007, 2009, 2010, 2011 Free Software Foundation, Inc.
-   Contributed by Eric Youngdale.
-   Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org).
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/* Don't assume anything about the header files.  */
-#define NO_IMPLICIT_EXTERN_C
-
-#undef ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-#undef ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-/* Provide a STARTFILE_SPEC appropriate for GNU userspace.  Here we add
-   the GNU userspace magical crtbegin.o file (see crtstuff.c) which
-   provides part of the support for getting C++ file-scope static
-   object constructed before entering `main'.  */
-   
-#if defined HAVE_LD_PIE
-#define GNU_USER_TARGET_STARTFILE_SPEC \
-  "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
-   crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-#else
-#define GNU_USER_TARGET_STARTFILE_SPEC \
-  "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}} \
-   crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-#endif
-#undef  STARTFILE_SPEC
-#define STARTFILE_SPEC GNU_USER_TARGET_STARTFILE_SPEC
-
-/* Provide a ENDFILE_SPEC appropriate for GNU userspace.  Here we tack on
-   the GNU userspace magical crtend.o file (see crtstuff.c) which
-   provides part of the support for getting C++ file-scope static
-   object constructed before entering `main', followed by a normal
-   GNU userspace "finalizer" file, `crtn.o'.  */
-
-#define GNU_USER_TARGET_ENDFILE_SPEC \
-  "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC GNU_USER_TARGET_ENDFILE_SPEC
-
-/* This is for -profile to use -lc_p instead of -lc.  */
-#define GNU_USER_TARGET_CC1_SPEC "%{profile:-p}"
-#ifndef CC1_SPEC
-#define CC1_SPEC GNU_USER_TARGET_CC1_SPEC
-#endif
-
-/* The GNU C++ standard library requires that these macros be defined.  */
-#undef CPLUSPLUS_CPP_SPEC
-#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
-
-#define GNU_USER_TARGET_LIB_SPEC \
-  "%{pthread:-lpthread} \
-   %{shared:-lc} \
-   %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}"
-#undef  LIB_SPEC
-#define LIB_SPEC GNU_USER_TARGET_LIB_SPEC
-
-#if defined(HAVE_LD_EH_FRAME_HDR)
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-#endif
-
-#undef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC \
-  "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-
-/* Use --as-needed -lgcc_s for eh support.  */
-#ifdef HAVE_LD_AS_NEEDED
-#define USE_LD_AS_NEEDED 1
-#endif
-
-#define TARGET_POSIX_IO
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/linux-android.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/linux-android.h
deleted file mode 100644
index 94c5274..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/linux-android.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Configuration file for Linux Android targets.
-   Copyright (C) 2008, 2010
-   Free Software Foundation, Inc.
-   Contributed by Doug Kwan (dougkwan@google.com)
-   Rewritten by CodeSourcery, Inc.
-
-   This file is part of GCC.
-
-   GCC 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.
-
-   GCC 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 GCC; see the file COPYING3.  If not see
-   <http://www.gnu.org/licenses/>.  */
-
-#define ANDROID_TARGET_OS_CPP_BUILTINS()			\
-    do {							\
-	if (OPTION_ANDROID)					\
-	  builtin_define ("__ANDROID__");			\
-    } while (0)
-
-#if ANDROID_DEFAULT
-# define NOANDROID "mno-android"
-#else
-# define NOANDROID "!mandroid"
-#endif
-
-#define LINUX_OR_ANDROID_CC(LINUX_SPEC, ANDROID_SPEC) \
-  "%{" NOANDROID "|tno-android-cc:" LINUX_SPEC ";:" ANDROID_SPEC "}"
-
-#define LINUX_OR_ANDROID_LD(LINUX_SPEC, ANDROID_SPEC) \
-  "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}"
-
-#define ANDROID_LINK_SPEC \
-  "%{shared: -Bsymbolic}"
-
-#define ANDROID_CC1_SPEC						\
-  "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} "			\
-  "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}"
-
-#define ANDROID_CC1PLUS_SPEC						\
-  "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "		\
-  "%{!frtti:%{!fno-rtti: -fno-rtti}}"
-
-#define ANDROID_LIB_SPEC \
-  "%{!static: -ldl}"
-
-#define ANDROID_STARTFILE_SPEC						\
-  "%{!shared:"								\
-  "  %{static: crtbegin_static%O%s;: crtbegin_dynamic%O%s}}"
-
-#define ANDROID_ENDFILE_SPEC \
-  "%{!shared: crtend_android%O%s}"
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/linux.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/linux.h
deleted file mode 100644
index 00b4f1c..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/linux.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Definitions for systems using the Linux kernel, with or without
-   MMU, using ELF at the compiler level but possibly FLT for final
-   linked executables and shared libraries in some no-MMU cases, and
-   possibly with a choice of libc implementations.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2006,
-   2007, 2009, 2010, 2011 Free Software Foundation, Inc.
-   Contributed by Eric Youngdale.
-   Modified for stabs-in-ELF by H.J. Lu (hjl@lucon.org).
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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/>.  */
-
-/* C libraries supported on Linux.  */
-#ifdef SINGLE_LIBC
-#define OPTION_GLIBC  (DEFAULT_LIBC == LIBC_GLIBC)
-#define OPTION_UCLIBC (DEFAULT_LIBC == LIBC_UCLIBC)
-#define OPTION_BIONIC (DEFAULT_LIBC == LIBC_BIONIC)
-#else
-#define OPTION_GLIBC  (linux_libc == LIBC_GLIBC)
-#define OPTION_UCLIBC (linux_libc == LIBC_UCLIBC)
-#define OPTION_BIONIC (linux_libc == LIBC_BIONIC)
-#endif
-
-#define LINUX_TARGET_OS_CPP_BUILTINS()				\
-    do {							\
-	if (OPTION_GLIBC)					\
-	  builtin_define ("__gnu_linux__");			\
-	builtin_define_std ("linux");				\
-	builtin_define_std ("unix");				\
-	builtin_assert ("system=linux");			\
-	builtin_assert ("system=unix");				\
-	builtin_assert ("system=posix");			\
-    } while (0)
-
-/* Determine which dynamic linker to use depending on whether GLIBC or
-   uClibc or Bionic is the default C library and whether
-   -muclibc or -mglibc or -mbionic has been passed to change the default.  */
-
-#define CHOOSE_DYNAMIC_LINKER1(LIBC1, LIBC2, LIBC3, LD1, LD2, LD3)	\
-  "%{" LIBC2 ":" LD2 ";:%{" LIBC3 ":" LD3 ";:" LD1 "}}"
-
-#if DEFAULT_LIBC == LIBC_GLIBC
-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
-  CHOOSE_DYNAMIC_LINKER1 ("mglibc", "muclibc", "mbionic", G, U, B)
-#elif DEFAULT_LIBC == LIBC_UCLIBC
-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
-  CHOOSE_DYNAMIC_LINKER1 ("muclibc", "mglibc", "mbionic", U, G, B)
-#elif DEFAULT_LIBC == LIBC_BIONIC
-#define CHOOSE_DYNAMIC_LINKER(G, U, B) \
-  CHOOSE_DYNAMIC_LINKER1 ("mbionic", "mglibc", "muclibc", B, G, U)
-#else
-#error "Unsupported DEFAULT_LIBC"
-#endif /* DEFAULT_LIBC */
-
-/* For most targets the following definitions suffice;
-   GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
-   GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
-   supporting both 32-bit and 64-bit compilation.  */
-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
-#define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
-#define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
-#define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
-
-#define LINUX_DYNAMIC_LINKER						\
-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,	\
-			 BIONIC_DYNAMIC_LINKER)
-#define LINUX_DYNAMIC_LINKER32						\
-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32, \
-			 BIONIC_DYNAMIC_LINKER32)
-#define LINUX_DYNAMIC_LINKER64						\
-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64, \
-			 BIONIC_DYNAMIC_LINKER64)
-
-/* Determine whether the entire c99 runtime
-   is present in the runtime library.  */
-#define TARGET_C99_FUNCTIONS (OPTION_GLIBC)
-
-/* Whether we have sincos that follows the GNU extension.  */
-#define TARGET_HAS_SINCOS (OPTION_GLIBC || OPTION_BIONIC)
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/linux.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/linux.h
deleted file mode 100644
index a78f6bc..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/linux.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Definitions for MIPS running Linux-based GNU systems with ELF format.
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-   2007, 2008, 2010, 2011 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
-
-#undef ASM_DECLARE_OBJECT_NAME
-#define ASM_DECLARE_OBJECT_NAME mips_declare_object_name
-
-#undef TARGET_VERSION
-#if TARGET_ENDIAN_DEFAULT == 0
-#define TARGET_VERSION fprintf (stderr, " (MIPSel GNU/Linux with ELF)");
-#else
-#define TARGET_VERSION fprintf (stderr, " (MIPS GNU/Linux with ELF)");
-#endif
-
-/* If we don't set MASK_ABICALLS, we can't default to PIC.  */
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_ABICALLS
-
-#define TARGET_OS_CPP_BUILTINS()				\
-  do {								\
-    LINUX_TARGET_OS_CPP_BUILTINS();				\
-    /* The GNU C++ standard library requires this.  */		\
-    if (c_dialect_cxx ())					\
-      builtin_define ("_GNU_SOURCE");				\
-  } while (0)
-
-#undef SUBTARGET_CPP_SPEC
-#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
-/* A standard GNU/Linux mapping.  On most targets, it is included in
-   CC1_SPEC itself by config/linux.h, but mips.h overrides CC1_SPEC
-   and provides this hook instead.  */
-#undef SUBTARGET_CC1_SPEC
-#define SUBTARGET_CC1_SPEC "%{profile:-p}"
-
-/* From iris5.h */
-/* -G is incompatible with -KPIC which is the default, so only allow objects
-   in the small data section if the user explicitly asks for it.  */
-#undef MIPS_DEFAULT_GVALUE
-#define MIPS_DEFAULT_GVALUE 0
-
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
-
-/* Borrowed from sparc/linux.h */
-#undef LINK_SPEC
-#define LINK_SPEC \
- "%(endian_spec) \
-  %{shared:-shared} \
-  %{!shared: \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
-      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-      %{static:-static}}"
-
-#undef SUBTARGET_ASM_SPEC
-#define SUBTARGET_ASM_SPEC \
-  "%{!mno-abicalls:%{mplt:-call_nonpic;:-KPIC}}"
-
-/* The MIPS assembler has different syntax for .set. We set it to
-   .dummy to trap any errors.  */
-#undef SET_ASM_OP
-#define SET_ASM_OP "\t.dummy\t"
-
-#undef ASM_OUTPUT_DEF
-#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2)				\
- do {									\
-	fputc ( '\t', FILE);						\
-	assemble_name (FILE, LABEL1);					\
-	fputs ( " = ", FILE);						\
-	assemble_name (FILE, LABEL2);					\
-	fputc ( '\n', FILE);						\
- } while (0)
-
-/* The glibc _mcount stub will save $v0 for us.  Don't mess with saving
-   it, since ASM_OUTPUT_REG_PUSH/ASM_OUTPUT_REG_POP do not work in the
-   presence of $gp-relative calls.  */
-#undef ASM_OUTPUT_REG_PUSH
-#undef ASM_OUTPUT_REG_POP
-
-#undef LIB_SPEC
-#define LIB_SPEC "\
-%{pthread:-lpthread} \
-%{shared:-lc} \
-%{!shared: \
-  %{profile:-lc_p} %{!profile:-lc}}"
-
-#define MD_UNWIND_SUPPORT "config/mips/linux-unwind.h"
-
-#ifdef HAVE_AS_NO_SHARED
-/* Default to -mno-shared for non-PIC.  */
-# define NO_SHARED_SPECS \
-  "%{mshared|mno-shared|fpic|fPIC|fpie|fPIE:;:-mno-shared}"
-#else
-# define NO_SHARED_SPECS ""
-#endif
-
-/* -march=native handling only makes sense with compiler running on
-   a MIPS chip.  */
-#if defined(__mips__)
-extern const char *host_detect_local_cpu (int argc, const char **argv);
-# define EXTRA_SPEC_FUNCTIONS \
-  { "local_cpu_detect", host_detect_local_cpu },
-
-# define MARCH_MTUNE_NATIVE_SPECS				\
-  " %{march=native:%<march=native %:local_cpu_detect(arch)}"	\
-  " %{mtune=native:%<mtune=native %:local_cpu_detect(tune)}"
-#else
-# define MARCH_MTUNE_NATIVE_SPECS ""
-#endif
-
-#define LINUX_DRIVER_SELF_SPECS \
-  NO_SHARED_SPECS							\
-  MARCH_MTUNE_NATIVE_SPECS,						\
-  /* -mplt has no effect without -mno-shared.  Simplify later		\
-     specs handling by removing a redundant option.  */			\
-  "%{!mno-shared:%<mplt}",						\
-  /* -mplt likewise has no effect for -mabi=64 without -msym32.  */	\
-  "%{mabi=64:%{!msym32:%<mplt}}"
-
-#undef DRIVER_SELF_SPECS
-#define DRIVER_SELF_SPECS \
-  BASE_DRIVER_SELF_SPECS, \
-  LINUX_DRIVER_SELF_SPECS
-
-/* Similar to standard Linux, but adding -ffast-math support.  */
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC \
-  "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
-   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/mips-protos.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/mips-protos.h
deleted file mode 100644
index 6114598..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/mips-protos.h
+++ /dev/null
@@ -1,341 +0,0 @@
-/* Prototypes of target machine for GNU compiler.  MIPS version.
-   Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
-   Contributed by A. Lichnewsky (lich@inria.inria.fr).
-   Changed by Michael Meissner	(meissner@osf.org).
-   64-bit r4000 support by Ian Lance Taylor (ian@cygnus.com) and
-   Brendan Eich (brendan@microunity.com).
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-#ifndef GCC_MIPS_PROTOS_H
-#define GCC_MIPS_PROTOS_H
-
-/* Describes how a symbol is used.
-
-   SYMBOL_CONTEXT_CALL
-       The symbol is used as the target of a call instruction.
-
-   SYMBOL_CONTEXT_LEA
-       The symbol is used in a load-address operation.
-
-   SYMBOL_CONTEXT_MEM
-       The symbol is used as the address in a MEM.  */
-enum mips_symbol_context {
-  SYMBOL_CONTEXT_CALL,
-  SYMBOL_CONTEXT_LEA,
-  SYMBOL_CONTEXT_MEM
-};
-
-/* Classifies a SYMBOL_REF, LABEL_REF or UNSPEC address.
-
-   SYMBOL_ABSOLUTE
-       The symbol's value will be calculated using absolute relocations,
-       such as %hi and %lo.
-
-   SYMBOL_GP_RELATIVE
-       The symbol's value will be calculated by adding a 16-bit offset
-       from $gp.
-
-   SYMBOL_PC_RELATIVE
-       The symbol's value will be calculated using a MIPS16 PC-relative
-       calculation.
-
-   SYMBOL_FORCE_TO_MEM
-       The symbol's value must be forced to memory and loaded from there.
-
-   SYMBOL_GOT_PAGE_OFST
-       The symbol's value will be calculated by loading an address
-       from the GOT and then applying a 16-bit offset.
-
-   SYMBOL_GOT_DISP
-       The symbol's value will be loaded directly from the GOT.
-
-   SYMBOL_GOTOFF_PAGE
-       An UNSPEC wrapper around a SYMBOL_GOT_PAGE_OFST.  It represents the
-       offset from _gp of the GOT entry.
-
-   SYMBOL_GOTOFF_DISP
-       An UNSPEC wrapper around a SYMBOL_GOT_DISP.  It represents the
-       the offset from _gp of the symbol's GOT entry.
-
-   SYMBOL_GOTOFF_CALL
-       Like SYMBOL_GOTOFF_DISP, but used when calling a global function.
-       The GOT entry is allowed to point to a stub rather than to the
-       function itself.
-
-   SYMBOL_GOTOFF_LOADGP
-       An UNSPEC wrapper around a function's address.  It represents the
-       offset of _gp from the start of the function.
-
-   SYMBOL_TLS
-       A thread-local symbol.
-
-   SYMBOL_TLSGD
-   SYMBOL_TLSLDM
-   SYMBOL_DTPREL
-   SYMBOL_GOTTPREL
-   SYMBOL_TPREL
-       UNSPEC wrappers around SYMBOL_TLS, corresponding to the
-       thread-local storage relocation operators.
-
-   SYMBOL_32_HIGH
-       For a 32-bit symbolic address X, this is the value of %hi(X).
-
-   SYMBOL_64_HIGH
-       For a 64-bit symbolic address X, this is the value of
-       (%highest(X) << 16) + %higher(X).
-
-   SYMBOL_64_MID
-       For a 64-bit symbolic address X, this is the value of
-       (%higher(X) << 16) + %hi(X).
-
-   SYMBOL_64_LOW
-       For a 64-bit symbolic address X, this is the value of
-       (%hi(X) << 16) + %lo(X).
-
-   SYMBOL_HALF
-       An UNSPEC wrapper around any kind of address.  It represents the
-       low 16 bits of that address.  */
-enum mips_symbol_type {
-  SYMBOL_ABSOLUTE,
-  SYMBOL_GP_RELATIVE,
-  SYMBOL_PC_RELATIVE,
-  SYMBOL_FORCE_TO_MEM,
-  SYMBOL_GOT_PAGE_OFST,
-  SYMBOL_GOT_DISP,
-  SYMBOL_GOTOFF_PAGE,
-  SYMBOL_GOTOFF_DISP,
-  SYMBOL_GOTOFF_CALL,
-  SYMBOL_GOTOFF_LOADGP,
-  SYMBOL_TLS,
-  SYMBOL_TLSGD,
-  SYMBOL_TLSLDM,
-  SYMBOL_DTPREL,
-  SYMBOL_GOTTPREL,
-  SYMBOL_TPREL,
-  SYMBOL_32_HIGH,
-  SYMBOL_64_HIGH,
-  SYMBOL_64_MID,
-  SYMBOL_64_LOW,
-  SYMBOL_HALF
-};
-#define NUM_SYMBOL_TYPES (SYMBOL_HALF + 1)
-
-/* Identifiers a style of $gp initialization sequence.
-
-   LOADGP_NONE
-	No initialization sequence is needed.
-
-   LOADGP_OLDABI
-	The o32 and o64 PIC sequence (the kind traditionally generated
-	by .cpload).
-
-   LOADGP_NEWABI
-	The n32 and n64 PIC sequence (the kind traditionally generated
-	by .cpsetup).
-
-   LOADGP_ABSOLUTE
-	The GNU absolute sequence, as generated by loadgp_absolute.
-
-   LOADGP_RTP
-	The VxWorks RTP PIC sequence, as generated by loadgp_rtp.  */
-enum mips_loadgp_style {
-  LOADGP_NONE,
-  LOADGP_OLDABI,
-  LOADGP_NEWABI,
-  LOADGP_ABSOLUTE,
-  LOADGP_RTP
-};
-
-struct mips16e_save_restore_info;
-
-/* Classifies a type of call.
-
-   MIPS_CALL_NORMAL
-	A normal call or call_value pattern.
-
-   MIPS_CALL_SIBCALL
-	A sibcall or sibcall_value pattern.
-
-   MIPS_CALL_EPILOGUE
-	A call inserted in the epilogue.  */
-enum mips_call_type {
-  MIPS_CALL_NORMAL,
-  MIPS_CALL_SIBCALL,
-  MIPS_CALL_EPILOGUE
-};
-
-extern bool mips_symbolic_constant_p (rtx, enum mips_symbol_context,
-				      enum mips_symbol_type *);
-extern int mips_regno_mode_ok_for_base_p (int, enum machine_mode, bool);
-extern bool mips_stack_address_p (rtx, enum machine_mode);
-extern int mips_address_insns (rtx, enum machine_mode, bool);
-extern int mips_const_insns (rtx);
-extern int mips_split_const_insns (rtx);
-extern int mips_load_store_insns (rtx, rtx);
-extern int mips_idiv_insns (void);
-extern rtx mips_emit_move (rtx, rtx);
-extern rtx mips_pic_base_register (rtx);
-extern rtx mips_got_load (rtx, rtx, enum mips_symbol_type);
-extern bool mips_split_symbol (rtx, rtx, enum machine_mode, rtx *);
-extern rtx mips_unspec_address (rtx, enum mips_symbol_type);
-extern void mips_move_integer (rtx, rtx, unsigned HOST_WIDE_INT);
-extern bool mips_legitimize_move (enum machine_mode, rtx, rtx);
-
-extern int m16_uimm3_b (rtx, enum machine_mode);
-extern int m16_simm4_1 (rtx, enum machine_mode);
-extern int m16_nsimm4_1 (rtx, enum machine_mode);
-extern int m16_simm5_1 (rtx, enum machine_mode);
-extern int m16_nsimm5_1 (rtx, enum machine_mode);
-extern int m16_uimm5_4 (rtx, enum machine_mode);
-extern int m16_nuimm5_4 (rtx, enum machine_mode);
-extern int m16_simm8_1 (rtx, enum machine_mode);
-extern int m16_nsimm8_1 (rtx, enum machine_mode);
-extern int m16_uimm8_1 (rtx, enum machine_mode);
-extern int m16_nuimm8_1 (rtx, enum machine_mode);
-extern int m16_uimm8_m1_1 (rtx, enum machine_mode);
-extern int m16_uimm8_4 (rtx, enum machine_mode);
-extern int m16_nuimm8_4 (rtx, enum machine_mode);
-extern int m16_simm8_8 (rtx, enum machine_mode);
-extern int m16_nsimm8_8 (rtx, enum machine_mode);
-
-extern rtx mips_subword (rtx, bool);
-extern bool mips_split_64bit_move_p (rtx, rtx);
-extern void mips_split_doubleword_move (rtx, rtx);
-extern const char *mips_output_move (rtx, rtx);
-extern bool mips_cfun_has_cprestore_slot_p (void);
-extern bool mips_cprestore_address_p (rtx, bool);
-extern void mips_save_gp_to_cprestore_slot (rtx, rtx, rtx, rtx);
-extern void mips_restore_gp_from_cprestore_slot (rtx);
-#ifdef RTX_CODE
-extern void mips_expand_scc (rtx *);
-extern void mips_expand_conditional_branch (rtx *);
-extern void mips_expand_vcondv2sf (rtx, rtx, rtx, enum rtx_code, rtx, rtx);
-extern void mips_expand_conditional_move (rtx *);
-extern void mips_expand_conditional_trap (rtx);
-#endif
-extern bool mips_use_pic_fn_addr_reg_p (const_rtx);
-extern rtx mips_expand_call (enum mips_call_type, rtx, rtx, rtx, rtx, bool);
-extern void mips_split_call (rtx, rtx);
-extern bool mips_get_pic_call_symbol (rtx *, int);
-extern void mips_expand_fcc_reload (rtx, rtx, rtx);
-extern void mips_set_return_address (rtx, rtx);
-extern bool mips_expand_block_move (rtx, rtx, rtx);
-extern void mips_expand_synci_loop (rtx, rtx);
-
-extern void mips_init_cumulative_args (CUMULATIVE_ARGS *, tree);
-extern bool mips_pad_arg_upward (enum machine_mode, const_tree);
-extern bool mips_pad_reg_upward (enum machine_mode, tree);
-
-extern bool mips_expand_ext_as_unaligned_load (rtx, rtx, HOST_WIDE_INT,
-					       HOST_WIDE_INT);
-extern bool mips_expand_ins_as_unaligned_store (rtx, rtx, HOST_WIDE_INT,
-						HOST_WIDE_INT);
-extern bool mips_mem_fits_mode_p (enum machine_mode mode, rtx x);
-extern void mips_order_regs_for_local_alloc (void);
-extern HOST_WIDE_INT mips_debugger_offset (rtx, HOST_WIDE_INT);
-
-extern void mips_push_asm_switch (struct mips_asm_switch *);
-extern void mips_pop_asm_switch (struct mips_asm_switch *);
-extern void mips_output_external (FILE *, tree, const char *);
-extern void mips_output_ascii (FILE *, const char *, size_t);
-extern void mips_output_aligned_decl_common (FILE *, tree, const char *,
-					     unsigned HOST_WIDE_INT,
-					     unsigned int);
-extern void mips_declare_common_object (FILE *, const char *,
-					const char *, unsigned HOST_WIDE_INT,
-					unsigned int, bool);
-extern void mips_declare_object (FILE *, const char *, const char *,
-				 const char *, ...) ATTRIBUTE_PRINTF_4;
-extern void mips_declare_object_name (FILE *, const char *, tree);
-extern void mips_finish_declare_object (FILE *, tree, int, int);
-
-extern bool mips_small_data_pattern_p (rtx);
-extern rtx mips_rewrite_small_data (rtx);
-extern HOST_WIDE_INT mips_initial_elimination_offset (int, int);
-extern rtx mips_return_addr (int, rtx);
-extern bool mips_must_initialize_gp_p (void);
-extern enum mips_loadgp_style mips_current_loadgp_style (void);
-extern void mips_emit_save_slot_move (rtx, rtx, rtx);
-extern void mips_expand_prologue (void);
-extern void mips_expand_before_return (void);
-extern void mips_expand_epilogue (bool);
-extern bool mips_can_use_return_insn (void);
-extern rtx mips_function_value (const_tree, const_tree, enum machine_mode);
-
-extern bool mips_cannot_change_mode_class (enum machine_mode,
-					   enum machine_mode, enum reg_class);
-extern bool mips_dangerous_for_la25_p (rtx);
-extern bool mips_modes_tieable_p (enum machine_mode, enum machine_mode);
-extern enum reg_class mips_secondary_reload_class (enum reg_class,
-						   enum machine_mode,
-						   rtx, bool);
-extern int mips_class_max_nregs (enum reg_class, enum machine_mode);
-
-extern int mips_adjust_insn_length (rtx, int);
-extern void mips_output_load_label (rtx);
-extern const char *mips_output_conditional_branch (rtx, rtx *, const char *,
-						   const char *);
-extern const char *mips_output_order_conditional_branch (rtx, rtx *, bool);
-extern const char *mips_output_sync (void);
-extern const char *mips_output_sync_loop (rtx, rtx *);
-extern unsigned int mips_sync_loop_insns (rtx, rtx *);
-extern const char *mips_output_division (const char *, rtx *);
-extern unsigned int mips_hard_regno_nregs (int, enum machine_mode);
-extern bool mips_linked_madd_p (rtx, rtx);
-extern bool mips_store_data_bypass_p (rtx, rtx);
-extern rtx mips_prefetch_cookie (rtx, rtx);
-
-extern void irix_asm_output_align (FILE *, unsigned);
-extern const char *current_section_name (void);
-extern unsigned int current_section_flags (void);
-extern bool mips_use_ins_ext_p (rtx, HOST_WIDE_INT, HOST_WIDE_INT);
-
-extern const char *mips16e_output_save_restore (rtx, HOST_WIDE_INT);
-extern bool mips16e_save_restore_pattern_p (rtx, HOST_WIDE_INT,
-					    struct mips16e_save_restore_info *);
-
-extern bool mask_low_and_shift_p (enum machine_mode, rtx, rtx, int);
-extern int mask_low_and_shift_len (enum machine_mode, rtx, rtx);
-extern bool and_operands_ok (enum machine_mode, rtx, rtx);
-
-union mips_gen_fn_ptrs
-{
-  rtx (*fn_6) (rtx, rtx, rtx, rtx, rtx, rtx);
-  rtx (*fn_5) (rtx, rtx, rtx, rtx, rtx);
-  rtx (*fn_4) (rtx, rtx, rtx, rtx);
-};
-
-extern void mips_expand_atomic_qihi (union mips_gen_fn_ptrs,
-				     rtx, rtx, rtx, rtx);
-
-extern void mips_expand_vector_init (rtx, rtx);
-
-extern bool mips_eh_uses (unsigned int);
-extern bool mips_epilogue_uses (unsigned int);
-extern void mips_final_prescan_insn (rtx, rtx *, int);
-extern int mips_trampoline_code_size (void);
-extern void mips_function_profiler (FILE *);
-
-typedef rtx (*mulsidi3_gen_fn) (rtx, rtx, rtx);
-#ifdef RTX_CODE
-extern mulsidi3_gen_fn mips_mulsidi3_gen_fn (enum rtx_code);
-#endif
-
-#endif /* ! GCC_MIPS_PROTOS_H */
diff --git a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/mips.h b/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/mips.h
deleted file mode 100644
index 9600dcb..0000000
--- a/lib/gcc/mips-qca-linux-uclibc/4.6.4/plugin/include/config/mips/mips.h
+++ /dev/null
@@ -1,2984 +0,0 @@
-/* Definitions of target machine for GNU compiler.  MIPS version.
-   Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
-   Contributed by A. Lichnewsky (lich@inria.inria.fr).
-   Changed by Michael Meissner	(meissner@osf.org).
-   64-bit r4000 support by Ian Lance Taylor (ian@cygnus.com) and
-   Brendan Eich (brendan@microunity.com).
-
-This file is part of GCC.
-
-GCC 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.
-
-GCC 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 GCC; see the file COPYING3.  If not see
-<http://www.gnu.org/licenses/>.  */
-
-
-#include "config/vxworks-dummy.h"
-
-#ifdef GENERATOR_FILE
-/* This is used in some insn conditions, so needs to be declared, but
-   does not need to be defined.  */
-extern int target_flags_explicit;
-#endif
-
-/* MIPS external variables defined in mips.c.  */
-
-/* Which ABI to use.  ABI_32 (original 32, or o32), ABI_N32 (n32),
-   ABI_64 (n64) are all defined by SGI.  ABI_O64 is o32 extended
-   to work on a 64-bit machine.  */
-
-#define ABI_32  0
-#define ABI_N32 1
-#define ABI_64  2
-#define ABI_EABI 3
-#define ABI_O64  4
-
-/* Masks that affect tuning.
-
-   PTF_AVOID_BRANCHLIKELY
-	Set if it is usually not profitable to use branch-likely instructions
-	for this target, typically because the branches are always predicted
-	taken and so incur a large overhead when not taken.  */
-#define PTF_AVOID_BRANCHLIKELY 0x1
-
-/* Information about one recognized processor.  Defined here for the
-   benefit of TARGET_CPU_CPP_BUILTINS.  */
-struct mips_cpu_info {
-  /* The 'canonical' name of the processor as far as GCC is concerned.
-     It's typically a manufacturer's prefix followed by a numerical
-     designation.  It should be lowercase.  */
-  const char *name;
-
-  /* The internal processor number that most closely matches this
-     entry.  Several processors can have the same value, if there's no
-     difference between them from GCC's point of view.  */
-  enum processor cpu;
-
-  /* The ISA level that the processor implements.  */
-  int isa;
-
-  /* A mask of PTF_* values.  */
-  unsigned int tune_flags;
-};
-
-/* Enumerates the setting of the -mcode-readable option.  */
-enum mips_code_readable_setting {
-  CODE_READABLE_NO,
-  CODE_READABLE_PCREL,
-  CODE_READABLE_YES
-};
-
-/* Macros to silence warnings about numbers being signed in traditional
-   C and unsigned in ISO C when compiled on 32-bit hosts.  */
-
-#define BITMASK_HIGH	(((unsigned long)1) << 31)	/* 0x80000000 */
-#define BITMASK_UPPER16	((unsigned long)0xffff << 16)	/* 0xffff0000 */
-#define BITMASK_LOWER16	((unsigned long)0xffff)		/* 0x0000ffff */
-
-
-/* Run-time compilation parameters selecting different hardware subsets.  */
-
-/* True if we are generating position-independent VxWorks RTP code.  */
-#define TARGET_RTP_PIC (TARGET_VXWORKS_RTP && flag_pic)
-
-/* True if the output file is marked as ".abicalls; .option pic0"
-   (-call_nonpic).  */
-#define TARGET_ABICALLS_PIC0 \
-  (TARGET_ABSOLUTE_ABICALLS && TARGET_PLT)
-
-/* True if the output file is marked as ".abicalls; .option pic2" (-KPIC).  */
-#define TARGET_ABICALLS_PIC2 \
-  (TARGET_ABICALLS && !TARGET_ABICALLS_PIC0)
-
-/* True if the call patterns should be split into a jalr followed by
-   an instruction to restore $gp.  It is only safe to split the load
-   from the call when every use of $gp is explicit.
-
-   See mips_must_initialize_gp_p for details about how we manage the
-   global pointer.  */
-
-#define TARGET_SPLIT_CALLS \
-  (TARGET_EXPLICIT_RELOCS && TARGET_CALL_CLOBBERED_GP && epilogue_completed)
-
-/* True if we're generating a form of -mabicalls in which we can use
-   operators like %hi and %lo to refer to locally-binding symbols.
-   We can only do this for -mno-shared, and only then if we can use
-   relocation operations instead of assembly macros.  It isn't really
-   worth using absolute sequences for 64-bit symbols because GOT
-   accesses are so much shorter.  */
-
-#define TARGET_ABSOLUTE_ABICALLS	\
-  (TARGET_ABICALLS			\
-   && !TARGET_SHARED			\
-   && TARGET_EXPLICIT_RELOCS		\
-   && !ABI_HAS_64BIT_SYMBOLS)
-
-/* True if we can optimize sibling calls.  For simplicity, we only
-   handle cases in which call_insn_operand will reject invalid
-   sibcall addresses.  There are two cases in which this isn't true:
-
-      - TARGET_MIPS16.  call_insn_operand accepts constant addresses
-	but there is no direct jump instruction.  It isn't worth
-	using sibling calls in this case anyway; they would usually
-	be longer than normal calls.
-
-      - TARGET_USE_GOT && !TARGET_EXPLICIT_RELOCS.  call_insn_operand
-	accepts global constants, but all sibcalls must be indirect.  */
-#define TARGET_SIBCALLS \
-  (!TARGET_MIPS16 && (!TARGET_USE_GOT || TARGET_EXPLICIT_RELOCS))
-
-/* True if we need to use a global offset table to access some symbols.  */
-#define TARGET_USE_GOT (TARGET_ABICALLS || TARGET_RTP_PIC)
-
-/* True if TARGET_USE_GOT and if $gp is a call-clobbered register.  */
-#define TARGET_CALL_CLOBBERED_GP (TARGET_ABICALLS && TARGET_OLDABI)
-
-/* True if TARGET_USE_GOT and if $gp is a call-saved register.  */
-#define TARGET_CALL_SAVED_GP (TARGET_USE_GOT && !TARGET_CALL_CLOBBERED_GP)
-
-/* True if we should use .cprestore to store to the cprestore slot.
-
-   We continue to use .cprestore for explicit-reloc code so that JALs
-   inside inline asms will work correctly.  */
-#define TARGET_CPRESTORE_DIRECTIVE \
-  (TARGET_ABICALLS_PIC2 && !TARGET_MIPS16)
-
-/* True if we can use the J and JAL instructions.  */
-#define TARGET_ABSOLUTE_JUMPS \
-  (!flag_pic || TARGET_ABSOLUTE_ABICALLS)
-
-/* True if indirect calls must use register class PIC_FN_ADDR_REG.
-   This is true for both the PIC and non-PIC VxWorks RTP modes.  */
-#define TARGET_USE_PIC_FN_ADDR_REG (TARGET_ABICALLS || TARGET_VXWORKS_RTP)
-
-/* True if .gpword or .gpdword should be used for switch tables.
-
-   Although GAS does understand .gpdword, the SGI linker mishandles
-   the relocations GAS generates (R_MIPS_GPREL32 followed by R_MIPS_64).
-   We therefore disable GP-relative switch tables for n64 on IRIX targets.  */
-#define TARGET_GPWORD				\
-  (TARGET_ABICALLS				\
-   && !TARGET_ABSOLUTE_ABICALLS			\
-   && !(mips_abi == ABI_64 && TARGET_IRIX6))
-
-/* True if the output must have a writable .eh_frame.
-   See ASM_PREFERRED_EH_DATA_FORMAT for details.  */
-#ifdef HAVE_LD_PERSONALITY_RELAXATION
-#define TARGET_WRITABLE_EH_FRAME 0
-#else
-#define TARGET_WRITABLE_EH_FRAME (flag_pic && TARGET_SHARED)
-#endif
-
-/* Test the assembler to set ISA_HAS_DSP_MULT to DSP Rev 1 or 2.  */
-#ifdef HAVE_AS_DSPR1_MULT
-#define ISA_HAS_DSP_MULT ISA_HAS_DSP
-#else
-#define ISA_HAS_DSP_MULT ISA_HAS_DSPR2
-#endif
-
-/* Generate mips16 code */
-#define TARGET_MIPS16		((target_flags & MASK_MIPS16) != 0)
-/* Generate mips16e code. Default 16bit ASE for mips32* and mips64* */
-#define GENERATE_MIPS16E	(TARGET_MIPS16 && mips_isa >= 32)
-/* Generate mips16e register save/restore sequences.  */
-#define GENERATE_MIPS16E_SAVE_RESTORE (GENERATE_MIPS16E && mips_abi == ABI_32)
-
-/* True if we're generating a form of MIPS16 code in which general
-   text loads are allowed.  */
-#define TARGET_MIPS16_TEXT_LOADS \
-  (TARGET_MIPS16 && mips_code_readable == CODE_READABLE_YES)
-
-/* True if we're generating a form of MIPS16 code in which PC-relative
-   loads are allowed.  */
-#define TARGET_MIPS16_PCREL_LOADS \
-  (TARGET_MIPS16 && mips_code_readable >= CODE_READABLE_PCREL)
-
-/* Generic ISA defines.  */
-#define ISA_MIPS1		    (mips_isa == 1)
-#define ISA_MIPS2		    (mips_isa == 2)
-#define ISA_MIPS3                   (mips_isa == 3)
-#define ISA_MIPS4		    (mips_isa == 4)
-#define ISA_MIPS32		    (mips_isa == 32)
-#define ISA_MIPS32R2		    (mips_isa == 33)
-#define ISA_MIPS64                  (mips_isa == 64)
-#define ISA_MIPS64R2		    (mips_isa == 65)
-
-/* Architecture target defines.  */
-#define TARGET_LOONGSON_2E          (mips_arch == PROCESSOR_LOONGSON_2E)
-#define TARGET_LOONGSON_2F          (mips_arch == PROCESSOR_LOONGSON_2F)
-#define TARGET_LOONGSON_2EF         (TARGET_LOONGSON_2E || TARGET_LOONGSON_2F)
-#define TARGET_LOONGSON_3A          (mips_arch == PROCESSOR_LOONGSON_3A)
-#define TARGET_MIPS3900             (mips_arch == PROCESSOR_R3900)
-#define TARGET_MIPS4000             (mips_arch == PROCESSOR_R4000)
-#define TARGET_MIPS4120             (mips_arch == PROCESSOR_R4120)
-#define TARGET_MIPS4130             (mips_arch == PROCESSOR_R4130)
-#define TARGET_MIPS5400             (mips_arch == PROCESSOR_R5400)
-#define TARGET_MIPS5500             (mips_arch == PROCESSOR_R5500)
-#define TARGET_MIPS7000             (mips_arch == PROCESSOR_R7000)
-#define TARGET_MIPS9000             (mips_arch == PROCESSOR_R9000)
-#define TARGET_OCTEON		    (mips_arch == PROCESSOR_OCTEON)
-#define TARGET_SB1                  (mips_arch == PROCESSOR_SB1		\
-				     || mips_arch == PROCESSOR_SB1A)
-#define TARGET_SR71K                (mips_arch == PROCESSOR_SR71000)
-
-/* Scheduling target defines.  */
-#define TUNE_20KC		    (mips_tune == PROCESSOR_20KC)
-#define TUNE_24K		    (mips_tune == PROCESSOR_24KC	\
-				     || mips_tune == PROCESSOR_24KF2_1	\
-				     || mips_tune == PROCESSOR_24KF1_1)
-#define TUNE_74K                    (mips_tune == PROCESSOR_74KC	\
-				     || mips_tune == PROCESSOR_74KF2_1	\
-				     || mips_tune == PROCESSOR_74KF1_1  \
-				     || mips_tune == PROCESSOR_74KF3_2)
-#define TUNE_LOONGSON_2EF           (mips_tune == PROCESSOR_LOONGSON_2E	\
-				     || mips_tune == PROCESSOR_LOONGSON_2F)
-#define TUNE_LOONGSON_3A            (mips_tune == PROCESSOR_LOONGSON_3A)
-#define TUNE_MIPS3000               (mips_tune == PROCESSOR_R3000)
-#define TUNE_MIPS3900               (mips_tune == PROCESSOR_R3900)
-#define TUNE_MIPS4000               (mips_tune == PROCESSOR_R4000)
-#define TUNE_MIPS4120               (mips_tune == PROCESSOR_R4120)
-#define TUNE_MIPS4130               (mips_tune == PROCESSOR_R4130)
-#define TUNE_MIPS5000               (mips_tune == PROCESSOR_R5000)
-#define TUNE_MIPS5400               (mips_tune == PROCESSOR_R5400)
-#define TUNE_MIPS5500               (mips_tune == PROCESSOR_R5500)
-#define TUNE_MIPS6000               (mips_tune == PROCESSOR_R6000)
-#define TUNE_MIPS7000               (mips_tune == PROCESSOR_R7000)
-#define TUNE_MIPS9000               (mips_tune == PROCESSOR_R9000)
-#define TUNE_OCTEON		    (mips_tune == PROCESSOR_OCTEON)
-#define TUNE_SB1                    (mips_tune == PROCESSOR_SB1		\
-				     || mips_tune == PROCESSOR_SB1A)
-
-/* Whether vector modes and intrinsics for ST Microelectronics
-   Loongson-2E/2F processors should be enabled.  In o32 pairs of
-   floating-point registers provide 64-bit values.  */
-#define TARGET_LOONGSON_VECTORS	    (TARGET_HARD_FLOAT_ABI		\
-				     && (TARGET_LOONGSON_2EF		\
-					 || TARGET_LOONGSON_3A))
-
-/* True if the pre-reload scheduler should try to create chains of
-   multiply-add or multiply-subtract instructions.  For example,
-   suppose we have:
-
-	t1 = a * b
-	t2 = t1 + c * d
-	t3 = e * f
-	t4 = t3 - g * h
-
-   t1 will have a higher priority than t2 and t3 will have a higher
-   priority than t4.  However, before reload, there is no dependence
-   between t1 and t3, and they can often have similar priorities.
-   The scheduler will then tend to prefer:
-
-	t1 = a * b
-	t3 = e * f
-	t2 = t1 + c * d
-	t4 = t3 - g * h
-
-   which stops us from making full use of macc/madd-style instructions.
-   This sort of situation occurs frequently in Fourier transforms and
-   in unrolled loops.
-
-   To counter this, the TUNE_MACC_CHAINS code will reorder the ready
-   queue so that chained multiply-add and multiply-subtract instructions
-   appear ahead of any other instruction that is likely to clobber lo.
-   In the example above, if t2 and t3 become ready at the same time,
-   the code ensures that t2 is scheduled first.
-
-   Multiply-accumulate instructions are a bigger win for some targets
-   than others, so this macro is defined on an opt-in basis.  */
-#define TUNE_MACC_CHAINS	    (TUNE_MIPS5500		\
-				     || TUNE_MIPS4120		\
-				     || TUNE_MIPS4130		\
-				     || TUNE_24K)
-
-#define TARGET_OLDABI		    (mips_abi == ABI_32 || mips_abi == ABI_O64)
-#define TARGET_NEWABI		    (mips_abi == ABI_N32 || mips_abi == ABI_64)
-
-/* TARGET_HARD_FLOAT and TARGET_SOFT_FLOAT reflect whether the FPU is
-   directly accessible, while the command-line options select
-   TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI to reflect the ABI
-   in use.  */
-#define TARGET_HARD_FLOAT (TARGET_HARD_FLOAT_ABI && !TARGET_MIPS16)
-#define TARGET_SOFT_FLOAT (TARGET_SOFT_FLOAT_ABI || TARGET_MIPS16)
-
-/* False if SC acts as a memory barrier with respect to itself,
-   otherwise a SYNC will be emitted after SC for atomic operations
-   that require ordering between the SC and following loads and
-   stores.  It does not tell anything about ordering of loads and
-   stores prior to and following the SC, only about the SC itself and
-   those loads and stores follow it.  */
-#define TARGET_SYNC_AFTER_SC (!TARGET_OCTEON)
-
-/* IRIX specific stuff.  */
-#define TARGET_IRIX6	   0
-
-/* Define preprocessor macros for the -march and -mtune options.
-   PREFIX is either _MIPS_ARCH or _MIPS_TUNE, INFO is the selected
-   processor.  If INFO's canonical name is "foo", define PREFIX to