summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2017-02-11 07:55:16 (GMT)
committerGitHub <noreply@github.com>2017-02-11 07:55:16 (GMT)
commit93db5800918ad7afbb6e6781fd48f504eb1eca76 (patch)
tree8e6285eac2b760e6cfebb58b7b038e5a7ba3470c /config
parente6a748c06aa25802aa807256f9f9899c877ebac7 (diff)
parenta41978b95a06d57a971bafb99862a3dd030cb6ee (diff)
Merge pull request #584 from stilor/disallow-gold-for-elf2flt
Require BFD linker if building for flat format
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