From 4c6604e730ee786709e8c39ab9e54eec06990e49 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 1 Jan 2022 16:23:19 -0800 Subject: Remove gcc-oracle-4.8-44.0.5 GCC 4.8 and its prerequisites have been removed by 04dce680, 41d4583a and e4221734; as a result, 4.8-based version of gcc-oracle became unbuildable (no valid versions for the prerequisites). Update the samples to use 4.9.4; which however fails to build on a modern host GCC. Build fix backported to gcc-4.9 and gcc-5 versions. Fix binutils-oracle build with host GCC11. Signed-off-by: Alexey Neyman --- samples/aarch64-ol7u9-linux-gnu/crosstool.config | 10 +++------- samples/arm-ol7u9-linux-gnueabi/crosstool.config | 12 ++++-------- samples/arm-ol7u9-linux-gnueabihf/crosstool.config | 13 ++++--------- 3 files changed, 11 insertions(+), 24 deletions(-) (limited to 'samples') diff --git a/samples/aarch64-ol7u9-linux-gnu/crosstool.config b/samples/aarch64-ol7u9-linux-gnu/crosstool.config index 165468c9..ae644e66 100644 --- a/samples/aarch64-ol7u9-linux-gnu/crosstool.config +++ b/samples/aarch64-ol7u9-linux-gnu/crosstool.config @@ -5,17 +5,13 @@ CT_ARCH_64=y CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y -CT_LINUX_ORACLE_V_4_14=y -CT_LINUX_ORACLE_VERSION="4.14.35-2025.400.8" CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_27_44=y CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y -CT_GLIBC_ORACLE_V_2_17_317_0_3=y -CT_GCC_USE_ORACLE=y -CT_GCC_ORACLE_V_4_8=y -CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" +CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" +CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GCC_V_4_9=y CT_CC_LANG_CXX=y diff --git a/samples/arm-ol7u9-linux-gnueabi/crosstool.config b/samples/arm-ol7u9-linux-gnueabi/crosstool.config index 1894fe85..93961af6 100644 --- a/samples/arm-ol7u9-linux-gnueabi/crosstool.config +++ b/samples/arm-ol7u9-linux-gnueabi/crosstool.config @@ -1,21 +1,17 @@ CT_CONFIG_VERSION="3" CT_OBSOLETE=y CT_ARCH_ARM=y -CT_TARGET_VENDOR="ol7u9" CT_ARCH_FLOAT_SW=y +CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y -CT_LINUX_ORACLE_V_4_14=y -CT_LINUX_ORACLE_VERSION="4.14.35-2025.400.8" CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_27_44=y CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y -CT_GLIBC_ORACLE_V_2_17_317_0_3=y -CT_GCC_USE_ORACLE=y -CT_GCC_ORACLE_V_4_8=y -CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" +CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" +CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GCC_V_4_9=y CT_CC_LANG_CXX=y diff --git a/samples/arm-ol7u9-linux-gnueabihf/crosstool.config b/samples/arm-ol7u9-linux-gnueabihf/crosstool.config index 16731296..fd33aeee 100644 --- a/samples/arm-ol7u9-linux-gnueabihf/crosstool.config +++ b/samples/arm-ol7u9-linux-gnueabihf/crosstool.config @@ -1,21 +1,16 @@ -CT_CONFIG_VERSION="3" CT_OBSOLETE=y CT_ARCH_ARM=y -CT_TARGET_VENDOR="ol7u9" CT_ARCH_FLOAT_HW=y +CT_TARGET_VENDOR="ol7u9" CT_KERNEL_LINUX=y CT_LINUX_USE_ORACLE=y -CT_LINUX_ORACLE_V_4_14=y -CT_LINUX_ORACLE_VERSION="4.14.35-2025.400.8" CT_BINUTILS_USE_ORACLE=y -CT_BINUTILS_ORACLE_V_2_27_44=y CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y CT_GLIBC_USE_ORACLE=y -CT_GLIBC_ORACLE_V_2_17_317_0_3=y -CT_GCC_USE_ORACLE=y -CT_GCC_ORACLE_V_4_8=y -CT_GCC_ORACLE_VERSION="4.8.5-44.0.5" +CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized" +CT_GLIBC_ENABLE_COMMON_FLAG=y +CT_GCC_V_4_9=y CT_CC_LANG_CXX=y -- cgit v1.2.3 From cc6b7fad46f5cb3d84cf87ae47c5f723803a67a3 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Wed, 5 Jan 2022 00:37:45 -0800 Subject: Retire obsoleted milestones ... and the code dependent on them, after the latest wave of obsolete package removals. This concludes the glorious history of the original uClibc (non-NG) with lots of kludges removed. There was a choice here, whether to call the resulting libc "uClibc" or "uClibc-ng". I opted in favor of giving uClibc-ng the recognition it deserves, although it had some ripple effect in the ct-ng code. Signed-off-by: Alexey Neyman --- config/cc/gcc.in | 9 +- config/comp_libs/gmp.in | 4 - config/comp_libs/isl.in | 12 - config/comp_libs/mpc.in | 3 - config/comp_libs/newlib-nano.in | 18 +- config/debug/gdb.in.native | 8 +- config/debug/ltrace.in | 7 - config/libc/glibc.in | 1 - config/libc/mingw-w64.in | 4 - config/libc/newlib.in | 18 +- config/libc/uClibc-ng.in | 170 +++++++++ config/libc/uClibc.in | 239 ------------- packages/cloog/package.desc | 1 - packages/gcc/package.desc | 2 +- packages/gmp/package.desc | 1 - packages/isl/package.desc | 2 +- packages/make/package.desc | 1 - packages/mingw-w64/package.desc | 1 - packages/mpfr/package.desc | 2 +- packages/newlib-nano/package.desc | 1 - packages/newlib/package.desc | 1 - packages/uClibc-ng/package.desc | 1 - packages/uClibc/config | 277 -------------- packages/uClibc/package.desc | 8 - samples/sparc-leon-linux-uclibc/uClibc-ng.config | 19 + samples/sparc-leon-linux-uclibc/uClibc.config | 19 - scripts/build/arch/arm.sh | 2 +- scripts/build/arch/powerpc.sh | 2 +- scripts/build/companion_libs/100-gmp.sh | 6 - scripts/build/companion_libs/121-isl.sh | 9 - scripts/build/debug/400-ltrace.sh | 32 +- scripts/build/libc/mingw-w64.sh | 16 +- scripts/build/libc/uClibc-ng.sh | 421 ++++++++++++++++++++++ scripts/build/libc/uClibc.sh | 437 ----------------------- scripts/functions | 2 +- 35 files changed, 637 insertions(+), 1119 deletions(-) create mode 100644 config/libc/uClibc-ng.in delete mode 100644 config/libc/uClibc.in delete mode 100644 packages/uClibc/config delete mode 100644 packages/uClibc/package.desc create mode 100644 samples/sparc-leon-linux-uclibc/uClibc-ng.config delete mode 100644 samples/sparc-leon-linux-uclibc/uClibc.config create mode 100644 scripts/build/libc/uClibc-ng.sh delete mode 100644 scripts/build/libc/uClibc.sh (limited to 'samples') diff --git a/config/cc/gcc.in b/config/cc/gcc.in index e068afd5..742d563f 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -7,19 +7,14 @@ ## select CC_SUPPORT_OBJC ## select CC_SUPPORT_OBJCXX ## select CC_SUPPORT_GOLANG +# ISL 0.15 is the oldest release present in CTNG. # GCC7 requires ISL 0.15+ -## select ISL_REQUIRE_0_15_or_later if ISL_NEEDED && GCC_7_or_later # GCC6 requires ISL 0.14+ (it says 0.14-0.16, but accepts newer ISL as well) -## select ISL_REQUIRE_0_14_or_later if ISL_NEEDED && GCC_6_or_later # GCC5 requires ISL 0.12+ (again, it says 0.12-0.16, but also accepts newer ISL up to 0.18; # fails to compile with 0.19+) -## select ISL_REQUIRE_0_12_or_later if ISL_NEEDED && GCC_5_or_later ## select ISL_REQUIRE_0_18_or_older if ISL_NEEDED && GCC_5_or_later && !GCC_6_or_later # GCC4.9 requires ISL 0.10..0.15 -# GCC4.8 requires ISL 0.10..0.14 -## select ISL_REQUIRE_0_10_or_later if ISL_NEEDED && GCC_4_8_or_later ## select ISL_REQUIRE_0_15_or_older if ISL_NEEDED && GCC_4_9_or_later && !GCC_5_or_later -## select ISL_REQUIRE_0_14_or_older if ISL_NEEDED && GCC_4_8_or_later && !GCC_4_9_or_later ## help gcc is the full-blown GNU compiler. This is what most people will choose. ## help @@ -265,7 +260,7 @@ config CC_GCC_LIBSANITIZER bool prompt "Compile libsanitizer" depends on THREADS_NATIVE - depends on !LIBC_UCLIBC && !LIBC_MUSL # Currently lacks required headers (like netrom.h) + depends on !LIBC_UCLIBC_NG && !LIBC_MUSL # Currently lacks required headers (like netrom.h) help libsanitizer is a library which provides run-time sanitising of either or both of: diff --git a/config/comp_libs/gmp.in b/config/comp_libs/gmp.in index 72702443..f49d1a71 100644 --- a/config/comp_libs/gmp.in +++ b/config/comp_libs/gmp.in @@ -1,5 +1 @@ # GMP options - -config GMP_HAS_MPBSD - bool - default y if !GMP_5_1_0_or_later diff --git a/config/comp_libs/isl.in b/config/comp_libs/isl.in index fe6fa8d4..22b0cadb 100644 --- a/config/comp_libs/isl.in +++ b/config/comp_libs/isl.in @@ -1,13 +1 @@ # ISL options -# CLooG 0.18.4 requires ISL 0.12 or newer -# CLooG 0.18.1 requires ISL 0.12 or older -## select CLOOG_REQUIRE_0_18_1_or_older if CLOOG_NEEDED && !ISL_0_12_or_later -## select CLOOG_REQUIRE_0_18_4_or_later if CLOOG_NEEDED && !ISL_0_14_or_older - -config ISL_NEEDS_WITH_GMP - bool - default y if !ISL_0_12_or_later - -config ISL_HAS_WITH_PIPLIB - bool - default y if !ISL_0_14_or_later diff --git a/config/comp_libs/mpc.in b/config/comp_libs/mpc.in index 2ea3c0cc..422935f0 100644 --- a/config/comp_libs/mpc.in +++ b/config/comp_libs/mpc.in @@ -1,6 +1,3 @@ # MPC options -# MPC 1.1.0 and later requires MPFR 3.0.0 or later and GMP 5.0.0 or later. # MPC 1.0.x and earlier break with MPFR 4.0.0. -## select MPFR_REQUIRE_3_0_0_or_later if MPFR_NEEDED && MPC_1_1_0_or_later -## select GMP_REQUIRE_5_0_0_or_later if GMP_NEEDED && MPC_1_1_0_or_later ## select MPFR_REQUIRE_older_than_4_0_0 if MPFR_NEEDED && !MPC_1_1_0_or_later diff --git a/config/comp_libs/newlib-nano.in b/config/comp_libs/newlib-nano.in index 5a81fdec..e7ef6f73 100644 --- a/config/comp_libs/newlib-nano.in +++ b/config/comp_libs/newlib-nano.in @@ -1,6 +1,7 @@ # newlib-nano options ## depends on BARE_METAL +## select LIBC_PROVIDES_CXA_ATEXIT ## help Newlib-nano is a C library intended for use on embedded systems. It is a ## help conglomeration of several library parts, all under free software @@ -37,21 +38,6 @@ config NEWLIB_NANO_INSTALL_IN_TARGET Additionally the newlib-nano version of newlib.h will get copied to include/newlib-nano/newlib.h. -# maybe older versions of newlib will support it too, but this -# needs to be checked -config NEWLIB_NANO_CXA_ATEXIT - def_bool y - depends on NEWLIB_NANO_2_0_or_later - select LIBC_PROVIDES_CXA_ATEXIT - -config NEWLIB_NANO_HAS_NANO_MALLOC - def_bool y - depends on NEWLIB_NANO_2_1_or_later - -config NEWLIB_NANO_HAS_NANO_FORMATTED_IO - def_bool y - depends on NEWLIB_NANO_2_2_or_later - config LIBC_NEWLIB_NANO_TARGET_CFLAGS string prompt "Target CFLAGS for newlib" @@ -225,7 +211,6 @@ config LIBC_NEWLIB_NANO_NANO_MALLOC bool prompt "Enable Nano Malloc" default y - depends on NEWLIB_NANO_HAS_NANO_MALLOC help NEWLIB has two implementations of malloc family's functions, one in `mallocr.c' and the other one in `nano-mallocr.c'. This options @@ -237,7 +222,6 @@ config LIBC_NEWLIB_NANO_NANO_FORMATTED_IO bool prompt "Enable Nano Formatted I/O" default y - depends on NEWLIB_NANO_HAS_NANO_FORMATTED_IO help This builds NEWLIB with a special implementation of formatted I/O functions, designed to lower the size of application on small systems diff --git a/config/debug/gdb.in.native b/config/debug/gdb.in.native index 7ac8ec23..b4721c87 100644 --- a/config/debug/gdb.in.native +++ b/config/debug/gdb.in.native @@ -6,8 +6,8 @@ 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_IPV6 if LIBC_UCLIBC && GDB_8_3_or_later + select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC_NG && GDB_8_0_or_later + select LIBC_UCLIBC_IPV6 if LIBC_UCLIBC_NG && GDB_8_3_or_later select EXPAT_TARGET select NCURSES_TARGET select GMP_TARGET if GDB_11_1_or_later @@ -19,8 +19,8 @@ config GDB_GDBSERVER prompt "gdbserver" default y depends on ! BARE_METAL - select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC && GDB_8_0_or_later - select LIBC_UCLIBC_IPV6 if LIBC_UCLIBC && GDB_8_3_or_later + select LIBC_UCLIBC_WCHAR if LIBC_UCLIBC_NG && GDB_8_0_or_later + select LIBC_UCLIBC_IPV6 if LIBC_UCLIBC_NG && GDB_8_3_or_later help Build and install a gdbserver for the target, to run on the target. diff --git a/config/debug/ltrace.in b/config/debug/ltrace.in index 1cdd1574..75bdf4f5 100644 --- a/config/debug/ltrace.in +++ b/config/debug/ltrace.in @@ -7,10 +7,3 @@ ## help It intercepts and records the dynamic library calls which are called by ## help the executed process and the signals which are received by that process. ## help It can also intercept and print the system calls executed by the program. - -# Ltrace 0.5.3 had a unique hand-crafted configure script that has to be -# run differently from any preceding or following releases. This serves -# as a reminder to remove that code once 0.5.3 support is dropped. -config LTRACE_0_5_3_CONFIGURE - bool - default y if LTRACE_V_0_5_3 diff --git a/config/libc/glibc.in b/config/libc/glibc.in index 63c31f6c..39c2c20b 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -66,7 +66,6 @@ config GLIBC_DEP_MAKE_4_0 def_bool y depends on GLIBC_2_28_or_later && !CONFIGURE_has_make_4_0_or_newer select COMP_TOOLS_MAKE - select MAKE_REQUIRE_4_0_or_later select MAKE_GNUMAKE_SYMLINK # Override old host make in .build/tools/bin # Glibc 2.31 removed support for pre-v8 SPARC in 32-bit mode (64-bit mode always diff --git a/config/libc/mingw-w64.in b/config/libc/mingw-w64.in index d176e477..1880f082 100644 --- a/config/libc/mingw-w64.in +++ b/config/libc/mingw-w64.in @@ -9,10 +9,6 @@ ## ## help The de-facto standard for Mingw distributions. -config MINGW_W64_REQUIRES_W64_VENDOR - bool - default y if MINGW_W64_V4_or_later - config THREADS default "win32" if THREADS_NATIVE default "posix" if THREADS_POSIX diff --git a/config/libc/newlib.in b/config/libc/newlib.in index ce426dae..83ae4b15 100644 --- a/config/libc/newlib.in +++ b/config/libc/newlib.in @@ -1,6 +1,7 @@ # newlib options ## depends on BARE_METAL +## select LIBC_PROVIDES_CXA_ATEXIT ## select LIBC_SUPPORT_THREADS_NONE ## select CC_CORE_PASS_1_NEEDED @@ -11,21 +12,6 @@ ## help array of processors, and will usually work on any architecture with ## help the addition of a few low-level routines. -# maybe older versions of newlib will support it too, but this -# needs to be checked -config NEWLIB_CXA_ATEXIT - def_bool y - depends on NEWLIB_2_0_or_later - select LIBC_PROVIDES_CXA_ATEXIT - -config NEWLIB_HAS_NANO_MALLOC - def_bool y - depends on NEWLIB_2_1_or_later - -config NEWLIB_HAS_NANO_FORMATTED_IO - def_bool y - depends on NEWLIB_2_2_or_later - config LIBC_NEWLIB_TARGET_CFLAGS string prompt "Target CFLAGS for newlib" @@ -197,7 +183,6 @@ config LIBC_NEWLIB_LTO config LIBC_NEWLIB_NANO_MALLOC bool prompt "Enable Nano Malloc" - depends on NEWLIB_HAS_NANO_MALLOC help NEWLIB has two implementations of malloc family's functions, one in `mallocr.c' and the other one in `nano-mallocr.c'. This options @@ -208,7 +193,6 @@ config LIBC_NEWLIB_NANO_MALLOC config LIBC_NEWLIB_NANO_FORMATTED_IO bool prompt "Enable Nano Formatted I/O" - depends on NEWLIB_HAS_NANO_FORMATTED_IO help This builds NEWLIB with a special implementation of formatted I/O functions, designed to lower the size of application on small systems diff --git a/config/libc/uClibc-ng.in b/config/libc/uClibc-ng.in new file mode 100644 index 00000000..705c0d46 --- /dev/null +++ b/config/libc/uClibc-ng.in @@ -0,0 +1,170 @@ +# uClibc options + +## depends on ! WINDOWS && ! BARE_METAL +## +## select LIBC_SUPPORT_THREADS_LT +## select LIBC_SUPPORT_THREADS_NONE +## select LIBC_SUPPORT_THREADS_NATIVE +## select CC_CORE_PASS_1_NEEDED +## +## help The de-facto standard for embeded linux systems. +## help +## help Highly configurable, thus as feature-rich as you +## help need, without compromising for size. + +config THREADS + default "nptl" if THREADS_NATIVE + default "linuxthreads" if THREADS_LT + +if ARCH_FLOAT_SOFTFP +comment "'softfp' ABI and uClibc is not entirely tested in crosstool-NG" +comment "You may experience issues, although it should work just fine" +endif # ARCH_FLOAT_SOFTFP + +choice + bool + prompt "uClibc verbosity:" + default LIBC_UCLIBC_VERBOSITY_0 + +config LIBC_UCLIBC_VERBOSITY_0 + bool + prompt "Quiet build" + help + Print terse command indications. + +config LIBC_UCLIBC_VERBOSITY_1 + bool + prompt "Brief build (show defines, ld flags)" + help + Print simplified command lines. + +config LIBC_UCLIBC_VERBOSITY_2 + bool + prompt "Very verbose build" + help + Print full command lines. + +endchoice + +# uClibc-ng has reverted the meaning of V=1 and V=2 compared to its +# ancestor, uClibc, in order to match kernel's Kbuild settings. +# Hence, for uClibc-ng supply V=2 if "brief build" is selected, +# and so forth. +config LIBC_UCLIBC_VERBOSITY + string + default "" if LIBC_UCLIBC_VERBOSITY_0 + default "V=2" if LIBC_UCLIBC_VERBOSITY_1 + default "V=1" if LIBC_UCLIBC_VERBOSITY_2 + +choice + bool + prompt "Debug level" + default LIBC_UCLIBC_DEBUG_LEVEL_0 + +config LIBC_UCLIBC_DEBUG_LEVEL_0 + bool + prompt "none" + +config LIBC_UCLIBC_DEBUG_LEVEL_1 + bool + prompt "minimal" + +config LIBC_UCLIBC_DEBUG_LEVEL_2 + bool + prompt "normal" + +config LIBC_UCLIBC_DEBUG_LEVEL_3 + bool + prompt "all" + +endchoice + +config LIBC_UCLIBC_DEBUG_LEVEL + int + default 0 if LIBC_UCLIBC_DEBUG_LEVEL_0 + default 1 if LIBC_UCLIBC_DEBUG_LEVEL_1 + default 2 if LIBC_UCLIBC_DEBUG_LEVEL_2 + default 3 if LIBC_UCLIBC_DEBUG_LEVEL_3 + +config LIBC_UCLIBC_CONFIG_FILE + string + prompt "Configuration file" + default "" + help + Path to the configuration file. + + If the file is not provided, we fall back to a default config file. + +config LIBC_UCLIBC_LOCALES + bool + select LIBC_UCLIBC_WCHAR + # Before it became a separate option, libiconv depended on locales + prompt "Add support for locales" + help + Say y if you want uClibc to support localisation. + + Note that seems to be broken on recent uClibc releases. + +config LIBC_UCLIBC_LIBICONV + bool "Enable iconv" + help + Say y if you want to enable and the corresponding interfaces. + +config LIBC_UCLIBC_IPV6 + bool + prompt "Add support for IPv6" + help + Say y if you want uClibc to support IPv6. + +config LIBC_UCLIBC_WCHAR + bool + prompt "Add support for WCHAR" + help + Say y if you want uClibc to support WCHAR. + + Maybe this is needed, if you're building a C++-Compiler + +config LIBC_UCLIBC_FENV + bool + prompt "Add support for fenv.h" + default y if ARCH_X86 + help + fenv.h provides functions to control the floating point environment, + such as rounding mode, exceptions... + + For some architectures, fenv.h is incomplete, so is not installed + by default. x86 is known to have a rather complete fenv.h, so it is + installed by default only for x86. + + If you need fenv.h on other architectures, say 'y' here, but you may + encounter some issues. + +config LIBC_UCLIBC_HAS_SSP + bool + prompt "Support stack smashing protection (SSP)" + default y + help + Enable support for building programs with -fstack-protector family + of options. If this option is disabled, one can also use a standalone + libssp library from GCC. + +config LIBC_UCLIBC_BUILD_SSP + bool + prompt "Build uClibc with SSP" + depends on LIBC_UCLIBC_HAS_SSP + help + Build uClibc with -fstack-protector. This adds runtime overhead + to many function calls and is disabled by default. + +if ARCH_ARM +config LIBC_UCLIBC_USE_GNU_SUFFIX + bool + default y + prompt "Use -uclibcgnueabi suffix" + help + Depending on where the resulting toolchain will be used, you may need + to tweak the "system" part of the target tuple. Buildroot prefers + to have arm-*-linux-uclibcgnueabi; OpenEmbedded prefers + arm-*-linux-uclibceabi. Other tools seem to either accept both, or + don't care about the suffix. +endif diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in deleted file mode 100644 index c88bbc8a..00000000 --- a/config/libc/uClibc.in +++ /dev/null @@ -1,239 +0,0 @@ -# uClibc options - -## depends on ! WINDOWS && ! BARE_METAL -## -## select LIBC_SUPPORT_THREADS_LT -## select LIBC_SUPPORT_THREADS_NONE -## select LIBC_SUPPORT_THREADS_NATIVE if UCLIBC_0_9_33_2_or_later -## select CC_CORE_PASS_1_NEEDED -## -## help The de-facto standard for embeded linux systems. -## help -## help Highly configurable, thus as feature-rich as you -## help need, without compromising for size. - -config THREADS - default "nptl" if THREADS_NATIVE - default "linuxthreads" if THREADS_LT - -if ARCH_FLOAT_SOFTFP -comment "'softfp' ABI and uClibc is not entirely tested in crosstool-NG" -comment "You may experience issues, although it should work just fine" -endif # ARCH_FLOAT_SOFTFP - -config LIBC_UCLIBC_HAS_SUNRPC - bool - default y if !UCLIBC_1_0_23_or_later - -config LIBC_UCLIBC_HAS_LIBICONV - bool - default y if UCLIBC_1_0_21_or_later - -config LIBC_UCLIBC_PARALLEL - def_bool y - depends on UCLIBC_0_9_33_2_or_later - -config LIBC_UCLIBC_NG - def_bool y - depends on UCLIBC_1_0_0_or_later - -# uClibc-ng 1.0.15 did away with 2 implementations of linuxthreads -config UCLIBC_MERGED_LINUXTHREADS - def_bool y - depends on UCLIBC_1_0_15_or_later - -choice - bool - prompt "uClibc verbosity:" - default LIBC_UCLIBC_VERBOSITY_0 - -config LIBC_UCLIBC_VERBOSITY_0 - bool - prompt "Quiet build" - help - Print terse command indications. - -config LIBC_UCLIBC_VERBOSITY_1 - bool - prompt "Brief build (show defines, ld flags)" - help - Print simplified command lines. - -config LIBC_UCLIBC_VERBOSITY_2 - bool - prompt "Very verbose build" - help - Print full command lines. - -endchoice - -# uClibc-ng has reverted the meaning of V=1 and V=2 compared to its -# ancestor, uClibc, in order to match kernel's Kbuild settings. -# Hence, for uClibc-ng supply V=2 if "brief build" is selected, -# and so forth. -config LIBC_UCLIBC_VERBOSITY - string - default "" if LIBC_UCLIBC_VERBOSITY_0 - default "V=2" if LIBC_UCLIBC_VERBOSITY_1 && LIBC_UCLIBC_NG - default "V=1" if LIBC_UCLIBC_VERBOSITY_1 - default "V=1" if LIBC_UCLIBC_VERBOSITY_2 && LIBC_UCLIBC_NG - default "V=2" if LIBC_UCLIBC_VERBOSITY_2 - -choice - bool - prompt "Debug level" - default LIBC_UCLIBC_DEBUG_LEVEL_0 - -config LIBC_UCLIBC_DEBUG_LEVEL_0 - bool - prompt "none" - -config LIBC_UCLIBC_DEBUG_LEVEL_1 - bool - prompt "minimal" - -config LIBC_UCLIBC_DEBUG_LEVEL_2 - bool - prompt "normal" - -config LIBC_UCLIBC_DEBUG_LEVEL_3 - bool - prompt "all" - -endchoice - -config LIBC_UCLIBC_DEBUG_LEVEL - int - default 0 if LIBC_UCLIBC_DEBUG_LEVEL_0 - default 1 if LIBC_UCLIBC_DEBUG_LEVEL_1 - default 2 if LIBC_UCLIBC_DEBUG_LEVEL_2 - default 3 if LIBC_UCLIBC_DEBUG_LEVEL_3 - -config LIBC_UCLIBC_CONFIG_FILE - string - prompt "Configuration file" - default "" - help - Path to the configuration file. - - If the file is not provided, we fall back to a default config file. - -if THREADS_LT && !UCLIBC_MERGED_LINUXTHREADS - -choice - bool - prompt "Linuxthread implementation: " - default LIBC_UCLIBC_LNXTHRD_OLD - -config LIBC_UCLIBC_LNXTHRD_OLD - bool - prompt "old/stable" - help - From the uClibc config option help: - There are two versions of linuxthreads. The older (stable) version - has been in uClibc for quite a long time but hasn't seen too many - updates other than bugfixes. - -config LIBC_UCLIBC_LNXTHRD_NEW - bool - prompt "new" - help - From the uClibc config option help: - The new version has not been tested much, and lacks ports for arches - which glibc does not support (like frv, etc...), but is based on - the latest code from glibc, so it may be the only choice for the - newer ports (like alpha/amd64/64bit arches and hppa). - -endchoice - -endif # THREADS_LT - -config LIBC_UCLIBC_LNXTHRD - string - default "" if THREADS_NONE - default "" if THREADS_NATIVE - default "" if UCLIBC_MERGED_LINUXTHREADS - default "old" if LIBC_UCLIBC_LNXTHRD_OLD - default "new" if LIBC_UCLIBC_LNXTHRD_NEW - -config LIBC_UCLIBC_LOCALES - bool - select LIBC_UCLIBC_WCHAR - # Before it became a separate option, libiconv depended on locales - prompt "Add support for locales" - help - Say y if you want uClibc to support localisation. - - Note that seems to be broken on recent uClibc releases. - -config LIBC_UCLIBC_LIBICONV - bool "Enable iconv" - depends on LIBC_UCLIBC_HAS_LIBICONV - help - Say y if you want to enable and the corresponding interfaces. - -config LIBC_UCLIBC_IPV6 - bool - prompt "Add support for IPv6" - help - Say y if you want uClibc to support IPv6. - -config LIBC_UCLIBC_WCHAR - bool - prompt "Add support for WCHAR" - help - Say y if you want uClibc to support WCHAR. - - Maybe this is needed, if you're building a C++-Compiler - -config LIBC_UCLIBC_FENV - bool - prompt "Add support for fenv.h" - default y if ARCH_X86 - help - fenv.h provides functions to control the floating point environment, - such as rounding mode, exceptions... - - For some architectures, fenv.h is incomplete, so is not installed - by default. x86 is known to have a rather complete fenv.h, so it is - installed by default only for x86. - - If you need fenv.h on other architectures, say 'y' here, but you may - encounter some issues. - -config LIBC_UCLIBC_RPC - bool - prompt "Add support for RPC" - depends on LIBC_UCLIBC_HAS_SUNRPC - help - Enable support for remote procedure calls (RPC) in uClibc. - -config LIBC_UCLIBC_HAS_SSP - bool - prompt "Support stack smashing protection (SSP)" - default y - help - Enable support for building programs with -fstack-protector family - of options. If this option is disabled, one can also use a standalone - libssp library from GCC. - -config LIBC_UCLIBC_BUILD_SSP - bool - prompt "Build uClibc with SSP" - depends on LIBC_UCLIBC_HAS_SSP - help - Build uClibc with -fstack-protector. This adds runtime overhead - to many function calls and is disabled by default. - -if ARCH_ARM -config LIBC_UCLIBC_USE_GNU_SUFFIX - bool - default y - prompt "Use -uclibcgnueabi suffix" - help - Depending on where the resulting toolchain will be used, you may need - to tweak the "system" part of the target tuple. Buildroot prefers - to have arm-*-linux-uclibcgnueabi; OpenEmbedded prefers - arm-*-linux-uclibceabi. Other tools seem to either accept both, or - don't care about the suffix. -endif diff --git a/packages/cloog/package.desc b/packages/cloog/package.desc index f16f7877..a06899f6 100644 --- a/packages/cloog/package.desc +++ b/packages/cloog/package.desc @@ -1,5 +1,4 @@ pkg_label='CLooG' repository='git git://repo.or.cz/cloog.git' mirrors='http://www.bastoul.net/cloog/pages/download' -milestones='0.18.1 0.18.4' archive_formats='.tar.gz' diff --git a/packages/gcc/package.desc b/packages/gcc/package.desc index 186f1a36..3a667810 100644 --- a/packages/gcc/package.desc +++ b/packages/gcc/package.desc @@ -2,5 +2,5 @@ repository='svn svn://gcc.gnu.org/svn/gcc' mirrors='$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})' relevantpattern='4.*|. *|.' origin='GNU' -milestones='4.8 4.9 5 6 7 8 9 10 11' +milestones='4.9 5 6 7 8 9 10 11' archive_formats='.tar.xz .tar.gz' diff --git a/packages/gmp/package.desc b/packages/gmp/package.desc index 5936eea9..c6ca8c59 100644 --- a/packages/gmp/package.desc +++ b/packages/gmp/package.desc @@ -2,6 +2,5 @@ repository='hg https://gmplib.org/repo/gmp/' bootstrap='./.bootstrap' mirrors='https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)' relevantpattern='*.*|.' -milestones='5.0.0 5.1.0' archive_formats='.tar.xz .tar.lz .tar.bz2' signature_format='packed/.sig' diff --git a/packages/isl/package.desc b/packages/isl/package.desc index 20f7e024..7ad6ae23 100644 --- a/packages/isl/package.desc +++ b/packages/isl/package.desc @@ -2,5 +2,5 @@ repository='git git://repo.or.cz/isl.git' bootstrap='./autogen.sh' mirrors='https://libisl.sourceforge.io' relevantpattern='*.*|.' -milestones='0.12 0.13 0.14 0.15 0.18' +milestones='0.15 0.18' archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/packages/make/package.desc b/packages/make/package.desc index c82c5160..bd789ade 100644 --- a/packages/make/package.desc +++ b/packages/make/package.desc @@ -4,4 +4,3 @@ mirrors='$(CT_Mirrors GNU make)' relevantpattern='*.*|.' archive_formats='.tar.lz .tar.gz' signature_format='packed/.sig' -milestones='4.0' diff --git a/packages/mingw-w64/package.desc b/packages/mingw-w64/package.desc index d2f7e6d2..6e09f679 100644 --- a/packages/mingw-w64/package.desc +++ b/packages/mingw-w64/package.desc @@ -1,6 +1,5 @@ repository='git https://git.code.sf.net/p/mingw-w64/mingw-w64' mirrors='http://downloads.sourceforge.net/sourceforge/mingw-w64 https://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/' relevantpattern='v*.*|.' -milestones='v4' archive_formats='.tar.bz2 .zip' signature_format='packed/.sig' diff --git a/packages/mpfr/package.desc b/packages/mpfr/package.desc index 43b8a36a..15c54b54 100644 --- a/packages/mpfr/package.desc +++ b/packages/mpfr/package.desc @@ -5,4 +5,4 @@ mirrors='http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)' relevantpattern='*.*|.' archive_formats='.tar.xz .tar.bz2 .tar.gz .zip' signature_format='packed/.asc' -milestones='3.0.0 4.0.0' +milestones='4.0.0' diff --git a/packages/newlib-nano/package.desc b/packages/newlib-nano/package.desc index 1529f3e6..ba18016a 100644 --- a/packages/newlib-nano/package.desc +++ b/packages/newlib-nano/package.desc @@ -3,7 +3,6 @@ repository='git git://sourceware.org/git/newlib-cygwin.git' # Do not use "$(CT_Mirrors sourceware newlib)" here: the mirrors (kernel.org # and gnu.org) only store some older releases of newlib (2.0.0 and before). mirrors='ftp://sourceware.org/pub/newlib' -milestones='2.0 2.1 2.2' relevantpattern='*.*|.*. *.*|.' archive_filename='newlib-@{version}' archive_dirname='newlib-@{version}' diff --git a/packages/newlib/package.desc b/packages/newlib/package.desc index d9ebb3dc..27a5fa6e 100644 --- a/packages/newlib/package.desc +++ b/packages/newlib/package.desc @@ -3,6 +3,5 @@ repository='git git://sourceware.org/git/newlib-cygwin.git' # Do not use "$(CT_Mirrors sourceware newlib)" here: the mirrors (kernel.org # and gnu.org) only store some older releases of newlib (2.0.0 and before). mirrors='ftp://sourceware.org/pub/newlib' -milestones='2.0 2.1 2.2' relevantpattern='*.*|.*. *.*|.' archive_formats='.tar.gz' diff --git a/packages/uClibc-ng/package.desc b/packages/uClibc-ng/package.desc index 5d8eb984..4257bd24 100644 --- a/packages/uClibc-ng/package.desc +++ b/packages/uClibc-ng/package.desc @@ -1,4 +1,3 @@ -master='uClibc' origin='uclibc-ng.org' repository='git git://uclibc-ng.org/git/uclibc-ng' mirrors='http://downloads.uclibc-ng.org/releases/${CT_UCLIBC_NG_VERSION}' diff --git a/packages/uClibc/config b/packages/uClibc/config deleted file mode 100644 index 104eb5c6..00000000 --- a/packages/uClibc/config +++ /dev/null @@ -1,277 +0,0 @@ -# -# Automatically generated make config: don't edit -# Version: 0.9.32-git -# Fri Jul 9 22:31:59 2010 -# -# TARGET_alpha is not set -# TARGET_arm is not set -# TARGET_avr32 is not set -# TARGET_bfin is not set -# TARGET_cris is not set -# TARGET_e1 is not set -# TARGET_frv is not set -# TARGET_h8300 is not set -# TARGET_hppa is not set -# TARGET_i386 is not set -# TARGET_i960 is not set -# TARGET_ia64 is not set -# TARGET_m68k is not set -# TARGET_microblaze is not set -# TARGET_mips is not set -# TARGET_nios is not set -# TARGET_nios2 is not set -# TARGET_powerpc is not set -# TARGET_sh is not set -# TARGET_sh64 is not set -# TARGET_sparc is not set -# TARGET_v850 is not set -# TARGET_vax is not set -# TARGET_x86_64 is not set -# TARGET_xtensa is not set -# TARGET_c6x is not set - -# CONFIG_GENERIC_ARM is not set -# CONFIG_ARM610 is not set -# CONFIG_ARM710 is not set -# CONFIG_ARM7TDMI is not set -# CONFIG_ARM720T is not set -# CONFIG_ARM920T is not set -# CONFIG_ARM922T is not set -# CONFIG_ARM926T is not set -# CONFIG_ARM10T is not set -# CONFIG_ARM1136JF_S is not set -# CONFIG_ARM1176JZ_S is not set -# CONFIG_ARM1176JZF_S is not set -# CONFIG_ARM_CORTEX_M3 is not set -# CONFIG_ARM_CORTEX_M1 is not set -# CONFIG_ARM_SA110 is not set -# CONFIG_ARM_SA1100 is not set -# CONFIG_ARM_XSCALE is not set -# CONFIG_ARM_IWMMXT is not set - -# COMPILE_IN_THUMB_MODE is not set -USE_BX=y - -TARGET_SUBARCH="" -# -# Target Architecture Features and Options -# -TARGET_ARCH="none" -FORCE_OPTIONS_FOR_ARCH=y -# -# Using ELF file format -# -# ARCH_LITTLE_ENDIAN is not set -# ARCH_BIG_ENDIAN is not set -# ARCH_WANTS_LITTLE_ENDIAN is not set -# ARCH_WANTS_BIG_ENDIAN is not set -ARCH_HAS_MMU=y -ARCH_USE_MMU=y -UCLIBC_HAS_FLOATS=y -UCLIBC_HAS_FPU=y -DO_C99_MATH=y -# DO_XSI_MATH is not set -# UCLIBC_HAS_FENV is not set -UCLIBC_HAS_LONG_DOUBLE_MATH=y -KERNEL_HEADERS="/usr/src/linux/include" -HAVE_DOT_CONFIG=y - -# -# General Library Settings -# -# HAVE_NO_PIC is not set -DOPIC=y -# ARCH_HAS_NO_SHARED is not set -# ARCH_HAS_NO_LDSO is not set -# FORCE_SHAREABLE_TEXT_SEGMENTS is not set -LDSO_LDD_SUPPORT=y -# LDSO_CACHE_SUPPORT is not set -LDSO_PRELOAD_ENV_SUPPORT=y -# LDSO_PRELOAD_FILE_SUPPORT is not set -# LDSO_STANDALONE_SUPPORT is not set -# LDSO_PRELINK_SUPPORT is not set -# UCLIBC_STATIC_LDCONFIG is not set -LDSO_RUNPATH=y -LDSO_SEARCH_INTERP_PATH=y -LDSO_LD_LIBRARY_PATH=y -# LDSO_NO_CLEANUP is not set -UCLIBC_CTOR_DTOR=y -# LDSO_GNU_HASH_SUPPORT is not set -# HAS_NO_THREADS is not set -LINUXTHREADS_OLD=y -# LINUXTHREADS_NEW is not set -# UCLIBC_HAS_THREADS_NATIVE is not set -UCLIBC_HAS_THREADS=y -# PTHREADS_DEBUG_SUPPORT is not set -UCLIBC_HAS_SYSLOG=y -UCLIBC_HAS_LFS=y -# MALLOC is not set -# MALLOC_SIMPLE is not set -MALLOC_STANDARD=y -MALLOC_GLIBC_COMPAT=y -UCLIBC_DYNAMIC_ATEXIT=y -# COMPAT_ATEXIT is not set -UCLIBC_SUSV3_LEGACY=y -# UCLIBC_SUSV3_LEGACY_MACROS is not set -UCLIBC_SUSV4_LEGACY=y -# UCLIBC_STRICT_HEADERS is not set -# UCLIBC_HAS_STUBS is not set -UCLIBC_HAS_SHADOW=y -UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y -UCLIBC_HAS___PROGNAME=y -UCLIBC_HAS_PTY=y -ASSUME_DEVPTS=y -UNIX98PTY_ONLY=y -UCLIBC_HAS_GETPT=y -UCLIBC_HAS_LIBUTIL=y -UCLIBC_HAS_TM_EXTENSIONS=y -UCLIBC_HAS_TZ_CACHING=y -UCLIBC_HAS_TZ_FILE=y -UCLIBC_HAS_TZ_FILE_READ_MANY=y -UCLIBC_TZ_FILE_PATH="/etc/TZ" -UCLIBC_FALLBACK_TO_ETC_LOCALTIME=y - -# -# Advanced Library Settings -# -UCLIBC_PWD_BUFFER_SIZE=256 -UCLIBC_GRP_BUFFER_SIZE=256 - -# -# Support various families of functions -# -UCLIBC_LINUX_MODULE_26=y -# UCLIBC_LINUX_MODULE_24 is not set -UCLIBC_LINUX_SPECIFIC=y -UCLIBC_HAS_GNU_ERROR=y -UCLIBC_BSD_SPECIFIC=y -UCLIBC_HAS_BSD_ERR=y -# UCLIBC_HAS_OBSOLETE_BSD_SIGNAL is not set -# UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL is not set -# UCLIBC_NTP_LEGACY is not set -# UCLIBC_SV4_DEPRECATED is not set -UCLIBC_HAS_REALTIME=y -UCLIBC_HAS_ADVANCED_REALTIME=y -UCLIBC_HAS_EPOLL=y -UCLIBC_HAS_XATTR=y -UCLIBC_HAS_PROFILING=y -UCLIBC_HAS_CRYPT_IMPL=y -# UCLIBC_HAS_SHA256_CRYPT_IMPL is not set -# UCLIBC_HAS_SHA512_CRYPT_IMPL is not set -UCLIBC_HAS_CRYPT=y -UCLIBC_HAS_NETWORK_SUPPORT=y -UCLIBC_HAS_SOCKET=y -UCLIBC_HAS_IPV4=y -# UCLIBC_HAS_IPV6 is not set -# UCLIBC_HAS_RPC is not set -# UCLIBC_HAS_FULL_RPC is not set -# UCLIBC_HAS_REENTRANT_RPC is not set -UCLIBC_USE_NETLINK=y -UCLIBC_SUPPORT_AI_ADDRCONFIG=y -# UCLIBC_HAS_BSD_RES_CLOSE is not set -UCLIBC_HAS_COMPAT_RES_STATE=y -# UCLIBC_HAS_EXTRA_COMPAT_RES_STATE is not set -UCLIBC_HAS_RESOLVER_SUPPORT=y -UCLIBC_HAS_LIBRESOLV_STUB=y -UCLIBC_HAS_LIBNSL_STUB=y - -# -# String and Stdio Support -# -UCLIBC_HAS_STRING_GENERIC_OPT=y -UCLIBC_HAS_STRING_ARCH_OPT=y -UCLIBC_HAS_CTYPE_TABLES=y -UCLIBC_HAS_CTYPE_SIGNED=y -# UCLIBC_HAS_CTYPE_UNSAFE is not set -UCLIBC_HAS_CTYPE_CHECKED=y -# UCLIBC_HAS_CTYPE_ENFORCED is not set -# UCLIBC_HAS_WCHAR is not set -# UCLIBC_HAS_LOCALE is not set -UCLIBC_HAS_HEXADECIMAL_FLOATS=y -# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -# USE_OLD_VFPRINTF is not set -UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9 -UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y -# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set -# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set -# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set -UCLIBC_HAS_STDIO_BUFSIZ_4096=y -# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set -UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set -# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set -# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set -UCLIBC_HAS_STDIO_GETC_MACRO=y -UCLIBC_HAS_STDIO_PUTC_MACRO=y -UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y -# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set -UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y -# UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE is not set -UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y -UCLIBC_HAS_PRINTF_M_SPEC=y -UCLIBC_HAS_ERRNO_MESSAGES=y -# UCLIBC_HAS_SYS_ERRLIST is not set -UCLIBC_HAS_SIGNUM_MESSAGES=y -# UCLIBC_HAS_SYS_SIGLIST is not set -UCLIBC_HAS_GNU_GETOPT=y -UCLIBC_HAS_GNU_GETSUBOPT=y - -# -# Big and Tall -# -UCLIBC_HAS_REGEX=y -# UCLIBC_HAS_REGEX_OLD is not set -UCLIBC_HAS_FNMATCH=y -# UCLIBC_HAS_FNMATCH_OLD is not set -# UCLIBC_HAS_WORDEXP is not set -UCLIBC_HAS_NFTW=y -UCLIBC_HAS_FTW=y -# UCLIBC_HAS_FTS is not set -UCLIBC_HAS_GLOB=y -UCLIBC_HAS_GNU_GLOB=y -UCLIBC_HAS_UTMPX=y - -# -# Library Installation Options -# -RUNTIME_PREFIX="/" -DEVEL_PREFIX="/usr/" -MULTILIB_DIR="lib" -HARDWIRED_ABSPATH=y - -# -# Security options -# -# UCLIBC_BUILD_PIE is not set -# UCLIBC_HAS_ARC4RANDOM is not set -# HAVE_NO_SSP is not set -UCLIBC_HAS_SSP=y -# UCLIBC_HAS_SSP_COMPAT is not set -# SSP_QUICK_CANARY is not set -PROPOLICE_BLOCK_ABRT=y -# PROPOLICE_BLOCK_SEGV is not set -# UCLIBC_BUILD_SSP is not set -UCLIBC_BUILD_RELRO=y -UCLIBC_BUILD_NOW=y -UCLIBC_BUILD_NOEXECSTACK=y - -# -# uClibc development/debugging options -# -CROSS_COMPILER_PREFIX="" -UCLIBC_EXTRA_CFLAGS="" -# DODEBUG is not set -# DODEBUG_PT is not set -# DOSTRIP is not set -# DOASSERTS is not set -# SUPPORT_LD_DEBUG is not set -# SUPPORT_LD_DEBUG_EARLY is not set -# UCLIBC_MALLOC_DEBUGGING is not set -# UCLIBC_HAS_BACKTRACE is not set -WARNINGS="-Wall" -# EXTRA_WARNINGS is not set -# DOMULTI is not set -# UCLIBC_MJN3_ONLY is not set diff --git a/packages/uClibc/package.desc b/packages/uClibc/package.desc deleted file mode 100644 index 7035b96b..00000000 --- a/packages/uClibc/package.desc +++ /dev/null @@ -1,8 +0,0 @@ -# Even though this is the "master" package, we really want to steer the users -# towards uClibc-ng, as the original uClibc is no longer maintained. -preferred='uClibc-ng' -origin='uclibc.org' -repository='git git://git.busybox.net/uClibc' -mirrors='http://www.uclibc.org/downloads http://www.uclibc.org/downloads/old-releases' -milestones='0.9.33.2 1.0.0 1.0.15 1.0.21 1.0.23' -archive_formats='.tar.xz .tar.bz2' diff --git a/samples/sparc-leon-linux-uclibc/uClibc-ng.config b/samples/sparc-leon-linux-uclibc/uClibc-ng.config new file mode 100644 index 00000000..c81724ce --- /dev/null +++ b/samples/sparc-leon-linux-uclibc/uClibc-ng.config @@ -0,0 +1,19 @@ +TARGET_sparc=y +# UCLIBC_HAS_FPU is not set +DO_C99_MATH=y +UCLIBC_HAS_THREADS_NATIVE=y +UCLIBC_HAS_UTMPX=y +UCLIBC_HAS_UTMP=y +UCLIBC_SUSV3_LEGACY=y +UCLIBC_SUSV4_LEGACY=y +# UNIX98PTY_ONLY is not set +UCLIBC_HAS_LIBUTIL=y +UCLIBC_HAS_SHA256_CRYPT_IMPL=y +UCLIBC_HAS_SHA512_CRYPT_IMPL=y +UCLIBC_HAS_IPV6=y +UCLIBC_USE_NETLINK=y +UCLIBC_HAS_RESOLVER_SUPPORT=y +UCLIBC_HAS_LIBRESOLV_STUB=y +UCLIBC_HAS_WCHAR=y +UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y +UCLIBC_HAS_PRINTF_M_SPEC=y diff --git a/samples/sparc-leon-linux-uclibc/uClibc.config b/samples/sparc-leon-linux-uclibc/uClibc.config deleted file mode 100644 index c81724ce..00000000 --- a/samples/sparc-leon-linux-uclibc/uClibc.config +++ /dev/null @@ -1,19 +0,0 @@ -TARGET_sparc=y -# UCLIBC_HAS_FPU is not set -DO_C99_MATH=y -UCLIBC_HAS_THREADS_NATIVE=y -UCLIBC_HAS_UTMPX=y -UCLIBC_HAS_UTMP=y -UCLIBC_SUSV3_LEGACY=y -UCLIBC_SUSV4_LEGACY=y -# UNIX98PTY_ONLY is not set -UCLIBC_HAS_LIBUTIL=y -UCLIBC_HAS_SHA256_CRYPT_IMPL=y -UCLIBC_HAS_SHA512_CRYPT_IMPL=y -UCLIBC_HAS_IPV6=y -UCLIBC_USE_NETLINK=y -UCLIBC_HAS_RESOLVER_SUPPORT=y -UCLIBC_HAS_LIBRESOLV_STUB=y -UCLIBC_HAS_WCHAR=y -UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y -UCLIBC_HAS_PRINTF_M_SPEC=y diff --git a/scripts/build/arch/arm.sh b/scripts/build/arch/arm.sh index 9a53bc44..01a40bdd 100644 --- a/scripts/build/arch/arm.sh +++ b/scripts/build/arch/arm.sh @@ -16,7 +16,7 @@ CT_DoArchTupleValues() { # The system part of the tuple: case "${CT_LIBC},${CT_ARCH_ARM_EABI}" in glibc,y) CT_TARGET_SYS=gnueabi;; - uClibc,y) CT_TARGET_SYS=uclibc${CT_LIBC_UCLIBC_USE_GNU_SUFFIX:+gnu}eabi;; + uClibc-ng,y)CT_TARGET_SYS=uclibc${CT_LIBC_UCLIBC_USE_GNU_SUFFIX:+gnu}eabi;; musl,y) CT_TARGET_SYS=musleabi;; bionic,y) CT_TARGET_SYS=androideabi;; *,y) CT_TARGET_SYS=eabi;; diff --git a/scripts/build/arch/powerpc.sh b/scripts/build/arch/powerpc.sh index 85c64d16..245adbe3 100644 --- a/scripts/build/arch/powerpc.sh +++ b/scripts/build/arch/powerpc.sh @@ -14,7 +14,7 @@ CT_DoArchTupleValues () { case "${CT_LIBC}" in none|newlib|picolibc) CT_TARGET_SYS="elfspe";; *glibc) CT_TARGET_SYS="gnuspe";; - uClibc) CT_TARGET_SYS="uclibcgnuspe";; + uClibc-ng) CT_TARGET_SYS="uclibcgnuspe";; esac ;; esac diff --git a/scripts/build/companion_libs/100-gmp.sh b/scripts/build/companion_libs/100-gmp.sh index 36557870..a17eda9a 100644 --- a/scripts/build/companion_libs/100-gmp.sh +++ b/scripts/build/companion_libs/100-gmp.sh @@ -109,12 +109,6 @@ do_gmp_backend() { CT_DoLog EXTRA "Configuring GMP" - # FIXME is it needed even for older versions? They seem to compile fine - # without it. - if [ "${CT_GMP_HAS_MPBSD}" = "y" ]; then - extra_config+=("--enable-mpbsd") - fi - # To avoind “illegal text-relocation” linking error against # the static library, see: # https://github.com/Homebrew/homebrew-core/pull/25470 diff --git a/scripts/build/companion_libs/121-isl.sh b/scripts/build/companion_libs/121-isl.sh index 8b1b7203..3577b756 100644 --- a/scripts/build/companion_libs/121-isl.sh +++ b/scripts/build/companion_libs/121-isl.sh @@ -84,15 +84,6 @@ do_isl_backend() { CT_DoLog EXTRA "Configuring ISL" - if [ "${CT_ISL_NEEDS_WITH_GMP}" != "y" ]; then - extra_config+=("--with-libgmp-prefix=${prefix}") - extra_config+=("--with-libgmpxx-prefix=${prefix}") - fi - - if [ "${CT_ISL_HAS_WITH_PIPLIB}" != "y" ]; then - extra_config+=("--with-piplib=no") - fi - CT_DoExecLog CFG \ CFLAGS="${cflags}" \ CXXFLAGS="${cxxflags}" \ diff --git a/scripts/build/debug/400-ltrace.sh b/scripts/build/debug/400-ltrace.sh index 3f08226f..9c9052ae 100644 --- a/scripts/build/debug/400-ltrace.sh +++ b/scripts/build/debug/400-ltrace.sh @@ -19,32 +19,12 @@ do_debug_ltrace_build() { CT_Pushd "${CT_BUILD_DIR}/build-ltrace" CT_DoLog EXTRA "Configuring ltrace" - # ltrace-0.5.3 has a unique hand-crafted configure script. Releases - # 0.5.2 and earlier as well as 0.6.0 and later use GNU autotools. - if [ "${LTRACE_0_5_3_CONFIGURE}" = "y" ]; then - case "${CT_ARCH}:${CT_ARCH_BITNESS}" in - x86:32) ltrace_host="i386";; - x86:64) ltrace_host="x86_64";; - powerpc:*) ltrace_host="ppc";; - mips:*) ltrace_host="mipsel";; - *) ltrace_host="${CT_ARCH}";; - esac - CT_DoExecLog CFG \ - CC="${CT_TARGET}-${CT_CC}" \ - AR="${CT_TARGET}-ar" \ - HOST="${ltrace_host}" \ - HOST_OS="${CT_TARGET_KERNEL}" \ - CFLAGS="${CT_ALL_TARGET_CFLAGS}"\ - ${CONFIG_SHELL} \ - ./configure --prefix=/usr - else - CT_DoExecLog CFG \ - ${CONFIG_SHELL} \ - ./configure \ - --build=${CT_BUILD} \ - --host=${CT_TARGET} \ - --prefix=/usr - fi + CT_DoExecLog CFG \ + ${CONFIG_SHELL} \ + ./configure \ + --build=${CT_BUILD} \ + --host=${CT_TARGET} \ + --prefix=/usr CT_DoLog EXTRA "Building ltrace" CT_DoExecLog ALL make diff --git a/scripts/build/libc/mingw-w64.sh b/scripts/build/libc/mingw-w64.sh index 683f8be9..60f514af 100644 --- a/scripts/build/libc/mingw-w64.sh +++ b/scripts/build/libc/mingw-w64.sh @@ -56,15 +56,13 @@ mingw_w64_start_files() { do_check_mingw_vendor_tuple() { - if [ "${CT_MINGW_W64_REQUIRES_W64_VENDOR}" = "y" ]; then - CT_DoStep INFO "Checking configured vendor tuple" - if [ ${CT_TARGET_VENDOR} = "w64" ]; then - CT_DoLog DEBUG "The tuple is set to '${CT_TARGET_VENDOR}', as recommended by mingw-64 developers." - else - CT_DoLog WARN "The tuple vendor is '${CT_TARGET_VENDOR}', not equal to 'w64' and might break the toolchain!" - fi - CT_EndStep - fi + CT_DoStep INFO "Checking configured vendor tuple" + if [ ${CT_TARGET_VENDOR} = "w64" ]; then + CT_DoLog DEBUG "The tuple is set to '${CT_TARGET_VENDOR}', as recommended by mingw-64 developers." + else + CT_DoLog WARN "The tuple vendor is '${CT_TARGET_VENDOR}', not equal to 'w64' and might break the toolchain!" + fi + CT_EndStep } do_mingw_tools() diff --git a/scripts/build/libc/uClibc-ng.sh b/scripts/build/libc/uClibc-ng.sh new file mode 100644 index 00000000..16ebc2c9 --- /dev/null +++ b/scripts/build/libc/uClibc-ng.sh @@ -0,0 +1,421 @@ +# This file declares functions to install the uClibc C library +# Copyright 2007 Yann E. MORIN +# Licensed under the GPL v2. See COPYING in the root of this package + +# Build and install headers and start files +uClibc_ng_start_files() +{ + # Start files and Headers should be configured the same way as the + # final libc, but built and installed differently. + uClibc_ng_backend libc_mode=startfiles +} + +# This function builds and install the full C library +uClibc_ng_main() +{ + uClibc_ng_backend libc_mode=final +} + +# Common backend for 1st and 2nd passes. +uClibc_ng_backend() +{ + local libc_mode + local arg + + for arg in "$@"; do + eval "${arg// /\\ }" + done + + case "${libc_mode}" in + startfiles) CT_DoStep INFO "Installing C library headers & start files";; + final) CT_DoStep INFO "Installing C library";; + *) CT_Abort "Unsupported (or unset) libc_mode='${libc_mode}'";; + esac + + CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc-${libc_mode}" + CT_IterateMultilibs uClibc_ng_backend_once multilib libc_mode="${libc_mode}" + CT_Popd + CT_EndStep +} + +# Common backend for 1st and 2nd passes, once per multilib. +uClibc_ng_backend_once() +{ + local libc_mode + local multi_dir multi_os_dir multi_root multi_flags multi_index multi_count + local multilib_dir startfiles_dir + local jflag=${CT_JOBSFLAGS} + local -a make_args + local extra_cflags f cfg_cflags cf + local hdr_install_subdir + + for arg in "$@"; do + eval "${arg// /\\ }" + done + + CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'" + + multilib_dir="lib/${multi_os_dir}" + startfiles_dir="${multi_root}/usr/${multilib_dir}" + CT_SanitizeVarDir multilib_dir startfiles_dir + + # Construct make arguments: + # - uClibc uses the CROSS environment variable as a prefix to the compiler + # tools to use. Since it requires core pass-1, thusly named compiler is + # already available. + # - Note about CFLAGS: In uClibc, CFLAGS are generated by Rules.mak, + # depending on the configuration of the library. That is, they are tailored + # to best fit the target. So it is useless and seems to be a bad thing to + # use LIBC_EXTRA_CFLAGS here. + # - We do _not_ want to strip anything for now, in case we specifically + # asked for a debug toolchain, thus the STRIPTOOL= assignment. + make_args=( CROSS_COMPILE="${CT_TARGET}-" \ + HOSTCC="${CT_BUILD}-gcc" \ + PREFIX="${multi_root}/" \ + MULTILIB_DIR="${multilib_dir}" \ + STRIPTOOL=true \ + ${CT_LIBC_UCLIBC_VERBOSITY} \ + ) + + # Simply copy files until uClibc has the ability to build out-of-tree + CT_DoLog EXTRA "Copying sources to build dir" + CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/uClibc-ng/." . + + # Force the date of the pregen locale data, as the + # newer ones that are referenced are not available + CT_DoLog EXTRA "Applying configuration" + + # Use the default config if the user did not provide one. + if [ -z "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then + CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/packages/uClibc-ng/config" + fi + + manage_uClibc_config "${CT_LIBC_UCLIBC_CONFIG_FILE}" .config "${multi_flags}" + CT_DoExecLog ALL make "${make_args[@]}" olddefconfig + + # Now filter the multilib flags. manage_uClibc_config did the opposite of + # what Rules.mak in uClibc would do: by the multilib's CFLAGS, it determined + # the applicable configuration options. We don't want to pass the same options + # in the UCLIBC_EXTRA_CFLAGS again (on some targets, the options do not correctly + # override each other). On the other hand, we do not want to lose the options + # that are not reflected in the .config. + extra_cflags="-pipe" + { echo "include Rules.mak"; echo "show-cpu-flags:"; printf '\t@echo $(CPU_CFLAGS)\n'; } \ + > .show-cpu-cflags.mk + cfg_cflags=$( make "${make_args[@]}" \ + --no-print-directory -f .show-cpu-cflags.mk show-cpu-flags ) + CT_DoExecLog ALL rm -f .show-cpu-cflags.mk + CT_DoLog DEBUG "CPU_CFLAGS detected by uClibc: ${cfg_cflags[@]}" + for f in ${multi_flags}; do + for cf in ${cfg_cflags}; do + if [ "${f}" = "${cf}" ]; then + f= + break + fi + done + if [ -n "${f}" ]; then + extra_cflags+=" ${f}" + fi + done + CT_DoLog DEBUG "Filtered multilib CFLAGS: ${extra_cflags}" + make_args+=( UCLIBC_EXTRA_CFLAGS="${extra_cflags}" ) + + # uClibc does not have a way to select the installation subdirectory for headers, + # it is always $(DEVEL_PREFIX)/include. Also, we're reinstalling the headers + # at the final stage (see the note below), we may already have the subdirectory + # in /usr/include. + CT_DoArchUClibcHeaderDir hdr_install_subdir "${multi_flags}" + if [ -n "${hdr_install_subdir}" ]; then + CT_DoExecLog ALL cp -a "${multi_root}/usr/include" "${multi_root}/usr/include.saved" + fi + + if [ "${libc_mode}" = "startfiles" ]; then + CT_DoLog EXTRA "Building headers" + CT_DoExecLog ALL make "${make_args[@]}" headers + + # Ensure the directory for installing multilib-specific binaries exists. + CT_DoExecLog ALL mkdir -p "${startfiles_dir}" + + CT_DoLog EXTRA "Installing headers" + CT_DoExecLog ALL make "${make_args[@]}" install_headers + + # The check might look bogus, but it is the same condition as is used + # by GCC build script to enable/disable shared library support. + if [ "${CT_THREADS}" = "nptl" ]; then + CT_DoLog EXTRA "Building start files" + CT_DoExecLog ALL make ${jflag} "${make_args[@]}" \ + lib/crt1.o lib/crti.o lib/crtn.o + + if [ "${CT_SHARED_LIBS}" = "y" ]; then + # From: http://git.openembedded.org/cgit.cgi/openembedded/commit/?id=ad5668a7ac7e0436db92e55caaf3fdf782b6ba3b + # libm.so is needed for ppc, as libgcc is linked against libm.so + # No problem to create it for other archs. + CT_DoLog EXTRA "Building dummy shared libs" + CT_DoExecLog ALL "${CT_TARGET}-${CT_CC}" -nostdlib -nostartfiles \ + -shared ${multi_flags} -x c /dev/null -o libdummy.so + + CT_DoLog EXTRA "Installing start files" + CT_DoExecLog ALL install -m 0644 lib/crt1.o lib/crti.o lib/crtn.o \ + "${startfiles_dir}" + + CT_DoLog EXTRA "Installing dummy shared libs" + CT_DoExecLog ALL install -m 0755 libdummy.so "${startfiles_dir}/libc.so" + CT_DoExecLog ALL install -m 0755 libdummy.so "${startfiles_dir}/libm.so" + fi # CT_SHARED_LIBS == y + fi # CT_THREADS == nptl + fi # libc_mode == startfiles + + if [ "${libc_mode}" = "final" ]; then + CT_DoLog EXTRA "Cleaning up startfiles" + CT_DoExecLog ALL rm -f "${startfiles_dir}/crt1.o" \ + "${startfiles_dir}/crti.o" \ + "${startfiles_dir}/crtn.o" \ + "${startfiles_dir}/libc.so" \ + "${startfiles_dir}/libm.so" + + CT_DoLog EXTRA "Building C library" + CT_DoExecLog ALL make "${make_args[@]}" pregen + CT_DoExecLog ALL make ${jflag} "${make_args[@]}" all + + # YEM-FIXME: + # - we want to install 'runtime' files, eg. lib*.{a,so*}, crti.o and + # such files, except the headers as they already are installed + # - "make install_dev" installs the headers, the crti.o... and the + # static libs, but not the dynamic libs + # - "make install_runtime" installs the dynamic libs only + # - "make install" calls install_runtime and install_dev + # - so we're left with re-installing the headers... Sigh... + CT_DoLog EXTRA "Installing C library" + CT_DoExecLog ALL make "${make_args[@]}" install install_utils + fi # libc_mode == final + + # Now, if installing headers into a subdirectory, put everything in its place. + # Remove the header subdirectory if it existed already. + if [ -n "${hdr_install_subdir}" ]; then + CT_DoExecLog ALL mv "${multi_root}/usr/include" "${multi_root}/usr/include.new" + CT_DoExecLog ALL mv "${multi_root}/usr/include.saved" "${multi_root}/usr/include" + CT_DoExecLog ALL rm -rf "${multi_root}/usr/include/${hdr_install_subdir}" + CT_DoExecLog ALL mv "${multi_root}/usr/include.new" "${multi_root}/usr/include/${hdr_install_subdir}" + fi + + CT_EndStep +} + +# Initialises the .config file to sensible values +# $1: original file +# $2: modified file +manage_uClibc_config() +{ + src="$1" + dst="$2" + flags="$3" + + # Start with fresh files + CT_DoExecLog ALL cp "${src}" "${dst}" + + case "${CT_ARCH_ENDIAN}" in + big|big,little) + CT_KconfigDisableOption "ARCH_LITTLE_ENDIAN" "${dst}" + CT_KconfigDisableOption "ARCH_WANTS_LITTLE_ENDIAN" "${dst}" + CT_KconfigEnableOption "ARCH_BIG_ENDIAN" "${dst}" + CT_KconfigEnableOption "ARCH_WANTS_BIG_ENDIAN" "${dst}" + ;; + little|little,big) + CT_KconfigDisableOption "ARCH_BIG_ENDIAN" "${dst}" + CT_KconfigDisableOption "ARCH_WANTS_BIG_ENDIAN" "${dst}" + CT_KconfigEnableOption "ARCH_LITTLE_ENDIAN" "${dst}" + CT_KconfigEnableOption "ARCH_WANTS_LITTLE_ENDIAN" "${dst}" + ;; + esac + + if [ "${CT_ARCH_USE_MMU}" = "y" ]; then + CT_KconfigEnableOption "ARCH_USE_MMU" "${dst}" + else + CT_KconfigDisableOption "ARCH_USE_MMU" "${dst}" + CT_KconfigDisableOption "UCLIBC_FORMAT_FDPIC" "${dst}" + CT_KconfigDisableOption "UCLIBC_FORMAT_FLAT" "${dst}" + CT_KconfigDisableOption "UCLIBC_FORMAT_SHARED_FLAT" "${dst}" + case "${CT_ARCH_BINFMT_FLAT},${CT_ARCH_BINFMT_FDPIC},${CT_SHARED_LIBS}" in + y,,y) CT_KconfigEnableOption "UCLIBC_FORMAT_SHARED_FLAT" "${dst}";; + y,,) CT_KconfigEnableOption "UCLIBC_FORMAT_FLAT" "${dst}";; + ,y,*) CT_KconfigEnableOption "UCLIBC_FORMAT_FDPIC" "${dst}";; + *) CT_Abort "Unsupported binary format";; + esac + fi + + if [ "${CT_SHARED_LIBS}" = "y" ]; then + CT_KconfigEnableOption "HAVE_SHARED" "${dst}" + else + CT_KconfigDisableOption "HAVE_SHARED" "${dst}" + fi + + # Accomodate for old and new uClibc version, where the + # way to select between hard/soft float has changed + case "${CT_ARCH_FLOAT}" in + hard|softfp) + CT_KconfigEnableOption "UCLIBC_HAS_FPU" "${dst}" + CT_KconfigEnableOption "UCLIBC_HAS_FLOATS" "${dst}" + ;; + soft) + CT_KconfigDisableOption "UCLIBC_HAS_FPU" "${dst}" + CT_KconfigEnableOption "UCLIBC_HAS_FLOATS" "${dst}" + CT_KconfigEnableOption "DO_C99_MATH" "${dst}" + ;; + esac + if [ "${CT_LIBC_UCLIBC_FENV}" = "y" ]; then + CT_KconfigEnableOption "UCLIBC_HAS_FENV" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_HAS_FENV" "${dst}" + fi + if [ "${CT_LIBC_UCLIBC_RPC}" = "y" ]; then + CT_KconfigEnableOption "UCLIBC_HAS_RPC" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_HAS_RPC" "${dst}" + fi + + # We always want ctor/dtor + CT_KconfigEnableOption "UCLIBC_CTOR_DTOR" "${dst}" + + # Change paths to work with crosstool-NG + # + # DEVEL_PREFIX is left as '/usr/' because it is post-pended to $PREFIX, + # which is the correct value of ${PREFIX}/${TARGET}. + CT_KconfigSetOption "DEVEL_PREFIX" "\"/usr/\"" "${dst}" + CT_KconfigSetOption "RUNTIME_PREFIX" "\"/\"" "${dst}" + CT_KconfigSetOption "KERNEL_HEADERS" "\"${CT_HEADERS_DIR}\"" "${dst}" + + # Locales support + # Note that the two PREGEN_LOCALE and the XLOCALE lines may be missing + # entirely if LOCALE is not set. If LOCALE was already set, we'll + # assume the user has already made all the appropriate generation + # arrangements. Note that having the uClibc Makefile download the + # pregenerated locales is not compatible with crosstool. + if [ -z "${CT_LIBC_UCLIBC_LOCALES}" ]; then + CT_KconfigDisableOption "UCLIBC_HAS_LOCALE" "${dst}" + else + CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}" + CT_KconfigDeleteOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}" + CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" "${dst}" + fi + + # WCHAR support + if [ "${CT_LIBC_UCLIBC_WCHAR}" = "y" ]; then + CT_KconfigEnableOption "UCLIBC_HAS_WCHAR" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_HAS_WCHAR" "${dst}" + fi + + # IPv6 support + if [ "${CT_LIBC_UCLIBC_IPV6}" = "y" ]; then + CT_KconfigEnableOption "UCLIBC_HAS_IPV6" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_HAS_IPV6" "${dst}" + fi + + # Iconv support + if [ "${CT_LIBC_UCLIBC_LIBICONV}" = "y" ]; then + CT_KconfigEnableOption "UCLIBC_HAS_LIBICONV" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_HAS_LIBICONV" "${dst}" + fi + + # Force on options needed for C++ if we'll be making a C++ compiler. + # I'm not sure locales are a requirement for doing C++... Are they? + if [ "${CT_CC_LANG_CXX}" = "y" ]; then + CT_KconfigEnableOption "DO_C99_MATH" "${dst}" + CT_KconfigEnableOption "UCLIBC_HAS_GNU_GETOPT" "${dst}" + fi + + # Stack Smash Protection (SSP) + if [ "${CT_LIBC_UCLIBC_HAS_SSP}" = "y" ]; then + CT_KconfigEnableOption "UCLIBC_HAS_SSP" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_HAS_SSP" "${dst}" + fi + if [ "${CT_LIBC_UCLIBC_BUILD_SSP}" = "y" ]; then + CT_KconfigEnableOption "UCLIBC_BUILD_SSP" "${dst}" + else + CT_KconfigDisableOption "UCLIBC_BUILD_SSP" "${dst}" + fi + + # Push the threading model + CT_KconfigDisableOption "UCLIBC_HAS_THREADS" "${dst}" + CT_KconfigDisableOption "LINUXTHREADS_OLD" "${dst}" + CT_KconfigDisableOption "LINUXTHREADS_NEW" "${dst}" + CT_KconfigDisableOption "UCLIBC_HAS_THREADS_NATIVE" "${dst}" + case "${CT_THREADS}" in + none) + ;; + linuxthreads) + CT_KconfigEnableOption "UCLIBC_HAS_THREADS" "${dst}" + CT_KconfigEnableOption "UCLIBC_HAS_LINUXTHREADS" "${dst}" + ;; + nptl) + CT_KconfigEnableOption "UCLIBC_HAS_THREADS" "${dst}" + CT_KconfigEnableOption "UCLIBC_HAS_THREADS_NATIVE" "${dst}" + ;; + *) + CT_Abort "Incorrect thread settings: CT_THREADS='${CT_THREADS}'" + ;; + esac + + # Always build the libpthread_db + CT_KconfigEnableOption "PTHREADS_DEBUG_SUPPORT" "${dst}" + + # Force on debug options if asked for + CT_KconfigDisableOption "DODEBUG" "${dst}" + CT_KconfigDisableOption "DODEBUG_PT" "${dst}" + CT_KconfigDisableOption "DOASSERTS" "${dst}" + CT_KconfigDisableOption "SUPPORT_LD_DEBUG" "${dst}" + CT_KconfigDisableOption "SUPPORT_LD_DEBUG_EARLY" "${dst}" + CT_KconfigDisableOption "UCLIBC_MALLOC_DEBUGGING" "${dst}" + case "${CT_LIBC_UCLIBC_DEBUG_LEVEL}" in + 0) + ;; + 1) + CT_KconfigEnableOption "DODEBUG" "${dst}" + ;; + 2) + CT_KconfigEnableOption "DODEBUG" "${dst}" + CT_KconfigEnableOption "DOASSERTS" "${dst}" + CT_KconfigEnableOption "SUPPORT_LD_DEBUG" "${dst}" + CT_KconfigEnableOption "UCLIBC_MALLOC_DEBUGGING" "${dst}" + ;; + 3) + CT_KconfigEnableOption "DODEBUG" "${dst}" + CT_KconfigEnableOption "DODEBUG_PT" "${dst}" + CT_KconfigEnableOption "DOASSERTS" "${dst}" + CT_KconfigEnableOption "SUPPORT_LD_DEBUG" "${dst}" + CT_KconfigEnableOption "SUPPORT_LD_DEBUG_EARLY" "${dst}" + CT_KconfigEnableOption "UCLIBC_MALLOC_DEBUGGING" "${dst}" + ;; + esac + + # Remove stripping: its the responsibility of the + # firmware builder to strip or not. + CT_KconfigDisableOption "DOSTRIP" "${dst}" + + # Now allow architecture to tweak as it wants + CT_DoArchUClibcConfig "${dst}" + CT_DoArchUClibcCflags "${dst}" "${flags}" + + # Preserve the config we created (before uclibc's `make olddefconfig` + # overrides anything). + CT_DoExecLog ALL cp "${dst}" "${dst}.created-by-ct-ng" +} + +uClibc_ng_post_cc() +{ + # uClibc and GCC disagree where the dynamic linker lives. uClibc always + # places it in the MULTILIB_DIR, while gcc does that for *some* variants + # and expects it in /lib for the other. So, create a symlink from lib + # to the actual location, but only if that will not override the actual + # file in /lib. Thus, need to do this after all the variants are built. + # Moreover, need to do this after the final compiler is built: on targets + # that use elf2flt, the core compilers cannot find ld when running elf2flt. + CT_MultilibFixupLDSO + + if [ -n "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then + CT_InstallConfigurationFile "${CT_LIBC_UCLIBC_CONFIG_FILE}" libc + fi +} diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh deleted file mode 100644 index 43285426..00000000 --- a/scripts/build/libc/uClibc.sh +++ /dev/null @@ -1,437 +0,0 @@ -# This file declares functions to install the uClibc C library -# Copyright 2007 Yann E. MORIN -# Licensed under the GPL v2. See COPYING in the root of this package - -# Build and install headers and start files -uClibc_start_files() -{ - # Start files and Headers should be configured the same way as the - # final libc, but built and installed differently. - uClibc_backend libc_mode=startfiles -} - -# This function builds and install the full C library -uClibc_main() -{ - uClibc_backend libc_mode=final -} - -# Common backend for 1st and 2nd passes. -uClibc_backend() -{ - local libc_mode - local arg - - for arg in "$@"; do - eval "${arg// /\\ }" - done - - case "${libc_mode}" in - startfiles) CT_DoStep INFO "Installing C library headers & start files";; - final) CT_DoStep INFO "Installing C library";; - *) CT_Abort "Unsupported (or unset) libc_mode='${libc_mode}'";; - esac - - CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc-${libc_mode}" - CT_IterateMultilibs uClibc_backend_once multilib libc_mode="${libc_mode}" - CT_Popd - CT_EndStep -} - -# Common backend for 1st and 2nd passes, once per multilib. -uClibc_backend_once() -{ - local libc_mode - local multi_dir multi_os_dir multi_root multi_flags multi_index multi_count - local multilib_dir startfiles_dir - local jflag=${CT_LIBC_UCLIBC_PARALLEL:+${CT_JOBSFLAGS}} - local -a make_args - local extra_cflags f cfg_cflags cf - local hdr_install_subdir - local uClibc_name - - for arg in "$@"; do - eval "${arg// /\\ }" - done - - if [ "${CT_UCLIBC_USE_UCLIBC_NG_ORG}" = "y" ]; then - uClibc_name="uClibc-ng" - elif [ "${CT_UCLIBC_USE_UCLIBC_ORG}" = "y" ]; then - uClibc_name="uClibc" - fi - - CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'" - - multilib_dir="lib/${multi_os_dir}" - startfiles_dir="${multi_root}/usr/${multilib_dir}" - CT_SanitizeVarDir multilib_dir startfiles_dir - - # Construct make arguments: - # - uClibc uses the CROSS environment variable as a prefix to the compiler - # tools to use. Since it requires core pass-1, thusly named compiler is - # already available. - # - Note about CFLAGS: In uClibc, CFLAGS are generated by Rules.mak, - # depending on the configuration of the library. That is, they are tailored - # to best fit the target. So it is useless and seems to be a bad thing to - # use LIBC_EXTRA_CFLAGS here. - # - We do _not_ want to strip anything for now, in case we specifically - # asked for a debug toolchain, thus the STRIPTOOL= assignment. - make_args=( CROSS_COMPILE="${CT_TARGET}-" \ - HOSTCC="${CT_BUILD}-gcc" \ - PREFIX="${multi_root}/" \ - MULTILIB_DIR="${multilib_dir}" \ - STRIPTOOL=true \ - ${CT_LIBC_UCLIBC_VERBOSITY} \ - ) - - # Simply copy files until uClibc has the ability to build out-of-tree - CT_DoLog EXTRA "Copying sources to build dir" - CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/uClibc/." . - - # Force the date of the pregen locale data, as the - # newer ones that are referenced are not available - CT_DoLog EXTRA "Applying configuration" - - # Use the default config if the user did not provide one. - if [ -z "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then - CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/packages/${uClibc_name}/config" - fi - - manage_uClibc_config "${CT_LIBC_UCLIBC_CONFIG_FILE}" .config "${multi_flags}" - CT_DoExecLog ALL make "${make_args[@]}" olddefconfig - - # Now filter the multilib flags. manage_uClibc_config did the opposite of - # what Rules.mak in uClibc would do: by the multilib's CFLAGS, it determined - # the applicable configuration options. We don't want to pass the same options - # in the UCLIBC_EXTRA_CFLAGS again (on some targets, the options do not correctly - # override each other). On the other hand, we do not want to lose the options - # that are not reflected in the .config. - extra_cflags="-pipe" - { echo "include Rules.mak"; echo "show-cpu-flags:"; printf '\t@echo $(CPU_CFLAGS)\n'; } \ - > .show-cpu-cflags.mk - cfg_cflags=$( make "${make_args[@]}" \ - --no-print-directory -f .show-cpu-cflags.mk show-cpu-flags ) - CT_DoExecLog ALL rm -f .show-cpu-cflags.mk - CT_DoLog DEBUG "CPU_CFLAGS detected by uClibc: ${cfg_cflags[@]}" - for f in ${multi_flags}; do - for cf in ${cfg_cflags}; do - if [ "${f}" = "${cf}" ]; then - f= - break - fi - done - if [ -n "${f}" ]; then - extra_cflags+=" ${f}" - fi - done - CT_DoLog DEBUG "Filtered multilib CFLAGS: ${extra_cflags}" - make_args+=( UCLIBC_EXTRA_CFLAGS="${extra_cflags}" ) - - # uClibc does not have a way to select the installation subdirectory for headers, - # it is always $(DEVEL_PREFIX)/include. Also, we're reinstalling the headers - # at the final stage (see the note below), we may already have the subdirectory - # in /usr/include. - CT_DoArchUClibcHeaderDir hdr_install_subdir "${multi_flags}" - if [ -n "${hdr_install_subdir}" ]; then - CT_DoExecLog ALL cp -a "${multi_root}/usr/include" "${multi_root}/usr/include.saved" - fi - - if [ "${libc_mode}" = "startfiles" ]; then - CT_DoLog EXTRA "Building headers" - CT_DoExecLog ALL make "${make_args[@]}" headers - - # Ensure the directory for installing multilib-specific binaries exists. - CT_DoExecLog ALL mkdir -p "${startfiles_dir}" - - CT_DoLog EXTRA "Installing headers" - CT_DoExecLog ALL make "${make_args[@]}" install_headers - - # The check might look bogus, but it is the same condition as is used - # by GCC build script to enable/disable shared library support. - if [ "${CT_THREADS}" = "nptl" ]; then - CT_DoLog EXTRA "Building start files" - CT_DoExecLog ALL make ${jflag} "${make_args[@]}" \ - lib/crt1.o lib/crti.o lib/crtn.o - - if [ "${CT_SHARED_LIBS}" = "y" ]; then - # From: http://git.openembedded.org/cgit.cgi/openembedded/commit/?id=ad5668a7ac7e0436db92e55caaf3fdf782b6ba3b - # libm.so is needed for ppc, as libgcc is linked against libm.so - # No problem to create it for other archs. - CT_DoLog EXTRA "Building dummy shared libs" - CT_DoExecLog ALL "${CT_TARGET}-${CT_CC}" -nostdlib -nostartfiles \ - -shared ${multi_flags} -x c /dev/null -o libdummy.so - - CT_DoLog EXTRA "Installing start files" - CT_DoExecLog ALL install -m 0644 lib/crt1.o lib/crti.o lib/crtn.o \ - "${startfiles_dir}" - - CT_DoLog EXTRA "Installing dummy shared libs" - CT_DoExecLog ALL install -m 0755 libdummy.so "${startfiles_dir}/libc.so" - CT_DoExecLog ALL install -m 0755 libdummy.so "${startfiles_dir}/libm.so" - fi # CT_SHARED_LIBS == y - fi # CT_THREADS == nptl - fi # libc_mode == startfiles - - if [ "${libc_mode}" = "final" ]; then - CT_DoLog EXTRA "Cleaning up startfiles" - CT_DoExecLog ALL rm -f "${startfiles_dir}/crt1.o" \ - "${startfiles_dir}/crti.o" \ - "${startfiles_dir}/crtn.o" \ - "${startfiles_dir}/libc.so" \ - "${startfiles_dir}/libm.so" - - CT_DoLog EXTRA "Building C library" - CT_DoExecLog ALL make "${make_args[@]}" pregen - CT_DoExecLog ALL make ${jflag} "${make_args[@]}" all - - # YEM-FIXME: - # - we want to install 'runtime' files, eg. lib*.{a,so*}, crti.o and - # such files, except the headers as they already are installed - # - "make install_dev" installs the headers, the crti.o... and the - # static libs, but not the dynamic libs - # - "make install_runtime" installs the dynamic libs only - # - "make install" calls install_runtime and install_dev - # - so we're left with re-installing the headers... Sigh... - CT_DoLog EXTRA "Installing C library" - CT_DoExecLog ALL make "${make_args[@]}" install install_utils - fi # libc_mode == final - - # Now, if installing headers into a subdirectory, put everything in its place. - # Remove the header subdirectory if it existed already. - if [ -n "${hdr_install_subdir}" ]; then - CT_DoExecLog ALL mv "${multi_root}/usr/include" "${multi_root}/usr/include.new" - CT_DoExecLog ALL mv "${multi_root}/usr/include.saved" "${multi_root}/usr/include" - CT_DoExecLog ALL rm -rf "${multi_root}/usr/include/${hdr_install_subdir}" - CT_DoExecLog ALL mv "${multi_root}/usr/include.new" "${multi_root}/usr/include/${hdr_install_subdir}" - fi - - CT_EndStep -} - -# Initialises the .config file to sensible values -# $1: original file -# $2: modified file -manage_uClibc_config() -{ - src="$1" - dst="$2" - flags="$3" - - # Start with fresh files - CT_DoExecLog ALL cp "${src}" "${dst}" - - case "${CT_ARCH_ENDIAN}" in - big|big,little) - CT_KconfigDisableOption "ARCH_LITTLE_ENDIAN" "${dst}" - CT_KconfigDisableOption "ARCH_WANTS_LITTLE_ENDIAN" "${dst}" - CT_KconfigEnableOption "ARCH_BIG_ENDIAN" "${dst}" - CT_KconfigEnableOption "ARCH_WANTS_BIG_ENDIAN" "${dst}" - ;; - little|little,big) - CT_KconfigDisableOption "ARCH_BIG_ENDIAN" "${dst}" - CT_KconfigDisableOption "ARCH_WANTS_BIG_ENDIAN" "${dst}" - CT_KconfigEnableOption "ARCH_LITTLE_ENDIAN" "${dst}" - CT_KconfigEnableOption "ARCH_WANTS_LITTLE_ENDIAN" "${dst}" - ;; - esac - - if [ "${CT_ARCH_USE_MMU}" = "y" ]; then - CT_KconfigEnableOption "ARCH_USE_MMU" "${dst}" - else - CT_KconfigDisableOption "ARCH_USE_MMU" "${dst}" - CT_KconfigDisableOption "UCLIBC_FORMAT_FDPIC" "${dst}" - CT_KconfigDisableOption "UCLIBC_FORMAT_FLAT" "${dst}" - CT_KconfigDisableOption "UCLIBC_FORMAT_SHARED_FLAT" "${dst}" - case "${CT_ARCH_BINFMT_FLAT},${CT_ARCH_BINFMT_FDPIC},${CT_SHARED_LIBS}" in - y,,y) CT_KconfigEnableOption "UCLIBC_FORMAT_SHARED_FLAT" "${dst}";; - y,,) CT_KconfigEnableOption "UCLIBC_FORMAT_FLAT" "${dst}";; - ,y,*) CT_KconfigEnableOption "UCLIBC_FORMAT_FDPIC" "${dst}";; - *) CT_Abort "Unsupported binary format";; - esac - fi - - if [ "${CT_SHARED_LIBS}" = "y" ]; then - CT_KconfigEnableOption "HAVE_SHARED" "${dst}" - else - CT_KconfigDisableOption "HAVE_SHARED" "${dst}" - fi - - # Accomodate for old and new uClibc version, where the - # way to select between hard/soft float has changed - case "${CT_ARCH_FLOAT}" in - hard|softfp) - CT_KconfigEnableOption "UCLIBC_HAS_FPU" "${dst}" - CT_KconfigEnableOption "UCLIBC_HAS_FLOATS" "${dst}" - ;; - soft) - CT_KconfigDisableOption "UCLIBC_HAS_FPU" "${dst}" - CT_KconfigEnableOption "UCLIBC_HAS_FLOATS" "${dst}" - CT_KconfigEnableOption "DO_C99_MATH" "${dst}" - ;; - esac - if [ "${CT_LIBC_UCLIBC_FENV}" = "y" ]; then - CT_KconfigEnableOption "UCLIBC_HAS_FENV" "${dst}" - else - CT_KconfigDisableOption "UCLIBC_HAS_FENV" "${dst}" - fi - if [ "${CT_LIBC_UCLIBC_RPC}" = "y" ]; then - CT_KconfigEnableOption "UCLIBC_HAS_RPC" "${dst}" - else - CT_KconfigDisableOption "UCLIBC_HAS_RPC" "${dst}" - fi - - # We always want ctor/dtor - CT_KconfigEnableOption "UCLIBC_CTOR_DTOR" "${dst}" - - # Change paths to work with crosstool-NG - # - # DEVEL_PREFIX is left as '/usr/' because it is post-pended to $PREFIX, - # which is the correct value of ${PREFIX}/${TARGET}. - CT_KconfigSetOption "DEVEL_PREFIX" "\"/usr/\"" "${dst}" - CT_KconfigSetOption "RUNTIME_PREFIX" "\"/\"" "${dst}" - CT_KconfigSetOption "KERNEL_HEADERS" "\"${CT_HEADERS_DIR}\"" "${dst}" - - # Locales support - # Note that the two PREGEN_LOCALE and the XLOCALE lines may be missing - # entirely if LOCALE is not set. If LOCALE was already set, we'll - # assume the user has already made all the appropriate generation - # arrangements. Note that having the uClibc Makefile download the - # pregenerated locales is not compatible with crosstool. - if [ -z "${CT_LIBC_UCLIBC_LOCALES}" ]; then - CT_KconfigDisableOption "UCLIBC_HAS_LOCALE" "${dst}" - else - CT_KconfigEnableOption "UCLIBC_HAS_LOCALE" "${dst}" - CT_KconfigDeleteOption "UCLIBC_PREGENERATED_LOCALE_DATA" "${dst}" - CT_KconfigDeleteOption "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" "${dst}" - fi - - # WCHAR support - if [ "${CT_LIBC_UCLIBC_WCHAR}" = "y" ]; then - CT_KconfigEnableOption "UCLIBC_HAS_WCHAR" "${dst}" - else - CT_KconfigDisableOption "UCLIBC_HAS_WCHAR" "${dst}" - fi - - # IPv6 support - if [ "${CT_LIBC_UCLIBC_IPV6}" = "y" ]; then - CT_KconfigEnableOption "UCLIBC_HAS_IPV6" "${dst}" - else - CT_KconfigDisableOption "UCLIBC_HAS_IPV6" "${dst}" - fi - - # Iconv support - if [ "${CT_LIBC_UCLIBC_LIBICONV}" = "y" ]; then - CT_KconfigEnableOption "UCLIBC_HAS_LIBICONV" "${dst}" - else - CT_KconfigDisableOption "UCLIBC_HAS_LIBICONV" "${dst}" - fi - - # Force on options needed for C++ if we'll be making a C++ compiler. - # I'm not sure locales are a requirement for doing C++... Are they? - if [ "${CT_CC_LANG_CXX}" = "y" ]; then - CT_KconfigEnableOption "DO_C99_MATH" "${dst}" - CT_KconfigEnableOption "UCLIBC_HAS_GNU_GETOPT" "${dst}" - fi - - # Stack Smash Protection (SSP) - if [ "${CT_LIBC_UCLIBC_HAS_SSP}" = "y" ]; then - CT_KconfigEnableOption "UCLIBC_HAS_SSP" "${dst}" - else - CT_KconfigDisableOption "UCLIBC_HAS_SSP" "${dst}" - fi - if [ "${CT_LIBC_UCLIBC_BUILD_SSP}" = "y" ]; then - CT_KconfigEnableOption "UCLIBC_BUILD_SSP" "${dst}" - else - CT_KconfigDisableOption "UCLIBC_BUILD_SSP" "${dst}" - fi - - # Push the threading model - CT_KconfigDisableOption "UCLIBC_HAS_THREADS" "${dst}" - CT_KconfigDisableOption "LINUXTHREADS_OLD" "${dst}" - CT_KconfigDisableOption "LINUXTHREADS_NEW" "${dst}" - CT_KconfigDisableOption "UCLIBC_HAS_THREADS_NATIVE" "${dst}" - case "${CT_THREADS}:${CT_LIBC_UCLIBC_LNXTHRD}" in - none:) - ;; - linuxthreads:) - # Newer version of uClibc-ng, no old/new dichotomy - CT_KconfigEnableOption "UCLIBC_HAS_THREADS" "${dst}" - CT_KconfigEnableOption "UCLIBC_HAS_LINUXTHREADS" "${dst}" - ;; - linuxthreads:old) - CT_KconfigEnableOption "UCLIBC_HAS_THREADS" "${dst}" - CT_KconfigEnableOption "LINUXTHREADS_OLD" "${dst}" - ;; - linuxthreads:new) - CT_KconfigEnableOption "UCLIBC_HAS_THREADS" "${dst}" - CT_KconfigEnableOption "LINUXTHREADS_NEW" "${dst}" - ;; - nptl:) - CT_KconfigEnableOption "UCLIBC_HAS_THREADS" "${dst}" - CT_KconfigEnableOption "UCLIBC_HAS_THREADS_NATIVE" "${dst}" - ;; - *) - CT_Abort "Incorrect thread settings: CT_THREADS='${CT_THREAD}' CT_LIBC_UCLIBC_LNXTHRD='${CT_LIBC_UCLIBC_LNXTHRD}'" - ;; - esac - - # Always build the libpthread_db - CT_KconfigEnableOption "PTHREADS_DEBUG_SUPPORT" "${dst}" - - # Force on debug options if asked for - CT_KconfigDisableOption "DODEBUG" "${dst}" - CT_KconfigDisableOption "DODEBUG_PT" "${dst}" - CT_KconfigDisableOption "DOASSERTS" "${dst}" - CT_KconfigDisableOption "SUPPORT_LD_DEBUG" "${dst}" - CT_KconfigDisableOption "SUPPORT_LD_DEBUG_EARLY" "${dst}" - CT_KconfigDisableOption "UCLIBC_MALLOC_DEBUGGING" "${dst}" - case "${CT_LIBC_UCLIBC_DEBUG_LEVEL}" in - 0) - ;; - 1) - CT_KconfigEnableOption "DODEBUG" "${dst}" - ;; - 2) - CT_KconfigEnableOption "DODEBUG" "${dst}" - CT_KconfigEnableOption "DOASSERTS" "${dst}" - CT_KconfigEnableOption "SUPPORT_LD_DEBUG" "${dst}" - CT_KconfigEnableOption "UCLIBC_MALLOC_DEBUGGING" "${dst}" - ;; - 3) - CT_KconfigEnableOption "DODEBUG" "${dst}" - CT_KconfigEnableOption "DODEBUG_PT" "${dst}" - CT_KconfigEnableOption "DOASSERTS" "${dst}" - CT_KconfigEnableOption "SUPPORT_LD_DEBUG" "${dst}" - CT_KconfigEnableOption "SUPPORT_LD_DEBUG_EARLY" "${dst}" - CT_KconfigEnableOption "UCLIBC_MALLOC_DEBUGGING" "${dst}" - ;; - esac - - # Remove stripping: its the responsibility of the - # firmware builder to strip or not. - CT_KconfigDisableOption "DOSTRIP" "${dst}" - - # Now allow architecture to tweak as it wants - CT_DoArchUClibcConfig "${dst}" - CT_DoArchUClibcCflags "${dst}" "${flags}" - - # Preserve the config we created (before uclibc's `make olddefconfig` - # overrides anything). - CT_DoExecLog ALL cp "${dst}" "${dst}.created-by-ct-ng" -} - -uClibc_post_cc() -{ - # uClibc and GCC disagree where the dynamic linker lives. uClibc always - # places it in the MULTILIB_DIR, while gcc does that for *some* variants - # and expects it in /lib for the other. So, create a symlink from lib - # to the actual location, but only if that will not override the actual - # file in /lib. Thus, need to do this after all the variants are built. - # Moreover, need to do this after the final compiler is built: on targets - # that use elf2flt, the core compilers cannot find ld when running elf2flt. - CT_MultilibFixupLDSO - - if [ -n "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then - CT_InstallConfigurationFile "${CT_LIBC_UCLIBC_CONFIG_FILE}" libc - fi -} diff --git a/scripts/functions b/scripts/functions index da909800..24463428 100644 --- a/scripts/functions +++ b/scripts/functions @@ -1132,7 +1132,7 @@ CT_DoBuildTargetTuple() # values. case "${CT_LIBC}" in glibc) CT_TARGET_SYS=gnu;; - uClibc) CT_TARGET_SYS=uclibc;; + uClibc-ng) CT_TARGET_SYS=uclibc;; musl) CT_TARGET_SYS=musl;; bionic) CT_TARGET_SYS=android;; none|newlib|picolibc) CT_TARGET_SYS=elf;; -- cgit v1.2.3 From 196f62e18ca16a1d6408d8e80989870e4ea93ef9 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Thu, 6 Jan 2022 13:10:07 -0800 Subject: Upgrade script for uClibc retirement Run samples through upgrade and fix accumulated breakages: *-centos6-*: After 2.12.2 retirement, the samples selected most recent glibc (2.34) which also forced kernels 3.2+. Revert to 2.12.1 and 2.6.32.71, respectively. Interestingly, 2.12.1 was marked as being used in CentOS6, but the samples selected 2.12.2. Anyway, CentOS6 is EOL now and glibc 2.12 is going to be marked obsolete, and retired soon. arc-*: Make TARGET_VENDOR match the sample's name; otherwise `ct-ng saveconfig` places the config file into a different location. Fix 'savedefconfig' which was not saving the configuration file version (CT_VCHECK was set to 'load' after CT_LoadConfig call). Signed-off-by: Alexey Neyman --- ct-ng.in | 2 +- samples/arc-arc700-linux-uclibc/crosstool.config | 6 +++--- samples/arc-archs-linux-gnu/crosstool.config | 4 ++-- samples/arc-multilib-elf32/crosstool.config | 2 +- samples/arc-multilib-linux-gnu/crosstool.config | 2 +- samples/arc-multilib-linux-uclibc/crosstool.config | 4 ++-- samples/i686-centos6-linux-gnu/crosstool.config | 2 -- samples/samples.mk | 2 +- samples/x86_64-centos6-linux-gnu/crosstool.config | 6 ++++-- scripts/saveSample.sh | 4 ++++ scripts/upgrade/v3 | 12 ++++++++++++ 11 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 scripts/upgrade/v3 (limited to 'samples') diff --git a/ct-ng.in b/ct-ng.in index 0be52ad1..05ca29d3 100644 --- a/ct-ng.in +++ b/ct-ng.in @@ -41,7 +41,7 @@ export CT_VCHECK= # need to pass it to the upgrade script - which may receive an input that # was not preprocessed by kconfig, and hence have no string for "up-to-date" # version. -export CT_CONFIG_VERSION_CURRENT=3 +export CT_CONFIG_VERSION_CURRENT=4 # Download agents used by scripts.mk CT_WGET := @wget@ diff --git a/samples/arc-arc700-linux-uclibc/crosstool.config b/samples/arc-arc700-linux-uclibc/crosstool.config index caa0cf19..93305e53 100644 --- a/samples/arc-arc700-linux-uclibc/crosstool.config +++ b/samples/arc-arc700-linux-uclibc/crosstool.config @@ -1,8 +1,8 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARC=y CT_ARCH_CPU="arc700" CT_TARGET_CFLAGS="-mno-atomic" -CT_TARGET_VENDOR="snps" +CT_TARGET_VENDOR="arc700" CT_TARGET_ALIAS="arc-linux" CT_KERNEL_LINUX=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y diff --git a/samples/arc-archs-linux-gnu/crosstool.config b/samples/arc-archs-linux-gnu/crosstool.config index ad39f70a..dfeb1ed9 100644 --- a/samples/arc-archs-linux-gnu/crosstool.config +++ b/samples/arc-archs-linux-gnu/crosstool.config @@ -1,6 +1,6 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARC=y CT_ARCH_CPU="archs" -CT_TARGET_VENDOR="snps" +CT_TARGET_VENDOR="archs" CT_TARGET_ALIAS="arc-linux" CT_KERNEL_LINUX=y diff --git a/samples/arc-multilib-elf32/crosstool.config b/samples/arc-multilib-elf32/crosstool.config index 0cc3cdd3..e2bce980 100644 --- a/samples/arc-multilib-elf32/crosstool.config +++ b/samples/arc-multilib-elf32/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARC=y CT_MULTILIB=y CT_TARGET_VENDOR="multilib" diff --git a/samples/arc-multilib-linux-gnu/crosstool.config b/samples/arc-multilib-linux-gnu/crosstool.config index 3dc78027..b32c92ef 100644 --- a/samples/arc-multilib-linux-gnu/crosstool.config +++ b/samples/arc-multilib-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARC=y CT_MULTILIB=y CT_TARGET_CFLAGS="-matomic" diff --git a/samples/arc-multilib-linux-uclibc/crosstool.config b/samples/arc-multilib-linux-uclibc/crosstool.config index b1862a5b..16b75696 100644 --- a/samples/arc-multilib-linux-uclibc/crosstool.config +++ b/samples/arc-multilib-linux-uclibc/crosstool.config @@ -1,8 +1,8 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARC=y CT_MULTILIB=y CT_TARGET_CFLAGS="-matomic" CT_TARGET_VENDOR="multilib" CT_TARGET_ALIAS="arc-linux" CT_KERNEL_LINUX=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y diff --git a/samples/i686-centos6-linux-gnu/crosstool.config b/samples/i686-centos6-linux-gnu/crosstool.config index cb7f7132..ffdb9059 100644 --- a/samples/i686-centos6-linux-gnu/crosstool.config +++ b/samples/i686-centos6-linux-gnu/crosstool.config @@ -4,7 +4,5 @@ CT_ARCH_X86=y CT_ARCH_ARCH="i686" CT_TARGET_VENDOR="centos6" CT_KERNEL_LINUX=y -CT_LINUX_V_2_6_32=y # CT_KERNEL_LINUX_INSTALL_CHECK is not set -CT_GLIBC_V_2_12_2=y CT_CC_LANG_CXX=y diff --git a/samples/samples.mk b/samples/samples.mk index 48bbbb98..51e96199 100644 --- a/samples/samples.mk +++ b/samples/samples.mk @@ -128,7 +128,7 @@ samples: # Save a sample saveconfig: .config samples - $(SILENT)CT_VCHECK=save CONF=$(CONF) $(bash) $(CT_LIB_DIR)/scripts/saveSample.sh + $(SILENT)CONF=$(CONF) $(bash) $(CT_LIB_DIR)/scripts/saveSample.sh # The 'sample_dir' function prints the directory in which the sample is, # searching first in local samples, then in global samples diff --git a/samples/x86_64-centos6-linux-gnu/crosstool.config b/samples/x86_64-centos6-linux-gnu/crosstool.config index 24e8a11f..e9747cdc 100644 --- a/samples/x86_64-centos6-linux-gnu/crosstool.config +++ b/samples/x86_64-centos6-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_X86=y CT_ARCH_64=y @@ -6,5 +6,7 @@ CT_TARGET_VENDOR="centos6" CT_KERNEL_LINUX=y CT_LINUX_V_2_6_32=y # CT_KERNEL_LINUX_INSTALL_CHECK is not set -CT_GLIBC_V_2_12_2=y +CT_GLIBC_V_2_12_1=y +CT_GLIBC_EXTRA_CFLAGS="" +# CT_GLIBC_ENABLE_COMMON_FLAG is not set CT_CC_LANG_CXX=y diff --git a/scripts/saveSample.sh b/scripts/saveSample.sh index 2f4a10b1..e367e6e5 100644 --- a/scripts/saveSample.sh +++ b/scripts/saveSample.sh @@ -11,6 +11,10 @@ CT_LoadConfig +# Override CT_VCHECK: we're going to be saving it so need to force saving of +# the config version. +export CT_VCHECK=save + # We can not reliably save a sample which either uses local patches # and/or custom Linux kernel headers. Warn the user about this issue # and continue if he/she confirms sving the sample. diff --git a/scripts/upgrade/v3 b/scripts/upgrade/v3 new file mode 100644 index 00000000..1b8fce83 --- /dev/null +++ b/scripts/upgrade/v3 @@ -0,0 +1,12 @@ +# vim: set filetype=sh : + +# Upgrade v3 -> v4: +# - uClibc retired, leaving only uClibc-ng +upgrade() +{ + case "${opt}" in + CT_LIBC_UCLIBC) + replace CT_LIBC_UCLIBC_NG + ;; + esac +} -- cgit v1.2.3 From 858f939436b7c0c71dd4556485ce411ffe6f25d0 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 17 Jan 2022 14:16:52 -0800 Subject: More sample config updates *-moxie*: DTC_VERBOSE is a wobbler, it depends on whether dtc is enabled on the host machine (if dtc is installed, DTC defaults to 'n' and hence prevents DTC_VERBOSE from appearing at all). Remove the option from config file so that its value reverts to the default. xtensa-fsf-elf: mark configuration obsolete so that it can use GDB 8.1 (it uses custom sources and needs to select the version therein) Signed-off-by: Alexey Neyman --- samples/aarch64-ol7u9-linux-gnu/crosstool.config | 2 +- samples/aarch64-rpi3-linux-gnu/crosstool.config | 2 +- samples/aarch64-rpi4-linux-gnu/crosstool.config | 2 +- samples/aarch64-unknown-linux-android/crosstool.config | 2 +- samples/aarch64-unknown-linux-gnu/crosstool.config | 2 +- samples/aarch64-unknown-linux-uclibc/crosstool.config | 4 ++-- samples/alphaev56-unknown-linux-gnu/crosstool.config | 2 +- samples/alphaev67-unknown-linux-gnu/crosstool.config | 2 +- samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config | 2 +- samples/arm-cortex_a15-linux-gnueabihf/crosstool.config | 2 +- samples/arm-cortex_a8-linux-gnueabi/crosstool.config | 2 +- samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config | 4 ++-- samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config | 2 +- samples/arm-multilib-linux-uclibcgnueabi/crosstool.config | 4 ++-- samples/arm-nano-eabi/crosstool.config | 2 +- samples/arm-ol7u9-linux-gnueabi/crosstool.config | 2 +- samples/arm-ol7u9-linux-gnueabihf/crosstool.config | 1 + samples/arm-picolibc-eabi/crosstool.config | 8 ++++---- samples/arm-unknown-eabi/crosstool.config | 6 +++--- samples/arm-unknown-linux-gnueabi/crosstool.config | 2 +- samples/arm-unknown-linux-musleabi/crosstool.config | 2 +- samples/arm-unknown-linux-uclibcgnueabi/crosstool.config | 4 ++-- samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config | 4 ++-- samples/armeb-unknown-eabi/crosstool.config | 2 +- samples/armeb-unknown-linux-gnueabi/crosstool.config | 2 +- samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config | 4 ++-- samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config | 2 +- samples/armv6-unknown-linux-gnueabi/crosstool.config | 2 +- samples/armv6-unknown-linux-gnueabihf/crosstool.config | 2 +- samples/armv7-rpi2-linux-gnueabihf/crosstool.config | 2 +- samples/armv8-rpi3-linux-gnueabihf/crosstool.config | 2 +- samples/armv8-rpi4-linux-gnueabihf/crosstool.config | 2 +- samples/avr/crosstool.config | 2 +- samples/i586-geode-linux-uclibc/crosstool.config | 4 ++-- samples/i686-centos6-linux-gnu/crosstool.config | 2 +- samples/i686-centos7-linux-gnu/crosstool.config | 2 +- samples/i686-nptl-linux-gnu/crosstool.config | 2 +- samples/i686-ubuntu12.04-linux-gnu/crosstool.config | 10 ---------- samples/i686-ubuntu12.04-linux-gnu/reported.by | 3 --- samples/i686-ubuntu14.04-linux-gnu/crosstool.config | 2 +- samples/i686-ubuntu16.04-linux-gnu/crosstool.config | 2 +- samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config | 2 +- samples/i686-w64-mingw32/crosstool.config | 2 +- samples/m68k-unknown-elf/crosstool.config | 2 +- samples/m68k-unknown-uclinux-uclibc/crosstool.config | 2 +- samples/mips-ar2315-linux-gnu/crosstool.config | 2 +- samples/mips-malta-linux-gnu/crosstool.config | 2 +- samples/mips-unknown-elf/crosstool.config | 2 +- samples/mips-unknown-linux-gnu/crosstool.config | 2 +- samples/mips-unknown-linux-uclibc/crosstool.config | 4 ++-- samples/mips64-unknown-linux-gnu/crosstool.config | 2 +- samples/mips64el-multilib-linux-uclibc/crosstool.config | 4 ++-- samples/mipsel-multilib-linux-gnu/crosstool.config | 2 +- samples/mipsel-sde-elf/crosstool.config | 2 +- samples/mipsel-unknown-linux-gnu/crosstool.config | 2 +- samples/moxie-unknown-elf/crosstool.config | 3 +-- samples/moxiebox/crosstool.config | 3 +-- samples/msp430-unknown-elf/crosstool.config | 2 +- samples/nios2-altera-linux-gnu/crosstool.config | 2 +- samples/nios2-unknown-elf/crosstool.config | 2 +- samples/powerpc-405-linux-gnu/crosstool.config | 2 +- samples/powerpc-8540-linux-gnu/crosstool.config | 2 +- samples/powerpc-860-linux-gnu/crosstool.config | 2 +- samples/powerpc-e300c3-linux-gnu/crosstool.config | 2 +- samples/powerpc-e500v2-linux-gnuspe/crosstool.config | 2 +- samples/powerpc-unknown-linux-gnu/crosstool.config | 2 +- .../crosstool.config | 2 +- samples/powerpc-unknown-linux-uclibc/crosstool.config | 4 ++-- samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config | 2 +- samples/powerpc64-multilib-linux-gnu/crosstool.config | 2 +- samples/powerpc64-unknown-linux-gnu/crosstool.config | 2 +- samples/powerpc64le-unknown-linux-gnu/crosstool.config | 2 +- samples/pru/crosstool.config | 2 +- samples/riscv32-hifive1-elf/crosstool.config | 2 +- samples/riscv32-unknown-elf/crosstool.config | 2 +- samples/riscv64-unknown-elf/crosstool.config | 2 +- samples/riscv64-unknown-linux-gnu/crosstool.config | 5 ++--- samples/s390-ibm-linux-gnu/crosstool.config | 2 +- samples/s390-unknown-linux-gnu/crosstool.config | 2 +- samples/s390x-ibm-linux-gnu/crosstool.config | 2 +- samples/s390x-unknown-linux-gnu/crosstool.config | 2 +- samples/sh-multilib-linux-gnu/crosstool.config | 2 +- samples/sh-multilib-linux-uclibc/crosstool.config | 4 ++-- samples/sh-unknown-elf/crosstool.config | 2 +- samples/sparc-leon-linux-uclibc/crosstool.config | 4 ++-- samples/sparc-unknown-linux-gnu/crosstool.config | 2 +- samples/sparc64-multilib-linux-gnu/crosstool.config | 2 +- samples/x86_64-centos7-linux-gnu/crosstool.config | 2 +- samples/x86_64-multilib-linux-gnu/crosstool.config | 2 +- samples/x86_64-multilib-linux-musl/crosstool.config | 2 +- .../crosstool.config | 3 +-- .../crosstool.config | 2 +- samples/x86_64-multilib-linux-uclibc/crosstool.config | 4 ++-- samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config | 10 ---------- samples/x86_64-ubuntu12.04-linux-gnu/reported.by | 3 --- samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config | 2 +- samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config | 2 +- samples/x86_64-unknown-linux-gnu/crosstool.config | 2 +- samples/x86_64-unknown-linux-uclibc/crosstool.config | 4 ++-- .../crosstool.config | 2 +- .../x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config | 2 +- samples/x86_64-w64-mingw32/crosstool.config | 2 +- samples/xtensa-fsf-elf/crosstool.config | 3 ++- samples/xtensa-fsf-linux-uclibc/crosstool.config | 4 ++-- 104 files changed, 122 insertions(+), 150 deletions(-) delete mode 100644 samples/i686-ubuntu12.04-linux-gnu/crosstool.config delete mode 100644 samples/i686-ubuntu12.04-linux-gnu/reported.by delete mode 100644 samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config delete mode 100644 samples/x86_64-ubuntu12.04-linux-gnu/reported.by (limited to 'samples') diff --git a/samples/aarch64-ol7u9-linux-gnu/crosstool.config b/samples/aarch64-ol7u9-linux-gnu/crosstool.config index ae644e66..d6b538ee 100644 --- a/samples/aarch64-ol7u9-linux-gnu/crosstool.config +++ b/samples/aarch64-ol7u9-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_ARM=y CT_ARCH_64=y diff --git a/samples/aarch64-rpi3-linux-gnu/crosstool.config b/samples/aarch64-rpi3-linux-gnu/crosstool.config index dc9f364b..55f4a92f 100644 --- a/samples/aarch64-rpi3-linux-gnu/crosstool.config +++ b/samples/aarch64-rpi3-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a53" CT_ARCH_64=y diff --git a/samples/aarch64-rpi4-linux-gnu/crosstool.config b/samples/aarch64-rpi4-linux-gnu/crosstool.config index 6324dedb..63726a87 100644 --- a/samples/aarch64-rpi4-linux-gnu/crosstool.config +++ b/samples/aarch64-rpi4-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a72" CT_ARCH_64=y diff --git a/samples/aarch64-unknown-linux-android/crosstool.config b/samples/aarch64-unknown-linux-android/crosstool.config index 9bafead0..c78a1f68 100644 --- a/samples/aarch64-unknown-linux-android/crosstool.config +++ b/samples/aarch64-unknown-linux-android/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_ARM=y CT_ARCH_64=y diff --git a/samples/aarch64-unknown-linux-gnu/crosstool.config b/samples/aarch64-unknown-linux-gnu/crosstool.config index 255a0057..df6f415e 100644 --- a/samples/aarch64-unknown-linux-gnu/crosstool.config +++ b/samples/aarch64-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_64=y CT_TARGET_VENDOR="" diff --git a/samples/aarch64-unknown-linux-uclibc/crosstool.config b/samples/aarch64-unknown-linux-uclibc/crosstool.config index e2ac47b1..a5bb45a0 100644 --- a/samples/aarch64-unknown-linux-uclibc/crosstool.config +++ b/samples/aarch64-unknown-linux-uclibc/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_64=y CT_TARGET_VENDOR="" @@ -7,7 +7,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_DEBUG_GDB=y CT_GDB_NATIVE=y diff --git a/samples/alphaev56-unknown-linux-gnu/crosstool.config b/samples/alphaev56-unknown-linux-gnu/crosstool.config index cd713cc6..548190f0 100644 --- a/samples/alphaev56-unknown-linux-gnu/crosstool.config +++ b/samples/alphaev56-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ALPHA_EV56=y CT_KERNEL_LINUX=y CT_BINUTILS_PLUGINS=y diff --git a/samples/alphaev67-unknown-linux-gnu/crosstool.config b/samples/alphaev67-unknown-linux-gnu/crosstool.config index 4d7aa51a..52196010 100644 --- a/samples/alphaev67-unknown-linux-gnu/crosstool.config +++ b/samples/alphaev67-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ALPHA_EV67=y CT_KERNEL_LINUX=y CT_BINUTILS_PLUGINS=y diff --git a/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config b/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config index 4d3a79f6..10aceed4 100644 --- a/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config +++ b/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="cortex-m3" CT_ARCH_ARM_MODE_THUMB=y diff --git a/samples/arm-cortex_a15-linux-gnueabihf/crosstool.config b/samples/arm-cortex_a15-linux-gnueabihf/crosstool.config index 48d8dc3a..271fcac5 100644 --- a/samples/arm-cortex_a15-linux-gnueabihf/crosstool.config +++ b/samples/arm-cortex_a15-linux-gnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a15" CT_ARCH_FPU="neon-vfpv4" diff --git a/samples/arm-cortex_a8-linux-gnueabi/crosstool.config b/samples/arm-cortex_a8-linux-gnueabi/crosstool.config index aa65f234..4954c521 100644 --- a/samples/arm-cortex_a8-linux-gnueabi/crosstool.config +++ b/samples/arm-cortex_a8-linux-gnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a8" CT_ARCH_FLOAT_SW=y diff --git a/samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config b/samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config index bed98948..0fd6f72f 100644 --- a/samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config +++ b/samples/arm-cortexa5-linux-uclibcgnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a5" @@ -10,7 +10,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_DEBUG_DUMA=y CT_DEBUG_GDB=y diff --git a/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config b/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config index e85d4409..4b7a5349 100644 --- a/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config +++ b/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a9" diff --git a/samples/arm-multilib-linux-uclibcgnueabi/crosstool.config b/samples/arm-multilib-linux-uclibcgnueabi/crosstool.config index 50a7507f..4f962638 100644 --- a/samples/arm-multilib-linux-uclibcgnueabi/crosstool.config +++ b/samples/arm-multilib-linux-uclibcgnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_MULTILIB=y CT_ARCH_FLOAT_SW=y @@ -9,7 +9,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_THREADS_NONE=y CT_CC_GCC_MULTILIB_LIST="aprofile" CT_DEBUG_LTRACE=y diff --git a/samples/arm-nano-eabi/crosstool.config b/samples/arm-nano-eabi/crosstool.config index bbdcb393..72060078 100644 --- a/samples/arm-nano-eabi/crosstool.config +++ b/samples/arm-nano-eabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_MULTILIB=y CT_ARCH_FLOAT_SW=y diff --git a/samples/arm-ol7u9-linux-gnueabi/crosstool.config b/samples/arm-ol7u9-linux-gnueabi/crosstool.config index 93961af6..bb12842a 100644 --- a/samples/arm-ol7u9-linux-gnueabi/crosstool.config +++ b/samples/arm-ol7u9-linux-gnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_ARM=y CT_ARCH_FLOAT_SW=y diff --git a/samples/arm-ol7u9-linux-gnueabihf/crosstool.config b/samples/arm-ol7u9-linux-gnueabihf/crosstool.config index fd33aeee..1f0c9aba 100644 --- a/samples/arm-ol7u9-linux-gnueabihf/crosstool.config +++ b/samples/arm-ol7u9-linux-gnueabihf/crosstool.config @@ -1,3 +1,4 @@ +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_ARM=y CT_ARCH_FLOAT_HW=y diff --git a/samples/arm-picolibc-eabi/crosstool.config b/samples/arm-picolibc-eabi/crosstool.config index 1da16169..640f3071 100644 --- a/samples/arm-picolibc-eabi/crosstool.config +++ b/samples/arm-picolibc-eabi/crosstool.config @@ -1,11 +1,11 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_MULTILIB=y CT_ARCH_FLOAT_SW=y +CT_TARGET_CFLAGS="-ftls-model=local-exec" CT_TARGET_VENDOR="picolibc" CT_LIBC_NONE=y -CT_CC_GCC_CONFIG_TLS=y -CT_TARGET_CFLAGS="-ftls-model=local-exec" CT_CC_GCC_MULTILIB_LIST="rmprofile" -CT_COMP_LIBS_PICOLIBC=y +CT_CC_GCC_CONFIG_TLS=y CT_CC_LANG_CXX=y +CT_COMP_LIBS_PICOLIBC=y diff --git a/samples/arm-unknown-eabi/crosstool.config b/samples/arm-unknown-eabi/crosstool.config index ffe09859..e54f2c99 100644 --- a/samples/arm-unknown-eabi/crosstool.config +++ b/samples/arm-unknown-eabi/crosstool.config @@ -1,11 +1,11 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_FLOAT_SW=y +CT_TARGET_CFLAGS="-ftls-model=local-exec" CT_LIBC_NEWLIB_IO_C99FMT=y CT_LIBC_NEWLIB_IO_LL=y CT_LIBC_NEWLIB_IO_FLOAT=y CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y CT_CC_LANG_CXX=y -CT_COMP_LIBS_PICOLIBC=y -CT_TARGET_CFLAGS="-ftls-model=local-exec" CT_COMP_LIBS_NEWLIB_NANO=y +CT_COMP_LIBS_PICOLIBC=y diff --git a/samples/arm-unknown-linux-gnueabi/crosstool.config b/samples/arm-unknown-linux-gnueabi/crosstool.config index f4fc942e..b26f33f8 100644 --- a/samples/arm-unknown-linux-gnueabi/crosstool.config +++ b/samples/arm-unknown-linux-gnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" # CT_REMOVE_DOCS is not set CT_ARCH_ARM=y CT_ARCH_FLOAT_SW=y diff --git a/samples/arm-unknown-linux-musleabi/crosstool.config b/samples/arm-unknown-linux-musleabi/crosstool.config index a4d84869..a7adfebf 100644 --- a/samples/arm-unknown-linux-musleabi/crosstool.config +++ b/samples/arm-unknown-linux-musleabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_ARM=y CT_KERNEL_LINUX=y diff --git a/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config b/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config index 84243cf1..379c6322 100644 --- a/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config +++ b/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="arm926ej-s" CT_ARCH_FLOAT_SW=y @@ -7,7 +7,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_DEBUG_DUMA=y CT_DEBUG_GDB=y diff --git a/samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config b/samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config index 633493c8..3f2b5f63 100644 --- a/samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config +++ b/samples/arm-unknown-linux-uclibcgnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_ARM=y CT_ARCH_CPU="arm926ej-s" @@ -8,7 +8,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_DEBUG_DUMA=y CT_DEBUG_GDB=y diff --git a/samples/armeb-unknown-eabi/crosstool.config b/samples/armeb-unknown-eabi/crosstool.config index 9e18e965..92fa0a8c 100644 --- a/samples/armeb-unknown-eabi/crosstool.config +++ b/samples/armeb-unknown-eabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_BE=y CT_ARCH_FLOAT_SW=y diff --git a/samples/armeb-unknown-linux-gnueabi/crosstool.config b/samples/armeb-unknown-linux-gnueabi/crosstool.config index a030f4c7..9a03b800 100644 --- a/samples/armeb-unknown-linux-gnueabi/crosstool.config +++ b/samples/armeb-unknown-linux-gnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_BE=y CT_ARCH_ARCH="armv5te" diff --git a/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config b/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config index ad24f4da..9b701f56 100644 --- a/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config +++ b/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="xscale" CT_ARCH_BE=y @@ -8,7 +8,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y # CT_CC_GCC_SJLJ_EXCEPTIONS is not set CT_CC_LANG_CXX=y CT_DEBUG_DUMA=y diff --git a/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config b/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config index 0f1dd4dd..78e9e982 100644 --- a/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config +++ b/samples/armv6-nommu-linux-uclibcgnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_SUFFIX="v6" # CT_ARCH_USE_MMU is not set diff --git a/samples/armv6-unknown-linux-gnueabi/crosstool.config b/samples/armv6-unknown-linux-gnueabi/crosstool.config index c18e70a2..3af9d6ba 100644 --- a/samples/armv6-unknown-linux-gnueabi/crosstool.config +++ b/samples/armv6-unknown-linux-gnueabi/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="arm1176jzf-s" CT_ARCH_SUFFIX="v6" diff --git a/samples/armv6-unknown-linux-gnueabihf/crosstool.config b/samples/armv6-unknown-linux-gnueabihf/crosstool.config index 1104c7b7..38c6685a 100644 --- a/samples/armv6-unknown-linux-gnueabihf/crosstool.config +++ b/samples/armv6-unknown-linux-gnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="arm1176jzf-s" CT_ARCH_SUFFIX="v6" diff --git a/samples/armv7-rpi2-linux-gnueabihf/crosstool.config b/samples/armv7-rpi2-linux-gnueabihf/crosstool.config index fdabda6c..d3e1ea37 100644 --- a/samples/armv7-rpi2-linux-gnueabihf/crosstool.config +++ b/samples/armv7-rpi2-linux-gnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a7" CT_ARCH_SUFFIX="v7" diff --git a/samples/armv8-rpi3-linux-gnueabihf/crosstool.config b/samples/armv8-rpi3-linux-gnueabihf/crosstool.config index 1197ee43..22e7b20b 100644 --- a/samples/armv8-rpi3-linux-gnueabihf/crosstool.config +++ b/samples/armv8-rpi3-linux-gnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a53" CT_ARCH_SUFFIX="v8" diff --git a/samples/armv8-rpi4-linux-gnueabihf/crosstool.config b/samples/armv8-rpi4-linux-gnueabihf/crosstool.config index 309747b0..5a668ed4 100644 --- a/samples/armv8-rpi4-linux-gnueabihf/crosstool.config +++ b/samples/armv8-rpi4-linux-gnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a72" CT_ARCH_SUFFIX="v8" diff --git a/samples/avr/crosstool.config b/samples/avr/crosstool.config index fe4b16cd..c119e881 100644 --- a/samples/avr/crosstool.config +++ b/samples/avr/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_AVR=y CT_CC_LANG_CXX=y CT_DEBUG_GDB=y diff --git a/samples/i586-geode-linux-uclibc/crosstool.config b/samples/i586-geode-linux-uclibc/crosstool.config index 87c5f921..78c90a38 100644 --- a/samples/i586-geode-linux-uclibc/crosstool.config +++ b/samples/i586-geode-linux-uclibc/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_X86=y CT_ARCH_ARCH="pentium-mmx" CT_TARGET_VENDOR="geode" @@ -7,7 +7,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_DEBUG_DUMA=y CT_DEBUG_GDB=y diff --git a/samples/i686-centos6-linux-gnu/crosstool.config b/samples/i686-centos6-linux-gnu/crosstool.config index ffdb9059..19448f94 100644 --- a/samples/i686-centos6-linux-gnu/crosstool.config +++ b/samples/i686-centos6-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_X86=y CT_ARCH_ARCH="i686" diff --git a/samples/i686-centos7-linux-gnu/crosstool.config b/samples/i686-centos7-linux-gnu/crosstool.config index 98d9fd99..dc953042 100644 --- a/samples/i686-centos7-linux-gnu/crosstool.config +++ b/samples/i686-centos7-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_X86=y CT_ARCH_ARCH="i686" diff --git a/samples/i686-nptl-linux-gnu/crosstool.config b/samples/i686-nptl-linux-gnu/crosstool.config index 546e9cdb..0a38607b 100644 --- a/samples/i686-nptl-linux-gnu/crosstool.config +++ b/samples/i686-nptl-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_X86=y CT_ARCH_ARCH="i686" CT_TARGET_VENDOR="nptl" diff --git a/samples/i686-ubuntu12.04-linux-gnu/crosstool.config b/samples/i686-ubuntu12.04-linux-gnu/crosstool.config deleted file mode 100644 index e5ece3e4..00000000 --- a/samples/i686-ubuntu12.04-linux-gnu/crosstool.config +++ /dev/null @@ -1,10 +0,0 @@ -CT_CONFIG_VERSION="3" -CT_OBSOLETE=y -CT_ARCH_X86=y -CT_ARCH_ARCH="i686" -CT_TARGET_VENDOR="ubuntu12.04" -CT_KERNEL_LINUX=y -CT_LINUX_V_3_2=y -# CT_KERNEL_LINUX_INSTALL_CHECK is not set -CT_GLIBC_V_2_15=y -CT_CC_LANG_CXX=y diff --git a/samples/i686-ubuntu12.04-linux-gnu/reported.by b/samples/i686-ubuntu12.04-linux-gnu/reported.by deleted file mode 100644 index 97ae2f82..00000000 --- a/samples/i686-ubuntu12.04-linux-gnu/reported.by +++ /dev/null @@ -1,3 +0,0 @@ -reporter_name="Alexey Neyman" -reporter_url="" -reporter_comment="i686 kernel/libc matching Ubuntu 12.04 LTS." diff --git a/samples/i686-ubuntu14.04-linux-gnu/crosstool.config b/samples/i686-ubuntu14.04-linux-gnu/crosstool.config index 50fb8731..4a5bb925 100644 --- a/samples/i686-ubuntu14.04-linux-gnu/crosstool.config +++ b/samples/i686-ubuntu14.04-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_X86=y CT_ARCH_ARCH="i686" diff --git a/samples/i686-ubuntu16.04-linux-gnu/crosstool.config b/samples/i686-ubuntu16.04-linux-gnu/crosstool.config index 6155de21..ac57a367 100644 --- a/samples/i686-ubuntu16.04-linux-gnu/crosstool.config +++ b/samples/i686-ubuntu16.04-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_X86=y CT_ARCH_ARCH="i686" diff --git a/samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config b/samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config index 4e628afb..2e839dd7 100644 --- a/samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config +++ b/samples/i686-w64-mingw32,nios2-spico-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y # CT_REMOVE_DOCS is not set CT_ARCH_NIOS2=y diff --git a/samples/i686-w64-mingw32/crosstool.config b/samples/i686-w64-mingw32/crosstool.config index bba57386..c731d7b3 100644 --- a/samples/i686-w64-mingw32/crosstool.config +++ b/samples/i686-w64-mingw32/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_X86=y CT_ARCH_ARCH="i686" diff --git a/samples/m68k-unknown-elf/crosstool.config b/samples/m68k-unknown-elf/crosstool.config index 6c8199b7..44131781 100644 --- a/samples/m68k-unknown-elf/crosstool.config +++ b/samples/m68k-unknown-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_M68K=y CT_ARCH_CPU="cpu32" CT_ARCH_BINFMT_FLAT=y diff --git a/samples/m68k-unknown-uclinux-uclibc/crosstool.config b/samples/m68k-unknown-uclinux-uclibc/crosstool.config index 15cf7d05..c825d375 100644 --- a/samples/m68k-unknown-uclinux-uclibc/crosstool.config +++ b/samples/m68k-unknown-uclinux-uclibc/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_M68K=y CT_KERNEL_LINUX=y CT_THREADS_LT=y diff --git a/samples/mips-ar2315-linux-gnu/crosstool.config b/samples/mips-ar2315-linux-gnu/crosstool.config index 51d9180f..6909c66e 100644 --- a/samples/mips-ar2315-linux-gnu/crosstool.config +++ b/samples/mips-ar2315-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_ARCH_TUNE="4kc" CT_ARCH_ARCH="4kc" diff --git a/samples/mips-malta-linux-gnu/crosstool.config b/samples/mips-malta-linux-gnu/crosstool.config index 2b9c8bc4..c5df0044 100644 --- a/samples/mips-malta-linux-gnu/crosstool.config +++ b/samples/mips-malta-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_TARGET_VENDOR="malta" CT_KERNEL_LINUX=y diff --git a/samples/mips-unknown-elf/crosstool.config b/samples/mips-unknown-elf/crosstool.config index d99ad7f3..7867b9c7 100644 --- a/samples/mips-unknown-elf/crosstool.config +++ b/samples/mips-unknown-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_ARCH_FLOAT_SW=y CT_LIBC_NONE=y diff --git a/samples/mips-unknown-linux-gnu/crosstool.config b/samples/mips-unknown-linux-gnu/crosstool.config index 315d20ca..ea78b70f 100644 --- a/samples/mips-unknown-linux-gnu/crosstool.config +++ b/samples/mips-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_ARCH_ARCH="mips1" CT_ARCH_FLOAT_SW=y diff --git a/samples/mips-unknown-linux-uclibc/crosstool.config b/samples/mips-unknown-linux-uclibc/crosstool.config index 001a6413..882ceb07 100644 --- a/samples/mips-unknown-linux-uclibc/crosstool.config +++ b/samples/mips-unknown-linux-uclibc/crosstool.config @@ -1,10 +1,10 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_ARCH_ARCH="mips1" CT_ARCH_FLOAT_SW=y CT_KERNEL_LINUX=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_GCC_mips_plt=y CT_CC_LANG_CXX=y CT_DEBUG_DUMA=y diff --git a/samples/mips64-unknown-linux-gnu/crosstool.config b/samples/mips64-unknown-linux-gnu/crosstool.config index a33fd90a..4b909ce1 100644 --- a/samples/mips64-unknown-linux-gnu/crosstool.config +++ b/samples/mips64-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_ARCH_mips_n64=y CT_ARCH_64=y diff --git a/samples/mips64el-multilib-linux-uclibc/crosstool.config b/samples/mips64el-multilib-linux-uclibc/crosstool.config index 72908e53..cf97348b 100644 --- a/samples/mips64el-multilib-linux-uclibc/crosstool.config +++ b/samples/mips64el-multilib-linux-uclibc/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_MULTILIB=y CT_ARCH_LE=y @@ -7,7 +7,7 @@ CT_ARCH_FLOAT_SW=y CT_TARGET_VENDOR="multilib" CT_KERNEL_LINUX=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_LIBC_UCLIBC_WCHAR=y CT_CC_GCC_mips_plt=y CT_CC_LANG_CXX=y diff --git a/samples/mipsel-multilib-linux-gnu/crosstool.config b/samples/mipsel-multilib-linux-gnu/crosstool.config index 6f1e65aa..7d54e2af 100644 --- a/samples/mipsel-multilib-linux-gnu/crosstool.config +++ b/samples/mipsel-multilib-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_MULTILIB=y CT_ARCH_LE=y diff --git a/samples/mipsel-sde-elf/crosstool.config b/samples/mipsel-sde-elf/crosstool.config index 23a01a49..b3ff5af9 100644 --- a/samples/mipsel-sde-elf/crosstool.config +++ b/samples/mipsel-sde-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_ARCH_LE=y CT_ARCH_FLOAT_SW=y diff --git a/samples/mipsel-unknown-linux-gnu/crosstool.config b/samples/mipsel-unknown-linux-gnu/crosstool.config index 7d6c4f25..10085913 100644 --- a/samples/mipsel-unknown-linux-gnu/crosstool.config +++ b/samples/mipsel-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_MIPS=y CT_ARCH_LE=y CT_ARCH_ARCH="mips1" diff --git a/samples/moxie-unknown-elf/crosstool.config b/samples/moxie-unknown-elf/crosstool.config index 50e05346..03d81fc2 100644 --- a/samples/moxie-unknown-elf/crosstool.config +++ b/samples/moxie-unknown-elf/crosstool.config @@ -1,8 +1,7 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_MOXIE=y CT_DEBUG_GDB=y CT_GDB_CROSS_SIM=y # CT_GDB_CROSS_PYTHON is not set CT_COMP_LIBS_LIBELF=y -CT_DTC_VERBOSE=y diff --git a/samples/moxiebox/crosstool.config b/samples/moxiebox/crosstool.config index 2008fd5a..fe08882d 100644 --- a/samples/moxiebox/crosstool.config +++ b/samples/moxiebox/crosstool.config @@ -1,8 +1,7 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_MOXIE=y CT_ARCH_LE=y CT_DEBUG_GDB=y CT_GDB_CROSS_SIM=y # CT_GDB_CROSS_PYTHON is not set -CT_DTC_VERBOSE=y diff --git a/samples/msp430-unknown-elf/crosstool.config b/samples/msp430-unknown-elf/crosstool.config index 7eb82c9a..6ca9e31e 100644 --- a/samples/msp430-unknown-elf/crosstool.config +++ b/samples/msp430-unknown-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_MSP430=y CT_DEBUG_GDB=y diff --git a/samples/nios2-altera-linux-gnu/crosstool.config b/samples/nios2-altera-linux-gnu/crosstool.config index c6f51c50..d038aac2 100644 --- a/samples/nios2-altera-linux-gnu/crosstool.config +++ b/samples/nios2-altera-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_NIOS2=y CT_ARCH_USE_MMU=y CT_TARGET_VENDOR="altera" diff --git a/samples/nios2-unknown-elf/crosstool.config b/samples/nios2-unknown-elf/crosstool.config index 541a5c5c..2fe5d443 100644 --- a/samples/nios2-unknown-elf/crosstool.config +++ b/samples/nios2-unknown-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_NIOS2=y CT_CC_LANG_CXX=y CT_DEBUG_GDB=y diff --git a/samples/powerpc-405-linux-gnu/crosstool.config b/samples/powerpc-405-linux-gnu/crosstool.config index 21de17a4..128570c3 100644 --- a/samples/powerpc-405-linux-gnu/crosstool.config +++ b/samples/powerpc-405-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_CPU="405" CT_ARCH_FLOAT_SW=y diff --git a/samples/powerpc-8540-linux-gnu/crosstool.config b/samples/powerpc-8540-linux-gnu/crosstool.config index d449c618..e6a0bf5d 100644 --- a/samples/powerpc-8540-linux-gnu/crosstool.config +++ b/samples/powerpc-8540-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_CPU="8540" # CT_DEMULTILIB is not set diff --git a/samples/powerpc-860-linux-gnu/crosstool.config b/samples/powerpc-860-linux-gnu/crosstool.config index f5a2b357..d34db5c7 100644 --- a/samples/powerpc-860-linux-gnu/crosstool.config +++ b/samples/powerpc-860-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_CPU="860" CT_ARCH_FLOAT_SW=y diff --git a/samples/powerpc-e300c3-linux-gnu/crosstool.config b/samples/powerpc-e300c3-linux-gnu/crosstool.config index b339e12a..131abd02 100644 --- a/samples/powerpc-e300c3-linux-gnu/crosstool.config +++ b/samples/powerpc-e300c3-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_CPU="e300c3" CT_TARGET_VENDOR="e300c3" diff --git a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config index b85928eb..ef76f7dd 100644 --- a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config +++ b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_CPU="8548" CT_ARCH_powerpc_ABI_SPE=y diff --git a/samples/powerpc-unknown-linux-gnu/crosstool.config b/samples/powerpc-unknown-linux-gnu/crosstool.config index 67b36a9f..a515447c 100644 --- a/samples/powerpc-unknown-linux-gnu/crosstool.config +++ b/samples/powerpc-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_KERNEL_LINUX=y CT_BINUTILS_PLUGINS=y diff --git a/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config b/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config index 9c209fda..40736a5e 100644 --- a/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config +++ b/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_M68K=y CT_CANADIAN=y CT_HOST="powerpc-unknown-linux-uclibc" diff --git a/samples/powerpc-unknown-linux-uclibc/crosstool.config b/samples/powerpc-unknown-linux-uclibc/crosstool.config index 0950dcdc..a463464a 100644 --- a/samples/powerpc-unknown-linux-uclibc/crosstool.config +++ b/samples/powerpc-unknown-linux-uclibc/crosstool.config @@ -1,9 +1,9 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_FLOAT_SW=y CT_KERNEL_LINUX=y CT_BINUTILS_FOR_TARGET=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_CC_LANG_FORTRAN=y CT_DEBUG_DUMA=y diff --git a/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config b/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config index b2983bac..7c0d50be 100644 --- a/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config +++ b/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_FLOAT_SW=y CT_TARGET_VENDOR="unknown_nofpu" diff --git a/samples/powerpc64-multilib-linux-gnu/crosstool.config b/samples/powerpc64-multilib-linux-gnu/crosstool.config index 05b97870..2e81f9aa 100644 --- a/samples/powerpc64-multilib-linux-gnu/crosstool.config +++ b/samples/powerpc64-multilib-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_MULTILIB=y CT_ARCH_64=y diff --git a/samples/powerpc64-unknown-linux-gnu/crosstool.config b/samples/powerpc64-unknown-linux-gnu/crosstool.config index 04696282..9dd482c6 100644 --- a/samples/powerpc64-unknown-linux-gnu/crosstool.config +++ b/samples/powerpc64-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_64=y CT_KERNEL_LINUX=y diff --git a/samples/powerpc64le-unknown-linux-gnu/crosstool.config b/samples/powerpc64le-unknown-linux-gnu/crosstool.config index 95d80250..11229d3b 100644 --- a/samples/powerpc64le-unknown-linux-gnu/crosstool.config +++ b/samples/powerpc64le-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_ARCH_LE=y CT_ARCH_64=y diff --git a/samples/pru/crosstool.config b/samples/pru/crosstool.config index 2036c30b..23d24f4c 100644 --- a/samples/pru/crosstool.config +++ b/samples/pru/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_PRU=y CT_OMIT_TARGET_VENDOR=y # CT_DEMULTILIB is not set diff --git a/samples/riscv32-hifive1-elf/crosstool.config b/samples/riscv32-hifive1-elf/crosstool.config index 49c93400..994cb337 100644 --- a/samples/riscv32-hifive1-elf/crosstool.config +++ b/samples/riscv32-hifive1-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_RISCV=y CT_ARCH_ARCH="rv32ima" diff --git a/samples/riscv32-unknown-elf/crosstool.config b/samples/riscv32-unknown-elf/crosstool.config index 1d68b8f6..96d665b0 100644 --- a/samples/riscv32-unknown-elf/crosstool.config +++ b/samples/riscv32-unknown-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_RISCV=y CT_TARGET_VENDOR="" diff --git a/samples/riscv64-unknown-elf/crosstool.config b/samples/riscv64-unknown-elf/crosstool.config index 87e9b717..4ee03576 100644 --- a/samples/riscv64-unknown-elf/crosstool.config +++ b/samples/riscv64-unknown-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_RISCV=y # CT_DEMULTILIB is not set diff --git a/samples/riscv64-unknown-linux-gnu/crosstool.config b/samples/riscv64-unknown-linux-gnu/crosstool.config index c12993c2..e1457197 100644 --- a/samples/riscv64-unknown-linux-gnu/crosstool.config +++ b/samples/riscv64-unknown-linux-gnu/crosstool.config @@ -1,13 +1,12 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_RISCV=y # CT_DEMULTILIB is not set CT_ARCH_USE_MMU=y CT_ARCH_64=y CT_ARCH_ARCH="rv64gc" -CT_CC_LANG_CXX=y CT_KERNEL_LINUX=y +CT_CC_LANG_CXX=y CT_DEBUG_GDB=y # CT_GDB_CROSS_PYTHON is not set # CT_GDB_GDBSERVER is not set -CT_ZLIB_NEEDED=y diff --git a/samples/s390-ibm-linux-gnu/crosstool.config b/samples/s390-ibm-linux-gnu/crosstool.config index 06fb9f6f..00c111a4 100644 --- a/samples/s390-ibm-linux-gnu/crosstool.config +++ b/samples/s390-ibm-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_S390=y CT_TARGET_VENDOR="ibm" diff --git a/samples/s390-unknown-linux-gnu/crosstool.config b/samples/s390-unknown-linux-gnu/crosstool.config index bf6fbe03..ccf23340 100644 --- a/samples/s390-unknown-linux-gnu/crosstool.config +++ b/samples/s390-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_S390=y CT_KERNEL_LINUX=y diff --git a/samples/s390x-ibm-linux-gnu/crosstool.config b/samples/s390x-ibm-linux-gnu/crosstool.config index 8b4bb083..788bd1f4 100644 --- a/samples/s390x-ibm-linux-gnu/crosstool.config +++ b/samples/s390x-ibm-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_S390=y CT_ARCH_64=y CT_TARGET_VENDOR="ibm" diff --git a/samples/s390x-unknown-linux-gnu/crosstool.config b/samples/s390x-unknown-linux-gnu/crosstool.config index 55b1622e..32989919 100644 --- a/samples/s390x-unknown-linux-gnu/crosstool.config +++ b/samples/s390x-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_S390=y CT_ARCH_64=y CT_KERNEL_LINUX=y diff --git a/samples/sh-multilib-linux-gnu/crosstool.config b/samples/sh-multilib-linux-gnu/crosstool.config index 78e0ce48..0337ffd2 100644 --- a/samples/sh-multilib-linux-gnu/crosstool.config +++ b/samples/sh-multilib-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_SH=y CT_ARCH_CPU="sh4" CT_ARCH_LE_BE=y diff --git a/samples/sh-multilib-linux-uclibc/crosstool.config b/samples/sh-multilib-linux-uclibc/crosstool.config index c4514f68..df09c37d 100644 --- a/samples/sh-multilib-linux-uclibc/crosstool.config +++ b/samples/sh-multilib-linux-uclibc/crosstool.config @@ -1,11 +1,11 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_SH=y CT_ARCH_CPU="sh4" CT_ARCH_LE_BE=y CT_TARGET_VENDOR="multilib" CT_KERNEL_LINUX=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_GCC_MULTILIB_LIST="sh3,sh4,sh4a,sh4a-nofpu" CT_CC_LANG_CXX=y CT_DEBUG_GDB=y diff --git a/samples/sh-unknown-elf/crosstool.config b/samples/sh-unknown-elf/crosstool.config index cf06c371..00213ddb 100644 --- a/samples/sh-unknown-elf/crosstool.config +++ b/samples/sh-unknown-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_SH=y CT_ARCH_LE_BE=y CT_BINUTILS_PLUGINS=y diff --git a/samples/sparc-leon-linux-uclibc/crosstool.config b/samples/sparc-leon-linux-uclibc/crosstool.config index 88bb7a7e..411ea7f4 100644 --- a/samples/sparc-leon-linux-uclibc/crosstool.config +++ b/samples/sparc-leon-linux-uclibc/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_SPARC=y CT_ARCH_CPU="leon" CT_ARCH_TUNE="leon" @@ -6,7 +6,7 @@ CT_ARCH_FLOAT_SW=y CT_TARGET_VENDOR="leon" CT_KERNEL_LINUX=y CT_LINUX_V_3_10=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/samples/${CT_TARGET}/${CT_LIBC}.config" CT_LIBC_UCLIBC_IPV6=y CT_GCC_V_6=y diff --git a/samples/sparc-unknown-linux-gnu/crosstool.config b/samples/sparc-unknown-linux-gnu/crosstool.config index ee5191c7..93ac9222 100644 --- a/samples/sparc-unknown-linux-gnu/crosstool.config +++ b/samples/sparc-unknown-linux-gnu/crosstool.config @@ -1,3 +1,3 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_SPARC=y CT_KERNEL_LINUX=y diff --git a/samples/sparc64-multilib-linux-gnu/crosstool.config b/samples/sparc64-multilib-linux-gnu/crosstool.config index ea235633..d758f012 100644 --- a/samples/sparc64-multilib-linux-gnu/crosstool.config +++ b/samples/sparc64-multilib-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_SPARC=y CT_MULTILIB=y CT_ARCH_64=y diff --git a/samples/x86_64-centos7-linux-gnu/crosstool.config b/samples/x86_64-centos7-linux-gnu/crosstool.config index 08319709..cfe8fa42 100644 --- a/samples/x86_64-centos7-linux-gnu/crosstool.config +++ b/samples/x86_64-centos7-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_X86=y CT_ARCH_64=y diff --git a/samples/x86_64-multilib-linux-gnu/crosstool.config b/samples/x86_64-multilib-linux-gnu/crosstool.config index b5814563..b19920de 100644 --- a/samples/x86_64-multilib-linux-gnu/crosstool.config +++ b/samples/x86_64-multilib-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_X86=y CT_MULTILIB=y CT_ARCH_64=y diff --git a/samples/x86_64-multilib-linux-musl/crosstool.config b/samples/x86_64-multilib-linux-musl/crosstool.config index 83edf11d..0fe7cda2 100644 --- a/samples/x86_64-multilib-linux-musl/crosstool.config +++ b/samples/x86_64-multilib-linux-musl/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_X86=y CT_MULTILIB=y diff --git a/samples/x86_64-multilib-linux-uclibc,moxie-unknown-moxiebox/crosstool.config b/samples/x86_64-multilib-linux-uclibc,moxie-unknown-moxiebox/crosstool.config index 5fd79e4d..ed795f33 100644 --- a/samples/x86_64-multilib-linux-uclibc,moxie-unknown-moxiebox/crosstool.config +++ b/samples/x86_64-multilib-linux-uclibc,moxie-unknown-moxiebox/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_MOXIE=y CT_CANADIAN=y @@ -7,4 +7,3 @@ CT_DEBUG_GDB=y CT_GDB_CROSS_SIM=y # CT_LIBICONV_NEEDED is not set # CT_GETTEXT_NEEDED is not set -CT_DTC_VERBOSE=y diff --git a/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config b/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config index 07c01554..ee02ef7c 100644 --- a/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config +++ b/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_POWERPC=y CT_TARGET_VENDOR="" CT_CANADIAN=y diff --git a/samples/x86_64-multilib-linux-uclibc/crosstool.config b/samples/x86_64-multilib-linux-uclibc/crosstool.config index 01363763..50c5d3bb 100644 --- a/samples/x86_64-multilib-linux-uclibc/crosstool.config +++ b/samples/x86_64-multilib-linux-uclibc/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_X86=y CT_MULTILIB=y CT_ARCH_64=y @@ -9,7 +9,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_DEBUG_DUMA=y CT_DEBUG_GDB=y diff --git a/samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config b/samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config deleted file mode 100644 index 45d80bc9..00000000 --- a/samples/x86_64-ubuntu12.04-linux-gnu/crosstool.config +++ /dev/null @@ -1,10 +0,0 @@ -CT_CONFIG_VERSION="3" -CT_OBSOLETE=y -CT_ARCH_X86=y -CT_ARCH_64=y -CT_TARGET_VENDOR="ubuntu12.04" -CT_KERNEL_LINUX=y -CT_LINUX_V_3_2=y -# CT_KERNEL_LINUX_INSTALL_CHECK is not set -CT_GLIBC_V_2_15=y -CT_CC_LANG_CXX=y diff --git a/samples/x86_64-ubuntu12.04-linux-gnu/reported.by b/samples/x86_64-ubuntu12.04-linux-gnu/reported.by deleted file mode 100644 index d060e03c..00000000 --- a/samples/x86_64-ubuntu12.04-linux-gnu/reported.by +++ /dev/null @@ -1,3 +0,0 @@ -reporter_name="Alexey Neyman" -reporter_url="" -reporter_comment="x86_64 kernel/libc matching Ubuntu 12.04 LTS." diff --git a/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config b/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config index 535df2b9..15380f0d 100644 --- a/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config +++ b/samples/x86_64-ubuntu14.04-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_X86=y CT_ARCH_64=y diff --git a/samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config b/samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config index 4948c001..b30e6d1c 100644 --- a/samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config +++ b/samples/x86_64-ubuntu16.04-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_OBSOLETE=y CT_ARCH_X86=y CT_ARCH_64=y diff --git a/samples/x86_64-unknown-linux-gnu/crosstool.config b/samples/x86_64-unknown-linux-gnu/crosstool.config index 27637ed9..ec8f38f3 100644 --- a/samples/x86_64-unknown-linux-gnu/crosstool.config +++ b/samples/x86_64-unknown-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_X86=y CT_ARCH_64=y CT_KERNEL_LINUX=y diff --git a/samples/x86_64-unknown-linux-uclibc/crosstool.config b/samples/x86_64-unknown-linux-uclibc/crosstool.config index 9b1687ef..9edc8d3d 100644 --- a/samples/x86_64-unknown-linux-uclibc/crosstool.config +++ b/samples/x86_64-unknown-linux-uclibc/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_X86=y CT_ARCH_64=y CT_KERNEL_LINUX=y @@ -7,7 +7,7 @@ CT_BINUTILS_LINKER_LD_GOLD=y CT_BINUTILS_GOLD_THREADS=y CT_BINUTILS_LD_WRAPPER=y CT_BINUTILS_PLUGINS=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_DEBUG_DUMA=y CT_DEBUG_GDB=y diff --git a/samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config b/samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config index 638c6c19..b93a99b8 100644 --- a/samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config +++ b/samples/x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_ARM=y CT_ARCH_CPU="cortex-a9" diff --git a/samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config b/samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config index 64cfbcdb..cf53af7f 100644 --- a/samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config +++ b/samples/x86_64-w64-mingw32,x86_64-pc-linux-gnu/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y # CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES is not set CT_ARCH_X86=y diff --git a/samples/x86_64-w64-mingw32/crosstool.config b/samples/x86_64-w64-mingw32/crosstool.config index 40cbe128..470be44d 100644 --- a/samples/x86_64-w64-mingw32/crosstool.config +++ b/samples/x86_64-w64-mingw32/crosstool.config @@ -1,4 +1,4 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_EXPERIMENTAL=y CT_ARCH_X86=y CT_MULTILIB=y diff --git a/samples/xtensa-fsf-elf/crosstool.config b/samples/xtensa-fsf-elf/crosstool.config index 1caffd1f..2ddf9a0a 100644 --- a/samples/xtensa-fsf-elf/crosstool.config +++ b/samples/xtensa-fsf-elf/crosstool.config @@ -1,4 +1,5 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" +CT_OBSOLETE=y CT_EXPERIMENTAL=y CT_ALLOW_BUILD_AS_ROOT=y CT_ALLOW_BUILD_AS_ROOT_SURE=y diff --git a/samples/xtensa-fsf-linux-uclibc/crosstool.config b/samples/xtensa-fsf-linux-uclibc/crosstool.config index 3c524b0c..0e821cbc 100644 --- a/samples/xtensa-fsf-linux-uclibc/crosstool.config +++ b/samples/xtensa-fsf-linux-uclibc/crosstool.config @@ -1,9 +1,9 @@ -CT_CONFIG_VERSION="3" +CT_CONFIG_VERSION="4" CT_ARCH_XTENSA=y CT_ARCH_BE=y CT_TARGET_CFLAGS="-mlongcalls -mtext-section-literals" CT_TARGET_VENDOR="fsf" CT_KERNEL_LINUX=y -CT_LIBC_UCLIBC=y +CT_LIBC_UCLIBC_NG=y CT_CC_LANG_CXX=y CT_DEBUG_GDB=y -- cgit v1.2.3 From b4191b23a8411e508796fe6c110fdc3b05d94e69 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Wed, 2 Feb 2022 14:26:22 -0800 Subject: Update tic6x sample Restrict kernel to 5.11 and below (support for this arch has been dropped in 5.12); rename the sample to match its name as printed by `ct-ng show-tuple` (otherwise, `make saveconfig` does not update the sample's configuration). Signed-off-by: Alexey Neyman --- config/arch/c6x.in | 5 ++++- packages/linux/package.desc | 2 +- samples/tic6x-uclinux-uclibc/crosstool.config | 14 -------------- samples/tic6x-uclinux-uclibc/reported.by | 3 --- samples/tic6x-uclinux/crosstool.config | 12 ++++++++++++ samples/tic6x-uclinux/reported.by | 3 +++ 6 files changed, 20 insertions(+), 19 deletions(-) delete mode 100644 samples/tic6x-uclinux-uclibc/crosstool.config delete mode 100644 samples/tic6x-uclinux-uclibc/reported.by create mode 100644 samples/tic6x-uclinux/crosstool.config create mode 100644 samples/tic6x-uclinux/reported.by (limited to 'samples') diff --git a/config/arch/c6x.in b/config/arch/c6x.in index 93a8993f..98589ccc 100644 --- a/config/arch/c6x.in +++ b/config/arch/c6x.in @@ -7,9 +7,12 @@ ## select ARCH_DEFAULT_LE ## select ARCH_SUPPORTS_FLAT_FORMAT ## select ARCH_SUPPORTS_WITH_CPU +## select LINUX_REQUIRE_older_than_5_12 +## select LINUX_REQUIRE_3_7_or_later ## depends on EXPERIMENTAL ## ## help The TI C6x (TMS320C6000) architecture ## help https://www.ti.com/processors/digital-signal-processors -## help For linux, kernel must be 3.7 or later (or custom) +## help For linux, kernel must be 3.7 or later (or custom) but not newer +## help than 5.11.x (support for C6x was removed in 5.12). diff --git a/packages/linux/package.desc b/packages/linux/package.desc index f5fa0804..2896725e 100644 --- a/packages/linux/package.desc +++ b/packages/linux/package.desc @@ -2,6 +2,6 @@ origin='www.kernel.org' repository='git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git' mirrors='$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})' relevantpattern='2.*.*|. *.*|.' -milestones='3.2 3.7 4.8 5.3' +milestones='3.2 3.7 4.8 5.3 5.12' archive_formats='.tar.xz .tar.gz' signature_format='unpacked/.sign' diff --git a/samples/tic6x-uclinux-uclibc/crosstool.config b/samples/tic6x-uclinux-uclibc/crosstool.config deleted file mode 100644 index cd4af2c5..00000000 --- a/samples/tic6x-uclinux-uclibc/crosstool.config +++ /dev/null @@ -1,14 +0,0 @@ -CT_CONFIG_VERSION="3" -CT_EXPERIMENTAL=y -CT_ARCH_C6X=y -CT_OMIT_TARGET_VENDOR=y -CT_KERNEL_LINUX=y -CT_MULTILIB=y -CT_LIBC_UCLIBC=y -CT_THREADS="linuxthreads" -CT_UCLIBC_NG_DEVEL_VCS_git=y -CT_UCLIBC_NG_DEVEL_URL="https://github.com/DspHack/uclibc-ng.git" -CT_ARCH_BINFMT_FDPIC=y -CT_CC_LANG_CXX=y -CT_ARCH_ENDIAN="little" - diff --git a/samples/tic6x-uclinux-uclibc/reported.by b/samples/tic6x-uclinux-uclibc/reported.by deleted file mode 100644 index e51f6949..00000000 --- a/samples/tic6x-uclinux-uclibc/reported.by +++ /dev/null @@ -1,3 +0,0 @@ -reporter_name="Dan Tejada " -reporter_url="https://www.cantada.com/" -reporter_comment="Tested with uclibc and linux kernel from http://linux-c6x.org" diff --git a/samples/tic6x-uclinux/crosstool.config b/samples/tic6x-uclinux/crosstool.config new file mode 100644 index 00000000..614c39a2 --- /dev/null +++ b/samples/tic6x-uclinux/crosstool.config @@ -0,0 +1,12 @@ +CT_CONFIG_VERSION="4" +CT_EXPERIMENTAL=y +CT_ARCH_C6X=y +CT_OMIT_TARGET_VENDOR=y +CT_MULTILIB=y +CT_KERNEL_LINUX=y +CT_ARCH_BINFMT_FDPIC=y +CT_LIBC_UCLIBC_NG=y +CT_UCLIBC_NG_SRC_DEVEL=y +CT_UCLIBC_NG_DEVEL_URL="https://github.com/DspHack/uclibc-ng.git" +CT_THREADS_LT=y +CT_CC_LANG_CXX=y diff --git a/samples/tic6x-uclinux/reported.by b/samples/tic6x-uclinux/reported.by new file mode 100644 index 00000000..e51f6949 --- /dev/null +++ b/samples/tic6x-uclinux/reported.by @@ -0,0 +1,3 @@ +reporter_name="Dan Tejada " +reporter_url="https://www.cantada.com/" +reporter_comment="Tested with uclibc and linux kernel from http://linux-c6x.org" -- cgit v1.2.3 From c48319e65f588179a640bc5b998b6c7ecec487f6 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Wed, 2 Feb 2022 17:38:53 -0800 Subject: Rename moxiebox to match its tuple Signed-off-by: Alexey Neyman --- samples/moxie-unknown-moxiebox/crosstool.config | 7 +++++++ samples/moxie-unknown-moxiebox/reported.by | 3 +++ samples/moxiebox/crosstool.config | 7 ------- samples/moxiebox/reported.by | 3 --- 4 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 samples/moxie-unknown-moxiebox/crosstool.config create mode 100644 samples/moxie-unknown-moxiebox/reported.by delete mode 100644 samples/moxiebox/crosstool.config delete mode 100644 samples/moxiebox/reported.by (limited to 'samples') diff --git a/samples/moxie-unknown-moxiebox/crosstool.config b/samples/moxie-unknown-moxiebox/crosstool.config new file mode 100644 index 00000000..fe08882d --- /dev/null +++ b/samples/moxie-unknown-moxiebox/crosstool.config @@ -0,0 +1,7 @@ +CT_CONFIG_VERSION="4" +CT_EXPERIMENTAL=y +CT_ARCH_MOXIE=y +CT_ARCH_LE=y +CT_DEBUG_GDB=y +CT_GDB_CROSS_SIM=y +# CT_GDB_CROSS_PYTHON is not set diff --git a/samples/moxie-unknown-moxiebox/reported.by b/samples/moxie-unknown-moxiebox/reported.by new file mode 100644 index 00000000..b9de4f71 --- /dev/null +++ b/samples/moxie-unknown-moxiebox/reported.by @@ -0,0 +1,3 @@ +reporter_name="Alexey Neyman" +reporter_url="" +reporter_comment="Moxie toolchain with moxiebox+newlib as the C library." diff --git a/samples/moxiebox/crosstool.config b/samples/moxiebox/crosstool.config deleted file mode 100644 index fe08882d..00000000 --- a/samples/moxiebox/crosstool.config +++ /dev/null @@ -1,7 +0,0 @@ -CT_CONFIG_VERSION="4" -CT_EXPERIMENTAL=y -CT_ARCH_MOXIE=y -CT_ARCH_LE=y -CT_DEBUG_GDB=y -CT_GDB_CROSS_SIM=y -# CT_GDB_CROSS_PYTHON is not set diff --git a/samples/moxiebox/reported.by b/samples/moxiebox/reported.by deleted file mode 100644 index b9de4f71..00000000 --- a/samples/moxiebox/reported.by +++ /dev/null @@ -1,3 +0,0 @@ -reporter_name="Alexey Neyman" -reporter_url="" -reporter_comment="Moxie toolchain with moxiebox+newlib as the C library." -- cgit v1.2.3 From 586c2d01565fca083837e09f217d61e8d7ca7ae2 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Fri, 4 Feb 2022 10:31:25 -0800 Subject: sparc-leon: restrict to GDB9 Starting with GDB10, it requires support for std::future<> in the compiler. Such support has not been available on some architectures until GCC9 (see PR 64735). I haven't determined the exact list of affected architectures, so decided to make it a broad dependency: for GDB10+, you need GCC9+. Signed-off-by: Alexey Neyman --- config/debug/gdb.in | 7 +++++++ samples/sparc-leon-linux-uclibc/crosstool.config | 1 - 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'samples') diff --git a/config/debug/gdb.in b/config/debug/gdb.in index aa3235ed..b0b9d294 100644 --- a/config/debug/gdb.in +++ b/config/debug/gdb.in @@ -21,6 +21,13 @@ config GDB_DEP_CXX11 depends on !CONFIGURE_has_cxx11 select GDB_REQUIRE_older_than_8_0 +# GDB10 and newer require std::future<> which was not implemented on some +# architectures until GCC9; see GCC PR 64735. +config GDB_DEP_NO_STD_FUTURE + def_bool y + depends on !GCC_9_or_later + select GDB_REQUIRE_older_than_10_2 + # Does GDB need ps_get_thread_area with const qualifier? config GDB_CONST_GET_THREAD_AREA bool diff --git a/samples/sparc-leon-linux-uclibc/crosstool.config b/samples/sparc-leon-linux-uclibc/crosstool.config index 411ea7f4..0fd6360e 100644 --- a/samples/sparc-leon-linux-uclibc/crosstool.config +++ b/samples/sparc-leon-linux-uclibc/crosstool.config @@ -8,7 +8,6 @@ CT_KERNEL_LINUX=y CT_LINUX_V_3_10=y CT_LIBC_UCLIBC_NG=y CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/samples/${CT_TARGET}/${CT_LIBC}.config" -CT_LIBC_UCLIBC_IPV6=y CT_GCC_V_6=y CT_CC_GCC_EXTRA_CONFIG_ARRAY="--disable-libitm" CT_CC_LANG_CXX=y -- cgit v1.2.3 From c6ff1eca5b2d41bbfd085413fad4652524b726a8 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sun, 6 Feb 2022 15:12:59 -0800 Subject: Restrict *-uclibc,* canadians to gettext 0.20 Newer gettext is incompatible with uClibc-NG in cross-compilation, see the comment in the code. Signed-off-by: Alexey Neyman --- config/comp_libs/gettext.in | 10 ++++++++++ packages/gettext/package.desc | 1 + .../crosstool.config | 1 + .../crosstool.config | 1 + scripts/build/companion_libs/330-gettext.sh | 22 ++++++++++++++++++++++ 5 files changed, 35 insertions(+) (limited to 'samples') diff --git a/config/comp_libs/gettext.in b/config/comp_libs/gettext.in index df7e3361..85e43873 100644 --- a/config/comp_libs/gettext.in +++ b/config/comp_libs/gettext.in @@ -1 +1,11 @@ # gettext options + +config GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG + def_bool y + depends on GETTEXT_0_21_or_later + +if GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG +comment "This version of gettext is not compatible with uClibc-NG. Select" +comment "a different version if uClibc-NG is used on the target or (in a" +comment "Canadian cross build) on the host." +endif diff --git a/packages/gettext/package.desc b/packages/gettext/package.desc index 99d493ff..2341b4bd 100644 --- a/packages/gettext/package.desc +++ b/packages/gettext/package.desc @@ -5,3 +5,4 @@ bootstrap='./autogen.sh' mirrors='$(CT_Mirrors GNU gettext)' archive_formats='.tar.xz .tar.gz' signature_format='packed/.sig' +milestones='0.21' diff --git a/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config b/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config index 40736a5e..29e7406b 100644 --- a/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config +++ b/samples/powerpc-unknown-linux-uclibc,m68k-unknown-uclinux-uclibc/crosstool.config @@ -4,3 +4,4 @@ CT_CANADIAN=y CT_HOST="powerpc-unknown-linux-uclibc" CT_KERNEL_LINUX=y CT_THREADS_LT=y +CT_GETTEXT_V_0_20_1=y diff --git a/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config b/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config index ee02ef7c..867ac133 100644 --- a/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config +++ b/samples/x86_64-multilib-linux-uclibc,powerpc-unknown-elf/crosstool.config @@ -6,6 +6,7 @@ CT_HOST="x86_64-multilib-linux-uclibc" CT_BINUTILS_PLUGINS=y CT_CC_LANG_CXX=y CT_DEBUG_GDB=y +CT_GETTEXT_V_0_20_1=y CT_COMP_TOOLS_FOR_HOST=y CT_COMP_TOOLS_M4=y CT_COMP_TOOLS_MAKE=y diff --git a/scripts/build/companion_libs/330-gettext.sh b/scripts/build/companion_libs/330-gettext.sh index 149d7d73..9fa3bdcc 100644 --- a/scripts/build/companion_libs/330-gettext.sh +++ b/scripts/build/companion_libs/330-gettext.sh @@ -80,6 +80,28 @@ do_gettext_backend() { return ;; + # Starting with 0.21, gettext cannot build against uClibc-NG: gettext + # checks if it needs to use fopen wrapper (using gnulib) and newer versions + # of gnulib also check if fopen provided by the system supports 'e' and 'x' + # modes. In cross-compile environment, gnulib falls back to assuming fopen + # does not support these modes unless the target tuple is glibc or musl + # (rightly so, since these fopen modes are optional in uClibc-NG). + # Unfortunately, the fopen() wrapper does not compile against uClibc-NG's + # stdio.h then because it includes after defining __need_FILE macro. + # It looks like two bugs, one in each of uClibc-ng and gnulib: + # - uClibc-ng does not include its internal headers with the definitions for the + # __BEGIN_NAMESPACE_STD/__END_NAMESPACE_STD macros, which therefore escape + # unsubstituted into the including code. + # - gnulib shouldn't expect the fopen() prototype if it only asked for FILE + # structure definition by defining the __need_FILE macro. + # Until the maintainers sort this out, disallow newer gettext versions if + # linking against uClibc-NG. + *-uclibc*) + if [ "${CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG}" = "y" ]; then + CT_Abort "This version of gettext is incompatible with uClibc-NG" + fi + ;; + # A bit ugly. D__USE_MINGW_ANSI_STDIO=1 has its own {v}asprintf functions # but gettext configure doesn't see this flag when it checks for that. An # alternative may be to use CC="${host}-gcc ${cflags}" but that didn't -- cgit v1.2.3 From c320d220d65066688c80fffa7b85208e2bc06afc Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Tue, 8 Feb 2022 10:42:06 -0800 Subject: Turn off debugging in sample configuration Signed-off-by: Alexey Neyman --- samples/xtensa-fsf-elf/crosstool.config | 2 -- 1 file changed, 2 deletions(-) (limited to 'samples') diff --git a/samples/xtensa-fsf-elf/crosstool.config b/samples/xtensa-fsf-elf/crosstool.config index 2ddf9a0a..a13c4779 100644 --- a/samples/xtensa-fsf-elf/crosstool.config +++ b/samples/xtensa-fsf-elf/crosstool.config @@ -3,8 +3,6 @@ CT_OBSOLETE=y CT_EXPERIMENTAL=y CT_ALLOW_BUILD_AS_ROOT=y CT_ALLOW_BUILD_AS_ROOT_SURE=y -CT_DEBUG_CT=y -CT_DEBUG_CT_SAVE_STEPS=y CT_ARCH_XTENSA=y CT_MULTILIB=y CT_TARGET_CFLAGS="-mlongcalls" -- cgit v1.2.3