All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults
@ 2011-05-20 23:39 Yann E. MORIN
  2011-05-20 23:39 ` [Buildroot] [PATCH 1/3] toolchain/crosstool-NG: bundle one CT-NG config file for each libc familly Yann E. MORIN
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Yann E. MORIN @ 2011-05-20 23:39 UTC (permalink / raw)
  To: buildroot

Hello All!

This patchset updates the crosstool-NG backend.

  [PATCH 1/3] toolchain/crosstool-NG: bundle one CT-NG config file for each libc familly
  [PATCH 2/3] toolchain/crosstool-NG: update to 1.11.3
  [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults

Regards,
Yann E. MORIN.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 1/3] toolchain/crosstool-NG: bundle one CT-NG config file for each libc familly
  2011-05-20 23:39 [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults Yann E. MORIN
@ 2011-05-20 23:39 ` Yann E. MORIN
  2011-05-20 23:39 ` [Buildroot] [PATCH 2/3] toolchain/crosstool-NG: update to 1.11.3 Yann E. MORIN
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2011-05-20 23:39 UTC (permalink / raw)
  To: buildroot

Currently, the bundled CT-NG config file has no C library configured.
It is quite complex to add and/or munge options in this case.

Now, with one config file per libc familly, it becomes easier.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/Config.in         |   11 +-
 ...sstool-ng.config => crosstool-ng.config-eglibc} |  128 ++++++++++++++++----
 ...osstool-ng.config => crosstool-ng.config-glibc} |  126 ++++++++++++++++----
 ...sstool-ng.config => crosstool-ng.config-uClibc} |  107 +++++++++++++----
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk   |   18 +++-
 5 files changed, 312 insertions(+), 78 deletions(-)
 copy toolchain/toolchain-crosstool-ng/{crosstool-ng.config => crosstool-ng.config-eglibc} (74%)
 copy toolchain/toolchain-crosstool-ng/{crosstool-ng.config => crosstool-ng.config-glibc} (74%)
 rename toolchain/toolchain-crosstool-ng/{crosstool-ng.config => crosstool-ng.config-uClibc} (76%)

diff --git a/toolchain/toolchain-crosstool-ng/Config.in b/toolchain/toolchain-crosstool-ng/Config.in
index 1a10416..3cac808 100644
--- a/toolchain/toolchain-crosstool-ng/Config.in
+++ b/toolchain/toolchain-crosstool-ng/Config.in
@@ -38,12 +38,15 @@ config BR2_TOOLCHAIN_CTNG_LIBC
 
 config BR2_TOOLCHAIN_CTNG_CONFIG
 	string "crosstool-NG configuration file to use"
-	default "toolchain/toolchain-crosstool-ng/crosstool-ng.config"
+	default "toolchain/toolchain-crosstool-ng/crosstool-ng.config-uClibc" if BR2_TOOLCHAIN_CTNG_uClibc
+	default "toolchain/toolchain-crosstool-ng/crosstool-ng.config-eglibc" if BR2_TOOLCHAIN_CTNG_eglibc
+	default "toolchain/toolchain-crosstool-ng/crosstool-ng.config-glibc"  if BR2_TOOLCHAIN_CTNG_glibc
 	help
 	  Enter here the crosstool-NG's .config file to use.
-	  If unsure, use the default.
-	  To finetune your toolchain, you can also call:
-	  make ctng-menuconfig
+	  To fine-tune your toolchain, you can also call:
+	    make ctng-menuconfig
+
+	  If unsure, keep the default value.
 
 if BR2_TOOLCHAIN_CTNG_uClibc
 
diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.config b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-eglibc
similarity index 74%
copy from toolchain/toolchain-crosstool-ng/crosstool-ng.config
copy to toolchain/toolchain-crosstool-ng/crosstool-ng.config-eglibc
index 5f6aefe..83af9e7 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.config
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-eglibc
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# crosstool-NG version: 1.10.0
-# Mon Feb  7 14:03:32 2011
+# crosstool-NG version: 1.10.1
+# Sun Apr 24 23:38:08 2011
 #
 CT_BACKEND=y
 CT_MODULES=y
@@ -84,9 +84,9 @@ CT_LOG_FILE_COMPRESS=y
 #
 # Target options
 #
-CT_ARCH="blackfin"
-# CT_ARCH_SUPPORTS_BOTH_MMU is not set
-# CT_ARCH_SUPPORTS_BOTH_ENDIAN is not set
+CT_ARCH="arm"
+CT_ARCH_SUPPORTS_BOTH_MMU=y
+CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
 CT_ARCH_SUPPORTS_32=y
 # CT_ARCH_SUPPORTS_64 is not set
 CT_ARCH_SUPPORT_ARCH=y
@@ -94,7 +94,7 @@ CT_ARCH_SUPPORT_ARCH=y
 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_HAS_MMU=y
 # CT_ARCH_DEFAULT_BE is not set
 CT_ARCH_DEFAULT_LE=y
 CT_ARCH_DEFAULT_32=y
@@ -103,6 +103,8 @@ CT_ARCH_ARCH=""
 CT_ARCH_CPU=""
 CT_ARCH_TUNE=""
 CT_ARCH_FPU=""
+# CT_ARCH_BE is not set
+CT_ARCH_LE=y
 CT_ARCH_32=y
 # CT_ARCH_64 is not set
 CT_ARCH_BITNESS=32
@@ -115,9 +117,9 @@ CT_TARGET_LDFLAGS=""
 # General target options
 #
 # CT_ARCH_alpha is not set
-# CT_ARCH_arm is not set
+CT_ARCH_arm=y
 # CT_ARCH_avr32 is not set
-CT_ARCH_blackfin=y
+# CT_ARCH_blackfin is not set
 # CT_ARCH_m68k is not set
 # CT_ARCH_mips is not set
 # CT_ARCH_powerpc is not set
@@ -134,7 +136,15 @@ CT_ARCH_powerpc_AVAILABLE=y
 CT_ARCH_s390_AVAILABLE=y
 CT_ARCH_sh_AVAILABLE=y
 CT_ARCH_x86_AVAILABLE=y
-# CT_ARCH_USE_MMU is not set
+CT_ARCH_USE_MMU=y
+
+#
+# arm other options
+#
+CT_ARCH_ARM_MODE="arm"
+CT_ARCH_ARM_MODE_ARM=y
+# CT_ARCH_ARM_MODE_THUMB is not set
+CT_ARCH_ARM_EABI=y
 
 #
 # Target optimisations
@@ -178,17 +188,18 @@ CT_BUILD_SUFFIX=""
 #
 # Operating System
 #
-CT_BARE_METAL=y
+# CT_BARE_METAL is not set
 # CT_MINGW32 is not set
-# CT_KERNEL_SUPPORTS_SHARED_LIBS is not set
-CT_KERNEL="bare-metal"
-CT_KERNEL_bare_metal=y
-# CT_KERNEL_linux is not set
+CT_KERNEL_SUPPORTS_SHARED_LIBS=y
+CT_KERNEL="linux"
+CT_KERNEL_VERSION="2.6.37"
+# CT_KERNEL_bare_metal is not set
+CT_KERNEL_linux=y
 # CT_KERNEL_mingw32 is not set
 CT_KERNEL_bare_metal_AVAILABLE=y
 CT_KERNEL_linux_AVAILABLE=y
-# CT_KERNEL_LINUX_INSTALL is not set
-# CT_KERNEL_V_2_6_37 is not set
+CT_KERNEL_LINUX_INSTALL=y
+CT_KERNEL_V_2_6_37=y
 # CT_KERNEL_V_2_6_36_3 is not set
 # CT_KERNEL_V_2_6_36_2 is not set
 # CT_KERNEL_V_2_6_36_1 is not set
@@ -200,15 +211,18 @@ CT_KERNEL_linux_AVAILABLE=y
 # CT_KERNEL_V_2_6_31_14 is not set
 # CT_KERNEL_V_2_6_27_57 is not set
 # CT_KERNEL_LINUX_CUSTOM is not set
-# CT_KERNEL_LINUX_VERBOSITY_0 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_INSTALL_CHECK=y
 # CT_KERNEL_LINUX_USE_CUSTOM_HEADERS is not set
 CT_KERNEL_mingw32_AVAILABLE=y
 
 #
 # Common kernel options
 #
+CT_SHARED_LIBS=y
 
 #
 # Binary utilities
@@ -229,6 +243,7 @@ CT_BINUTILS_V_2_20=y
 # CT_BINUTILS_V_2_17 is not set
 # CT_BINUTILS_V_2_16_1 is not set
 CT_BINUTILS_VERSION="2.20"
+CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
 CT_BINUTILS_EXTRA_CONFIG=""
 
 #
@@ -273,6 +288,7 @@ CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
 CT_CC_BUGURL=""
 CT_CC_ENABLE_CXX_FLAGS=""
 CT_CC_CORE_EXTRA_CONFIG=""
+CT_CC_EXTRA_CONFIG=""
 CT_CC_SUPPORT_CXX=y
 CT_CC_SUPPORT_FORTRAN=y
 CT_CC_SUPPORT_JAVA=y
@@ -284,6 +300,8 @@ CT_CC_SUPPORT_OBJCXX=y
 # Additional supported languages:
 #
 # CT_CC_LANG_CXX is not set
+# CT_CC_LANG_FORTRAN is not set
+# CT_CC_LANG_JAVA is not set
 
 #
 # gcc other options
@@ -298,31 +316,93 @@ CT_CC_STATIC_LIBSTDCXX=y
 #
 # 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
 
 #
 # C-library
 #
-CT_LIBC="none"
-# CT_LIBC_eglibc is not set
+CT_LIBC="eglibc"
+CT_LIBC_VERSION="2_10"
+CT_LIBC_eglibc=y
 # CT_LIBC_glibc is not set
 # CT_LIBC_mingw is not set
 # CT_LIBC_newlib is not set
-CT_LIBC_none=y
+# CT_LIBC_none is not set
 # CT_LIBC_uClibc is not set
 CT_LIBC_eglibc_AVAILABLE=y
+# CT_LIBC_EGLIBC_V_2_12 is not set
+# CT_LIBC_EGLIBC_V_2_11 is not set
+CT_LIBC_EGLIBC_V_2_10=y
+# CT_LIBC_EGLIBC_V_2_9 is not set
+# CT_LIBC_EGLIBC_V_2_8 is not set
+# CT_LIBC_EGLIBC_V_2_7 is not set
+# CT_LIBC_EGLIBC_V_2_6 is not set
+# CT_LIBC_EGLIBC_V_2_5 is not set
+# CT_LIBC_EGLIBC_V_TRUNK is not set
+CT_EGLIBC_REVISION="HEAD"
+# CT_EGLIBC_CHECKOUT is not set
+# CT_EGLIBC_OPT_SIZE is not set
+# CT_EGLIBC_CUSTOM_CONFIG is not set
 CT_LIBC_glibc_AVAILABLE=y
 CT_LIBC_mingw_AVAILABLE=y
 CT_LIBC_newlib_AVAILABLE=y
 CT_LIBC_none_AVAILABLE=y
 CT_LIBC_uClibc_AVAILABLE=y
-# CT_LIBC_SUPPORT_THREADS_ANY is not set
-# CT_LIBC_SUPPORT_NPTL is not set
-# CT_LIBC_SUPPORT_LINUXTHREADS is not set
+
+#
+# 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_DISABLE_VERSIONING is not set
+CT_LIBC_OLDEST_ABI=""
+# CT_LIBC_GLIBC_FORCE_UNWIND is not set
+CT_LIBC_GLIBC_USE_PORTS=y
+CT_LIBC_ADDONS_LIST=""
+
+#
+# WARNING !!!                                            
+#
+
+#
+#   For glibc >= 2.8, it can happen that the tarballs    
+#
+
+#
+#   for the addons are not available for download.       
+#
+
+#
+#   If that happens, bad luck... Try a previous version  
+#
+
+#
+#   or try again later... :-(                            
+#
+# 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.37"
+CT_LIBC_SUPPORT_THREADS_ANY=y
+CT_LIBC_SUPPORT_NPTL=y
+CT_LIBC_SUPPORT_LINUXTHREADS=y
 # CT_LIBC_SUPPORT_WIN32THREADS is not set
 # CT_LIBC_SUPPORT_THREADS_NONE is not set
-CT_THREADS="none"
+CT_THREADS="nptl"
+
+#
+# Common C library options
+#
+CT_THREADS_NPTL=y
+# CT_THREADS_LINUXTHREADS is not set
+# CT_THREADS_WIN32THREADS is not set
+# CT_THREADS_NONE is not set
+CT_LIBC_XLDD=y
 
 #
 # Debug facilities
diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.config b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-glibc
similarity index 74%
copy from toolchain/toolchain-crosstool-ng/crosstool-ng.config
copy to toolchain/toolchain-crosstool-ng/crosstool-ng.config-glibc
index 5f6aefe..737429d 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.config
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-glibc
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# crosstool-NG version: 1.10.0
-# Mon Feb  7 14:03:32 2011
+# crosstool-NG version: 1.10.1
+# Sun Apr 24 23:37:30 2011
 #
 CT_BACKEND=y
 CT_MODULES=y
@@ -84,9 +84,9 @@ CT_LOG_FILE_COMPRESS=y
 #
 # Target options
 #
-CT_ARCH="blackfin"
-# CT_ARCH_SUPPORTS_BOTH_MMU is not set
-# CT_ARCH_SUPPORTS_BOTH_ENDIAN is not set
+CT_ARCH="arm"
+CT_ARCH_SUPPORTS_BOTH_MMU=y
+CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
 CT_ARCH_SUPPORTS_32=y
 # CT_ARCH_SUPPORTS_64 is not set
 CT_ARCH_SUPPORT_ARCH=y
@@ -94,7 +94,7 @@ CT_ARCH_SUPPORT_ARCH=y
 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_HAS_MMU=y
 # CT_ARCH_DEFAULT_BE is not set
 CT_ARCH_DEFAULT_LE=y
 CT_ARCH_DEFAULT_32=y
@@ -103,6 +103,8 @@ CT_ARCH_ARCH=""
 CT_ARCH_CPU=""
 CT_ARCH_TUNE=""
 CT_ARCH_FPU=""
+# CT_ARCH_BE is not set
+CT_ARCH_LE=y
 CT_ARCH_32=y
 # CT_ARCH_64 is not set
 CT_ARCH_BITNESS=32
@@ -115,9 +117,9 @@ CT_TARGET_LDFLAGS=""
 # General target options
 #
 # CT_ARCH_alpha is not set
-# CT_ARCH_arm is not set
+CT_ARCH_arm=y
 # CT_ARCH_avr32 is not set
-CT_ARCH_blackfin=y
+# CT_ARCH_blackfin is not set
 # CT_ARCH_m68k is not set
 # CT_ARCH_mips is not set
 # CT_ARCH_powerpc is not set
@@ -134,7 +136,15 @@ CT_ARCH_powerpc_AVAILABLE=y
 CT_ARCH_s390_AVAILABLE=y
 CT_ARCH_sh_AVAILABLE=y
 CT_ARCH_x86_AVAILABLE=y
-# CT_ARCH_USE_MMU is not set
+CT_ARCH_USE_MMU=y
+
+#
+# arm other options
+#
+CT_ARCH_ARM_MODE="arm"
+CT_ARCH_ARM_MODE_ARM=y
+# CT_ARCH_ARM_MODE_THUMB is not set
+CT_ARCH_ARM_EABI=y
 
 #
 # Target optimisations
@@ -178,17 +188,18 @@ CT_BUILD_SUFFIX=""
 #
 # Operating System
 #
-CT_BARE_METAL=y
+# CT_BARE_METAL is not set
 # CT_MINGW32 is not set
-# CT_KERNEL_SUPPORTS_SHARED_LIBS is not set
-CT_KERNEL="bare-metal"
-CT_KERNEL_bare_metal=y
-# CT_KERNEL_linux is not set
+CT_KERNEL_SUPPORTS_SHARED_LIBS=y
+CT_KERNEL="linux"
+CT_KERNEL_VERSION="2.6.37"
+# CT_KERNEL_bare_metal is not set
+CT_KERNEL_linux=y
 # CT_KERNEL_mingw32 is not set
 CT_KERNEL_bare_metal_AVAILABLE=y
 CT_KERNEL_linux_AVAILABLE=y
-# CT_KERNEL_LINUX_INSTALL is not set
-# CT_KERNEL_V_2_6_37 is not set
+CT_KERNEL_LINUX_INSTALL=y
+CT_KERNEL_V_2_6_37=y
 # CT_KERNEL_V_2_6_36_3 is not set
 # CT_KERNEL_V_2_6_36_2 is not set
 # CT_KERNEL_V_2_6_36_1 is not set
@@ -200,15 +211,18 @@ CT_KERNEL_linux_AVAILABLE=y
 # CT_KERNEL_V_2_6_31_14 is not set
 # CT_KERNEL_V_2_6_27_57 is not set
 # CT_KERNEL_LINUX_CUSTOM is not set
-# CT_KERNEL_LINUX_VERBOSITY_0 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_INSTALL_CHECK=y
 # CT_KERNEL_LINUX_USE_CUSTOM_HEADERS is not set
 CT_KERNEL_mingw32_AVAILABLE=y
 
 #
 # Common kernel options
 #
+CT_SHARED_LIBS=y
 
 #
 # Binary utilities
@@ -229,6 +243,7 @@ CT_BINUTILS_V_2_20=y
 # CT_BINUTILS_V_2_17 is not set
 # CT_BINUTILS_V_2_16_1 is not set
 CT_BINUTILS_VERSION="2.20"
+CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
 CT_BINUTILS_EXTRA_CONFIG=""
 
 #
@@ -273,6 +288,7 @@ CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
 CT_CC_BUGURL=""
 CT_CC_ENABLE_CXX_FLAGS=""
 CT_CC_CORE_EXTRA_CONFIG=""
+CT_CC_EXTRA_CONFIG=""
 CT_CC_SUPPORT_CXX=y
 CT_CC_SUPPORT_FORTRAN=y
 CT_CC_SUPPORT_JAVA=y
@@ -284,6 +300,8 @@ CT_CC_SUPPORT_OBJCXX=y
 # Additional supported languages:
 #
 # CT_CC_LANG_CXX is not set
+# CT_CC_LANG_FORTRAN is not set
+# CT_CC_LANG_JAVA is not set
 
 #
 # gcc other options
@@ -298,31 +316,93 @@ CT_CC_STATIC_LIBSTDCXX=y
 #
 # 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
 
 #
 # C-library
 #
-CT_LIBC="none"
+CT_LIBC="glibc"
+CT_LIBC_VERSION="2.9"
 # CT_LIBC_eglibc is not set
-# CT_LIBC_glibc is not set
+CT_LIBC_glibc=y
 # CT_LIBC_mingw is not set
 # CT_LIBC_newlib is not set
-CT_LIBC_none=y
+# CT_LIBC_none is not set
 # CT_LIBC_uClibc is not set
 CT_LIBC_eglibc_AVAILABLE=y
 CT_LIBC_glibc_AVAILABLE=y
+CT_LIBC_GLIBC_TARBALL=y
+# CT_LIBC_GLIBC_V_2_12_2 is not set
+# CT_LIBC_GLIBC_V_2_12_1 is not set
+# CT_LIBC_GLIBC_V_2_11_1 is not set
+# CT_LIBC_GLIBC_V_2_11 is not set
+# CT_LIBC_GLIBC_V_2_10_1 is not set
+CT_LIBC_GLIBC_V_2_9=y
+# CT_LIBC_GLIBC_V_2_8 is not set
+# CT_LIBC_GLIBC_V_2_7 is not set
+# CT_LIBC_GLIBC_V_2_6_1 is not set
+# CT_LIBC_GLIBC_V_2_6 is not set
+# CT_LIBC_GLIBC_V_2_5_1 is not set
+# CT_LIBC_GLIBC_V_2_5 is not set
 CT_LIBC_mingw_AVAILABLE=y
 CT_LIBC_newlib_AVAILABLE=y
 CT_LIBC_none_AVAILABLE=y
 CT_LIBC_uClibc_AVAILABLE=y
-# CT_LIBC_SUPPORT_THREADS_ANY is not set
-# CT_LIBC_SUPPORT_NPTL is not set
+
+#
+# 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_DISABLE_VERSIONING is not set
+CT_LIBC_OLDEST_ABI=""
+# CT_LIBC_GLIBC_FORCE_UNWIND is not set
+CT_LIBC_GLIBC_USE_PORTS=y
+CT_LIBC_ADDONS_LIST=""
+
+#
+# WARNING !!!                                            
+#
+
+#
+#   For glibc >= 2.8, it can happen that the tarballs    
+#
+
+#
+#   for the addons are not available for download.       
+#
+
+#
+#   If that happens, bad luck... Try a previous version  
+#
+
+#
+#   or try again later... :-(                            
+#
+# 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.37"
+CT_LIBC_SUPPORT_THREADS_ANY=y
+CT_LIBC_SUPPORT_NPTL=y
 # CT_LIBC_SUPPORT_LINUXTHREADS is not set
 # CT_LIBC_SUPPORT_WIN32THREADS is not set
 # CT_LIBC_SUPPORT_THREADS_NONE is not set
-CT_THREADS="none"
+CT_THREADS="nptl"
+
+#
+# Common C library options
+#
+CT_THREADS_NPTL=y
+# CT_THREADS_LINUXTHREADS is not set
+# CT_THREADS_WIN32THREADS is not set
+# CT_THREADS_NONE is not set
+CT_LIBC_XLDD=y
 
 #
 # Debug facilities
diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.config b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-uClibc
similarity index 76%
rename from toolchain/toolchain-crosstool-ng/crosstool-ng.config
rename to toolchain/toolchain-crosstool-ng/crosstool-ng.config-uClibc
index 5f6aefe..f251726 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.config
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.config-uClibc
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# crosstool-NG version: 1.10.0
-# Mon Feb  7 14:03:32 2011
+# crosstool-NG version: 1.10.1
+# Sun Apr 24 23:37:50 2011
 #
 CT_BACKEND=y
 CT_MODULES=y
@@ -84,9 +84,9 @@ CT_LOG_FILE_COMPRESS=y
 #
 # Target options
 #
-CT_ARCH="blackfin"
-# CT_ARCH_SUPPORTS_BOTH_MMU is not set
-# CT_ARCH_SUPPORTS_BOTH_ENDIAN is not set
+CT_ARCH="arm"
+CT_ARCH_SUPPORTS_BOTH_MMU=y
+CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
 CT_ARCH_SUPPORTS_32=y
 # CT_ARCH_SUPPORTS_64 is not set
 CT_ARCH_SUPPORT_ARCH=y
@@ -94,7 +94,7 @@ CT_ARCH_SUPPORT_ARCH=y
 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_HAS_MMU=y
 # CT_ARCH_DEFAULT_BE is not set
 CT_ARCH_DEFAULT_LE=y
 CT_ARCH_DEFAULT_32=y
@@ -103,6 +103,8 @@ CT_ARCH_ARCH=""
 CT_ARCH_CPU=""
 CT_ARCH_TUNE=""
 CT_ARCH_FPU=""
+# CT_ARCH_BE is not set
+CT_ARCH_LE=y
 CT_ARCH_32=y
 # CT_ARCH_64 is not set
 CT_ARCH_BITNESS=32
@@ -115,9 +117,9 @@ CT_TARGET_LDFLAGS=""
 # General target options
 #
 # CT_ARCH_alpha is not set
-# CT_ARCH_arm is not set
+CT_ARCH_arm=y
 # CT_ARCH_avr32 is not set
-CT_ARCH_blackfin=y
+# CT_ARCH_blackfin is not set
 # CT_ARCH_m68k is not set
 # CT_ARCH_mips is not set
 # CT_ARCH_powerpc is not set
@@ -134,7 +136,15 @@ CT_ARCH_powerpc_AVAILABLE=y
 CT_ARCH_s390_AVAILABLE=y
 CT_ARCH_sh_AVAILABLE=y
 CT_ARCH_x86_AVAILABLE=y
-# CT_ARCH_USE_MMU is not set
+CT_ARCH_USE_MMU=y
+
+#
+# arm other options
+#
+CT_ARCH_ARM_MODE="arm"
+CT_ARCH_ARM_MODE_ARM=y
+# CT_ARCH_ARM_MODE_THUMB is not set
+CT_ARCH_ARM_EABI=y
 
 #
 # Target optimisations
@@ -178,17 +188,18 @@ CT_BUILD_SUFFIX=""
 #
 # Operating System
 #
-CT_BARE_METAL=y
+# CT_BARE_METAL is not set
 # CT_MINGW32 is not set
-# CT_KERNEL_SUPPORTS_SHARED_LIBS is not set
-CT_KERNEL="bare-metal"
-CT_KERNEL_bare_metal=y
-# CT_KERNEL_linux is not set
+CT_KERNEL_SUPPORTS_SHARED_LIBS=y
+CT_KERNEL="linux"
+CT_KERNEL_VERSION="2.6.37"
+# CT_KERNEL_bare_metal is not set
+CT_KERNEL_linux=y
 # CT_KERNEL_mingw32 is not set
 CT_KERNEL_bare_metal_AVAILABLE=y
 CT_KERNEL_linux_AVAILABLE=y
-# CT_KERNEL_LINUX_INSTALL is not set
-# CT_KERNEL_V_2_6_37 is not set
+CT_KERNEL_LINUX_INSTALL=y
+CT_KERNEL_V_2_6_37=y
 # CT_KERNEL_V_2_6_36_3 is not set
 # CT_KERNEL_V_2_6_36_2 is not set
 # CT_KERNEL_V_2_6_36_1 is not set
@@ -200,15 +211,18 @@ CT_KERNEL_linux_AVAILABLE=y
 # CT_KERNEL_V_2_6_31_14 is not set
 # CT_KERNEL_V_2_6_27_57 is not set
 # CT_KERNEL_LINUX_CUSTOM is not set
-# CT_KERNEL_LINUX_VERBOSITY_0 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_INSTALL_CHECK=y
 # CT_KERNEL_LINUX_USE_CUSTOM_HEADERS is not set
 CT_KERNEL_mingw32_AVAILABLE=y
 
 #
 # Common kernel options
 #
+CT_SHARED_LIBS=y
 
 #
 # Binary utilities
@@ -229,6 +243,7 @@ CT_BINUTILS_V_2_20=y
 # CT_BINUTILS_V_2_17 is not set
 # CT_BINUTILS_V_2_16_1 is not set
 CT_BINUTILS_VERSION="2.20"
+CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
 CT_BINUTILS_EXTRA_CONFIG=""
 
 #
@@ -273,6 +288,7 @@ CT_CC_PKGVERSION="crosstool-NG-${CT_VERSION}"
 CT_CC_BUGURL=""
 CT_CC_ENABLE_CXX_FLAGS=""
 CT_CC_CORE_EXTRA_CONFIG=""
+CT_CC_EXTRA_CONFIG=""
 CT_CC_SUPPORT_CXX=y
 CT_CC_SUPPORT_FORTRAN=y
 CT_CC_SUPPORT_JAVA=y
@@ -284,6 +300,8 @@ CT_CC_SUPPORT_OBJCXX=y
 # Additional supported languages:
 #
 # CT_CC_LANG_CXX is not set
+# CT_CC_LANG_FORTRAN is not set
+# CT_CC_LANG_JAVA is not set
 
 #
 # gcc other options
@@ -298,31 +316,72 @@ CT_CC_STATIC_LIBSTDCXX=y
 #
 # 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
 
 #
 # C-library
 #
-CT_LIBC="none"
+CT_LIBC="uClibc"
+CT_LIBC_VERSION="0.9.30.3"
 # CT_LIBC_eglibc is not set
 # CT_LIBC_glibc is not set
 # CT_LIBC_mingw is not set
 # CT_LIBC_newlib is not set
-CT_LIBC_none=y
-# CT_LIBC_uClibc is not set
+# CT_LIBC_none is not set
+CT_LIBC_uClibc=y
 CT_LIBC_eglibc_AVAILABLE=y
 CT_LIBC_glibc_AVAILABLE=y
 CT_LIBC_mingw_AVAILABLE=y
 CT_LIBC_newlib_AVAILABLE=y
 CT_LIBC_none_AVAILABLE=y
 CT_LIBC_uClibc_AVAILABLE=y
-# CT_LIBC_SUPPORT_THREADS_ANY is not set
+# CT_LIBC_UCLIBC_V_0_9_31 is not set
+CT_LIBC_UCLIBC_V_0_9_30_3=y
+# 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_V_0_9_29 is not set
+# CT_LIBC_UCLIBC_V_0_9_28_3 is not set
+# CT_LIBC_UCLIBC_V_snapshot is not set
+# CT_LIBC_UCLIBC_V_specific_date is not set
+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=0
+CT_LIBC_UCLIBC_CONFIG_FILE=""
+CT_LIBC_SUPPORT_THREADS_ANY=y
 # CT_LIBC_SUPPORT_NPTL is not set
-# CT_LIBC_SUPPORT_LINUXTHREADS is not set
+CT_LIBC_SUPPORT_LINUXTHREADS=y
 # CT_LIBC_SUPPORT_WIN32THREADS is not set
-# CT_LIBC_SUPPORT_THREADS_NONE is not set
-CT_THREADS="none"
+CT_LIBC_SUPPORT_THREADS_NONE=y
+CT_THREADS="linuxthreads"
+
+#
+# Common C library options
+#
+# CT_THREADS_NPTL is not set
+CT_THREADS_LINUXTHREADS=y
+# CT_THREADS_WIN32THREADS is not set
+# CT_THREADS_NONE is not set
+CT_LIBC_XLDD=y
+
+#
+# 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 is not set
 
 #
 # Debug facilities
diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 015cd13..b9888bf 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -20,9 +20,10 @@ CTNG_SOURCE:=crosstool-ng-$(CTNG_VERSION).tar.bz2
 CTNG_DIR:=$(BUILD_DIR)/crosstool-ng-$(CTNG_VERSION)
 CTNG_CAT:=bzcat
 CTNG_PATCH_DIR:=toolchain/toolchain-crosstool-ng
-CTNG_CONFIG_FILE:=$(call qstrip,$(BR2_TOOLCHAIN_CTNG_CONFIG))
 CTNG_UCLIBC_CONFIG_FILE := $(TOPDIR)/toolchain/toolchain-crosstool-ng/uClibc.config
 
+CTNG_CONFIG_FILE:=$(call qstrip,$(BR2_TOOLCHAIN_CTNG_CONFIG))
+
 # Hack! ct-ng is in fact a Makefile script. As such, it accepts all
 # make options, such as -C, which makes it uneeded to chdir prior
 # to calling ct-ng.
@@ -349,13 +350,24 @@ endef
 # Default configuration
 # Depends on top-level .config because it has options we have to shoe-horn
 # into crosstool-NG's .config
-# Only copy the original .config file if we don't have one already
+# Only copy the original .config file if we don't have one already.
+# Check that given config file matches selected C library.
 # We need to call oldconfig twice in a row to ensure the options
 # are correctly set ( eg. if an option is new, then the initial sed
 # can't do anything about it ) Ideally, this should go in oldconfig
 # itself, but it's much easier to handle here.
 $(CTNG_DIR)/.config: $(CTNG_CONFIG_FILE) $(CTNG_DIR)/ct-ng $(CONFIG_DIR)/.config
-	$(Q)[ -f $@ ] && cp -a $@ $@.timestamp || cp -f $< $@
+	$(Q)if [ ! -f $@ ]; then                                                        \
+	        libc="$$(awk -F '"' '$$1=="CT_LIBC=" { print $2; } "$<")";              \
+	        if [ "$${libc}" != "$(BR2_TOOLCHAIN_CTNG_LIBC)" ]; then                 \
+	            echo "* Inconsistency in crosstool-NG config file '$<'";            \
+	            echo "* - buildroot configured for '$(BR2_TOOLCHAIN_CTNG_LIBC)'";   \
+	            echo "* - given config file for '$${libc}'";                        \
+	            exit 1;                                                             \
+	        fi;                                                                     \
+	        cp -f $< $@;                                                            \
+	    fi
+	$(Q)cp -a $@ $@.timestamp
 	$(call ctng-oldconfig,$@)
 	$(call ctng-oldconfig,$@)
 	$(call ctng-check-config-changed,$@,$@.timestamp)
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 2/3] toolchain/crosstool-NG: update to 1.11.3
  2011-05-20 23:39 [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults Yann E. MORIN
  2011-05-20 23:39 ` [Buildroot] [PATCH 1/3] toolchain/crosstool-NG: bundle one CT-NG config file for each libc familly Yann E. MORIN
@ 2011-05-20 23:39 ` Yann E. MORIN
  2011-05-20 23:39 ` [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults Yann E. MORIN
  2011-05-20 23:43 ` [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults Yann E. MORIN
  3 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2011-05-20 23:39 UTC (permalink / raw)
  To: buildroot

1.11.3 is the latest stable version, and it has a few improvements
we'll find usefull. For example, it hasa a boolean option for
disabling the {,e}glibc fortified build (instead of requiring us
to shoehorn it in extra cflags.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 .../002-no-sysroot-prompt-in-backend.patch         |   12 ------------
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk   |    2 +-
 2 files changed, 1 insertions(+), 13 deletions(-)
 delete mode 100644 toolchain/toolchain-crosstool-ng/002-no-sysroot-prompt-in-backend.patch

diff --git a/toolchain/toolchain-crosstool-ng/002-no-sysroot-prompt-in-backend.patch b/toolchain/toolchain-crosstool-ng/002-no-sysroot-prompt-in-backend.patch
deleted file mode 100644
index 4c3426a..0000000
--- a/toolchain/toolchain-crosstool-ng/002-no-sysroot-prompt-in-backend.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/config/toolchain.in b/config/toolchain.in
---- a/config/toolchain.in
-+++ b/config/toolchain.in
-@@ -20,7 +20,7 @@
- 
- config SYSROOT_NAME
-     string
--    prompt "sysroot directory name"
-+    prompt "sysroot directory name" if ! BACKEND
-     depends on USE_SYSROOT
-     default "sysroot"
-     help
diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index b9888bf..1fe4501 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -14,7 +14,7 @@ uclibc: dependencies $(STAMP_DIR)/ct-ng-toolchain-installed
 # Internal variables
 
 # Crostool-NG hard-coded configuration options
-CTNG_VERSION:=1.10.1
+CTNG_VERSION:=1.11.3
 CTNG_SITE:=http://crosstool-ng.org/download/crosstool-ng/
 CTNG_SOURCE:=crosstool-ng-$(CTNG_VERSION).tar.bz2
 CTNG_DIR:=$(BUILD_DIR)/crosstool-ng-$(CTNG_VERSION)
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults
  2011-05-20 23:39 [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults Yann E. MORIN
  2011-05-20 23:39 ` [Buildroot] [PATCH 1/3] toolchain/crosstool-NG: bundle one CT-NG config file for each libc familly Yann E. MORIN
  2011-05-20 23:39 ` [Buildroot] [PATCH 2/3] toolchain/crosstool-NG: update to 1.11.3 Yann E. MORIN
@ 2011-05-20 23:39 ` Yann E. MORIN
  2011-05-20 23:43 ` [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults Yann E. MORIN
  3 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2011-05-20 23:39 UTC (permalink / raw)
  To: buildroot

Jacmet on IRC reported some build failures for different targets.
They were of two kinds:
 - missing/unknown stack unwinding support
 - missing *_chk functions

The first is about configure not being able to automagically determine
if stack unwinding support is available for the target. The second is
about fortified build forgetting to build the fortified functions.
This applies to both glibc and eglibc.

After some discussions on IRC with Jacmet, it appears that we can
safely assume both of the following:
 - virtually all targets of buildroot will have stack unwinding support
 - we do not care about fortified builds (so far)

So, update the bundled crosstool-NG .config file to saner defaults:
 - force unwind support
 - disable fortified builds

Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 1fe4501..66cc272 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -328,6 +328,18 @@ $(CTNG_DIR)/libc.config: $(CTNG_UCLIBC_CONFIG_FILE) $(CONFIG_DIR)/.config
 endif # LIBC is uClibc
 
 #--------------
+# glibc/eglibc specific options
+ifeq ($(BR2_TOOLCHAIN_CTNG_glibc)$(BR2_TOOLCHAIN_CTNG_eglibc),y)
+
+# Force unwind support
+CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_GLIBC_FORCE_UNWIND) is not set:\1=y:; 
+
+# Force non-fortified build
+CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_ENABLE_FORTIFIED_BUILD)=y:# \1 is not set:;
+
+endif # LIBC is glibc or eglibc
+
+#--------------
 # Small functions to shoe-horn the above into crosstool-NG's .config
 
 # Function to update the .config
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults
  2011-05-20 23:39 [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults Yann E. MORIN
                   ` (2 preceding siblings ...)
  2011-05-20 23:39 ` [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults Yann E. MORIN
@ 2011-05-20 23:43 ` Yann E. MORIN
  3 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2011-05-20 23:43 UTC (permalink / raw)
  To: buildroot

Peter, All,

On Saturday 21 May 2011 01:39:19 Yann E. MORIN wrote:
> This patchset updates the crosstool-NG backend.

Well, I know this is a bit late, and -rc1 is out.

It's been pretty busy here, and I do apologise for the delay in handling
this issue...

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults
  2011-05-22  8:18   ` Peter Korsgaard
@ 2011-05-22 10:26     ` Yann E. MORIN
  0 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2011-05-22 10:26 UTC (permalink / raw)
  To: buildroot

Peter, All,

On Sunday 22 May 2011 10:18:46 Peter Korsgaard wrote:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@anciens.enib.fr> writes:
[--SNIP--]
>  Yann>  #--------------
>  Yann> +# glibc/eglibc specific options
>  Yann> +ifeq ($(BR2_TOOLCHAIN_CTNG_glibc)$(BR2_TOOLCHAIN_CTNG_eglibc),y)
>  Yann> +
>  Yann> +# Force unwind support
>  Yann> +CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_GLIBC_FORCE_UNWIND) is not set:\1=y:;
>  Yann> +
>  Yann> +# Force non-fortified build
>  Yann> +CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_ENABLE_FORTIFIED_BUILD)=y:# \1 is not set:;
> 
> Does that build for you? For me it fails with:
[--SNIP--]
> sed: -e expression #1, char 892: unterminated `s' command
> 
> E.G. the replace part of the 'Force non-fortified build' line gets
> removed as # is the comment character in makefiles. The fix is simply to
> use \#.

Arg... I did yet forgot to refresh the patch yet again. Some combo of
stgit and send-email issues due to PEBKAC... :-]

> I'll fix that up when I commit.

Thank you.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults
  2011-05-21 22:05 ` [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults Yann E. MORIN
@ 2011-05-22  8:18   ` Peter Korsgaard
  2011-05-22 10:26     ` Yann E. MORIN
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Korsgaard @ 2011-05-22  8:18 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@anciens.enib.fr> writes:

 Yann> Jacmet on IRC reported some build failures for different targets.
 Yann> They were of two kinds:
 Yann>  - missing/unknown stack unwinding support
 Yann>  - missing *_chk functions

 Yann> The first is about configure not being able to automagically determine
 Yann> if stack unwinding support is available for the target. The second is
 Yann> about fortified build forgetting to build the fortified functions.
 Yann> This applies to both glibc and eglibc.

 Yann> After some discussions on IRC with Jacmet, it appears that we can
 Yann> safely assume both of the following:
 Yann>  - virtually all targets of buildroot will have stack unwinding support
 Yann>  - we do not care about fortified builds (so far)

 Yann> So, update the bundled crosstool-NG .config file to saner defaults:
 Yann>  - force unwind support
 Yann>  - disable fortified builds

 Yann> Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
 Yann> ---
 Yann>  toolchain/toolchain-crosstool-ng/crosstool-ng.mk |   12 ++++++++++++
 Yann>  1 files changed, 12 insertions(+), 0 deletions(-)

 Yann> diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
 Yann> index b506651..8319fc3 100644
 Yann> --- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
 Yann> +++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
 Yann> @@ -328,6 +328,18 @@ $(CTNG_DIR)/libc.config: $(CTNG_UCLIBC_CONFIG_FILE) $(CONFIG_DIR)/.config
 Yann>  endif # LIBC is uClibc
 
 Yann>  #--------------
 Yann> +# glibc/eglibc specific options
 Yann> +ifeq ($(BR2_TOOLCHAIN_CTNG_glibc)$(BR2_TOOLCHAIN_CTNG_eglibc),y)
 Yann> +
 Yann> +# Force unwind support
 Yann> +CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_GLIBC_FORCE_UNWIND) is not set:\1=y:;
 Yann> +
 Yann> +# Force non-fortified build
 Yann> +CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_ENABLE_FORTIFIED_BUILD)=y:# \1 is not set:;

Does that build for you? For me it fails with:

sed -r -e ' s:^(CT_INSTALL_DIR_RO)=y:# \1 is not set:; s:^(|# )(CT_ARCH_[BL]E).*:# \2 is not set:; s:^# (CT_ARCH_LE) is not set:\1=y:; s:^(|# )(CT_ARCH_(32|64)).*:# \2 is not set:; s:^# (CT_ARCH_) is not set:\1=y:; s:^(CT_TARGET_VENDOR)=.*:\1="unknown":; s:^(CT_TARGET_ALIAS)=.*:\1="arm-linux":; s:^(CT_CC_PKGVERSION)="(.*)":\1="crosstool-NG 1.11.3 - buildroot 2011.05-rc1-00005-ge83c4f6":; s:^# (CT_ARCH_USE_MMU) is not set:\1=y:; s:^(CT_CC_LANG_CXX)=.*:# \1 is not set:; s:^(CT_ARCH_ARCH)=.*:\1="armv5te":; s:^(CT_ARCH_TUNE)=.*:\1="arm926ej-s":; s:^(CT_ARCH_FLOAT_HW)=y:# \1 is not set:; s:^# (CT_ARCH_FLOAT_SW) is not set:\1=y:; s:^(|# )(CT_THREADS_NONE).*:# \2 is not set:; s:^(|# )(CT_THREADS_LINUXTHREADS).*:# \2 is not set:; s:^(|# )(CT_THREADS_NPTL).*:# \2 is not set:; s:^(|# )(CT_THREADS_NPTL).*:\2=y:; s:^# (CT_LIBC_GLIBC_FORCE_UNWIND) is not set:\1=y:; s:^(CT_LIBC_ENABLE_FORTIFIED_BUILD)=y:' /home/peko/source/buildroot/output/build/crosstool-ng-1.11.3/.config

sed: -e expression #1, char 892: unterminated `s' command

E.G. the replace part of the 'Force non-fortified build' line gets
removed as # is the comment character in makefiles. The fix is simply to
use \#.

I'll fix that up when I commit.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults
  2011-05-21 22:05 [Buildroot] [PATCH 0/3 v2] " Yann E. MORIN
@ 2011-05-21 22:05 ` Yann E. MORIN
  2011-05-22  8:18   ` Peter Korsgaard
  0 siblings, 1 reply; 8+ messages in thread
From: Yann E. MORIN @ 2011-05-21 22:05 UTC (permalink / raw)
  To: buildroot

Jacmet on IRC reported some build failures for different targets.
They were of two kinds:
 - missing/unknown stack unwinding support
 - missing *_chk functions

The first is about configure not being able to automagically determine
if stack unwinding support is available for the target. The second is
about fortified build forgetting to build the fortified functions.
This applies to both glibc and eglibc.

After some discussions on IRC with Jacmet, it appears that we can
safely assume both of the following:
 - virtually all targets of buildroot will have stack unwinding support
 - we do not care about fortified builds (so far)

So, update the bundled crosstool-NG .config file to saner defaults:
 - force unwind support
 - disable fortified builds

Reported-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index b506651..8319fc3 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -328,6 +328,18 @@ $(CTNG_DIR)/libc.config: $(CTNG_UCLIBC_CONFIG_FILE) $(CONFIG_DIR)/.config
 endif # LIBC is uClibc
 
 #--------------
+# glibc/eglibc specific options
+ifeq ($(BR2_TOOLCHAIN_CTNG_glibc)$(BR2_TOOLCHAIN_CTNG_eglibc),y)
+
+# Force unwind support
+CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_GLIBC_FORCE_UNWIND) is not set:\1=y:;
+
+# Force non-fortified build
+CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_ENABLE_FORTIFIED_BUILD)=y:# \1 is not set:;
+
+endif # LIBC is glibc or eglibc
+
+#--------------
 # Small functions to shoe-horn the above into crosstool-NG's .config
 
 # Function to update the .config
-- 
1.7.2.3

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-05-22 10:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-20 23:39 [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults Yann E. MORIN
2011-05-20 23:39 ` [Buildroot] [PATCH 1/3] toolchain/crosstool-NG: bundle one CT-NG config file for each libc familly Yann E. MORIN
2011-05-20 23:39 ` [Buildroot] [PATCH 2/3] toolchain/crosstool-NG: update to 1.11.3 Yann E. MORIN
2011-05-20 23:39 ` [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults Yann E. MORIN
2011-05-20 23:43 ` [Buildroot] [PATCH 0/3] toolchain/crosstool-NG: update to 1.11.3, use sane defaults Yann E. MORIN
2011-05-21 22:05 [Buildroot] [PATCH 0/3 v2] " Yann E. MORIN
2011-05-21 22:05 ` [Buildroot] [PATCH 3/3] toolchain/crosstool-NG: fix up ct-ng config file to saner defaults Yann E. MORIN
2011-05-22  8:18   ` Peter Korsgaard
2011-05-22 10:26     ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.