aboutsummaryrefslogtreecommitdiff
path: root/config
Commit message (Collapse)AuthorAgeFilesLines
* HALF WORK!HEADmasterYuqian Yang12 hours3-0/+5
|
* Use -std=c17 for companion libs, which won't build with C23 standard, ↵Michał Zagórski2025-06-132-0/+10
| | | | | | default for gcc15 Signed-off-by: Michał Zagórski <zagura6+github@gmail.com>
* arch/nios2: Require binutils older than 2.44Chris Packham2025-06-041-0/+1
| | | | | | | | Support for the nios2 architecture was removed in binutils 2.44. Add this constraint to config/arch/nios2.in. Fixes #2348 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* libc/glibc: Add workaround for makeinfo build issueChris Packham2025-06-041-0/+6
| | | | | | | | | Newer versions of makeinfo fail to build the older versions of the glibc manual triggering build failures. Add a workaround for this my disabling makeinfo for the glibc build where needed. Fixes #2358 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Fixes false indication of HAS_OBSOLETE_LIBCRYPT optionStefan Hallas Mulvad2025-05-161-3/+3
| | | | | | | | | As of glibc-2.39, the HAS_OBSOLETE_LIBCRYPT option has been removed. This patch updates menuconfig to reflect this. Fixes #2238 Signed-off-by: Stefan Hallas Mulvad <stefan.hallas.mulvad@axon-networks.com>
* Add the FPU options for SuperHQBos072025-05-072-6/+161
| | | | | | A lot of the old code didn't even work Signed-off-by: QBos07 <qubos@outlook.de>
* binutils: add version 2.44Hans-Christian Noren Egtvedt2025-04-301-1/+12
| | | | | | | | | | | | https://lists.gnu.org/archive/html/info-gnu/2025-02/msg00001.html Add the new version rebasing the patches we carry on top. Drop patches to gold, since this linker has been removed from upstream. Add a new Kconfig entry that removes visibility of enabling gold linker when selecting binutils version >= 2.44. Signed-off-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no>
* companion_libs: Make picolibc build compatible with 1.8.10Keith Packard2025-04-261-5/+24
| | | | | | | | | | | | | | | | | | | | | Picolibc 1.8.10 reworked the configuration option for single/multi thread support and removed some unused options for exit handler support. Map LIBC_PICOLIBC_MULTITHREAD to the new single-thread option or the old newlib-retargetable-locking+newlib-multithread options depending on whether the picolibc version knows about the single-thread option. Remove support for newlib-register-fini, newlib-atexit-dynamic-alloc, newlib-global-atexit and lite-exit options as all of those relate to the legacy exit handler code. There hasn't ever been any way to enable this using crosstool-ng, so none of these options have ever done anything. The help strings for each of of the unused configuration variables have been updated. Signed-off-by: Keith Packard <keithp@keithp.com>
* picolibc: Add LIBC_PICOLIBC_GCC_LIBSTDCXX_TARGET_CXXFLAGSKeith Packard2025-04-261-0/+8
| | | | | | | This provides additional flags used when building libstdc++ for picolibc. Signed-off-by: Keith Packard <keithp@keithp.com>
* gcc: Add CC_GCC_LIBSTDCXX_TARGET_CXXFLAGSKeith Packard2025-04-261-0/+8
| | | | | | | | | This parallels the newlib-nano setting, NEWLIB_NANO_GCC_LIBSTDCXX_TARGET_CXXFLAGS, and provides a place to specify options that control how libstdc++ is build, such as -fno-exceptions. Signed-off-by: Keith Packard <keithp@keithp.com>
* arch: Add support for RX gcc buildDuy Nguyen2025-04-041-0/+11
| | | | Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
* contrib/gcc-test-suite: Add configuration options including qemu setupKeith Packard2025-03-012-2/+52
| | | | | | | | | | This makes the options necessary to run the gcc test suite configurable in the crosstool-ng config file. That includes the ability to run the test suite using qemu instead of on a remote host. Signed-off-by: Keith Packard <keithp@keithp.com>
* binutils: Don't enable plugins with static toolchainChris Packham2025-02-171-0/+1
| | | | | | | | | A static toolchain by definition can't load plugins and GCC will reject the --enable-plugin configure option if we're trying to build a static toolchain. Fixes #2288 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* mpc, mpfr: Remove unused milestonesChris Packham2025-02-081-2/+0
| | | | | | | | An older version of MPC had issues with some versions of MPFR. We don't actually have either version of these packages anymore so we no longer need these milestones. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* arch: nios2: Qualify selectsChris Packham2025-02-051-2/+2
| | | | | | | | | | | | | | | | | | Previous commits added selects so that the nios2 architecture only used GDB/GLIBC versions that still support it however these weren't qualified leading to kconfig complaints such as WARNING: unmet direct dependencies detected for GLIBC_REQUIRE_older_than_2_41 Depends on [n]: LIBC_GLIBC_SHOW [=n] Selected by [y]: - ARCH_NIOS2 [=y] && GEN_CHOICE_ARCH [=y] Qualify these selects with if DEBUG_GDB and if LIBC_GLIBC to stop the complaints. Fixes: 9d91cebe ("gdb: Add 16.1") Fixes: 87605d65 ("glibc: Add 2.41") Signed-off-by: Chris Packham <judge.packham@gmail.com>
* glibc: Add 2.41Chris Packham2025-02-011-0/+1
| | | | | | | | | https://sourceware.org/pipermail/libc-announce/2025/000045.html Support for nios2*-*-linux-gnu has been removed in this version so the nios2 architecture now requires and older glibc. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gdb: Add 16.1Chris Packham2025-01-221-0/+1
| | | | | | | | | https://sourceware.org/pipermail/gdb-announce/2025/000143.html Support for Nios II targets has been removed so that architecture now requires a version of GDB older than 16. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* bpf: Use released binutils/gccChris Packham2025-01-081-2/+2
| | | | | | | | | | When the bpf-unknown-none sample was added the target support was not in a released version of binutils or gcc. The support has been in a few versions of each of these for a while now. Update the sample to use released versions instead of potentially unstable versions from upstream. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* nios2: Require GCC older than 15Chris Packham2025-01-071-0/+1
| | | | | | | | As per https://gcc.gnu.org/gcc-14/changes.html nios2 will be removed in GCC 15. Even in GCC 14 we need to pass --enable-obsolete to allow this target. Update our samples accordingly. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* lm32: Initial LatticeMicro32 supportJiaxun Yang2025-01-072-1/+11
| | | | | | | | This target is in GCC/binutils for a while. It's baremetal only without upstream Linux support. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
* openrisc: Initial OpenRISC 1000 supportJiaxun Yang2025-01-071-0/+13
| | | | | | | | This target is in GCC/binutils/Linux/Glibc/musl for a while. Baremetal/glibc/musl toolchains are all build tested. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
* ltrace: Add !BARE_METAL dependencyChris Packham2025-01-051-0/+1
| | | | | | | | Ltrace requires an OS. Add a depend to prevent ltrace from being selected when building for bare metal. Fixes #1555, #2240 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Cleanup old avr-libstdcxx code and make it usable on other targetsQBos072024-12-231-9/+34
| | | | | | | | | | Should not cause major unwanted behavior changes - C++ is now selected by default in many configs. Signed-off-by: QBos07 <qubos@outlook.de> [cp: depend on CC_LANG_CXX instead of select] Signed-off-by: Chris Packham <judge.packham@gmail.com>
* initial support to build tricore gccjferreir2024-11-101-0/+10
| | | | | | | | | | Add support for Tricore architecture. TriCore architecture is optimized for real-time embedded systems. More information can be found at AURIX™ TC3xx Architecture vol 1 https://www.infineon.com/dgdl/Infineon-AURIX_TC3xx_Architecture_vol1-UserManual-v01_00-EN.pdf?fileId=5546d46276fb756a01771bc4c2e33bdd Signed-off-by: jferreir <jesus.ferreira@gmail.com>
* Drop --passive-ftp from wget's default optionsBastien Curutchet2024-10-251-1/+1
| | | | | | | | | | | | | In some distributions (as Fedora), wget2 is used instead of wget. wget2 doesn't support the --passive-ftp option causing every download to fail. Also, according to wget's NEWS file [0], --passive-ftp is already the default in wget since 1.10. Remove the --passive-ftp from wget's default options. [0] https://gitlab.com/gnuwget/wget/-/blob/master/NEWS#L733 Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
* glibc: Turn implicit-int back into warningChris Packham2024-10-151-2/+2
| | | | | | | | | | As of GCC14 implicit-int has been upgraded to an error. While this is generally a good idea it trips up some older code (particularly in autoconf generated configure scripts). Add -Wno-implicit-int to CFLAGS for glibc when using an old GLIBC with a new GCC. Fixes #2208 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* improve a workaround for a glibc and GNU make incompatibilityCharles Baylis2024-09-141-1/+1
| | | | | | | | | | | | | | | Versions of GNU make newer than 4.4 trigger a hang in versions of glibc older than 2.31. In e63c40854c977f488bee159a8f8ebf5fc06c8666, this was fixed when the host platform provided make >= 4.4. However, if the host distro provides only an ancient version of make, crosstool-ng would still build make 4.4 as a comp tool, which would fail to build glibc. Extend the previous workaround to build make 4.3 when building old glibc versions which require it. See also: #1946 Signed-off-by: Charles Baylis <cbaylis@fishzet.co.uk>
* RISC-V: Remove EXPERIMENTAL tagAlexey Brodkin2024-09-091-1/+0
| | | | | | | | | | | It's been a while since RISC-V support was added to CT-NG in 2017. Since then RISC-V support was integrated in all the key toolchain components upstream and now are proven to be in a very good state. Thus it makes no sense to keep this architecture "hidden" in experimental options, so we promote RISC-V architecture in CT-NG. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* binutils: Allow gold to be statically linkedChris Packham2024-07-291-1/+0
| | | | | | | | | | | gold uses g++ to link which doesn't recognise -all-static. It appears as if -static should work for both libtool and g++ but for some reason it doesn't. Remove the restriction that gold can't be included in a static toolchain. When a static toolchain is requested pass --with-gold-ldflags=--static to configure. Finally build gold separately so it does not get the extra_make_flags which may contain -all-static. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* binutils: Allow gold for more architecturesChris Packham2024-07-291-0/+5
| | | | | | | | Based on the configure.ac for binutils it appears that arm, loongarch, mips, powerpc, s390, sparch and x86 are supported. Expand the list of architectures that gold is allowed to be used on. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gdb: Add gdb 15.1Chris Packham2024-07-241-0/+2
| | | | | | | | | | | | | https://sourceware.org/pipermail/gdb-announce/2024/000140.html The release notes state that "Building GDB and GDBserver now requires a C++17 compiler (for instance, GCC 9 or later)". Looks like we already satisfy this requirement with GDB_DEP_NO_STD_FUTURE. gdbserver now has a dependency on iconv.h, for uclibc configurations we need to make sure this is satisfied. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Add mold linker buildArnaud Vrac2024-06-053-0/+20
| | | | | | | | | | | | | | | Allows building the #mold linker, which can then be used in the cross-toolchain by passing the -fuse-ld=mold to the gcc flags. It is much faster than ld or gold. This requires a C++20 compiler and cmake. Initially implemented by Arnaud, and HC added configure check for cmake. Outstanding task to validate compiler is C++20 compatible. Signed-off-by: Arnaud Vrac <avrac@freebox.fr> Signed-off-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no>
* Allow for Runtime-less build of GDC and GNATMarc Poulhiès2024-06-051-13/+15
| | | | | | | | | | | | Both D and GNAT have their own runtimes (resp. libphotos and libada). It is still possible to build the compiler proper without any runtime, and have an external runtime installed later. This is most commonly found in embedded systems. An example for D is: https://github.com/KitsunebiGames/tinyd-rt An example for Ada: https://github.com/Fabien-Chouteau/bare_runtime Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* musl: Mark not EXPERIMENTALChris Packham2024-05-242-4/+4
| | | | | | | | | | | | | Musl was marked experimental in commit 08d91d41 ("musl: config is broken for !EXPERIMENTAL"). Most of the reasoning for that change no longer applies and as it's been about 8 years it's time to let musl loose on the world. Drop the `depends on EXPERIMENTAL` and update the sample configs for aarch64 and x86_64. For powerpc64 the ABI needs to be elfv2. Enforce this via the powerpc config. Add a sample configuration for powerpc-unknown-linux-musl. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* glibc: Disable -Werror for GCC14Chris Packham2024-05-181-1/+1
| | | | | | | Current glibc versions don't compile without warnings with GCC14. Disable -Werror for glibc when using GCC14. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Remove configure time check for rsyncChris Packham2023-12-181-3/+0
| | | | | | | Now that we're checking for rsync in Kconfig we can remove the check from ./configure. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* config: Detect rsync presence at config timeChris Packham2023-12-183-2/+13
| | | | | | | | | | | | | | | | | | Linux kernel versions newer than 5.3 require rsync in order to export the UAPI headers. Commit f441a6bf ("linux: Add dependency on rsync for Linux >= 5.3") attempted to address this with a check that runs when crosstool-ng is built. That had the downside that if crosstool-ng was built and packaged on a machine that had rsync then run on a machine that didn't then the build would fail due to the missing rsync. Conversely if the first machine didn't have rsync installed when crosstool-ng was built then we would not offer newer kernel versions. We can address this by checking for rsync when the toolchain configuration is updated using some functionality in the newer Kconfig that we've updated to previously. Fixes #1940 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* config/arch: Mark hppa/parisc as experimentalChris Packham2023-11-251-0/+2
| | | | | | | There are a number of things that don't currently work notably uClibc, C++ and GDB. Mark this architecture as experimental. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Add support for 32 and 64-bit PA-RISC linux build targets.John David Anglin2023-11-252-1/+12
| | | | | | | Note: The 64-bit target lacks a glibc port and doesn't build. Also, there is no uclibc support. Signed-off-by: John David Anglin <dave.anglin@bell.net>
* gdb: Use correct arguments for static linkingChris Packham2023-11-021-0/+5
| | | | | | | | | | | | As of version 13.x GDB uses libtool for linking instead of g++ these take different arguments for static linking. Commit 6146b5a6 ("use -all-static when building a static gdb") attempted to deal with this but had the effect of causing older GDB versions to fail to build statically. Add a new internal flag GDB_CC_LD_LIBTOOL and use this to decide whether to pass `-static` or `-all-static`. Fixes #2053 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* m68k: Support MMUChris Packham2023-09-241-0/+1
| | | | | | | | | | Some m68k variants do have a MMU so the architecture can set ARCH_USE_MMU. That means we can have a m68k-unknown-linux-gnu configuration and that m68k-unknown-uclinux-uclibc needs to select LIBC_UCLIBC_NG since it's no longer the default. Fixes #2040 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* allow plugins and LTO with static toolchainsChris Copeland2023-09-242-3/+0
| | | | | | | | | | | | This reverts commit 0841e2f820de7a4dca1ddc52b04bf834fff2806b from 2011, which disabled plugin support in binutils for static toolchains, citing build system problems. This problem seems to be resolved. This also reverts part of 45512b003d04b5a89c5c3bb6b674683d82b87f42 from 2017, which disabled LTO in gcc for static toolchains, citing problems on Arch Linux with loading the LTO plugin from a static binary. Signed-off-by: Chris Copeland <chris@chrisnc.net>
* Add a musl variable LIBC_MUSC_EXTRA_CFLAGSNorbert Lange2023-09-241-0/+7
| | | | Signed-off-by: Norbert Lange <nolange79@gmail.com>
* glibc: Add option for building libcryptChris Packham2023-08-251-0/+13
| | | | | | | As of glibc-2.38 libcrypt is not built by default. Add an option to allow building libcrypt support into glibc. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Add option to re-enable ˋlibstdc++ˋ on avr targets.Quentin Boswank2023-08-141-0/+9
| | | | | | | | | | | Due to the small flash space on AVR devices the library containing the standard types in C++ (ˋlibstdc++ˋ) does not get built normally when enabling the C++ language support. This option is an easy way to go back to the PC-way where ˋlibstdc++ˋ is built. Signed-off-by: Quentin Boswank <qubos@outlook.de>
* Revert "libc/uclibc: Require GCC12 or older"Chris Packham2023-08-131-1/+0
| | | | | | | | This reverts commit 5427dac45c12f6be8e3fca7bc38b9abcebb4ec87. The issues that were causing this have been resolved with some updates so allow the uclibc+gcc13 combination again. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* provide a workaround for a glibc and GNU make incompatibilityChris Packham2023-07-212-0/+12
| | | | | | | | | | | Versions of GNU make newer than 4.4 trigger a hang in versions of glibc older than 2.31. As distros update to the newer GNU make version we'll start seeing more and more reports of this hang. Fortunately we already carry GNU make as a comp tool so all we need to do is select the right version when needed. Fixes #1946, #1932, #1975 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Revert "Update requirements: autoconf==2.71 and automake>=1.16"Thomas Petazzoni2023-07-211-6/+6
| | | | | | | | | | | | | This reverts commit 658f5e574f4025655da318fb0b688a394b6ff43f, which was made without any justification, and prevents using crosstool-ng even in decently recent distributions like Ubuntu 20.04 (which has autoconf 2.69). We have tested that ./bootstrap && ./configure --enable-local works fine on Ubuntu 18.04, which uses autoconf 2.69 and automake 1.15, so the existing requirements were enough. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* Properly build multilib bare-metal RISC-VKirill K. Smirnov2023-07-141-0/+13
| | | | | | | | | To build multilib RISC-V toolchain one should use --with-multilib-generator option instead of --with-multilib-list. Add corresponding example configuration file. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
* newlib: add 4.3.0.20230120Chris Packham2023-06-041-0/+1
| | | | | | | | Add the 4.3.0.20230120 and update the required patches. As of this release the newlib-global-atexit is mandatory so set this to default y. Included is an upstream patch to support older GCC versions. Signed-off-by: Chris Packham <judge.packham@gmail.com>