summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--config/binutils/binutils.in18
-rw-r--r--config/binutils/binutils.in.23
-rw-r--r--config/debug/gdb.in.gdbserver2
-rw-r--r--config/debug/gdb.in.native1
-rw-r--r--config/libc/glibc.in.22
-rw-r--r--samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config8
-rw-r--r--scripts/build/debug/300-gdb.sh10
8 files changed, 24 insertions, 22 deletions
diff --git a/README.md b/README.md
index 778243f..2328672 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@ With crosstool-NG, you can learn precisely how each component is configured and
crosstool-NG can build from generic, general purpose toolchains, to very specific and dedicated toolchains. Simply fill in specific values in the adequate options.
-Of course, it doesn't prevent you from doing your home work first. You have to know with some degree of exactitude what your target is (archictecture, processor variant), what it will be used for (embedded, desktop, realtime), what degree of confidence you have with each component (stability, maintainability), and so on…
+Of course, it doesn't prevent you from doing your home work first. You have to know with some degree of exactitude what your target is (architecture, processor variant), what it will be used for (embedded, desktop, realtime), what degree of confidence you have with each component (stability, maintainability), and so on…
## Features
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/debug/gdb.in.gdbserver b/config/debug/gdb.in.gdbserver
index feb3a0d..2f5576b 100644
--- a/config/debug/gdb.in.gdbserver
+++ b/config/debug/gdb.in.gdbserver
@@ -3,8 +3,8 @@
config GDB_GDBSERVER
bool
prompt "gdbserver"
+ default y
depends on ! BARE_METAL
- depends on CC_LANG_CXX || !GDB_7_12_or_later
help
Build and install a gdbserver for the target, to run on the target.
diff --git a/config/debug/gdb.in.native b/config/debug/gdb.in.native
index 634b13b..915debd 100644
--- a/config/debug/gdb.in.native
+++ b/config/debug/gdb.in.native
@@ -5,7 +5,6 @@ config GDB_NATIVE
prompt "Native gdb"
depends on ! BARE_METAL
depends on ! BACKEND
- depends on CC_LANG_CXX || !GDB_7_12_or_later
select EXPAT_TARGET
select NCURSES_TARGET
help
diff --git a/config/libc/glibc.in.2 b/config/libc/glibc.in.2
index 8c8bb82..9d3c2e1 100644
--- a/config/libc/glibc.in.2
+++ b/config/libc/glibc.in.2
@@ -23,7 +23,7 @@ config LIBC_GLIBC_USE_PORTS
config LIBC_glibc_family
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
diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh
index 2370964..a5ac7f9 100644
--- a/scripts/build/debug/300-gdb.sh
+++ b/scripts/build/debug/300-gdb.sh
@@ -1,7 +1,5 @@
# Build script for the gdb debug facility
-if [ "${CT_GDB_CROSS}" = y -o "${CT_GDB_GDBSERVER}" = "y" -o "${CT_GDB_NATIVE}" = "y" ]; then
-
do_debug_gdb_get() {
local linaro_version=""
local linaro_series=""
@@ -179,6 +177,9 @@ do_debug_gdb_build() {
native_extra_config=("${extra_config[@]}")
+ # We may not have C++ language configured for target
+ native_extra_config+=("--disable-build-with-cxx")
+
# GDB on Mingw depends on PDcurses, not ncurses
if [ "${CT_MINGW32}" != "y" ]; then
native_extra_config+=("--with-curses")
@@ -293,6 +294,9 @@ do_debug_gdb_build() {
gdbserver_extra_config=("${extra_config[@]}")
+ # We may not have C++ language configured for target
+ gdbserver_extra_config+=("--disable-build-with-cxx")
+
if [ "${CT_GDB_GDBSERVER_HAS_IPA_LIB}" = "y" ]; then
if [ "${CT_GDB_GDBSERVER_BUILD_IPA_LIB}" = "y" ]; then
gdbserver_extra_config+=( --enable-inprocess-agent )
@@ -340,5 +344,3 @@ do_debug_gdb_build() {
CT_EndStep
fi
}
-
-fi