用crosstool-ng建立Linux交叉编译环境(armv4t)
1.下载crosstool-ng
2.安装必要文件
sudo apt-get install libncurses5-dev bison flex texinfo automake libtool patch gcj cvs cvsd gawk
cd /usr/bin
sudo mv mawk mawkbak
sudo ln -s gawk mawk
3.crosstool-ng的安装
cd ~/work
mkdir crosstool-ng
tar xvjf crosstool-ng-1.11.0.tar.bz2
cd crosstool-ng-1.11.0/
./configure --prefix=/home/thinker/work/crosstool-ng
cp ct-ng.comp ~/ #这句不能用(可能要重启?),改用下一句
echo "PATH=$PATH:/home/thinker/work/crosstool-ng/bin" >> ~/.bashrc
source ~/.bashrc
ct-ng -h
#执行上一条之后出现一大堆帮助信息表明crosstool-ng安装成功
4.交叉工具链的配置
cd ~/work/crosstool-ng
mkdir ~/src
mkdir build_toolchain
#先修补crosstool-ng的一个bug(注1)
#编辑crosstool-ng安装目录下的lib/ct-ng-1.11.0/scripts/build/internals.sh
#将 gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_GCC_VERSION}/gcc/BASE-VER" )
#改为 gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" )
ct-ng arm-unknown-linux-gnueabi #使用arm-unknown-linux-gnueabi
#出现提示:/bin/bash: /home/thinker/work/crosstool-ng/lib/ct-ng-1.11.0/samples/arm-unknown-linux-gnueabi/reported.by: 没有那个文件或目录
#这个不用管,因为的确不存在
ct-ng menuconfig #配置
#下面是我的配置结果(删除了一些带#的关于构架或者版本的行)
[DEBUG] =================================================================
[DEBUG] Dumping user-supplied crosstool-NG configuration
[DEBUG] ==> Executing: 'grep' '-E' '^(# |)CT_' '.config'
[DEBUG] # CT_BACKEND is not set
[DEBUG] CT_MODULES=y
[DEBUG] # CT_OBSOLETE is not set
[DEBUG] # CT_EXPERIMENTAL is not set
[DEBUG] # CT_DEBUG_CT is not set
[DEBUG] CT_LOCAL_TARBALLS_DIR="${HOME}/src"
[DEBUG] CT_SAVE_TARBALLS=y
[DEBUG] CT_WORK_DIR="${CT_TOP_DIR}/build_toolchain/"
[DEBUG] CT_PREFIX_DIR="/home/thinker/work/gcc-4.4.5-glibc-2.9/"
[DEBUG] CT_INSTALL_DIR="${CT_PREFIX_DIR}"
[DEBUG] CT_RM_RF_PREFIX_DIR=y
[DEBUG] # CT_REMOVE_DOCS is not set
[DEBUG] CT_INSTALL_DIR_RO=y
[DEBUG] CT_STRIP_ALL_TOOLCHAIN_EXECUTABLES=y
[DEBUG] # CT_FORBID_DOWNLOAD is not set
[DEBUG] # CT_FORCE_DOWNLOAD is not set
[DEBUG] CT_USE_MIRROR=y
[DEBUG] # CT_PREFER_MIRROR is not set
[DEBUG] CT_MIRROR_BASE_URL=""
[DEBUG] CT_CONNECT_TIMEOUT=10
[DEBUG] # CT_ONLY_DOWNLOAD is not set
[DEBUG] # CT_FORCE_EXTRACT is not set
[DEBUG] CT_OVERIDE_CONFIG_GUESS_SUB=y
[DEBUG] # CT_ONLY_EXTRACT is not set
[DEBUG] CT_PATCH_BUNDLED=y
[DEBUG] # CT_PATCH_LOCAL is not set
[DEBUG] # CT_PATCH_BUNDLED_LOCAL is not set
[DEBUG] # CT_PATCH_LOCAL_BUNDLED is not set
[DEBUG] # CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
[DEBUG] # CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
[DEBUG] # CT_PATCH_NONE is not set
[DEBUG] CT_PATCH_ORDER="bundled"
[DEBUG] # CT_PATCH_SINGLE is not set
[DEBUG] # CT_PATCH_USE_LOCAL is not set
[DEBUG] CT_PARALLEL_JOBS=4
[DEBUG] CT_LOAD=0
[DEBUG] CT_USE_PIPES=y
[DEBUG] # CT_CONFIG_SHELL_SH is not set
[DEBUG] # CT_CONFIG_SHELL_ASH is not set
[DEBUG] CT_CONFIG_SHELL_BASH=y
[DEBUG] # CT_CONFIG_SHELL_CUSTOM is not set
[DEBUG] CT_CONFIG_SHELL="bash"
[DEBUG] # CT_LOG_ERROR is not set
[DEBUG] # CT_LOG_WARN is not set
[DEBUG] # CT_LOG_INFO is not set
[DEBUG] CT_LOG_EXTRA=y
[DEBUG] # CT_LOG_ALL is not set
[DEBUG] # CT_LOG_DEBUG is not set
[DEBUG] CT_LOG_LEVEL_MAX="EXTRA"
[DEBUG] # CT_LOG_SEE_TOOLS_WARN is not set
[DEBUG] CT_LOG_PROGRESS_BAR=y
[DEBUG] CT_LOG_TO_FILE=y
[DEBUG] CT_LOG_FILE_COMPRESS=y
[DEBUG] CT_ARCH="arm"
[DEBUG] CT_ARCH_SUPPORTS_BOTH_MMU=y
[DEBUG] CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
[DEBUG] CT_ARCH_SUPPORTS_32=y
[DEBUG] # CT_ARCH_SUPPORTS_64 is not set
[DEBUG] CT_ARCH_SUPPORT_ARCH=y
[DEBUG] # CT_ARCH_SUPPORT_ABI is not set
[DEBUG] CT_ARCH_SUPPORT_CPU=y
[DEBUG] CT_ARCH_SUPPORT_TUNE=y
[DEBUG] CT_ARCH_SUPPORT_FPU=y
[DEBUG] CT_ARCH_DEFAULT_HAS_MMU=y
[DEBUG] # CT_ARCH_DEFAULT_BE is not set
[DEBUG] CT_ARCH_DEFAULT_LE=y
[DEBUG] CT_ARCH_DEFAULT_32=y
[DEBUG] # CT_ARCH_DEFAULT_64 is not set
[DEBUG] CT_ARCH_ARCH="armv4t"
[DEBUG] CT_ARCH_CPU="arm9tdmi"
[DEBUG] CT_ARCH_TUNE="arm920t"
[DEBUG] CT_ARCH_FPU=""
[DEBUG] # CT_ARCH_BE is not set
[DEBUG] CT_ARCH_LE=y
[DEBUG] CT_ARCH_32=y
[DEBUG] # CT_ARCH_64 is not set
[DEBUG] CT_ARCH_BITNESS=32
[DEBUG] # CT_ARCH_FLOAT_HW is not set
[DEBUG] CT_ARCH_FLOAT_SW=y
[DEBUG] CT_TARGET_CFLAGS=""
[DEBUG] CT_TARGET_LDFLAGS=""
[DEBUG] # CT_ARCH_alpha is not set
[DEBUG] CT_ARCH_arm=y
[DEBUG] CT_ARCH_alpha_AVAILABLE=y
[DEBUG] CT_ARCH_arm_AVAILABLE=y
[DEBUG] CT_ARCH_avr32_AVAILABLE=y
[DEBUG] CT_ARCH_blackfin_AVAILABLE=y
[DEBUG] CT_ARCH_m68k_AVAILABLE=y
[DEBUG] CT_ARCH_mips_AVAILABLE=y
[DEBUG] CT_ARCH_powerpc_AVAILABLE=y
[DEBUG] CT_ARCH_s390_AVAILABLE=y
[DEBUG] CT_ARCH_sh_AVAILABLE=y
[DEBUG] CT_ARCH_sparc_AVAILABLE=y
[DEBUG] CT_ARCH_x86_AVAILABLE=y
[DEBUG] CT_ARCH_USE_MMU=y
[DEBUG] CT_ARCH_ARM_MODE="arm"
[DEBUG] CT_ARCH_ARM_MODE_ARM=y
[DEBUG] # CT_ARCH_ARM_MODE_THUMB is not set
[DEBUG] CT_ARCH_ARM_EABI=y
[DEBUG] CT_FORCE_SYSROOT=y
[DEBUG] CT_USE_SYSROOT=y
[DEBUG] CT_SYSROOT_NAME="sysroot"
[DEBUG] CT_SYSROOT_DIR_PREFIX=""
[DEBUG] CT_TARGET_VENDOR="unknown"
[DEBUG] CT_TARGET_ALIAS_SED_EXPR=""
[DEBUG] CT_TARGET_ALIAS=""
[DEBUG] # CT_NATIVE is not set
[DEBUG] CT_CROSS=y
[DEBUG] # CT_CROSS_NATIVE is not set
[DEBUG] # CT_CANADIAN is not set
[DEBUG] CT_TOOLCHAIN_TYPE="cross"
[DEBUG] CT_BUILD=""
[DEBUG] CT_BUILD_PREFIX=""
[DEBUG] CT_BUILD_SUFFIX=""
[DEBUG] # CT_BARE_METAL is not set
[DEBUG] # CT_MINGW32 is not set
[DEBUG] CT_KERNEL_SUPPORTS_SHARED_LIBS=y
[DEBUG] CT_KERNEL="linux"
[DEBUG] CT_KERNEL_VERSION="2.6.32.39"
[DEBUG] # CT_KERNEL_bare_metal is not set
[DEBUG] CT_KERNEL_linux=y
[DEBUG] # CT_KERNEL_mingw32 is not set
[DEBUG] CT_KERNEL_bare_metal_AVAILABLE=y
[DEBUG] CT_KERNEL_linux_AVAILABLE=y
[DEBUG] CT_KERNEL_mingw32_AVAILABLE=y
[DEBUG] CT_SHARED_LIBS=y
[DEBUG] CT_KERNEL_LINUX_INSTALL=y
[DEBUG] CT_KERNEL_V_2_6_32_39=y
[DEBUG] CT_KERNEL_LINUX_VERBOSITY_0=y
[DEBUG] # CT_KERNEL_LINUX_VERBOSITY_1 is not set
[DEBUG] # CT_KERNEL_LINUX_VERBOSITY_2 is not set
[DEBUG] CT_KERNEL_LINUX_VERBOSE_LEVEL=0
[DEBUG] CT_KERNEL_LINUX_INSTALL_CHECK=y
[DEBUG] CT_ARCH_BINFMT_ELF=y
[DEBUG] # CT_ARCH_BINFMT_FLAT is not set
[DEBUG] # CT_ARCH_BINFMT_FDPIC is not set
[DEBUG] CT_BINUTILS_V_2_20=y
[DEBUG] CT_BINUTILS_VERSION="2.20"
[DEBUG] CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
[DEBUG] CT_BINUTILS_FORCE_LD_BFD=y
[DEBUG] CT_BINUTILS_LINKER_LD=y
[DEBUG] # CT_BINUTILS_LINKER_GOLD is not set
[DEBUG] # CT_BINUTILS_LINKER_LD_GOLD is not set
[DEBUG] # CT_BINUTILS_LINKER_GOLD_LD is not set
[DEBUG] CT_BINUTILS_LINKERS_LIST="ld"
[DEBUG] CT_BINUTILS_LINKER_DEFAULT="bfd"
[DEBUG] CT_BINUTILS_EXTRA_CONFIG=""
[DEBUG] CT_BINUTILS_FOR_TARGET=y
[DEBUG] CT_BINUTILS_FOR_TARGET_IBERTY=y
[DEBUG] CT_BINUTILS_FOR_TARGET_BFD=y
[DEBUG] CT_CC="gcc"
[DEBUG] CT_CC_VERSION="4.4.5"
[DEBUG] CT_CC_gcc=y
[DEBUG] CT_CC_V_4_4_5=y
[DEBUG] # CT_CC_GCC_4_2 is not set
[DEBUG] CT_CC_GCC_4_2_or_later=y
[DEBUG] # CT_CC_GCC_4_3 is not set
[DEBUG] CT_CC_GCC_4_3_or_later=y
[DEBUG] CT_CC_GCC_4_4=y
[DEBUG] CT_CC_GCC_4_4_or_later=y
[DEBUG] CT_CC_GCC_HAS_GRAPHITE=y
[DEBUG] # CT_CC_GCC_HAS_LTO is not set
[DEBUG] CT_CC_GCC_USE_GMP_MPFR=y
[DEBUG] CT_CC_GCC_USE_PPL_CLOOG=y
[DEBUG] # CT_CC_GCC_USE_MPC is not set
[DEBUG] # CT_CC_GCC_USE_LIBELF is not set
[DEBUG] CT_CC_LANG_JAVA_USE_ECJ=y
[DEBUG] CT_CC_SUPPORT_CXX=y
[DEBUG] CT_CC_SUPPORT_FORTRAN=y
[DEBUG] CT_CC_SUPPORT_JAVA=y
[DEBUG] CT_CC_SUPPORT_ADA=y
[DEBUG] CT_CC_SUPPORT_OBJC=y
[DEBUG] CT_CC_SUPPORT_OBJCXX=y
[DEBUG] CT_CC_LANG_CXX=y
[DEBUG] CT_CC_LANG_FORTRAN=y
[DEBUG] CT_CC_LANG_JAVA=y
[DEBUG] CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
[DEBUG] CT_CC_BUGURL=""
[DEBUG] CT_CC_ENABLE_CXX_FLAGS=""
[DEBUG] CT_CC_CORE_EXTRA_CONFIG=""
[DEBUG] CT_CC_EXTRA_CONFIG=""
[DEBUG] CT_CC_STATIC_LIBSTDCXX=y
[DEBUG] CT_CC_GCC_USE_GRAPHITE=y
[DEBUG] CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
[DEBUG] # CT_CC_GCC_LIBMUDFLAP is not set
[DEBUG] CT_CC_GCC_LIBGOMP=y
[DEBUG] # CT_CC_GCC_LIBSSP is not set
[DEBUG] CT_CC_CXA_ATEXIT=y
[DEBUG] # CT_CC_GCC_DISABLE_PCH is not set
[DEBUG] CT_CC_GCC_SJLJ_EXCEPTIONS=m
[DEBUG] CT_CC_GCC_LDBL_128=m
[DEBUG] CT_LIBC="glibc"
[DEBUG] CT_LIBC_VERSION="2.9"
[DEBUG] # CT_LIBC_eglibc is not set
[DEBUG] CT_LIBC_glibc=y
[DEBUG] # CT_LIBC_mingw is not set
[DEBUG] # CT_LIBC_newlib is not set
[DEBUG] # CT_LIBC_none is not set
[DEBUG] # CT_LIBC_uClibc is not set
[DEBUG] CT_LIBC_eglibc_AVAILABLE=y
[DEBUG] CT_LIBC_glibc_AVAILABLE=y
[DEBUG] CT_LIBC_GLIBC_TARBALL=y
[DEBUG] # CT_LIBC_GLIBC_V_2_10_1 is not set
[DEBUG] CT_LIBC_GLIBC_V_2_9=y
[DEBUG] CT_LIBC_mingw_AVAILABLE=y
[DEBUG] CT_LIBC_newlib_AVAILABLE=y
[DEBUG] CT_LIBC_none_AVAILABLE=y
[DEBUG] CT_LIBC_uClibc_AVAILABLE=y
[DEBUG] CT_LIBC_glibc_familly=y
[DEBUG] CT_LIBC_GLIBC_EXTRA_CONFIG=""
[DEBUG] CT_LIBC_GLIBC_CONFIGPARMS=""
[DEBUG] CT_LIBC_GLIBC_EXTRA_CFLAGS=""
[DEBUG] CT_LIBC_EXTRA_CC_ARGS=""
[DEBUG] # CT_LIBC_DISABLE_VERSIONING is not set
[DEBUG] CT_LIBC_OLDEST_ABI=""
[DEBUG] # CT_LIBC_GLIBC_FORCE_UNWIND is not set
[DEBUG] CT_LIBC_GLIBC_USE_PORTS=y
[DEBUG] CT_LIBC_ADDONS_LIST=""
[DEBUG] # CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
[DEBUG] CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
[DEBUG] # CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
[DEBUG] CT_LIBC_GLIBC_MIN_KERNEL="2.6.32.39"
[DEBUG] CT_LIBC_SUPPORT_THREADS_ANY=y
[DEBUG] CT_LIBC_SUPPORT_NPTL=y
[DEBUG] # CT_LIBC_SUPPORT_LINUXTHREADS is not set
[DEBUG] # CT_LIBC_SUPPORT_WIN32THREADS is not set
[DEBUG] # CT_LIBC_SUPPORT_THREADS_NONE is not set
[DEBUG] CT_THREADS="nptl"
[DEBUG] CT_THREADS_NPTL=y
[DEBUG] # CT_THREADS_LINUXTHREADS is not set
[DEBUG] # CT_THREADS_WIN32THREADS is not set
[DEBUG] # CT_THREADS_NONE is not set
[DEBUG] CT_LIBC_XLDD=y
[DEBUG] CT_DEBUG_dmalloc=y
[DEBUG] CT_DMALLOC_V_5_5_2=y
[DEBUG] CT_DMALLOC_VERSION="5.5.2"
[DEBUG] CT_DEBUG_duma=y
[DEBUG] CT_DUMA_A=y
[DEBUG] CT_DUMA_SO=y
[DEBUG] CT_DUMA_V_2_5_15=y
[DEBUG] # CT_DUMA_V_2_5_14 is not set
[DEBUG] CT_DUMA_VERSION="2_5_15"
[DEBUG] CT_DEBUG_gdb=y
[DEBUG] CT_GDB_CROSS=y
[DEBUG] # CT_GDB_CROSS_STATIC is not set
[DEBUG] CT_GDB_NATIVE=y
[DEBUG] # CT_GDB_NATIVE_NO_STATIC is not set
[DEBUG] # CT_GDB_NATIVE_STATIC is not set
[DEBUG] CT_GDB_GDBSERVER=y
[DEBUG] CT_GDB_GDBSERVER_STATIC=y
[DEBUG] # CT_GDB_V_linaro_7_2_2011_04_0 is not set
[DEBUG] CT_GDB_V_6_8=y
[DEBUG] CT_GDB_VERSION="6.8"
[DEBUG] CT_DEBUG_ltrace=y
[DEBUG] CT_LTRACE_V_0_5_3=y
[DEBUG] # CT_LTRACE_V_0_5_2 is not set
[DEBUG] CT_LTRACE_VERSION="0.5.3"
[DEBUG] CT_LTRACE_0_5_3_or_later=y
[DEBUG] CT_DEBUG_strace=y
[DEBUG] # CT_STRACE_V_4_5_20 is not set
[DEBUG] CT_STRACE_V_4_5_19=y
[DEBUG] CT_STRACE_VERSION="4.5.19"
[DEBUG] CT_COMPLIBS_NEEDED=y
[DEBUG] CT_GMP_NEEDED=y
[DEBUG] CT_MPFR_NEEDED=y
[DEBUG] CT_PPL_NEEDED=y
[DEBUG] CT_CLOOG_NEEDED=y
[DEBUG] # CT_MPC_NEEDED is not set
[DEBUG] # CT_LIBELF_NEEDED is not set
[DEBUG] CT_COMPLIBS=y
[DEBUG] CT_GMP=y
[DEBUG] CT_MPFR=y
[DEBUG] CT_PPL=y
[DEBUG] CT_CLOOG=y
[DEBUG] CT_LIBELF_TARGET=y
[DEBUG] # CT_GMP_V_5_0_1 is not set
[DEBUG] CT_GMP_V_4_3_2=y
[DEBUG] CT_GMP_VERSION="4.3.2"
[DEBUG] # CT_MPFR_V_3_0_0 is not set
[DEBUG] CT_MPFR_V_2_4_2=y
[DEBUG] CT_MPFR_VERSION="2.4.2"
[DEBUG] # CT_PPL_V_0_11 is not set
[DEBUG] CT_PPL_V_0_10_2=y
[DEBUG] CT_PPL_VERSION="0.10.2"
[DEBUG] CT_CLOOG_V_0_15_10=y
[DEBUG] # CT_CLOOG_V_0_15_9 is not set
[DEBUG] CT_CLOOG_VERSION="0.15.10"
[DEBUG] CT_LIBELF_V_0_8_13=y
[DEBUG] # CT_LIBELF_V_0_8_12 is not set
[DEBUG] CT_LIBELF_VERSION="0.8.13"
[DEBUG] # CT_COMPLIBS_CHECK is not set
[DEBUG] Dumping user-supplied crosstool-NG configuration: done in 0.11s (at 00:01)
5.编译工具链
./bin/ct-ng build
#在build的过程中会在~/src目录下存放下载的源码(可以事先手动下载对应版本的源码)
#下面是我的源码
binutils-2.20.tar.bz2 gcc-4.4.5.tar.bz2 linux-2.6.32.39.tar.bz2
cloog-ppl-0.15.10.tar.gz gdb-6.8.tar.bz2 ltrace_0.5.3.orig.tar.gz
dmalloc-5.5.2.tgz glibc-2.9.tar.bz2 mpfr-2.4.2.tar.bz2
duma_2_5_15.tar.gz glibc-ports-2.9.tar.bz2 ncurses-5.7.tar.gz
ecj-latest.jar gmp-4.3.2.tar.bz2 ppl-0.10.2.tar.bz2
expat-2.0.1.tar.gz libelf-0.8.13.tar.gz strace-4.5.19.tar.bz2
#下载的过程用了53分钟
#编译的时间用了90分钟(不带上下载时间,因为前两次编译出错了)
cd ~/work/gcc-4.4.5-glibc-2.9/bin
./arm-unknown-linux-gnueabi-gcc -v
#出现一大堆信息说明工具链制作成功,备份一下这个工具链,防止下次使用相同配置制作工具链会把这个给删除
##参考链接:
http://blog.chinaunix.net/space.php?uid=20543672&do=blog&id=94369
http://hi.baidu.com/caicry/blog/item/f306db639c4281680c33fa1b.html
#其实crosstool-ng里面的说明文档有详尽的介绍,会一点英语的最好看看
##注1:
#没有修改这个bug的话,会出现以下这样的内容:
[INFO ] =================================================================
[INFO ] Cleaning-up the toolchain's directory
[INFO ] Stripping all toolchain executables
[221:05] / cat: /home/thinker/work/crosstool-ng/.build/src/gcc-/gcc/BASE-VER: No such file or directory
[ERROR]
[ERROR] >> Build failed in step 'Cleaning-up the toolchain's directory'
[ERROR] >>
[ERROR] >> Error happened in: do_finish[scripts/build/internals.sh]
[ERROR] >> called from: main[scripts/crosstool-NG.sh@582]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> 'share/doc/ct-ng-1.11.0/B - Known issues.txt'
[ERROR]
[ERROR] Build failed in step 'Cleaning-up the toolchain's directory'
[ERROR]
[ERROR] (elapsed: 221:04.99)
[221:05] / make: *** [build] 错误 1
#解决办法原址:
#原址内容:
[PATCH] fix toolchain stripping
Stripping is broken in 1.11.0
[12:41] / cat: /home/max/work/gen-toolchain/trunk/targets/src/gcc-/gcc/BASE-VER: No such file or directory
Small typo (I think) introduced by 055e505f28be
--- ./scripts/build/internals.sh.old 2011-05-02 17:11:53.728977899 +0200
+++ ./scripts/build/internals.sh 2011-05-02 17:11:11.468204063 +0200
@@ -22,7 +22,7 @@
esac
CT_DoLog INFO "Stripping all toolchain executables"
CT_Pushd "${CT_PREFIX_DIR}"
- gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_GCC_VERSION}/gcc/BASE-VER" )
+ gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" )
for _t in "bin/${CT_TARGET}-"* \
"${CT_TARGET}/bin/"* \
"libexec/gcc/${CT_TARGET}/${gcc_version}/"* \
--