aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* gcc: Add 12.1Chris Packham2022-05-1911-3/+443
| | | | | | | | | | | | | | | | | | | Add GCC 12.1 https://gcc.gnu.org/gcc-12/ The following patches from GCC 11.3.0 are no longer needed: - 0005-arc-Update-ZOL-pattern.patch - 0006-arc-Update-u-maddhisi4-patterns.patch - 0007-arc-Fix-maddhisi-patterns.patch - 0008-Darwin-aarch64-Initial-support-for-the-self-host-dri.patch - 0009-libstdc-Check-for-TLS-support-on-mingw-cross-compile.patch One new patch is needed to avoid issues building sh-unknown-elf: - 0006-sh-Avoid-mb-m1-multilib-combination.patch It is also necessary to build all-build-libcpp. This target exists as far back as GCC 6 so has been done unconditionally. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Bring in fix for libsanitizer on mips64Chris Packham2022-05-181-0/+31
| | | | | | | | | The kernel's struct stat is 104 bytes when compiling for _MIPS_SIM_ABI64. Set struct_kernel_stat_sz to match. Fixes #1733 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* glibc: Reinstate support for the bundled portsChris Packham2022-05-182-0/+12
| | | | | | | | | | | 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>
* gdb: Add 12.1Chris Packham2022-05-163-1/+9
| | | | | | Add gdb 12.1 release. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* linux: Add 5.17.5, bump LTSChris Packham2022-05-1625-57/+66
| | | | | | | | | | | | | | | | 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>
* duma: Add checksums for 2_5_21Chris Packham2022-05-161-0/+8
| | | | | | | These were unintentionally omitted when the new version was added. Fixes: 2804d686 ("duma: Add version 2.5.21") Signed-off-by: Chris Packham <judge.packham@gmail.com>
* duma: Add version 2.5.21Chris Packham2022-05-155-12/+14
| | | | | | | | | | | | Add duma 2.5.21 and mark 2.5.15 as obsolete. While we're at it use the versions hosted on github which requres new checksums for the 2.5.15 version because the generated tarballs are different. It appears we don't need any of the patches we've been carrying for the older version but we do need to pass CC_FOR_BUILD in addition to HOSTCC. When 2.5.15 is removed we can drop HOSTCC (and DUMA_CPP, DUMA_SO). Signed-off-by: Chris Packham <judge.packham@gmail.com>
* testing/docker: Document policyChris Packham2022-05-151-0/+8
| | | | | | | Some useful suggestions were made in commit 5411e69b ("Update the docker containers"). This captures them in a more visible place. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* testing/docker: Add ubuntu:22.04Chris Packham2022-05-151-1/+1
| | | | | | Add ubuntu:22.04 remove ubuntu:21.10. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Create unified diff when refreshing patch files in manage-packages.shHans-Christian Noren Egtvedt2022-05-151-1/+1
| | | | | | | The unified diff patch format will contain slightly more information, which is helpful when rebasing patches to new releases. Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
* Add sample arm-none-eabiKeith Packard2022-05-122-0/+17
| | | | | | | This is the triplet used by the Arm Embedded Toolkit as well as Debian. Signed-off-by: Keith Packard <keithp@keithp.com>
* newlib-nano: Fix include path for CT_NEWLIB_NANO_INSTALL_IN_TARGETStephanos Ioannidis2022-05-121-1/+1
| | | | | | | | | | | | | | | | | | When `CT_NEWLIB_NANO_INSTALL_IN_TARGET=y`, the `nano.specs` file emitted by the newlib-nano build script contains an invalid include path, resulting in the full `newlib.h` being included instead of the nano `newlib.h` by the application. `=/include/newlib-nano` is not a valid path (`=` does not mean anything and that string is taken as an include path as-is) and GCC ignores this include path, resulting in application including the `newlib.h` from `include/` which contains the newlib build configurations for the full newlib. This commit modifies the newlib-nano build script to emit a proper newlib-nano include path relative to the `GCC_EXEC_PREFIX`. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* scripts/build/companion_libs: Fix missing directory with newlib-nanoDerald D. Woods2022-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With 'CT_NEWLIB_NANO_INSTALL_IN_TARGET=y', this build failure occurs: ---------------------------------------------------------------------- [...] [INFO ] Installing Newlib Nano library [EXTRA] Configuring Newlib Nano library [EXTRA] Building Newlib Nano C library [EXTRA] Installing Newlib Nano C library [INFO ] Installing Newlib Nano library: done in 110.66s (at 29:04) [INFO ] ================================================================= [INFO ] Installing libstdc++ newlib-nano [EXTRA] Configuring libstdc++ for newlib-nano [EXTRA] Building libstdc++ newlib-nano library [EXTRA] Installing libstdc++ newlib-nano library [EXTRA] Housekeeping for core gcc compiler [EXTRA] '' --> lib (gcc) lib (os) [EXTRA] ' -mthumb' --> lib/thumb (gcc) lib/thumb (os) [EXTRA] ' -marm -mfpu=auto -march=armv5te+fp -mfloat-abi=hard' --> lib/arm/autofp/v5te/fpu (gcc) lib/arm/autofp/v5te/fpu (os) [EXTRA] ' -mthumb -mfpu=auto -march=armv7+fp -mfloat-abi=hard' --> lib/thumb/autofp/v7/fpu (gcc) lib/thumb/autofp/v7/fpu (os) [INFO ] Installing libstdc++ newlib-nano: done in 457.12s (at 36:42) [ERROR] [ERROR] >> [ERROR] >> Build failed in step '(top-level)' [ERROR] >> [ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@376] [ERROR] >> called from: newlib_nano_copy_multilibs[scripts/build/companion_libs/350-newlib_nano.sh@270] [ERROR] >> called from: CT_IterateMultilibs[scripts/functions@1608] [ERROR] >> called from: do_newlib_nano_for_target[scripts/build/companion_libs/350-newlib_nano.sh@254] [ERROR] >> called from: do_companion_libs_for_target[scripts/build/companion_libs.sh@43] [ERROR] >> called from: main[scripts/crosstool-NG.sh@697] Current command: 'cp' '-f' '/build/toolchain/arm-none-eabi/newlib-nano/arm-none-eabi/lib/thumb/libc.a' '/build/toolchain/arm-none-eabi/arm-none-eabi/lib/thumb/libc_nano.a' exited with error code: 1 Please fix it up and finish by exiting the shell with one of these values: 1 fixed, continue with next build command 2 repeat this build command 3 abort build ---------------------------------------------------------------------- This commit calls 'mkdir -p' to create the destination path before copying. Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
* cc/gcc: Create liblto_plugin symbolic link with correct extensionJoel Holdsworth2022-05-111-4/+12
| | | | | | | | | | | | Previously, cc/gcc.sh assumed that liblto_plugin would always be installed with the ".so" file extension. However, this assumption is incorrect when the host machine is Windows (".dll") or MacOS (".dylib"). This patch corrects this issue by probing the file extension in similar fashion to the way adjacent code determines the file extension of executable binaries. Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
* cc/gcc: Ensure value of ext is always setJoel Holdsworth2022-05-111-2/+2
| | | | | | | | The "ext" variable is set with the file extension of executable binaries for a given platform. To improve tidiness, this patch ensures the variable is always set even when there is no file path. Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
* cc/gcc: Declare "file" and "ext" variables localJoel Holdsworth2022-05-111-0/+4
| | | | | | | | In do_gcc_core_backend and do_gcc_backend, variables "file" and "ext" are used to store intermediate values. Previously, these were not declared local. This patch corrects this issue. Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
* cc/gcc: Remove -lstdc++ and -lm from gcc LDFLAGSJoel Holdsworth2022-05-111-24/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In Bryan Hundven's patch 1ad439907 from 2010, the author added -lstdc++ and -lm to the host gcc build's LDFLAGS, because at the time the linker did not correctly include these libraries causing the build to fail. In modern builds, this causes a problem for canadian gcc builds where the host machine is mingw32-w64 Windows. Within the gcc build there is the liblto_plugin module. On Windows this must be built as the "liblto_plugin.dll" dynamic library. However, libtool cannot produce a dynamic library unless every library dependency is also a dynamic library, and falls back to producing a libstdc++.a static library. liblto_plugin does not require libstdc++ - it does not contain any C++ code, and the dependency would usually be elided by the linker. Unfortunately, in this case, crosstool-ng will never build a libstdc++.dll dynamic library - only a libstdc++.a static library. Therefore, there will never be a dynamic library version of stdc++ for libtool to load and then discard. This patch corrects the issue by removing "-lstdc++" from LDFLAGS, because modern versions of gcc are able to correctly include libstdc++ where necessary. It also remove "-lm" for similar reasons. Signed-off-by: Joel Holdsworth <jholdsworth@nvidia.com>
* gdb: drop obsolete versionsChris Packham2022-05-1043-1065/+4
| | | | | | | 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>
* strace: drop obsolete versionsChris Packham2022-05-1029-528/+0
| | | | | | | | | | | | | strace aims to be backwards compatible with older kernels so we don't actually need to have every strace version. The 4.15-4.26 versions were technically in a ct-ng release so they were obsoleted. Now that the 1.25.0 release is out we can remove these versions. Going forward we will obsolete the version that is in the latest ct-ng release and simply remove intervening strace versions as they are released. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Remove obsolete glibc 2.12.1Chris Packham2022-05-1068-4138/+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-1020-206/+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>
* avr-libc: Update vcs URLChris Packham2022-05-081-1/+1
| | | | | | | The avr-libc project has moved to github and is now using git. Update the repository field accordingly. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* mpfr: Update vcs URLChris Packham2022-05-081-1/+1
| | | | | | | The mpfr project is now using git. Update the repository field accordingly. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Update vcs URLChris Packham2022-05-081-1/+1
| | | | | | | The GCC project has been using git for a while now. Update the repository field accordingly. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* musl: add 1.2.3Dima Krasner2022-05-082-0/+4
| | | | Signed-off-by: Dima Krasner <dima@dimakrasner.com>
* gcc: bump GCC 11 to latest release 11.3.0Hans-Christian Noren Egtvedt2022-05-0817-460/+12
| | | | | | Remove patches applied upstream we no longer need to maintain here. Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
* populate: Include dependencies of PIE executablesJohan Levin2022-05-081-3/+3
| | | | | | | | Modern versions of the 'file' utility give different output for position dependent and position independent executables. The populate tool should consider both types. Signed-off-by: Johan Levin <johan13@gmail.com>
* scripts/functions: collect license files named COPYRIGHT*Dima Krasner2022-05-031-1/+1
| | | | Signed-off-by: Dima Krasner <dima@dimakrasner.com>
* glibc: Enable -Werror for more combinations of GCC/GLIBCChris Packham2022-05-012-3/+9
| | | | | | | | | | | 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>
* zlib: Update to zlib-1.2.12Chris Packham2022-04-227-73/+11
| | | | | | | | | | | | | | | | | | | Bring in the following changes - Fix a deflate bug when using the Z_FIXED strategy that can result in out-of-bound accesses. - Fix a deflate bug when the window is full in deflate_stored(). - Speed up CRC-32 computations by a factor of 1.5 to 3. - Use the hardware CRC-32 instruction on ARMv8 processors. - Speed up crc32_combine() with powers of x tables. - Add crc32_combine_gen() and crc32_combine_op() for fast combines. Drop two patches that have been applied upstream and regenerate the remaining two. Fixes #1708 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* [scripts/functions]: Fix quoting issue in comparisonElliot Saba2022-04-221-1/+1
| | | | | | | | | | | | | | | On my Ubuntu machine (with `dash` version `0.5.10` and `bash` version `5.0.17`), I would get errors such as the following: ``` crosstool-ng/scripts/functions: line 730: [: !=: unary operator expected ``` This is generally because a variable is not set, and expands to an empty string causing the test operator to mis-parse the expression. To fix this, I have added quotes around the variable. Signed-off-by: Elliot Saba <staticfloat@gmail.com>
* testing/docker: Add meson and ninja to containersChris Packham2022-04-214-4/+5
| | | | | | meson and ninja are needed to build picolibc. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Update picolibc to 1.7.6Keith Packard2022-04-023-4/+4
| | | | | | | | | | | | * Fixes 1.7.4 issue with recent meson versions which error on 'descrption' typo. * Positional parameters (%$1d) in printf/scanf * Lots (and lots) of math library exception/errno fixes; now tested against glibc test suite. Signed-off-by: Keith Packard <keithp@keithp.com>
* xtensa: Remove obsoleted CT_ARCH_XTENSA_CUSTOM_NAMEAnton Maklakov2022-04-021-1/+1
|
* Enable posix threads in i686-w64-mingw32Chris Packham2022-04-021-0/+1
| | | | | | | | | Posix threads are enabled in the x86_64-w64-mingw32 sample having them enabled in i686-w64-mingw32 makes things consistent for these targets. Fixes #1696 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: add fixes for GCC 11.2. Anon and aggregated struct accessAnton Maklakov2022-03-282-0/+311
|
* gcc: rename patches to orderAnton Maklakov2022-03-281-0/+0
|
* gcc: powerpc: Fix asm machine directive for some CPUsChris Packham2022-02-282-0/+118
| | | | | | | Bring in upstream fix for gcc outputting an incorrect .machine directive. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* binutils: Bring in upstream fix for powerpcChris Packham2022-02-281-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 <judge.packham@gmail.com>
* kconfig: Use ncurses location determined by ./configureChris Packham2022-02-282-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 <judge.packham@gmail.com>
* Fix MinGW libstdc++ TLS functionalityivanka20122022-02-281-0/+251
| | | | | | Backport of https://github.com/gcc-mirror/gcc/commit/cc1e28878a228b6c4a0872e56d97ac88971b7725 Signed-off-by: Kittenberger Iván <ivanka2012@gmail.com>
* gcc: add gcc libstdcxx-verbose optionNorbert Lange2022-02-232-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 <nolange79@gmail.com>
* update mpc to 1.2.1Norbert Lange2022-02-233-4/+4
| | | | Signed-off-by: Norbert Lange <nolange79@gmail.com>
* Add isl 0.23Norbert Lange2022-02-232-0/+12
| | | | Signed-off-by: Norbert Lange <nolange79@gmail.com>
* Update isl to 0.22.1Norbert Lange2022-02-233-12/+12
| | | | Signed-off-by: Norbert Lange <nolange79@gmail.com>
* binutils: Disable libdebuginfod when producing a static toolchainChris Packham2022-02-231-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 <judge.packham@gmail.com>
* glibc: mark 2.12.1 as obsoleteChris Packham2022-02-232-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 <judge.packham@gmail.com>
* bionic: mark bionic/android-ndk as obsoleteChris Packham2022-02-233-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 <judge.packham@gmail.com>
* strace: Remove 5.0 to 5.14Chris Packham2022-02-2327-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 <judge.packham@gmail.com>
* strace: mark 4.15 to 4.26 as obsoleteChris Packham2022-02-2312-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 <judge.packham@gmail.com>