diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/binutils/binutils.in | 18 | ||||
-rw-r--r-- | config/binutils/binutils.in.2 | 3 | ||||
-rw-r--r-- | config/debug/gdb.in.gdbserver | 2 | ||||
-rw-r--r-- | config/debug/gdb.in.native | 1 | ||||
-rw-r--r-- | config/kernel/linux.in | 179 | ||||
-rw-r--r-- | config/libc/glibc.in | 68 | ||||
-rw-r--r-- | config/libc/glibc.in.2 | 49 |
7 files changed, 279 insertions, 41 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/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/kernel/linux.in b/config/kernel/linux.in index 940d92e..0886f4c 100644 --- a/config/kernel/linux.in +++ b/config/kernel/linux.in @@ -38,6 +38,11 @@ endif # KERNEL_LINUX_CUSTOM if ! KERNEL_LINUX_CUSTOM +# GLIBC and kernel are special when it comes to obsoletion. Users +# of crosstool-ng depend on the ability to build new toolchains matching +# the kernel/libc versions of a particular target system, and LTS releases +# are still using quite ancient versions. Please do not retire versions +# (including versions in between) until the EOL dates indicated below. choice bool prompt "Linux kernel version" @@ -53,38 +58,184 @@ config KERNEL_V_4_8 prompt "4.8.17 (EOL)" depends on OBSOLETE +config KERNEL_V_4_7 + bool + prompt "4.7.10 (EOL)" + depends on OBSOLETE + +config KERNEL_V_4_6 + bool + prompt "4.6.7 (EOL)" + depends on OBSOLETE + +config KERNEL_V_4_5 + bool + prompt "4.5.7 (EOL)" + depends on OBSOLETE + +# EOL 04/2021 [Ubuntu16.04] config KERNEL_V_4_4 bool prompt "4.4.47" +config KERNEL_V_4_3 + bool + prompt "4.3.6 (EOL)" + depends on OBSOLETE + +config KERNEL_V_4_2 + bool + prompt "4.2.8 (EOL)" + depends on OBSOLETE + config KERNEL_V_4_1 bool prompt "4.1.38" +config KERNEL_V_4_0 + bool + prompt "4.0.9 (EOL)" + depends on OBSOLETE + +config KERNEL_V_3_19 + bool + prompt "3.19.8 (EOL)" + depends on OBSOLETE + config KERNEL_V_3_18 bool prompt "3.18.47 (EOL)" + depends on OBSOLETE + +config KERNEL_V_3_17 + bool + prompt "3.17.8 (EOL)" + depends on OBSOLETE config KERNEL_V_3_16 bool prompt "3.16.39" +config KERNEL_V_3_15 + bool + prompt "3.15.10 (EOL)" + depends on OBSOLETE + +config KERNEL_V_3_14 + bool + prompt "3.14.79 (EOL)" + depends on OBSOLETE + +# EOL 04/2019 [Ubuntu14.04] +config KERNEL_V_3_13 + bool + prompt "3.13.11 (EOL)" + depends on OBSOLETE + config KERNEL_V_3_12 bool prompt "3.12.70" +config KERNEL_V_3_11 + bool + prompt "3.11.10 (EOL)" + depends on OBSOLETE + +# EOL 06/2024 [CentOS7.x] config KERNEL_V_3_10 bool prompt "3.10.104" +config KERNEL_V_3_9 + bool + prompt "3.9.11 (EOL)" + depends on OBSOLETE + +config KERNEL_V_3_8 + bool + prompt "3.8.13 (EOL)" + depends on OBSOLETE + +config KERNEL_V_3_7 + bool + prompt "3.7.10 (EOL)" + depends on OBSOLETE + +config KERNEL_V_3_6 + bool + prompt "3.6.11 (EOL)" + depends on OBSOLETE + +config KERNEL_V_3_5 + bool + prompt "3.5.7 (EOL)" + depends on OBSOLETE + config KERNEL_V_3_4 bool prompt "3.4.113" +config KERNEL_V_3_3 + bool + prompt "3.3.8 (EOL)" + depends on OBSOLETE + +# EOL 04/2017 [Ubuntu12.04] config KERNEL_V_3_2 bool prompt "3.2.84" +config KERNEL_V_3_1 + bool + prompt "3.1.10 (EOL)" + depends on OBSOLETE + +config KERNEL_V_3_0 + bool + prompt "3.0.101 (EOL)" + depends on OBSOLETE + +config KERNEL_V_2_6_39 + bool + prompt "2.6.39.4 (EOL)" + depends on OBSOLETE + +config KERNEL_V_2_6_38 + bool + prompt "2.6.38.8 (EOL)" + depends on OBSOLETE + +config KERNEL_V_2_6_37 + bool + prompt "2.6.37.6 (EOL)" + depends on OBSOLETE + +config KERNEL_V_2_6_36 + bool + prompt "2.6.36.4 (EOL)" + depends on OBSOLETE + +config KERNEL_V_2_6_35 + bool + prompt "2.6.35.9 (EOL)" + depends on OBSOLETE + +config KERNEL_V_2_6_34 + bool + prompt "2.6.34.7 (EOL)" + depends on OBSOLETE + +config KERNEL_V_2_6_33 + bool + prompt "2.6.33.7 (EOL)" + depends on OBSOLETE + +# EOL 11/2020 [CentOS6.x] +config KERNEL_V_2_6_32 + bool + prompt "2.6.32.27 (EOL)" + depends on OBSOLETE + endchoice config KERNEL_VERSION @@ -93,13 +244,41 @@ config KERNEL_VERSION # CT_INSERT_VERSION_STRING_BELOW default "4.9.8" if KERNEL_V_4_9 default "4.8.17" if KERNEL_V_4_8 + default "4.7.10" if KERNEL_V_4_7 + default "4.6.7" if KERNEL_V_4_6 + default "4.5.7" if KERNEL_V_4_5 default "4.4.47" if KERNEL_V_4_4 + default "4.3.6" if KERNEL_V_4_3 + default "4.2.8" if KERNEL_V_4_2 default "4.1.38" if KERNEL_V_4_1 + default "4.0.9" if KERNEL_V_4_0 + default "3.19.8" if KERNEL_V_3_19 default "3.18.47" if KERNEL_V_3_18 + default "3.17.8" if KERNEL_V_3_17 default "3.16.39" if KERNEL_V_3_16 + default "3.15.10" if KERNEL_V_3_15 + default "3.14.79" if KERNEL_V_3_14 + default "3.13.11" if KERNEL_V_3_13 default "3.12.70" if KERNEL_V_3_12 + default "3.11.10" if KERNEL_V_3_11 default "3.10.104" if KERNEL_V_3_10 + default "3.9.11" if KERNEL_V_3_9 + default "3.8.13" if KERNEL_V_3_8 + default "3.7.10" if KERNEL_V_3_7 + default "3.6.11" if KERNEL_V_3_6 + default "3.5.7" if KERNEL_V_3_5 default "3.4.113" if KERNEL_V_3_4 + default "3.3.8" if KERNEL_V_3_3 default "3.2.84" if KERNEL_V_3_2 + default "3.1.10" if KERNEL_V_3_1 + default "3.0.101" if KERNEL_V_3_0 + default "2.6.39.4" if KERNEL_V_2_6_39 + default "2.6.38.8" if KERNEL_V_2_6_38 + default "2.6.37.6" if KERNEL_V_2_6_37 + default "2.6.36.4" if KERNEL_V_2_6_36 + default "2.6.35.9" if KERNEL_V_2_6_35 + default "2.6.34.7" if KERNEL_V_2_6_34 + default "2.6.33.7" if KERNEL_V_2_6_33 + default "2.6.32.27" if KERNEL_V_2_6_32 endif # ! KERNEL_LINUX_CUSTOM diff --git a/config/libc/glibc.in b/config/libc/glibc.in index 767cbbf..9e4ff56 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -65,6 +65,11 @@ config CC_GLIBC_SHOW_LINARO Linaro: http://www.linaro.org/ +# GLIBC and kernel are special when it comes to obsoletion. Users +# of crosstool-ng depend on the ability to build new toolchains matching +# the kernel/libc versions of a particular target system, and LTS releases +# are still using quite ancient versions. Please do not retire versions +# (including versions in between) until the EOL dates indicated below. choice bool prompt "glibc version" @@ -81,6 +86,7 @@ config LIBC_GLIBC_V_2_24 prompt "2.24" select LIBC_GLIBC_2_23_or_later +# EOL 04/2021 [Ubuntu16.04] config LIBC_GLIBC_V_2_23 bool prompt "2.23" @@ -111,15 +117,64 @@ config LIBC_GLIBC_V_2_20 select LIBC_GLIBC_2_20_or_later depends on OBSOLETE +# EOL 04/2019 [Ubuntu14.04] config LIBC_GLIBC_V_2_19 bool prompt "2.19 (OBSOLETE)" depends on OBSOLETE + select LIBC_GLIBC_2_17_or_later config LIBC_GLIBC_V_2_18 bool prompt "2.18 (OBSOLETE)" depends on OBSOLETE + select LIBC_GLIBC_2_17_or_later + +# EOL 06/2024 [CentOS7.x] +config LIBC_GLIBC_V_2_17 + bool + prompt "2.17 (OBSOLETE)" + depends on OBSOLETE + select LIBC_GLIBC_2_17_or_later + +config LIBC_GLIBC_V_2_16_0 + bool + prompt "2.16.0 (OBSOLETE)" + depends on OBSOLETE + +# EOL 04/2017 [Ubuntu12.04] +config LIBC_GLIBC_V_2_15 + bool + prompt "2.15 (OBSOLETE)" + depends on OBSOLETE + +config LIBC_GLIBC_V_2_14_1 + bool + prompt "2.14.1 (OBSOLETE)" + depends on OBSOLETE + +config LIBC_GLIBC_V_2_14 + bool + prompt "2.14 (OBSOLETE)" + depends on OBSOLETE + +config LIBC_GLIBC_V_2_13 + bool + prompt "2.13 (OBSOLETE)" + depends on OBSOLETE + +# This version did not have glibc-ports addon released +config LIBC_GLIBC_V_2_12_2 + bool + prompt "2.12.2 (OBSOLETE)" + depends on OBSOLETE + depends on !LIBC_GLIBC_NEEDS_PORTS + +# EOL 11/2020 [CentOS6.x] +config LIBC_GLIBC_V_2_12_1 + bool + prompt "2.12.1 (OBSOLETE)" + depends on OBSOLETE endchoice @@ -134,6 +189,11 @@ config LIBC_GLIBC_2_23_or_later # It is no longer possible to build glibc without pthread! config LIBC_GLIBC_2_20_or_later bool + select LIBC_GLIBC_2_17_or_later + +# DeMark no more ports +config LIBC_GLIBC_2_17_or_later + bool if ! LIBC_GLIBC_CUSTOM @@ -150,5 +210,13 @@ config LIBC_VERSION default "2.20" if LIBC_GLIBC_V_2_20 default "2.19" if LIBC_GLIBC_V_2_19 default "2.18" if LIBC_GLIBC_V_2_18 + default "2.17" if LIBC_GLIBC_V_2_17 + default "2.16.0" if LIBC_GLIBC_V_2_16_0 + default "2.15" if LIBC_GLIBC_V_2_15 + default "2.14.1" if LIBC_GLIBC_V_2_14_1 + default "2.14" if LIBC_GLIBC_V_2_14 + default "2.13" if LIBC_GLIBC_V_2_13 + default "2.12.2" if LIBC_GLIBC_V_2_12_2 + default "2.12.1" if LIBC_GLIBC_V_2_12_1 endif # ! LIBC_GLIBC_CUSTOM diff --git a/config/libc/glibc.in.2 b/config/libc/glibc.in.2 index 104552a..9d3c2e1 100644 --- a/config/libc/glibc.in.2 +++ b/config/libc/glibc.in.2 @@ -5,22 +5,25 @@ # This list must be carefully in sync with the architectures names # we can find in config/arch/* +# Ports were integrated into the main tarball in 2.17 config LIBC_GLIBC_PORTS_EXTERNAL - bool - default n + def_bool y + depends on !LIBC_GLIBC_2_17_or_later -config LIBC_GLIBC_MAY_FORCE_PORTS - bool - default y if ARCH_arm - default y if ARCH_mips - select LIBC_GLIBC_USE_PORTS - depends on !LIBC_GLIBC_2_20_or_later +config LIBC_GLIBC_NEEDS_PORTS + def_bool y + depends on ARCH_alpha || ARCH_arm || ARCH_m68k || ARCH_mips || ARCH_powerpc + +# Ports are no longer an add-on starting with 2.20 +config LIBC_GLIBC_USE_PORTS + def_bool y + depends on LIBC_GLIBC_NEEDS_PORTS && !LIBC_GLIBC_2_20_or_later # Force using the BFD linker during the toolchain build -config LIBC_glibc_familly +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 @@ -109,19 +112,6 @@ config LIBC_GLIBC_FORCE_UNWIND of glibc on some architectures (seen on s390, s390x and x86_64). -config LIBC_GLIBC_USE_PORTS - bool - prompt "Use the ports addon" - depends on !LIBC_GLIBC_2_20_or_later - help - The ports addon contains some architecture ports that are not available - in the official distribution. - - For example, this is the case for ARM with glibc-2.4 and above. - - Say n only if you're sure that your architecture is in the official - distribution for your chosen version. - config LIBC_ADDONS_LIST string prompt "Extra addons" @@ -131,17 +121,12 @@ config LIBC_ADDONS_LIST You need to specify neither linuxthreads nor nptl, as they are added automagically for you depending on the threading model you chose - earlier. + earlier and on libc version selected. - Eg.: crypt (for very old libces) + Also, do not specify ports even if applicable to the selected libc + version/architecture; it is selected automatically. -if LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" ) -comment "WARNING !!! " -comment "| For glibc >= 2.8, it can happen that the tarballs " -comment "| for the addons are not available for download. " -comment "| If that happens, bad luck... Try a previous version " -comment "| or try again later... :-( " -endif + Eg.: libidn config LIBC_LOCALES bool |