aboutsummaryrefslogtreecommitdiff
path: root/config
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fixes for libstdcxx-verbose option tristateNorbert Lange2022-07-111-1/+0
| | | | | | | | | | | | | | | | Make it proper "tristate" by not specifying the option. The config GCC_4_8_or_later was removed with cc6b7fad46f5cb3d84, so dont use it.
* | Allow libsanitizer on architectures that support itChris Packham2022-07-119-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | libsanitizer is only supported on selected architectures. Add ARCH_SUPPORTS_LIBSANITIZER and have architectures select this option based on the list of supported configurations from GCC's libsanitizer/configure.tgt. Support for mips64 was added in GCC12 so this is an additional condition for the mips architecture. Fixes #1733 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* | newlib: fix conflicting configure optionsChen Tao2022-06-281-0/+24
| | | | | | | | | | | | | | | | | | | | Configuring the newlib with "--enable-newlib-nano-formatted-io" and "--enable-newlib-io-pos-args" would cause built GCC cannot compile some IO functions like "std::cout". And I added additional notes at Nano Formatted I/O config. Signed-off-by: Chen Tao <t.clydechen@gmail.com>
* | kconfig: modify rules for multilibs configurationChen Tao2022-06-282-6/+10
| | | | | | | | | | | | | | | | | | fix conflict options when compiling multilibs on ARM based architecture. "--with-arch", "--with-cpu", "--with-fpu", "--with-float", and "--with-mode" should not be configured with "--with-multilib-list=list" when configuring multilibs. Signed-off-by: Chen Tao <t.clydechen@gmail.com>
* | glibc: configure adding debug symbols in glibc buildGuillermo E. Martinez2022-06-211-0/+7
|/ | | | | | | | | | After building the cross toolchain and compile a simple C program, objdump reports debug information even though -g modifier was not used. These debug segments are in glibc library and CRT files. So a new config entry: CT_GLIBC_ENABLE_DEBUG was added to control when we want to add debug information to glibc, by default is enabled. Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
* Enable D language supportMarc Poulhiès2022-06-142-0/+15
| | | | | | | Enable D support as an experimental feature. GDC becomes a build dependency when enabled. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* gcc: Disable zstd for canadian buildsChris Packham2022-05-311-2/+1
| | | | | | | | | | We don't currently bundle zstd so when performing a canadian build we need to tell GCC not to enable zstd support for lto otherwise it might decide to enable it based on the package being installed on the build machine. Fixes #1718 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* glibc: rework GLIBC_ENABLE_WERRORChris Packham2022-05-311-5/+6
| | | | | | | | | | Use `depends on` conditions to enable/disable building glibc with -Werror. Using `depends on` instead of `default if` means that when the GCC/GLIBC selection changes GLIBC_ENABLE_WERROR will automatically become n. Fixes #1729, fixes #1712 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Update fix for sh-unknown-elfChris Packham2022-05-311-1/+1
| | | | | | | | | Extend the fix from commit 6b465e15 ("Remove m1 from multilibs for GCC11 on SH arch.") to cover GCC 12 and future releases. Remove the patch that was added to solve the same problem. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* glibc: Reinstate support for the bundled portsChris Packham2022-05-181-0/+9
| | | | | | | | | | | Commit 6d5227b6 ("Remove obsolete glibc 2.12.1") removed supports for the separate glibc-ports but also removed GLIBC_USE_PORTS_ADDON. Glibc versions up to 2.20 bundled support from some architectures in the ports directory so GLIBC_USE_PORTS_ADDON is required to support these older glibc versions. Fixes #1736 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* linux: Add 5.17.5, bump LTSChris Packham2022-05-161-0/+1
| | | | | | | | | | | | | | | | Add 5.17.5 Bump 5.16.9 -> 5.16.20 Bump 5.15.23 -> 5.15.37 Bump 5.10.100 -> 5.10.113 Bump 4.19.229 -> 4.19.241 Bump 4.14.266 -> 4.14.277 Bump 4.9.301 -> 4.9.312 Linux 5.5 made `make headers_check` a no-op and as of 5.17 it has been removed so add a milestone and use it as a dependency for KERNEL_LINUX_INSTALL_CHECK. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gdb: drop obsolete versionsChris Packham2022-05-102-23/+3
| | | | | | | Drop gdb 7.11.1, 7.12.1, 8.0.1, 8.1.1 and 8.2.1. Cleanup milestones related to these older versions. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Remove obsolete glibc 2.12.1Chris Packham2022-05-101-17/+0
| | | | | | | | | glibc 2.12.1 was marked as obsolete. Now that the 1.25.0 release is out this version can be removed completely. As glibc 2.12.1 was the last remaining version supported by glibc-ports support for glibc-ports is also removed. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Remove obsolete bionic/android supportChris Packham2022-05-105-132/+0
| | | | | | | | The bionic libc support was out of date and relied on downloading binaries from the internet. It was already marked as obsolete. Now that the 1.25.0 release is out it can be completely removed. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* glibc: Enable -Werror for more combinations of GCC/GLIBCChris Packham2022-05-011-2/+8
| | | | | | | | | | | Newer GCC versions trigger warnings on older GLIBC versions. GLIBC 2.29 is warning free with GCC9. GLIBC 2.31 is warning free with GCC10. GLIBC 2.34 is warning free with GCC11. Add milestones for 2.31 and 2.34 and use those to set the default value for GLIBC_ENABLE_WERROR based on the GCC version. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* xtensa: Remove obsoleted CT_ARCH_XTENSA_CUSTOM_NAMEAnton Maklakov2022-04-021-1/+1
|
* gcc: add gcc libstdcxx-verbose optionNorbert Lange2022-02-231-0/+17
| | | | | | | Rather important option for arm cortex toolchains supporting c++, avoids pulling in all printf/iostream code by default. Signed-off-by: Norbert Lange <nolange79@gmail.com>
* bionic: mark bionic/android-ndk as obsoleteChris Packham2022-02-231-0/+1
| | | | | | | | | | Support for bionic was dropped by GCC some time ago. There are patches for older GCC versions but those are difficult to maintain and the version of the android-ndk they support is of little use. Mark all of the existing bionic support as obsolete so it can be removed after the next release. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Merge pull request #1674 from stilor/masterAlexey Neyman2022-02-1419-164/+53
|\ | | | | Updates to make `ct-ng build-all` pass
| * Unify core passesAlexey Neyman2022-02-118-11/+8
| | | | | | | | | | | | | | | | | | With libc_headers step before pass-1, there is no need to distinguish pass-1 and pass-2; they are configured identically (note that with the current configuration, core pass-2 is only used for win32 - hence, uses build_libgcc=yes and mode=static). Signed-off-by: Alexey Neyman <stilor@att.net>
| * Convert tabs to spacesAlexey Neyman2022-02-111-1/+1
| | | | | | | | | | | | | | Recent changes introduced a mixture of tabs/spaces that result in broken indentation in multiple places. Signed-off-by: Alexey Neyman <stilor@att.net>
| * Restrict *-uclibc,* canadians to gettext 0.20Alexey Neyman2022-02-111-0/+10
| | | | | | | | | | | | | | Newer gettext is incompatible with uClibc-NG in cross-compilation, see the comment in the code. Signed-off-by: Alexey Neyman <stilor@att.net>
| * Restrict bionic's GCC/GDB selectionsAlexey Neyman2022-02-111-1/+10
| | | | | | | | | | | | Refer to the comments in the code for the reason. Signed-off-by: Alexey Neyman <stilor@att.net>
| * gdb: use single-number versions/milestones for 9+Alexey Neyman2022-02-112-3/+3
| | | | | | | | | | | | | | | | Starting with GDB9, the release number is only two numbers (with the last being patchlevel). Therefore, keep two numbers for releases 8 and below, but just a single number for 9 and up. Signed-off-by: Alexey Neyman <stilor@att.net>
| * sparc-leon: restrict to GDB9Alexey Neyman2022-02-111-0/+7
| | | | | | | | | | | | | | | | | | | | 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 <stilor@att.net>
| * Update tic6x sampleAlexey Neyman2022-02-111-1/+4
| | | | | | | | | | | | | | | | | | 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 <stilor@att.net>
| * Retire obsoleted milestonesAlexey Neyman2022-02-1111-148/+11
| | | | | | | | | | | | | | | | | | | | | | | | ... 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 <stilor@att.net>
* | powerpc: Allow GCC 8.5 for SPE ABIChris Packham2022-02-131-1/+1
|/ | | | | | | | | Support for the SPE ABI was removed in GCC 9. Update the select to GCC_REQUIRE_older_than_9 so that GCC 8.5 can be selected. Fixes #1349, fixes #1666 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Fix deterministic binutils optionNorbert Lange2022-01-301-2/+2
| | | | | | | | Versions before 2.26 got removed in fa992b41, together with CT_BINUTILS_2_23_or_later. Remove reference to this variable Signed-off-by: Norbert Lange <nolange79@gmail.com>
* glibc: Re-enable WerrorChris Packham2022-01-121-3/+0
| | | | | | | | | | | | Now that we have a 2-pass build it is no longer necessary to disable -Werror in glibc. This partially reverts commits 6ca5f91f ("Disable -Werror for GLIBC for all ARCH for GCC11."), 215432d3 ("config/libc: Extend glibc 2.32 workaround to include sparc") and 645ee124 ("glibc: Don't build with -Werror for powerpc64+glibc-2.32"). Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Build static libgcc in core_pass1Chris Packham2022-01-126-12/+5
| | | | | | | | | | | | | | | | | | Per https://github.com/crosstool-ng/crosstool-ng/issues/808 build static libgcc in the first pass which lets us skip the second one. Building mingw-w64 requires header files in order to build C++ support so mingw builds core pass 2. This could probably be cleaned up by splitting libc_start_files into a separate libc_header step. But for now having core 2 for mingw-w64 and core 1 for the other libcs will have to do. Anything that previously selected CC_CORE_PASSES_NEEDED now selects CC_CORE_PASS_1_NEEDED. The same goes for CC_CORE_PASS_2_NEEDED with the exception of mingw-w64. Fixes #808 Fixes #217 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* glibc: Add comment about python 3.4 dependencyChris Packham2021-11-301-0/+3
| | | | | | | Add a comment that is visible when the python3.4 prerequisite is not met so that users can tell why they can't select a newer glibc version. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* linux: Add dependency on rsync for Linux >= 5.3Chris Packham2021-11-302-0/+10
| | | | | | | | | | | As of Linux v5.3 rsync is used as part of the build process. Add Linux 5.3 as a milestone, configure detection of rsync and a dependency on rsync for Linux 5.3 and newer. Add a comment in so that users can tell why they can't select a newer version. Fixes #1628 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* ncurses: Use new v6 ABI by defaultAlexey Brodkin2021-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These days old v5 ABI is not that relevant as it used to be back in 2015 when ncurses 6.x was added to CT-NG. And now we see say target "gdb" relying on "libncurses.so.5", while up-to-date Buildroot provides "libncurses.so" & "libncurses.so.6": --------------------------->8------------------------- $ ldd /bin/gdb libncurses.so.5 => not found libstdc++.so.6 => /lib/libstdc++.so.6 (0x20022000) libm.so.6 => /lib/libm.so.6 (0x2017c000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x201ba000) libc.so.6 => /lib/libc.so.6 (0x201c8000) /lib/ld-linux-arc.so.2 (0x20000000) --------------------------->8------------------------- Switching to a default (v6 ABI) by default. And... --------------------------->8------------------------- $ ldd /bin/gdb libncurses.so.6 => /usr/lib/libncurses.so.6 (0x20022000) libstdc++.so.6 => /lib/libstdc++.so.6 (0x20054000) libm.so.6 => /lib/libm.so.6 (0x201ae000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x201ec000) libc.so.6 => /lib/libc.so.6 (0x201fa000) /lib/ld-linux-arc.so.2 (0x20000000) --------------------------->8------------------------- Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* binutils: Remove obsolete versionsChris Packham2021-09-212-19/+0
| | | | | | | | | | | | | | | The following versions were marked obsolete in crosstool-ng-1.24.0, remove them. - binutils-linaro-2.23.2-2013.10-4 - binutils-linaro-2.24.0-2014.11-2 - binutils-linaro-2.25.0-2015.01-2 - binutils-2.23.2 - binutils-2.24 - binutils-2.25.1 Adjust the milestones now that the old versions have been removed. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gdb: Remove old milestonesChris Packham2021-09-213-17/+1
| | | | | | | Now that the oldest supported version of gdb is 7.11.1 we can make some parts of the build unconditional and remove the associated config vars. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gdb: Add gdb-11.1Chris Packham2021-09-191-0/+1
| | | | | | | Drop the uclibc-no-gettimeofday-clobber patch as it no longer applies. The arc patches are all upstream. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gmp: Support building for targetChris Packham2021-09-191-0/+4
| | | | | | | Allow GMP to be build for the target. This will be needed by the up coming gdb-11. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* cc/gcc: Add options for zstd usageChris Packham2021-08-291-0/+19
| | | | | | | | | | | | GCC can support using zstd compression for LTO object files. By default GCC's configure will enable this if libzstd is installed on the machine building the toolchain. This may be undesirable if the toolchain is to be used on a different machine. Add an option to control zstd usage and set the default to the same as the current behaviour (i.e. auto). Fixes #1579 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gdb: Add gdb-10.2Alexey Brodkin2021-08-251-0/+6
| | | | | | | | | | | | | | | | | In GDB 10.x gdbserver was promoted to the top-level folder, see https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=919adfe8409211c726c1d05b47ca59890ee648f1 Which means it is no longer a subfolder in "gdb" and so we have to build gdbserver now exactly in the same way as normal native GDB. One interesting detail is gdbserver doesn't need to deal with target description in .xml so it doesn't depend on libexpat on target, thus we need to move libexpat explicit selection from do_gdb_backend() to its callers when building native [full] gdb as well as cross-gdb for the host. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> [cp: support old/new layout, regenerate patches] Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Add EXTRA_CXXFLAGS_FOR_BUILD optionRaphael Catolino2021-07-061-1/+11
| | | | Signed-off-by: Raphael Catolino <raphael.catolino@gmail.com>
* Add fcommon flag help and remove extra empty linesNik Konyuchenko2021-06-241-1/+3
| | | | Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
* Fix build of older Glibc using GCC >=10Nik Konyuchenko2021-06-241-0/+7
| | | | | | | | | | | | | Issue #1535 GCC 10 changed the default to -fno-common, which leads to a linking error in GLibc older than 2.30. This change adds -fcommon cflag for the target GLibc versions <=2.29 and GCC >=10. This change also adds additional cflags for the target GLibc to disable new GCC11 checks that lead to compilation errors. Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
* gcc: Make CC_GCC_TM_CLONE_REGISTRY tristateChris Packham2021-06-201-1/+8
| | | | | | | | | | | | | | Explicitly passing --disable-tm-clone-registry causes gcc to create a crtbegin.o with a zero-sized .init_array/.fini_array. This in turn causes ld to complain. Make CC_GCC_TM_CLONE_REGISTRY a tristate so if it's not explicitly enabled we can let ./configure decide. Fixes #1531 Fixes: 1e21a302 ("gcc: Add CT_CC_GCC_TM_CLONE_REGISTRY config") Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Merge pull request #1524 from ↵Chris Packham2021-06-091-0/+8
|\ | | | | | | | | stephanosio/gcc_custom_libstdcpp_cxx_flags_upstream Fix libstdc++ build options
| * newlib: Add libstdc++ nano-specific CXXFLAGSStephanos Ioannidis2021-06-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | This commit adds a new config that can be used to specify the target CXXFLAGS specific to the libstdc++ newlib-nano variant. By default, this config is set to specify the `-fno-exceptions` option, which disables C++ exception handling support and greatly reduces the compiled binary size. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* | gcc: Add CT_CC_GCC_TM_CLONE_REGISTRY configStephanos Ioannidis2021-06-081-0/+7
|/ | | | | | | | | | | This commit adds a new gcc config `CT_CC_GCC_TM_CLONE_REGISTRY` that enables the GCC transactional memory clone registry feature for libgcc. Note that the gcc option to control this feature is only available in gcc 10 and above. (see gcc commit 5a4602805eb3ebddbc935b102481e63bffc7c5e6) Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* glibc: --enable-obsolete-rpc has been removed as of 2.32Chris Packham2021-05-111-1/+1
| | | | | | | | | Make --enable-obsolete-rpc conditional on !GLIBC_2_32_or_later as it's been removed from that version on. Fixes: #1505 Fixes: commit 1ee44ab5 ("glibc: --enable-obsolete-rpc has been removed as of 2.32") Signed-off-by: Chris Packham <judge.packham@gmail.com>
* alpha: Support 64-bit onlyChris Packham2021-05-111-2/+2
| | | | | | | | | | Alpha is a 64-bit only arch. The menu options only allowed 32 bitness to be selected. This was harmless but confusing, update the config to specify 64-bit only. Fixes: #1506 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Remove m1 from multilibs for GCC11 on SH arch.spaun20022021-05-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC11 somehow has different set of multilibs on SH arch than what GCC10 had. In particular: $ gcc10 -print-multi-lib | sed -r -e 's/@/ -/g;' .; mb; -mb m2; -m2 m2e; -m2e m4; -m4 m4-single; -m4-single m4-single-only; -m4-single-only mb/m2; -mb -m2 mb/m2e; -mb -m2e mb/m4; -mb -m4 mb/m4-single; -mb -m4-single mb/m4-single-only; -mb -m4-single-only mb/m2a; -mb -m2a mb/m2a-single; -mb -m2a-single $ gcc11 -print-multi-lib | sed -r -e 's/@/ -/g;' .; mb; -mb m2; -m2 m2e; -m2e m4; -m4 m4-single; -m4-single m4-single-only; -m4-single-only mb/m1; -mb -m1 mb/m2; -mb -m2 mb/m2e; -mb -m2e mb/m4; -mb -m4 mb/m4-single; -mb -m4-single mb/m4-single-only; -mb -m4-single-only mb/m2a; -mb -m2a mb/m2a-single; -mb -m2a-single mb/m1 fails to build libgcc as libgcc uses opcodes that were not available in SH-1: libgcc/config/sh/lib1funcs.S uses 'bt/s' and 'dt' instructions that, according to https://antime.kapsi.fi/sega/files/h12p0.pdf become available in the SH-2 only. So I removed mb/m1 from the multilibs fog GCC11 and SH arch. Another option would be to try not to build libgcc for this combination of the gcc version and archichecture, but I thought this fix would be more robust. Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>