summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.hgtags32
-rw-r--r--config/kernel/linux.in67
-rw-r--r--docs/overview.txt53
-rw-r--r--samples/arm-beagle-linux-gnueabi/crosstool.config406
-rw-r--r--samples/arm-beagle-linux-gnueabi/reported.by3
-rw-r--r--scripts/populate.in74
6 files changed, 542 insertions, 93 deletions
diff --git a/.hgtags b/.hgtags
new file mode 100644
index 0000000..69220b1
--- /dev/null
+++ b/.hgtags
@@ -0,0 +1,32 @@
+1161124240eecdd9985ed8bb1f656f73e11ac7f5 crosstool-ng-1.0.0
+1853cda9d5fcc8f00c1b8825a3cdd35ab186f5a2 crosstool-ng-1.4.1
+1ee5aab4c728e9af94d978c6beb722804ec6445e crosstool-ng-0.1.1
+26c0b9e2925f2517d1e245c2f851195926e55402 crosstool-ng-1.2.4
+29233430562ffa6fa2c6c1231df0a42893ed1a8d crosstool-ng-1.1.2
+2be7232a73ac3fe09d2fb73b9c01678d3b14e577 crosstool-ng-0.2.2
+30c199c6c1d883bce387079c5008f6fc88575ad4 crosstool-ng-1.2.5
+35aaf07763d1e5d0736ca32e307e6c1d6a54947a crosstool-ng-1.1.3
+39b1c755f19bfd5b714ca85cc7640d976dcefdff crosstool-ng-1.4.0
+4150b61102e471c4fbc08f107e863505eff77864 crosstool-ng-1.3.3
+535c6e0a057c64a88b5bba9a3f57f2bbff5657c3 crosstool-ng-1.3.0
+565d6d12f13974dbec80ae83c9af8311d7baa845 crosstool-ng-0.0.1
+5d14c00467ab59eabe9b1066f3d32fb893c2cda3 crosstool-ng-0.2.0
+60e62e0a90e249fc010065838e0c5be96d744af7 crosstool-ng-0.0.5
+696c97af4379cdcdaad1ac14875385cfeee8ca00 crosstool-ng-0.3.1
+6ca745eb9aaa1a91cb3721210749d1105a6b1b81 crosstool-ng-0.2.1
+6d8384a866925ab311d1c096e260512752f22528 crosstool-ng-0.3.2
+6ed7374c84784e677bbfcbb783bc14db619e9205 crosstool-ng-1.3.1
+6f4ad1b466b57c90259f82e4540df21e99a99881 crosstool-ng-1.2.2
+78e3bf9373e2d80c0ffde27f9462b12cfe787eb6 crosstool-ng-1.3.2
+8031c8ac452a2d3e66862f914127831c1dca895e crosstool-ng-1.1.1
+8451e5083069718465430c6fe7b3e0b192f40d75 crosstool-ng-1.2.0
+88cc5f5c0807c349e37d889b4ad58ede4f09ee68 crosstool-ng-0.1.2
+a393e449f6ba3987298a1154ca48b15c8f66f2fa crosstool-ng-0.0.3
+a44f2ee18392a60c6097c32dbd7ad28dc67e28fe crosstool-ng-1.1.0
+a8cd2d0d06bd0a9233c897c165bd8dfc927fa317 crosstool-ng-0.3.0
+b48b98717e16ebb58235c106e048bad729e79bbb crosstool-ng-1.2.1
+b8de3e11c8b49fd290c15e576cd6611db35ab3dd crosstool-ng-1.2.3
+c71b4f4da4b46aa83e6c013208731edfffd249a1 crosstool-ng-0.0.4
+ce34b7cd6509906de6885c084dbef7ddecd603c6 crosstool-ng-1.1.3a
+e016efb7036c14f86e1592114e621cfadeaf714c crosstool-ng-0.0.2
+fec15dd785b1ab52e15a350665362c3f58852931 crosstool-ng-0.1.0
diff --git a/config/kernel/linux.in b/config/kernel/linux.in
index f08076d..988ab21 100644
--- a/config/kernel/linux.in
+++ b/config/kernel/linux.in
@@ -76,50 +76,9 @@ config KERNEL_V_2_6_26_8
prompt "2.6.26.8 (OBSOLETE)"
depends on OBSOLETE
-config KERNEL_V_2_6_27_22
+config KERNEL_V_2_6_27_24
bool
- prompt "2.6.27.22 (OBSOLETE)"
- depends on OBSOLETE
-
-config KERNEL_V_2_6_28
- bool
- prompt "2.6.28"
-
-config KERNEL_V_2_6_28_1
- bool
- prompt "2.6.28.1"
-
-config KERNEL_V_2_6_28_2
- bool
- prompt "2.6.28.2"
-
-config KERNEL_V_2_6_28_3
- bool
- prompt "2.6.28.3"
-
-config KERNEL_V_2_6_28_4
- bool
- prompt "2.6.28.4"
-
-config KERNEL_V_2_6_28_5
- bool
- prompt "2.6.28.5"
-
-config KERNEL_V_2_6_28_6
- bool
- prompt "2.6.28.6"
-
-config KERNEL_V_2_6_28_7
- bool
- prompt "2.6.28.7"
-
-config KERNEL_V_2_6_28_8
- bool
- prompt "2.6.28.8"
-
-config KERNEL_V_2_6_28_9
- bool
- prompt "2.6.28.9"
+ prompt "2.6.27.24"
config KERNEL_V_2_6_28_10
bool
@@ -137,6 +96,14 @@ config KERNEL_V_2_6_29_2
bool
prompt "2.6.29.2"
+config KERNEL_V_2_6_29_3
+ bool
+ prompt "2.6.29.3"
+
+config KERNEL_V_2_6_29_4
+ bool
+ prompt "2.6.29.4"
+
# CT_INSERT_VERSION_ABOVE
# Don't remove above line!
@@ -159,21 +126,13 @@ config KERNEL_VERSION
default "2.6.24.7" if KERNEL_V_2_6_24_7
default "2.6.25.20" if KERNEL_V_2_6_25_20
default "2.6.26.8" if KERNEL_V_2_6_26_8
- default "2.6.27.22" if KERNEL_V_2_6_27_22
- default "2.6.28" if KERNEL_V_2_6_28
- default "2.6.28.1" if KERNEL_V_2_6_28_1
- default "2.6.28.2" if KERNEL_V_2_6_28_2
- default "2.6.28.3" if KERNEL_V_2_6_28_3
- default "2.6.28.4" if KERNEL_V_2_6_28_4
- default "2.6.28.5" if KERNEL_V_2_6_28_5
- default "2.6.28.6" if KERNEL_V_2_6_28_6
- default "2.6.28.7" if KERNEL_V_2_6_28_7
- default "2.6.28.8" if KERNEL_V_2_6_28_8
- default "2.6.28.9" if KERNEL_V_2_6_28_9
+ default "2.6.27.24" if KERNEL_V_2_6_27_24
default "2.6.28.10" if KERNEL_V_2_6_28_10
default "2.6.29" if KERNEL_V_2_6_29
default "2.6.29.1" if KERNEL_V_2_6_29_1
default "2.6.29.2" if KERNEL_V_2_6_29_2
+ default "2.6.29.3" if KERNEL_V_2_6_29_3
+ default "2.6.29.4" if KERNEL_V_2_6_29_4
# CT_INSERT_VERSION_STRING_ABOVE
# Don't remove above line!
help
diff --git a/docs/overview.txt b/docs/overview.txt
index 3fd7b6f..740ac0a 100644
--- a/docs/overview.txt
+++ b/docs/overview.txt
@@ -412,6 +412,9 @@ eg. /your/root. This directory is the /image/ of what would be in the root file
system of your target, and will contain all that your programs/packages have
installed.
+The 'populate' script |
+----------------------+
+
When your root directory is ready, it is still missing some important bits: the
toolchain's libraries. To populate your root directory with those libs, just
run:
@@ -425,23 +428,59 @@ contains only those things you install in it.
You can then use /your/root-populated to build up your file system image, a
tarball, or to NFS-mount it from your target, or whatever you need.
-populate accepts the following options:
+The populate script accepts the following options:
+
+ -s src_dir
+ Use 'src_dir' as the un-populated root directory.
+
+ -d dst_dir
+ Put the populated root directory in 'dst_dir'.
- -s [src_dir]
- Use 'src_dir' as the 'source', un-populated root directory
+ -l lib1 [...]
+ Always add specified libraries.
- -d [dst_dir]
- Put the 'destination', populated root directory in 'dst_dir'
+ -L file
+ Always add libraries listed in 'file'.
-f
- Remove 'dst_dir' if it previously existed
+ Remove 'dst_dir' if it previously existed; continue even if any library
+ specified with -l or -L is missing.
-v
Be verbose, and tell what's going on (you can see exactly where libs are
coming from).
-h
- Print the help
+ Print the help.
+
+See 'your-target-tuple-populate -h' for more information on the options.
+
+Here is how populate works:
+
+ 1) performs some sanity checks:
+ - src_dir and dst_dir are specified
+ - src_dir exists
+ - unless forced, dst_dir does not exist
+ - src_dir != dst_dir
+
+ 2) copy src_dir to dst_dir
+
+ 3) add forced libraries to dst_dir
+ - build the list from -l and -L options
+ - get forced libraries from the sysroot (see below for heuristics)
+ - abort on the first missing library, unless -f is specified
+
+ 4) add all missing libraries to dst_dir
+ - scan dst_dir for every ELF files that are 'executable' or
+ 'shared object'
+ - list the "NEEDED Shared library" fields
+ - check if the library is already in dst_dir/lib or dst_dir/usr/lib
+ - if not, get the library from the sysroot
+ - if it's in sysroot/lib, copy it to dst_dir/lib
+ - if it's in sysroot/usr/lib, copy it to dst_dir/usr/lib
+ - in both cases, use the SONAME of the library to create the file
+ in dst_dir
+ - if it was not found in the sysroot, this is an error.
___________________
/
diff --git a/samples/arm-beagle-linux-gnueabi/crosstool.config b/samples/arm-beagle-linux-gnueabi/crosstool.config
new file mode 100644
index 0000000..4d8e999
--- /dev/null
+++ b/samples/arm-beagle-linux-gnueabi/crosstool.config
@@ -0,0 +1,406 @@
+#
+# Automatically generated make config: don't edit
+# crosstool-NG version: svn_trunk@1549M
+# Sun May 24 18:20:58 2009
+#
+
+#
+# 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}/targets"
+CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}"
+CT_INSTALL_DIR="${CT_PREFIX_DIR}"
+# CT_CUSTOM_PATCH is not set
+# CT_REMOVE_DOCS is not set
+CT_INSTALL_DIR_RO=y
+
+#
+# Downloading
+#
+# CT_FORBID_DOWNLOAD is not set
+# CT_FORCE_DOWNLOAD is not set
+CT_USE_MIRROR=y
+# CT_PREFER_MIRROR is not set
+CT_MIRROR_BASE_URL="http://ymorin.is-a-geek.org/mirrors/"
+CT_CONNECT_TIMEOUT=10
+# CT_ONLY_DOWNLOAD is not set
+
+#
+# Extracting
+#
+# CT_FORCE_EXTRACT is not set
+CT_OVERIDE_CONFIG_GUESS_SUB=y
+# CT_ONLY_EXTRACT is not set
+
+#
+# Build behavior
+#
+CT_PARALLEL_JOBS=1
+CT_LOAD=0
+CT_NICE=0
+CT_USE_PIPES=y
+# CT_CONFIG_SHELL_ASH is not set
+
+#
+# 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_DEBUG is not set
+# CT_LOG_ALL 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="arm"
+# CT_ARCH_64 is not set
+# CT_ARCH_SUPPORTS_BOTH_MMU is not set
+CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
+CT_ARCH_SUPPORT_ARCH=y
+# CT_ARCH_SUPPORT_ABI is not set
+CT_ARCH_SUPPORT_CPU=y
+CT_ARCH_SUPPORT_TUNE=y
+CT_ARCH_SUPPORT_FPU=y
+# CT_ARCH_DEFAULT_HAS_MMU is not set
+# CT_ARCH_DEFAULT_BE is not set
+CT_ARCH_DEFAULT_LE=y
+CT_ARCH_ARCH=""
+CT_ARCH_CPU="cortex-a8"
+CT_ARCH_TUNE="cortex-a8"
+CT_ARCH_FPU=""
+# CT_ARCH_BE is not set
+CT_ARCH_LE=y
+# CT_ARCH_FLOAT_HW is not set
+CT_ARCH_FLOAT_SW=y
+CT_TARGET_CFLAGS=""
+CT_TARGET_LDFLAGS=""
+
+#
+# General target options
+#
+# CT_ARCH_alpha is not set
+CT_ARCH_arm=y
+# CT_ARCH_ia64 is not set
+# CT_ARCH_mips is not set
+# CT_ARCH_powerpc is not set
+# CT_ARCH_powerpc64 is not set
+# CT_ARCH_sh is not set
+# CT_ARCH_x86 is not set
+# CT_ARCH_x86_64 is not set
+CT_ARCH_ARM_EABI=y
+CT_ARCH_USE_MMU=y
+
+#
+# Target optimisations
+#
+
+#
+# Toolchain options
+#
+
+#
+# General toolchain options
+#
+CT_USE_SYSROOT=y
+CT_SYSROOT_DIR_PREFIX=""
+CT_SHARED_LIBS=y
+
+#
+# Tuple completion and aliasing
+#
+CT_TARGET_VENDOR="beagle"
+CT_TARGET_ALIAS_SED_EXPR=""
+CT_TARGET_ALIAS=""
+
+#
+# Toolchain type
+#
+# CT_NATIVE is not set
+CT_CROSS=y
+# CT_CROSS_NATIVE is not set
+# CT_CANADIAN is not set
+CT_TOOLCHAIN_TYPE="cross"
+
+#
+# Build system
+#
+CT_BUILD=""
+CT_BUILD_PREFIX=""
+CT_BUILD_SUFFIX=""
+
+#
+# Operating System
+#
+# CT_BARE_METAL is not set
+CT_KERNEL="linux"
+CT_KERNEL_VERSION="2.6.29.4"
+# CT_KERNEL_bare_metal is not set
+CT_KERNEL_linux=y
+CT_KERNEL_LINUX_INSTALL=y
+CT_KERNEL_LINUX_INSTALL_CHECK=y
+# CT_KERNEL_V_2_6_18_8 is not set
+# CT_KERNEL_V_2_6_19_7 is not set
+# CT_KERNEL_V_2_6_20_21 is not set
+# CT_KERNEL_V_2_6_21_7 is not set
+# CT_KERNEL_V_2_6_22_19 is not set
+# CT_KERNEL_V_2_6_23_17 is not set
+# CT_KERNEL_V_2_6_24_7 is not set
+# CT_KERNEL_V_2_6_25_20 is not set
+# CT_KERNEL_V_2_6_26_8 is not set
+# CT_KERNEL_V_2_6_27_24 is not set
+# CT_KERNEL_V_2_6_28_10 is not set
+# CT_KERNEL_V_2_6_29 is not set
+# CT_KERNEL_V_2_6_29_1 is not set
+# CT_KERNEL_V_2_6_29_2 is not set
+# CT_KERNEL_V_2_6_29_3 is not set
+CT_KERNEL_V_2_6_29_4=y
+# CT_KERNEL_V_select is not set
+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_USE_CUSTOM_HEADERS is not set
+
+#
+# Companion libraries
+#
+CT_GMP_MPFR=y
+CT_GMP_MPFR_TARGET=y
+# CT_GMP_V_4_2_2 is not set
+CT_GMP_V_4_2_4=y
+CT_GMP_VERSION="4.2.4"
+CT_GMP_CHECK=y
+# CT_MPFR_V_2_3_1 is not set
+# CT_MPFR_V_2_3_2 is not set
+# CT_MPFR_V_2_4_0 is not set
+CT_MPFR_V_2_4_1=y
+CT_MPFR_VERSION="2.4.1"
+CT_MPFR_CHECK=y
+# CT_PPL_CLOOG is not set
+
+#
+# Binary utilities
+#
+CT_ARCH_BINFMT_ELF=y
+# CT_ARCH_BINFMT_FLAT is not set
+
+#
+# GNU binutils
+#
+CT_BINUTILS_VERSION="2.19.1"
+# CT_BINUTILS_V_2_14 is not set
+# CT_BINUTILS_V_2_15 is not set
+# CT_BINUTILS_V_2_16_1 is not set
+# CT_BINUTILS_V_2_17 is not set
+# CT_BINUTILS_V_2_18 is not set
+# CT_BINUTILS_V_2_18_50_0_4 is not set
+# CT_BINUTILS_V_2_18_50_0_6 is not set
+# CT_BINUTILS_V_2_18_50_0_7 is not set
+# CT_BINUTILS_V_2_18_50_0_8 is not set
+# CT_BINUTILS_V_2_18_50_0_9 is not set
+# CT_BINUTILS_V_2_18_90 is not set
+# CT_BINUTILS_V_2_18_91 is not set
+# CT_BINUTILS_V_2_18_92 is not set
+# CT_BINUTILS_V_2_18_93 is not set
+# CT_BINUTILS_V_2_19 is not set
+CT_BINUTILS_V_2_19_1=y
+# CT_BINUTILS_V_2_19_50_0_1 is not set
+# CT_BINUTILS_V_2_19_51_0_1 is not set
+# CT_BINUTILS_V_2_19_51_0_2 is not set
+CT_BINUTILS_EXTRA_CONFIG=""
+CT_BINUTILS_FOR_TARGET=y
+CT_BINUTILS_FOR_TARGET_IBERTY=y
+CT_BINUTILS_FOR_TARGET_BFD=y
+
+#
+# C compiler
+#
+CT_CC="gcc"
+CT_CC_VERSION="4.3.3"
+CT_CC_gcc=y
+# CT_CC_V_3_2_3 is not set
+# CT_CC_V_3_3_6 is not set
+# CT_CC_V_3_4_6 is not set
+# CT_CC_V_4_0_0 is not set
+# CT_CC_V_4_0_1 is not set
+# CT_CC_V_4_0_2 is not set
+# CT_CC_V_4_0_3 is not set
+# CT_CC_V_4_0_4 is not set
+# CT_CC_V_4_1_0 is not set
+# CT_CC_V_4_1_1 is not set
+# CT_CC_V_4_1_2 is not set
+# CT_CC_V_4_2_0 is not set
+# CT_CC_V_4_2_1 is not set
+# CT_CC_V_4_2_2 is not set
+# CT_CC_V_4_2_3 is not set
+# CT_CC_V_4_2_4 is not set
+# CT_CC_V_4_3_0 is not set
+# CT_CC_V_4_3_1 is not set
+# CT_CC_V_4_3_2 is not set
+CT_CC_V_4_3_3=y
+# CT_CC_V_4_4_0 is not set
+CT_CC_GCC_4_3_or_later=y
+# CT_CC_GCC_4_4_or_later is not set
+CT_CC_CXA_ATEXIT=y
+# CT_CC_SJLJ_EXCEPTIONS_CONFIGURE is not set
+# CT_CC_SJLJ_EXCEPTIONS_USE is not set
+CT_CC_SJLJ_EXCEPTIONS_DONT_USE=y
+CT_CC_CORE_EXTRA_CONFIG=""
+CT_CC_EXTRA_CONFIG=""
+CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
+CT_CC_BUGURL=""
+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_FORTRAN is not set
+# CT_CC_LANG_JAVA is not set
+CT_LIBC="glibc"
+
+#
+# C-library
+#
+CT_LIBC_VERSION="2.9"
+# CT_LIBC_eglibc is not set
+CT_LIBC_glibc=y
+# CT_LIBC_uClibc is not set
+# CT_LIBC_V_2_3_6 is not set
+# CT_LIBC_V_2_5 is not set
+# CT_LIBC_V_2_5_1 is not set
+# CT_LIBC_V_2_6 is not set
+# CT_LIBC_V_2_6_1 is not set
+# CT_LIBC_V_2_7 is not set
+# CT_LIBC_V_2_8 is not set
+CT_LIBC_V_2_9=y
+# CT_LIBC_V_LATEST is not set
+# CT_LIBC_V_date is not set
+CT_LIBC_GLIBC_2_8_or_later=y
+# CT_LIBC_GLIBC_TARBALL is not set
+CT_LIBC_GLIBC_CVS=y
+CT_LIBC_GLIBC_CVS_date="2009-03-29"
+
+#
+# glibc/eglibc common options
+#
+CT_LIBC_GLIBC_EXTRA_CONFIG=""
+CT_LIBC_GLIBC_CONFIGPARMS=""
+CT_LIBC_GLIBC_EXTRA_CFLAGS=""
+CT_LIBC_EXTRA_CC_ARGS=""
+CT_LIBC_GLIBC_USE_PORTS=y
+CT_LIBC_ADDONS_LIST=""
+
+#
+# WARNING!!!
+#
+
+#
+# For glibc >= 2.8, addons are only available via a CVS checkout.
+#
+
+#
+# Be sure to review the associated options, above.
+#
+# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
+CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
+# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
+CT_LIBC_GLIBC_MIN_KERNEL="2.6.29.4"
+
+#
+# Common C library options
+#
+CT_LIBC_SUPPORT_NPTL=y
+CT_LIBC_SUPPORT_LINUXTHREADS=y
+CT_THREADS="nptl"
+CT_THREADS_NPTL=y
+# CT_THREADS_LINUXTHREADS is not set
+# CT_THREADS_NONE is not set
+
+#
+# Tools facilities
+#
+CT_TOOL_libelf=y
+CT_LIBELF_V_0_8_10=y
+CT_LIBELF_VERSION="0.8.10"
+CT_TOOL_sstrip=y
+CT_SSTRIP_BUILDROOT=y
+# CT_SSTRIP_ELFKICKERS is not set
+CT_SSTRIP_FROM="buildroot"
+
+#
+# Debug facilities
+#
+CT_DEBUG_dmalloc=y
+# CT_DMALLOC_V_5_4_3 is not set
+CT_DMALLOC_V_5_5_2=y
+CT_DMALLOC_VERSION="5.5.2"
+CT_DEBUG_duma=y
+CT_DUMA_A=y
+CT_DUMA_SO=y
+# CT_DUMA_V_2_5_1 is not set
+# CT_DUMA_V_2_5_8 is not set
+# CT_DUMA_V_2_5_12 is not set
+CT_DUMA_V_2_5_14=y
+CT_DUMA_VERSION="2_5_14"
+CT_DEBUG_gdb=y
+CT_GDB_CROSS=y
+# CT_GDB_CROSS_STATIC is not set
+CT_GDB_NATIVE=y
+# CT_GDB_NATIVE_STATIC is not set
+CT_GDB_NATIVE_USE_GMP_MPFR=y
+CT_GDB_GDBSERVER=y
+CT_GDB_GDBSERVER_STATIC=y
+# CT_GDB_V_6_4 is not set
+# CT_GDB_V_6_5 is not set
+# CT_GDB_V_6_6 is not set
+# CT_GDB_V_6_7 is not set
+# CT_GDB_V_6_7_1 is not set
+CT_GDB_V_6_8=y
+# CT_GDB_V_snapshot is not set
+CT_GDB_VERSION="6.8"
+
+#
+# Native gdb needs a native ncurses library
+#
+# CT_NCURSES_V_5_6 is not set
+CT_NCURSES_V_5_7=y
+CT_NCURSES_VERSION="5.7"
+CT_DEBUG_ltrace=y
+# CT_LTRACE_V_0_4 is not set
+CT_LTRACE_V_0_5=y
+# CT_LTRACE_V_0_5_1 is not set
+CT_LTRACE_VERSION="0.5"
+CT_DEBUG_strace=y
+# CT_STRACE_V_4_5 is not set
+# CT_STRACE_V_4_5_14 is not set
+# CT_STRACE_V_4_5_15 is not set
+# CT_STRACE_V_4_5_16 is not set
+CT_STRACE_V_4_5_17=y
+# CT_STRACE_V_4_5_18 is not set
+CT_STRACE_VERSION="4.5.17"
diff --git a/samples/arm-beagle-linux-gnueabi/reported.by b/samples/arm-beagle-linux-gnueabi/reported.by
new file mode 100644
index 0000000..329b4ed
--- /dev/null
+++ b/samples/arm-beagle-linux-gnueabi/reported.by
@@ -0,0 +1,3 @@
+reporter_name="Yann E. MORIN"
+reporter_url="http://ymorin.is-a-geek.org/"
+reporter_comment="This toolchain is pre-configured to target the BeagleBoard: http://beagleboard.org/"
diff --git a/scripts/populate.in b/scripts/populate.in
index 53c764e..9bb5afb 100644
--- a/scripts/populate.in
+++ b/scripts/populate.in
@@ -59,7 +59,7 @@ OPTIONS
-f force execution: if destination directory already exists, it will be
removed first; if a specified library (above) was not found, continue.
- -v Be verbose
+ -v Be verbose. By default, populate is absolutely silent.
_EOF_
}
@@ -69,7 +69,7 @@ CT_ROOT_DST_DIR=
CT_LIB_LIST=
CT_LIB_FILE=
CT_FORCE=no
-CT_ECHO=true
+CT_PRINTF=:
OPTIND=1
while getopts ":s:d:l:L:fvh" CT_OPT; do
case "${CT_OPT}" in
@@ -78,7 +78,7 @@ while getopts ":s:d:l:L:fvh" CT_OPT; do
l) CT_LIB_LIST="${CT_LIB_LIST}:${OPTARG}";;
L) CT_LIB_FILE="${OPTARG}";;
f) CT_FORCE=y;;
- v) CT_ECHO=echo;;
+ v) CT_PRINTF=printf;;
h) doHelp
exit 0
;;
@@ -104,9 +104,9 @@ if [ -d "${CT_ROOT_DST_DIR}" -a "${CT_FORCE}" != "y" ]; then
echo "$myname: '${CT_ROOT_DST_DIR}': already exists"
exit 1
fi
-src_inode=$(ls -di "${CT_ROOT_SRC_DIR}")
-dst_inode=$(ls -di "${CT_ROOT_DST_DIR}" 2>/dev/null)
-if [ "${src_inode}" = "${dst_inode}" ]; then
+src_inode=$(stat -c '%i' "${CT_ROOT_SRC_DIR}/.")
+dst_inode=$(stat -c '%i' "${CT_ROOT_DST_DIR}/." 2>/dev/null || true)
+if [ "${src_inode}" -eq "$((dst_inode+0))" ]; then
echo "$myname: source and destination are the same!"
exit 1
fi
@@ -129,7 +129,7 @@ CT_ROOT_DST_DIR=$(cd "${CT_ROOT_DST_DIR}"; pwd)
# Populate the destination directory with files form the source directory
pushd "${CT_ROOT_SRC_DIR}" >/dev/null
-tar cf - . |(cd "${CT_ROOT_DST_DIR}"; tar xf -)
+tar cf - . |tar xf - -C "${CT_ROOT_DST_DIR}"
popd >/dev/null
# A function do search for a library
@@ -139,18 +139,24 @@ do_add_lib() {
local libname="$1"
local true_libname
local dir
+ local mode
+
for dir in lib usr/lib; do
- ${CT_ECHO} -n " trying in '${dir}'"
+ ${CT_PRINTF} " trying in '%s'" "${dir}"
libfile="${CT_SYSROOT_DIR}/${dir}/${libname}"
- ${CT_ECHO} ": '${libfile}'"
+ ${CT_PRINTF} ": '%s'\n" "${libfile}"
if [ -e "${libfile}" ]; then
mkdir -p "${dir}"
true_libname=$("${CT_READELF}" -d "${libfile}" \
|"${grep}" "Library soname:" \
|"${sed}" -r -e 's,.+\[(.+)\] *$,\1,;' \
)
- ${CT_ECHO} " installing as '${dir}/${true_libname}'"
- "${install}" -m 0644 "${libfile}" "${dir}/${true_libname}"
+ case "${libfile}" in
+ */ld*) mode=0755;;
+ *) mode=0644;;
+ esac
+ ${CT_PRINTF} " installing as '%s/%s', mode='%s'\n" "${dir}" "${true_libname}" "${mode}"
+ "${install}" -m "${mode}" "${libfile}" "${dir}/${true_libname}"
return 0
break
fi
@@ -158,6 +164,9 @@ do_add_lib() {
return 1
}
+# We'll work in the copied rootfs
+pushd "${CT_ROOT_DST_DIR}" >/dev/null
+
# First of, copy the forced libraries into the working copy
if [ -n "${CT_LIB_FILE}" ]; then
lib_list=$("${sed}" -r -e ':loop; s/#.*//;' \
@@ -173,44 +182,43 @@ fi
CT_LIB_LIST=$(echo "${CT_LIB_LIST}:${lib_list}" \
|"${sed}" -r -e 's/^:+//; s/:+$//; s/:+/ /g;' \
)
-${CT_ECHO} "Installing forced libraries..."
-pushd "${CT_ROOT_DST_DIR}" >/dev/null
-for name in ${CT_LIB_LIST}; do
- [ -z "${name}" ] && continue
- found=0
- for libname in "lib${name}.so" "${name}.so" "${name}"; do
- ${CT_ECHO} " searching for '${libname}'"
- if do_add_lib "${libname}"; then
- found=1
- break
+if [ -n "${CT_LIB_LIST}" ]; then
+ ${CT_PRINTF} "Installing forced libraries...\n"
+ for name in ${CT_LIB_LIST}; do
+ [ -z "${name}" ] && continue
+ found=0
+ for libname in "lib${name}.so" "${name}.so" "${name}"; do
+ ${CT_PRINTF} " searching for '%s'\n" "${libname}"
+ if do_add_lib "${libname}"; then
+ found=1
+ break
+ fi
+ done
+ if [ ${found} -eq 0 ]; then
+ echo "$myname: library '${libname}' not found!"
+ [ "${CT_FORCE}" = y ] || exit 1
fi
done
- if [ ${found} -eq 0 ]; then
- echo "$myname: library '${libname}' not found!"
- [ "${CT_FORCE}" = y ] || exit 1
- fi
-done
-popd >/dev/null
+fi
# Parse the working copy for executables and libraries
-pushd "${CT_ROOT_DST_DIR}" >/dev/null
still_needed=1
while [ ${still_needed} -eq 1 ]; do
- ${CT_ECHO} "Looping..."
+ ${CT_PRINTF} "Looping...\n"
still_needed=0
for f in $(find . -type f -exec file {} \; \
|"${grep}" -E ': ELF [[:digit:]]+-bit (L|M)SB (executable|shared object),' \
|cut -d ":" -f 1 \
); do
- ${CT_ECHO} "Scanning '${f}'"
+ ${CT_PRINTF} "Scanning '%s'\n" "${f}"
for libname in $("${CT_READELF}" -d "${f}" \
|"${grep}" -E '\(NEEDED\)[[:space:]]+Shared library:' \
|"${sed}" -r -e 's,.+\[(.+)\] *$,\1,;' \
); do
- ${CT_ECHO} " searching for '${libname}'"
+ ${CT_PRINTF} " searching for '%s'\n" "${libname}"
if [ -e "lib/${libname}" \
-o -e "usr/lib/${libname}" ]; then
- ${CT_ECHO} " already present"
+ ${CT_PRINTF} " already present\n"
continue
fi
if do_add_lib "${libname}"; then
@@ -221,4 +229,6 @@ while [ ${still_needed} -eq 1 ]; do
done
done
done
+
+# OK, we're done. Back off.
popd >/dev/null