aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* crosstool-ng update to ol9-{u3,u4,u5} and ol8-{u9, u10} for aarch64 and x86_64HEADmasterBruce McCulloch2025-01-2820-0/+290
| | | | Signed-off-by: Bruce McCulloch <bruce.mcculloch@oracle.com>
* samples: Disable gdb in or1k-unknown-linux-muslcrosstool-ng-1.27.0-rc1Chris Packham2025-01-271-2/+0
| | | | | | | | | | | | | | MUSL's or1k support lacks definitions for elf_gregset_t which leads to failures like [ERROR] sysroot/usr/include/sys/procfs.h:29:9: error: 'elf_gregset_t' does not name a type; did you mean 'gregset_t'? [ERROR] sysroot/usr/include/sys/procfs.h:54:9: error: 'elf_gregset_t' does not name a type; did you mean 'gregset_t'? [ERROR] sysroot/usr/include/sys/procfs.h:55:9: error: 'elf_fpregset_t' does not name a type Disable GDB support in the or1k-unknown-linux-musl config. Fixes #2266 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* strace: Upate to 6.13Chris Packham2025-01-253-4/+4
| | | | | https://lists.strace.io/pipermail/strace-devel/2025-January/011587.html Signed-off-by: Chris Packham <judge.packham@gmail.com>
* linux: Add 6.13, bump LTSChris Packham2025-01-2520-48/+56
| | | | Signed-off-by: Chris Packham <judge.packham@gmail.com>
* m4/ctng_python.m4: Fix library checkChris Packham2025-01-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | There is subtle difference between our CTNG_PYTHON and the AX_PYTHON on which it is based. The latter uses AC_CHECK_PROGS() which sets PYTHON_BIN to the name of the executable. We use AC_PATH_PROGS() which sets PYTHON_BIN to the full path of the executable. Because the name of the executable is the same as the library AX_PYTHON uses this when looking for the library with AC_CHECK_LIB() which magics itself into a linker flag like `-lpython3.11` but our version ends up with a nonsensical `-l/usr/bin/python3.11` so the check fails and we keep iterating repeating the same wrong check for every tested python version. We can't just switch to using AC_CHECK_PROGS() because we do want to use the variable set by AC_PATH_PROGS() to set the full path in paths.sh. Ultimately we could probably switch to using the upstream AX_PYTHON macro (https://www.gnu.org/software/autoconf-archive/ax_python.html) and figure out a better way of getting the full path of the exectuable but for now add an extra AC_CHECK_PROGS() to set a different variable and use that for AC_CHECK_LIB(). Signed-off-by: Chris Packham <judge.packham@gmail.com>
* m4/ctng_python.m4: Update for python3.13Chris Packham2025-01-231-1/+1
| | | | | | Add python3.13 to the list of possible versions. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* samples: Update ol7u9 configsChris Packham2025-01-226-27/+17
| | | | | | | | Update the ol7u9 configs to use versions of isl and cloog that work with the version of GCC that oracle uses. Add a note that these configs are obsolete. They will be dropped after the next release. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* cloog: Reinstate 0.18.1Chris Packham2025-01-222-0/+5
| | | | | | | | | Some obsolete cloog versions were dropped in commit 41d4583a ("cloog: Remove obsolete versions"). Unfortunately the ol7-u9 configs don't work with newer versions of cloog. For now reinstate this version, after the next release we'll drop it again along with the ol7-u9 configs. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* isl: Reinstate 0.11.2Chris Packham2025-01-222-0/+14
| | | | | | | | | Some obsolete isl versions were removed in commit 04dce680 ("isl: Remove obsolete versions"). Unfortunately the ol7-u9 configs don't work with newer versions of isl. For now reinstate this version, after the next release we'll drop it again along with the ol7-u9 configs. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gdb: Add 16.1Chris Packham2025-01-224-1/+10
| | | | | | | | | 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>
* gdb: Add 15.2Konstantin Ivlev2025-01-203-8/+8
| | | | | | https://lists.gnu.org/archive/html/info-gnu/2024-09/msg00011.html Signed-off-by: Konstantin Ivlev <tomskside@gmail.com>
* bpf: Use released binutils/gccChris Packham2025-01-083-10/+3
| | | | | | | | | | 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>
* c6x: pin to GCC 13Chris Packham2025-01-081-0/+1
| | | | | | | | The custom uclibc has compile errors with GCC 14. Ignoring that even a bare metal config fails to build (assembler errors in libgcc) with GCC 14. For now pin the sample config to GCC 13 since that seems to work. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* uClibc-ng: Add 1.0.50Chris Packham2025-01-082-0/+16
| | | | | | https://mailman.openadk.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/thread/VMUFCNHICANOQZFEFQOU4WPNPD4USGD3/ Signed-off-by: Chris Packham <judge.packham@gmail.com>
* nios2: Require GCC older than 15Chris Packham2025-01-074-0/+7
| | | | | | | | 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-075-1/+26
| | | | | | | | 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-0710-0/+353
| | | | | | | | 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>
* picolibc: Avoid build system headersChris Packham2025-01-051-0/+1
| | | | | | | | | | When building picolibc as a companion library the configure step can end up picking up certain headers from the build system which causes build failures. Pass an appropriate --with-headers= to the GCC back end when building picolibc as a companion library so that the correct headers are detected by ./configure. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Support plugins in core gcc compilerChris Packham2025-01-051-0/+6
| | | | | | | | | When building for bare metal only do_gcc_core_backend() is used. In order to support GCC plugins the --enable-plugin needs to be passed to GCC's configure. Fixes #2244 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* newlib: Add 4.5.0 snapshotChris Packham2025-01-052-0/+4
| | | | | | https://sourceware.org/pipermail/newlib/2025/021431.html Signed-off-by: Chris Packham <judge.packham@gmail.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-233-30/+73
| | | | | | | | | | 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>
* gdb/gdbserver: use -static --static for static buildMichał Zagórski2024-12-161-1/+3
| | | | | | | With gdb15.2 gdb uses libtool for linking, but gdbserver is not. Should not break #2230 or #2053 Signed-off-by: Michał Zagórski <zagura6+github@gmail.com>
* gdb: build native gdb with static libexpatMichał Zagórski2024-12-161-1/+7
| | | | | | | Use --with-libexpat-type=static to search for static libexpat in gdb native. This should fix #2230. Signed-off-by: Michał Zagórski <zagura6+github@gmail.com>
* linux: Add 6.11, 6.12. Bump LTS and 6.x.Michał Zagórski2024-12-1340-96/+112
| | | | | | | | | | | | | | | | | | | Add 6.12 Add 6.11.9 Bump 6.10 -> 6.10.14 Bump 6.9.10 -> 6.9.12 Bump 6.8.10 -> 6.8.12 Bump 6.6.41 -> 6.6.62 Bump 6.5.11 -> 6.5.13 Bump 6.3.9 -> 6.3.13 Bump 6.2.12 -> 6.2.16 Bump 6.1.100 -> 6.1.118 Bump 5.15.163 -> 5.15.173 Bump 5.10.222 -> 5.10.230 Bump 5.4.280 -> 5.4.286 Bump 4.19.318 -> 4.19.324 Signed-off-by: Michał Zagórski <zagura6+github@gmail.com>
* strace: Add 6.12Chris Packham2024-12-113-4/+4
| | | | | | | | https://lists.strace.io/pipermail/strace-devel/2024-November/011513.html Add 6.12, drop 6.10 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* CI: switch to macos-13 runnersChris Packham2024-12-112-9/+9
| | | | | | | | | | | | | GitHub has dropped support for macos-12. https://github.com/actions/runner-images/issues/10721 We had problems with macos-14 when it was first rolled out. Lets give macos-13 a try. We'll probably have to migrate to macos-14 or macos-15 eventually but hopefully we can leave that until after the ct-ng 1.27.0 release. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* mold: tell cmake which compilers to useMike Lundy2024-11-171-0/+2
| | | | | | | The mold build was using gcc in the PATH, instead of the shiny gcc we just built (the way the other companion libs/tools do) Signed-off-by: Mike Lundy <mlundy@splunk.com>
* initial support to build tricore gccjferreir2024-11-105-0/+52
| | | | | | | | | | 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>
* gdb: fix GDB_CC_LD_LIBTOOL referencedemin.han2024-10-161-1/+1
| | | | | | | GDB_CC_LD_LIBTOOL doesn't exist and so else branch always taken. We should use CT_GDB_CC_LD_LIBTOOL. Signed-off-by: demin.han <demin.han@starfivetech.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>
* zlib: Remove zlib-1.3WXbet2024-10-152-8/+0
| | | | | | | remove zlib-1.3 Co-Authored-By: Optimum Power <opti@opti-secret.de> Signed-off-by: WXbet <57314510+WXbet@users.noreply.github.com>
* zlib: Update to zlib-1.3.1WXbet2024-10-152-0/+8
| | | | | | | | add zlib 1.3.1 https://madler.net/pipermail/zlib-announce_madler.net/2024/000015.html Co-authored-by: Optimum Power <opti@opti-secret.de> Signed-off-by: WXbet <57314510+WXbet@users.noreply.github.com>
* picolibc: Update to version 1.8.8Keith Packard2024-10-064-64/+4
| | | | | | The specs prefix patch was upstreamed, so we don't need it any longer. Signed-off-by: Keith Packard <keithp@keithp.com>
* gcc: Specify '--with-headers' when building final gccStephanos Ioannidis2024-10-061-0/+1
| | | | | | | | | | | | | | The final gcc build process was relying on `CT_CC_SYSROOT_ARG` to provide the `--with-headers` argument pointing to the libc header directory. Since `CT_CC_SYSROOT_ARG` no longer provides `--with-headers`, this adds one directly to the final gcc build invocation. Without this, gcc build system will not copy all the required libc headers into the `sys-include` directory. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* Specify header path in CT_CC_SYSROOT_ARG only for glibcStephanos Ioannidis2024-10-061-3/+5
| | | | | | | | | | | | | | | | | | | When building a non-sysrooted toolchain, `--with-headers` argument is specified in `CT_CC_SYSROOT_ARG` as a hack, supposedly because "final gcc will define disable_glibc while building libgcc, and you'll have no profiling." This, however, leads to `--with-headers` being specified multiple times when building libstdc++ for additional libc variants (e.g. newlib-nano and picolibc) and results in wrong libc headers being used by the libstdc++ build under certain circumstances -- GCC does not use the last specified `--with-headers` when building for macOS and Windows hosts. Since the above hack is intended for glibc only, this commit adds a check to ensure that `--with-headers` is added to `CT_CC_SYSROOT_ARG` only when building glibc. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* CI: Install meson and ninja for macOSChris Packham2024-10-011-1/+1
| | | | | | | | Meson and Ninja are used by picolibc. Explicitly install these tools which we appear to have been getting by some transitive dependency up to now. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* avr-libc: Add 2.2.1Nick Brassel2024-09-303-1/+5
| | | | | | | | - Also adds the avr-libc GitHub repository as a mirror, as newer versions seem to be released there. Caters for their release tag formatting. Signed-off-by: Nick Brassel <nick@tzarc.org>
* 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>
* companion_libs: zstd: Build nomt configurationChris Packham2024-09-091-1/+1
| | | | | | | | | | | | | We have been building the multi threaded zstd target. This requires that anything that links with lzstd also links with lpthread. On more recent systems this is fine because lpthread is part of GNU libc so the -pthread option is a no-op but on other systems this will cause GCC to either fail to build or to silently disable zstd compression. By building the libzstd.a-nomt-release we can be compatible with older GCC versions and ensure that support for zstd is not silently dropped. Fixes: #2198 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* newlib-nano: Add a link to v4.4Alexey Brodkin2024-09-091-0/+1
| | | | | | | | In commit 39487f1ec0ab ("newlib: Add 4.4.0.20231231") new version of Newlib was added, now let's add a reference to that in the "nano" flavor of Newlib. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* newlib-nano: Remove links to absent v3.3 & v4.1Alexey Brodkin2024-09-092-2/+0
| | | | Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* RISC-V: Remove EXPERIMENTAL tagAlexey Brodkin2024-09-097-7/+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>
* picolibc: Update to 1.8.6Chris Packham2024-09-024-4/+64
| | | | | | | | Update to the latest version and bring in an upstream patch for generating portable .specs files. Fixes: #2171 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* binutils: Add 2.43.1Chris Packham2024-08-3011-0/+656
| | | | | | | | https://sourceware.org/pipermail/binutils/2024-August/136396.html Add the new version rebasing the patches we carry on top. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* packages:mold: add version 2.33.0Hans-Christian Noren Egtvedt2024-08-222-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add newly released mold version 2.33.0 from upstream https://github.com/rui314/mold New features - mold gained a new linker flag --separate-debug-file to bundle debug info sections into a separate file instead of putting them into a main output file. You can optionally specify a filename in the form of --separate-debug-file=<filename>. By default, a debug info file is created in the same directory as the main output file with the .dbg extension. mold embeds the debug file's filename into the main output file so that gdb can automatically follow the link to find debug info when debugging the main output file. - The main objective of this flag is to speed up the mold linker even more. By default, mold creates a separate debug file in the background after creating a main output file, so that you can start running the executable as soon as possible while mold is still working on linking its debug info sections. For example, linking clang with debug info normally takes ~1.70s on a Threadripper 7980X machine, while it takes only ~0.52s with --separate-debug-info. Shaving off a full second in quick edit-rebuild-run cycles should improve programmers' productivity. If you do not want mold to work in the background, pass the --no-detach option. (596ffa9) - mold now supports the --no-allow-shlib-undefined flag. If the option is given, mold checks if all undefined symbols are resolved not only for input object files but also for shared libraries passed to the linker. To use the feature, you need to pass all shared libraries, including transitively dependent ones, to the linker so that the linker can resolve all symbols that are available at runtime. (3001f02) - mold gained the --dynamic-list-data flag for the sake of compatibility with GNU ld. If the flag is given, all data symbols are exported as dynamic symbols. (dd8d971) - [x86-64] -z x86-64-v2, -z x86-64-v3, -z x86-64-v4 flags are supported. (5606087) Bug fixes and compatibility improvements - [x86-64] Recent x86-64 processors support Intel CET to protect control flow integrity. When the feature is enabled, the instruction that is executed immediately after an indirect branch must be endbr64 or a CPU fault will raise. In other words, it restricts the locations where the control can transfer to with indirect branches. Doing that makes ROP attacks harder to conduct. - A problem with that is the compiler needs to conservatively emit an endbr64 at the beginning of each global function because the compiler doesn't know whether or not the function's address is taken in other translation units. As a result, the resulting binary contains more endbr64s than necessary, weakening the protection. - mold supports the -z rewrite-endbr option to conduct a whole program analysis and rewrite endbr64 with nop if a function's address is not actually taken within the program. Previously, mold didn't take section symbols into account when conducting the analysis, which resulted in culling some endbr64s that must not be removed. Now, the bug has been fixed. We confirmed that mold can build itself with -z rewrite-endbr, and the resulting mold executable works fine with Intel CET. (ed7eec5) - mold now creates a .eh_frame section even if it's empty. (14a4b05) - [LoongArch] The following relocations are now supported: R_LARCH_TLS_LE_HI20_R, R_LARCH_TLS_LE_ADD_R, R_LARCH_TLS_LE_LO12_R, R_LARCH_CALL36, R_LARCH_RELAX (36e5b4b, 98a7cff, 2c6f379) - [LoongArch] Some relaxations that reduce the section size are now supported. (74b359f, 121f917) - [LoongArch] Range extension thunk support has been removed in favor of R_LARCH_CALL36 relocations. (47c092a) Signed-off-by: Hans-Christian Noren Egtvedt <egtvedt@samfundet.no>
* gcc-14.2: Fix ICE on aarch64BtbN2024-08-226-0/+781
| | | | | | | See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115464 for issue description and list of patches to backport. Signed-off-by: BtbN <btbn@btbn.de>
* gcc: Add 14.2.0Chris Packham2024-08-0515-27/+22
| | | | | | | | https://gcc.gnu.org/pipermail/gcc-announce/2024/000184.html Add the new version clean up the patches. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* scripts: Save toolchain config as regular fileChris Packham2024-07-292-8/+3
| | | | | | | | | | | | | | | | Since commit 16c6cc99 ("Save the toolchain configuration to its own file, as an auto-extracting shell script:") we've been saving the configuration as a self extracting script. This is a little non-obvious as it looks like it should be a regular file but the bzipped payload means it can be easily inspected. It may also cause alarm for users who should rightly be suspicious of unexpected binaries that get shipped along with packaged toolchains. It also assumes that bzip2 (or at least bzcat) is available on the machine running the toolchain. Instead of the self extracting shell script save the config as a regular compressed file with an obvious file extension. Signed-off-by: Chris Packham <judge.packham@gmail.com>