From 973664c906938d958892072a8c9016f2964d7a4c Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Thu, 9 Feb 2017 18:24:47 -0800 Subject: Forgot to saveconfig the changes for ARM/elf2flt sample Hence, it is better to enforce via config rules: elf2flt does not play nice with ld wrapper, when both ld.bfd and ld.gold are present. Limit the choices to just 'ld.bfd' for flat-format architectures. Signed-off-by: Alexey Neyman diff --git a/config/binutils/binutils.in b/config/binutils/binutils.in index e66c972..695256a 100644 --- a/config/binutils/binutils.in +++ b/config/binutils/binutils.in @@ -178,10 +178,14 @@ config BINUTILS_HAS_PLUGINS config BINUTILS_HAS_PKGVERSION_BUGURL bool -# Force using the BFD linker if needed -# This is the case for some C libraries (eg. glibc at least) and affected -# components can select this -config BINUTILS_FORCE_LD_BFD +# Force using the BFD linker if needed. There are two options: +# - For some C libraries (eg. glibc at least), BFD ld must be +# built and be selected by default. +# - For elf2flt, BFD ld must be the only linker built. +config BINUTILS_FORCE_LD_BFD_DEFAULT + bool + +config BINUTILS_FORCE_LD_BFD_ONLY bool choice @@ -198,7 +202,7 @@ config BINUTILS_LINKER_GOLD bool prompt "gold" depends on BINUTILS_GOLD_SUPPORT - depends on ! BINUTILS_FORCE_LD_BFD + depends on !BINUTILS_FORCE_LD_BFD_DEFAULT && !BINUTILS_FORCE_LD_BFD_ONLY select BINUTILS_GOLD_INSTALLED help gold is a new, optimised, multi-threaded linker with support @@ -209,6 +213,7 @@ config BINUTILS_LINKER_GOLD config BINUTILS_LINKER_LD_GOLD bool prompt "ld, gold" + depends on !BINUTILS_FORCE_LD_BFD_ONLY depends on BINUTILS_GOLD_SUPPORT select BINUTILS_GOLD_INSTALLED select BINUTILS_LINKER_BOTH @@ -221,10 +226,11 @@ config BINUTILS_LINKER_LD_GOLD config BINUTILS_LINKER_GOLD_LD bool prompt "gold, ld" + depends on !BINUTILS_FORCE_LD_BFD_ONLY depends on BINUTILS_GOLD_SUPPORT select BINUTILS_GOLD_INSTALLED select BINUTILS_LINKER_BOTH - select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD + select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD_DEFAULT help Both the historical ld and the new gold linkers will be installed, with gold being the default linker used. diff --git a/config/binutils/binutils.in.2 b/config/binutils/binutils.in.2 index 78c2a88..227f3d8 100644 --- a/config/binutils/binutils.in.2 +++ b/config/binutils/binutils.in.2 @@ -2,9 +2,10 @@ if ARCH_BINFMT_FLAT -config ELF2FLT_REQUIRES_ZLIB +config ELF2FLT_REQUIRES def_bool y select ZLIB + select BINUTILS_FORCE_LD_BFD_ONLY comment "elf2flt" diff --git a/config/libc/glibc.in.2 b/config/libc/glibc.in.2 index 104552a..77afc1b 100644 --- a/config/libc/glibc.in.2 +++ b/config/libc/glibc.in.2 @@ -20,7 +20,7 @@ config LIBC_GLIBC_MAY_FORCE_PORTS config LIBC_glibc_familly bool default y - select BINUTILS_FORCE_LD_BFD + select BINUTILS_FORCE_LD_BFD_DEFAULT config LIBC_GLIBC_EXTRA_CONFIG_ARRAY string diff --git a/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config b/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config index e3d625f..398a550 100644 --- a/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config +++ b/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config @@ -5,16 +5,10 @@ CT_TARGET_VENDOR="nommu" CT_KERNEL_linux=y # CT_SHARED_LIBS is not set # CT_KERNEL_LINUX_INSTALL_CHECK is not set -CT_BINUTILS_LINKER_LD_GOLD=y -CT_BINUTILS_GOLD_THREADS=y -CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y +CT_THREADS_NONE=y CT_CC_GCC_SHOW_LINARO=y CT_CC_GCC_DISABLE_PCH=y CT_CC_GCC_BUILD_ID=y CT_CC_GCC_LNK_HASH_STYLE_BOTH=y -CT_CC_LANG_CXX=y -CT_DEBUG_gdb=y -# CT_GDB_CROSS_PYTHON is not set -CT_GDB_GDBSERVER=y CT_GETTEXT=y -- cgit v0.10.2-6-g49f6