| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
default for gcc15
Signed-off-by: Michał Zagórski <zagura6+github@gmail.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
A lot of the old code didn't even work
Signed-off-by: QBos07 <qubos@outlook.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
This provides additional flags used when building libstdc++ for
picolibc.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Norbert Lange <nolange79@gmail.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|