summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-02-10 02:24:47 (GMT)
committerAlexey Neyman <stilor@att.net>2017-02-10 05:21:57 (GMT)
commit973664c906938d958892072a8c9016f2964d7a4c (patch)
treea74bd6a9c386cf2cc7f7d15e86e85b76af8174e4 /config
parentdf555a65dbea7aedcef462590230da639fb6a421 (diff)
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 <stilor@att.net>
Diffstat (limited to 'config')
-rw-r--r--config/binutils/binutils.in18
-rw-r--r--config/binutils/binutils.in.23
-rw-r--r--config/libc/glibc.in.22
3 files changed, 15 insertions, 8 deletions
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