AgeCommit message (Collapse)AuthorFilesLines
2022-02-28gcc: powerpc: Fix asm machine directive for some CPUsHEADcrosstool-ng-1.25.0-rc1masterChris Packham2-0/+118
Bring in upstream fix for gcc outputting an incorrect .machine directive. Signed-off-by: Chris Packham <>
2022-02-28binutils: Bring in upstream fix for powerpcChris Packham1-0/+52
Some versions of GCC emit a .machine directive near the start of the compiler's assembly output that overrides the CPU passed on the command line. Bring in an upstream change for binutils that works around the problem. Signed-off-by: Chris Packham <>
2022-02-28kconfig: Use ncurses location determined by ./configureChris Packham2-3/+3
Prior to commit bbc4db13 ("kconfig: Sync with upstream v4.18") we used the macros CURSES_LOC and MENU_LOC to tell us where curses.h and menu.h were installed. Restore this behaviour so that we can deal with some of the odd places that the curses headers end up. Fixes #1403 Signed-off-by: Chris Packham <>
2022-02-28Fix MinGW libstdc++ TLS functionalityivanka20121-0/+251
Backport of Signed-off-by: Kittenberger Iván <>
2022-02-23gcc: add gcc libstdcxx-verbose optionNorbert Lange2-0/+27
Rather important option for arm cortex toolchains supporting c++, avoids pulling in all printf/iostream code by default. Signed-off-by: Norbert Lange <>
2022-02-23update mpc to 1.2.1Norbert Lange3-4/+4
Signed-off-by: Norbert Lange <>
2022-02-23Add isl 0.23Norbert Lange2-0/+12
Signed-off-by: Norbert Lange <>
2022-02-23Update isl to 0.22.1Norbert Lange3-12/+12
Signed-off-by: Norbert Lange <>
2022-02-23binutils: Disable libdebuginfod when producing a static toolchainChris Packham1-0/+3
libdebuginfod is incompatible with static linking so pass --without-debuginfod when CT_STATIC_TOOLCHAIN is selected. Fixes #1683 Signed-off-by: Chris Packham <>
2022-02-23glibc: mark 2.12.1 as obsoleteChris Packham2-1/+2
CentOS6 has reached EOL so now glibc-2.12.1 can be marked as obsolete. This also means the last glibc-ports version (and glibc-ports itself) obsolete as well. These will be removed after the next release. Signed-off-by: Chris Packham <>
2022-02-23bionic: mark bionic/android-ndk as obsoleteChris Packham3-0/+3
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 <>
2022-02-23strace: Remove 5.0 to 5.14Chris Packham27-187/+0
strace maintains backwards compatibility with older kernels so there is no need to keep multiple versions of strace. Versions 5.0 to 5.14 weren't present in the crosstool-ng-1.24 release so remove them directly instead of marking them as obsolete. Signed-off-by: Chris Packham <>
2022-02-23strace: mark 4.15 to 4.26 as obsoleteChris Packham12-0/+12
strace maintains backwards compatibility with older kernel versions so there's no particular reason to keep many versions of strace around. Mark the versions that were present in the 1.24 release as obsolete. They will be remove following the next release. Signed-off-by: Chris Packham <>
2022-02-20CI: add Canadian Cross build jobArtem Panfilov2-93/+149
Signed-off-by: Artem Panfilov <>
2022-02-20CI: sort sample lines ascending orderArtem Panfilov1-1/+1
Signed-off-by: Artem Panfilov <>
2022-02-20CI: auto reformat YAMLArtem Panfilov1-42/+35
Signed-off-by: Artem Panfilov <>
2022-02-16strace: Add 5.16Chris Packham2-0/+4 Signed-off-by: Chris Packham <>
2022-02-16linux: Add 5.16.9, bump LTSChris Packham23-56/+64
Add 5.16.9 Bump 5.15.2 -> 5.15.23 Bump 5.10.79 -> 5.10.100 Bump 5.4.159 -> 5.4.179 Bump 4.19.217 -> 4.19.229 Bump 4.9.290 -> 4.9.301 Bump 4.4.292 -> 4.4.302 Signed-off-by: Chris Packham <>
2022-02-14Merge pull request #1674 from stilor/masterAlexey Neyman456-6927/+2871
Updates to make `ct-ng build-all` pass
2022-02-13packages/binutils: add binutils-2.38Hans-Christian Noren Egtvedt10-0/+595
Binutils version 2.38 has been released Patches 0000 to 0008 from binutils-2.37 applied clean, so forward ported them. The following patches are now applied from upstream, hence dropped: 0010-change-uint-to-unsigned.patch 0011-bfd-close-the-file-descriptor-if-there-is-no-archive-fd.patch 0012-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch 0013-ld-pru-fix-resource_table-output-section-alignment.patch 0014-pr28422-build_id-use-after-free.patch 0015-pr28459-readelf-issues-bogus-warning.patch 0016-pr28417-std-string-no-longer-allows-accepting-nullptr_t.patch 0017-pr28540-segmentation-fault-on-NULL-byte_get.patch 0018-gold-place-note-gnu-property-section-before-other-note-sections.patch 0019-waddress-warning-in-ldelf.c.patch Signed-off-by: Hans-Christian Noren Egtvedt <>
2022-02-13powerpc: Allow GCC 8.5 for SPE ABIChris Packham1-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 <>
2022-02-11Run patches thru `manage-packages -P`Alexey Neyman191-2835/+1917
This refreshes the line numbers, removes any fuzz (which would make any future forward ports easier) and standardizes the patch/file headers (which makes them easier to read). Signed-off-by: Alexey Neyman <>
2022-02-11Run packages through `manage-packages -D`Alexey Neyman17-45/+62
This fixed some typos in the checksum files (please don't edit them manually, this is error-prone!) Signed-off-by: Alexey Neyman <>
2022-02-11Update the docker containersAlexey Neyman13-51/+45
To avoid proliferation of versions, I suggest the following policy: the oldest LTS release still receiving maintenance updates + the most recent release for distributions that offer LTS releases. For CentOS, this means CentOS7 and CentOS Stream 9 (since CentOS are all "long-term support", this is just the oldest and the newest among currently supported). For Ubuntu, this means Ubuntu 18.04 (previous LTS are in "security fixes only" mode) and Ubuntu 21.10. Recent Ubuntu attempts to be interactive during the configuration of tzdata, required some additional setup. In the common installation script, the logic for handling a configured/built local directory breaks if `gmake` is detected as the make binary; `make distclean` then fails inside the container because not all systems have `gmake` symlink. Remove that attempt of a workaround completely, just require that the host directory is clean. Signed-off-by: Alexey Neyman <>
2022-02-11glibc-2.12.1: backport a fix for 2-pass buildAlexey Neyman2-0/+323
Otherwise, it tries to link against libgcc_eh which is not available until the final compiler (or previously, the pass-2 compiler) is built. Signed-off-by: Alexey Neyman <>
2022-02-11Unify core passesAlexey Neyman12-86/+26
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 <>
2022-02-11Fold libc_start_files into libcAlexey Neyman9-339/+84
After 557b9d4, libc_start_files and libc_main steps are performed one after another. It doesn't make sense, especially since some of the libcs (glibc, uClibc-ng) go to great lengths to first install start files in the first step, libc_start_files, only to remove them immediately in the second step, libc_main. Current build steps also break in the xtensa newlib configurations, as it needs to install the custom xtensa headers before building the libgcc and after 557b9d4, the headers are not installed before libgcc is built in pass-1. Therefore, finish what 557b9d4 mentioned but did not do: move header installation into a new step, libc_headers, and combine libc_start_files and libc_main into a single step. This also allows to combine the core pass-1/pass-2 steps, to be done in a subsequent commit. Signed-off-by: Alexey Neyman <>
2022-02-11Turn off debugging in sample configurationAlexey Neyman1-2/+0
Signed-off-by: Alexey Neyman <>
2022-02-11Convert tabs to spacesAlexey Neyman7-69/+69
Recent changes introduced a mixture of tabs/spaces that result in broken indentation in multiple places. Signed-off-by: Alexey Neyman <>
2022-02-11Restrict *-uclibc,* canadians to gettext 0.20Alexey Neyman5-0/+35
Newer gettext is incompatible with uClibc-NG in cross-compilation, see the comment in the code. Signed-off-by: Alexey Neyman <>
2022-02-11Update m4 to 1.4.19Alexey Neyman4-156/+12
This fixes the x86_64-multilib-linux-uclibc,powerpc-unknown-elf canadian cross example (which currently breaks because the gnulib example assumes SIGSTKSZ is constant while recent libcs started defining it as a sysconf(...) call. Signed-off-by: Alexey Neyman <>
2022-02-11Restrict bionic's GCC/GDB selectionsAlexey Neyman1-1/+10
Refer to the comments in the code for the reason. Signed-off-by: Alexey Neyman <>
2022-02-11Remove GDB 11.1Alexey Neyman6-139/+0
This was originally an upgrade from 11.1 to 11.2 that fixed moxie-* samples affected by PR sim/28302. GDB 11.2 landed independently on master, so just remove 11.1 (one release per upstream branch, please, we already have lots of version/architecture/host permutations to test). Signed-off-by: Alexey Neyman <>
2022-02-11gdb: use single-number versions/milestones for 9+Alexey Neyman3-5/+5
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 <>
2022-02-11sparc-leon: restrict to GDB9Alexey Neyman2-1/+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 <>
2022-02-11Rename moxiebox to match its tupleAlexey Neyman2-0/+0
Signed-off-by: Alexey Neyman <>
2022-02-11Update tic6x sampleAlexey Neyman4-10/+11
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 <>
2022-02-11More sample config updatesAlexey Neyman104-150/+122
*-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 <>
2022-02-11Upgrade script for uClibc retirementAlexey Neyman11-15/+31
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, 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 <>
2022-02-11Retire obsoleted milestonesAlexey Neyman32-528/+46
... 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 <>
2022-02-11Remove gcc-oracle-4.8-44.0.5Alexey Neyman8-31/+75
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 <>
2022-02-11glibc-ports: remove obsolete versionsAlexey Neyman45-2473/+0
The corresponding versions of glibc have been removed previously; kill their "ports" counterpart. Signed-off-by: Alexey Neyman <>
2022-02-11contrib: Remove openrisc-or32.patch.lzmaChris Packham1-0/+0
Remove out of date openrisc support. Signed-off-by: Chris Packham <>
2022-02-09packages/glibc: add glibc version 2.35Hans-Christian Noren Egtvedt5-0/+146
Copied patches from glibc version 2.34, they still apply clean and I assume they still are relevant. Signed-off-by: Hans-Christian Noren Egtvedt <> [cp add __convert_scm_timestamps patch] Signed-off-by: Chris Packham <>
2022-02-08packages/gdb: add gdb-11.2Hans-Christian Noren Egtvedt6-0/+139
Forward port patches from gdb-11.1, as they still apply clean, hence still assumed to be relevant. Signed-off-by: Hans-Christian Noren Egtvedt <>
2022-02-03binutils-2.37: add more patches from upstream release branchHans-Christian Noren Egtvedt9-0/+582
Fetch in various patches from binutils-2_37-branch upstream. The most vital change is the 0012-pr28391-strip-objcopy-preserve-dates-a-cannot-set-time.patch which allows building large upstream projects like Qt WebEngine without need 100k's of file descriptors open. Signed-off-by: Hans-Christian Noren Egtvedt <>
2022-01-30Fix deterministic binutils optionNorbert Lange1-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 <>
2022-01-13gcc: Use upstream fix for cross-canadian buildsChris Packham2-47/+78
Replace the patch from #1600 with the change that landed upstream. Signed-off-by: Chris Packham <>
2022-01-12glibc: Re-enable WerrorChris Packham1-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 <>
2022-01-12gcc: Build static libgcc in core_pass1Chris Packham7-12/+7
Per 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 <>