From 5e82ca9e3d39d022ab5dd8558d4543e2684863a8 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Wed, 20 Mar 2019 17:40:33 -0700 Subject: Only build libinproctrace for *-linux-gnu targets Signed-off-by: Alexey Neyman --- config/debug/gdb.in.native | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'config') diff --git a/config/debug/gdb.in.native b/config/debug/gdb.in.native index 1ee8ad12..df3ca7c5 100644 --- a/config/debug/gdb.in.native +++ b/config/debug/gdb.in.native @@ -26,10 +26,12 @@ if GDB_NATIVE || GDB_GDBSERVER config GDB_NATIVE_BUILD_IPA_LIB bool prompt "Build the IPA library" + depends on LIBC_GLIBC depends on GDB_HAS_IPA_LIB && !GDB_NATIVE_STATIC help gdbserver >= 7.2 comes with an optional library to use tracepoints, - the In Process Agent (IPA) library, libinproctrace.so. + the In Process Agent (IPA) library, libinproctrace.so. This library + uses some GNU extensions from the C library. Say 'y' if you intend to use tracepoints when debugging your programs with gdbserver. -- cgit v1.2.3 From 31002a0c0a5c2efe3ed3861a012a44e4888bf3d2 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 25 Mar 2019 14:05:25 -0700 Subject: Add an ability to mark a configuration as invalid ... so that the build will fail early and predictably. Signed-off-by: Alexey Neyman --- config/global.in | 3 +++ maintainer/kconfig-versions.template | 19 +++++++++++++++++++ scripts/crosstool-NG.sh | 2 ++ 3 files changed, 24 insertions(+) (limited to 'config') diff --git a/config/global.in b/config/global.in index f5df002d..94d2191b 100644 --- a/config/global.in +++ b/config/global.in @@ -38,6 +38,9 @@ config CONFIG_VERSION default "0" if VCHECK = "load" || VCHECK = "save" default CONFIG_VERSION_CURRENT +config INVALID_CONFIGURATION + bool + if VCHECK = "warning" comment "*************************************************************************" comment "Loaded configuration was generated by a previous version of crosstool-NG." diff --git a/maintainer/kconfig-versions.template b/maintainer/kconfig-versions.template index 3db512e2..4ac81bea 100644 --- a/maintainer/kconfig-versions.template +++ b/maintainer/kconfig-versions.template @@ -276,6 +276,25 @@ config @@fork|@@_VERY_OLD #!end-foreach endchoice + +# A flag indicating that no valid selections exist for the version. +# This may happen if there are conflicting requirements set by +# the host system and/or other packages. +config @@fork|@@_NO_VERSIONS + def_bool y + select INVALID_CONFIGURATION + depends on !@@fork|@@_VERY_NEW +#!foreach version + depends on !@@fork|@@_V_@@ver_sel|@@ +#!end-foreach + depends on !@@fork|@@_VERY_OLD + +if @@fork|@@_NO_VERSIONS +comment "WARNING!" +comment "| The @@master@@ package has no viable versions" +comment "| due to conflicting constraints." +endif + #!end-if #!if [ -n "@@versionlocked@@" ] diff --git a/scripts/crosstool-NG.sh b/scripts/crosstool-NG.sh index db15b890..6014e4af 100644 --- a/scripts/crosstool-NG.sh +++ b/scripts/crosstool-NG.sh @@ -32,6 +32,8 @@ if [ -z "${CT_ALLOW_BUILD_AS_ROOT_SURE}" ]; then fi fi +CT_TestAndAbort "Invalid configuration. Run 'ct-ng menuconfig' and check which options select INVALID_CONFIGURATION." -n "${CT_INVALID_CONFIGURATION}" + # If we want an interactive debug-shell, we must ensure these FDs # are indeed connected to a terminal (and not redirected in any way). if [ "${CT_DEBUG_INTERACTIVE}" = "y" -a ! \( -t 0 -a -t 6 -a -t 2 \) ]; then -- cgit v1.2.3 From c65df691de2209fd45688349fc46b46004212124 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 25 Mar 2019 14:18:56 -0700 Subject: Mark binutils/gdb requirements for RISC-V Signed-off-by: Alexey Neyman --- config/arch/riscv.in | 2 ++ 1 file changed, 2 insertions(+) (limited to 'config') diff --git a/config/arch/riscv.in b/config/arch/riscv.in index 109556a7..86676f31 100644 --- a/config/arch/riscv.in +++ b/config/arch/riscv.in @@ -11,6 +11,8 @@ ## select ARCH_SUPPORTS_WITH_ARCH ## select ARCH_SUPPORTS_WITH_TUNE ## select GCC_REQUIRE_7_or_later +## select BINUTILS_REQUIRE_2_28_or_later +## select GDB_REQUIRE_8_0_or_later ## help The RISC-V architecture, as defined by: ## help http://www.riscv.org/ -- cgit v1.2.3 From 19cc968f33e9fa6eea2082e2ac5a0ca6ef3390cf Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 1 Apr 2019 21:02:36 -0700 Subject: Require WCHAR in uClibc for all GDB versions if building natively. 7.12.1 and 7.11.1 are also breaking in absence of Signed-off-by: Alexey Neyman --- config/debug/gdb.in.native | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/debug/gdb.in.native b/config/debug/gdb.in.native index df3ca7c5..101e8246 100644 --- a/config/debug/gdb.in.native +++ b/config/debug/gdb.in.native @@ -6,7 +6,7 @@ config GDB_NATIVE depends on ! BARE_METAL depends on ! LIBC_BIONIC depends on CC_LANG_CXX || !GDB_8_0_or_later - select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC && GDB_8_0_or_later + select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC select EXPAT_TARGET select NCURSES_TARGET help -- cgit v1.2.3 From a34f7e81ae93ed50a491e68d526a41e8b3a135a6 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 1 Apr 2019 23:55:32 -0700 Subject: Only select GDB version if GDB is enabled ... which fixes a bogus warning when configuration without GDB is loaded. Signed-off-by: Alexey Neyman --- config/arch/riscv.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'config') diff --git a/config/arch/riscv.in b/config/arch/riscv.in index 86676f31..f4b3eeb7 100644 --- a/config/arch/riscv.in +++ b/config/arch/riscv.in @@ -12,7 +12,7 @@ ## select ARCH_SUPPORTS_WITH_TUNE ## select GCC_REQUIRE_7_or_later ## select BINUTILS_REQUIRE_2_28_or_later -## select GDB_REQUIRE_8_0_or_later +## select GDB_REQUIRE_8_0_or_later if DEBUG_GDB ## help The RISC-V architecture, as defined by: ## help http://www.riscv.org/ -- cgit v1.2.3 From f9b57cc78a9ba496942743046a0d640a3daed026 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Tue, 2 Apr 2019 08:48:27 -0700 Subject: Enable zlib companion lib if building LTO While we may use build machine's library when building a simple cross, we won't have it for the host machine in a canadian build. Until there are separate selectables for the build/host components, just build our own local zlib. Signed-off-by: Alexey Neyman --- config/cc/gcc.in | 1 + 1 file changed, 1 insertion(+) (limited to 'config') diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 6f68334d..849b1ad0 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -174,6 +174,7 @@ config CC_GCC_USE_LTO bool "Enable LTO" default y depends on ! STATIC_TOOLCHAIN + select ZLIB_NEEDED help Enable the Link Time Optimisations. -- cgit v1.2.3