From 942bd0e2a7207f295e88e6b0f07fb73b215e060e Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Tue, 5 Apr 2011 01:02:28 +0200 Subject: binutils/binutils: add blind option to force use of ld.bfd during build gold is not capable of building glibc/eglibc, so we have to force using the BFD linker, ld.bfd. Offer a blind option that affected components can select to force use of the BFD linker during the build. Signed-off-by: "Yann E. MORIN" diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in index 2a28d22..425fb04 100644 --- a/config/binutils/binutils.in +++ b/config/binutils/binutils.in @@ -80,6 +80,12 @@ config ARCH_arm config ARCH_x86 select BINUTILS_GOLD_SUPPORTS_ARCH +# Force using the BFD linker if needed +# This is the case for some C libraries (eg. glibc and +# eglibc at least) and affected components can select this +config BINUTILS_FORCE_LD_BFD + bool + choice bool prompt "Linkers to enable" @@ -95,6 +101,7 @@ config BINUTILS_LINKER_GOLD prompt "gold" depends on BINUTILS_HAS_GOLD depends on BINUTILS_GOLD_SUPPORTS_ARCH + depends on ! BINUTILS_FORCE_LD_BFD depends on EXPERIMENTAL select BINUTILS_GOLD_INSTALLED help @@ -125,6 +132,7 @@ config BINUTILS_LINKER_GOLD_LD depends on EXPERIMENTAL select BINUTILS_GOLD_INSTALLED select BINUTILS_LINKER_BOTH + select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD help Both the historical ld and the new gold linkers will be installed, with gold being the default linker used. diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh index 67a6196..dc8f81e 100644 --- a/scripts/build/binutils/binutils.sh +++ b/scripts/build/binutils/binutils.sh @@ -96,6 +96,11 @@ do_binutils() { chmod +x "${CT_PREFIX_DIR}/bin/${CT_TARGET}-ld" cp -a "${CT_PREFIX_DIR}/bin/${CT_TARGET}-ld" \ "${CT_PREFIX_DIR}/${CT_TARGET}/bin/ld" + + # If needed, force using ld.bfd during the toolchain build + if [ "${CT_BINUTILS_FORCE_LD_BFD}" = "y" ]; then + export CTNG_LD_IS=bfd + fi fi # Make those new tools available to the core C compilers to come. -- cgit v0.10.2-6-g49f6