aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Update .gitignore: Ignore backup filesBryan Hundven2022-07-011-0/+5
| | | | | | | | Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* | Switch CT_CC_{CORE_}SYSROOT_ARG to arraysJustin Chen2022-07-012-5/+5
| | | | | | | | | | | | | | CT_CC_{CORE_}SYSROOT_ARG is being used both as an array and string. Switch everything to be used as an array for consistency. Signed-off-by: Justin Chen <justinpopo6@gmail.com>
* | Merge pull request #1774 from bhundven/update_configure_acBryan Hundven2022-06-291-3/+2
|\ \ | | | | | | Update configure ac
| * | Bump autoconf requirement to 2.69Bryan Hundven2022-06-271-1/+1
| | | | | | | | | | | | | | | | | | This will help with moving forward with newer 2.70 compatibility. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
| * | M4 quote yywrap in AC_PROG_LEXBryan Hundven2022-06-271-1/+1
| | | | | | | | | | | | | | | | | | It didn't output an error, but it's best practice. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
| * | Remove obsolete AC_HEADER_STDCBryan Hundven2022-06-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | As described in detail here: https://www.gnu.org/software/autoconf/manual/autoconf-2.70/html_node/Particular-Headers.html#index-AC_005fHEADER_005fSTDC-1 We no longer need AC_HEADER_STDC in configure.ac Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
| * | AC_PROG_LEX set to yywrapBryan Hundven2022-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With autoconf 2.70 and newer, you need to define either `yywrap` or `noyywrap` as an option to AC_PROG_LEX. https://www.gnu.org/software/autoconf/manual/autoconf-2.71/html_node/Particular-Programs.html#index-AC_005fPROG_005fLEX-1 `yywrap` is needed for kconfig. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* | | Merge pull request #1775 from bhundven/bootstrap_mixed_indentBryan Hundven2022-06-291-8/+9
|\ \ \ | | | | | | | | Fix mixed indent in bootstrap
| * | | Fix mixed indent in bootstrapBryan Hundven2022-06-271-8/+9
| |/ / | | | | | | | | | | | | | | | | | | Tabs or spaces... I believe the policy on ct-ng is spaces for shell scripts. So update bootstrap to stick to 4 space indent. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* | | binutils-oracle: Update source patch location for ol8Guillermo E. Martinez2022-06-285-3/+6
| | | | | | | | | | | | | | | | | | Due to a new commit oracle binutils branch an update location for patches is required. This patch disabled debug information for glibc too.
* | | newlib: fix conflicting configure optionsChen Tao2022-06-281-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configuring the newlib with "--enable-newlib-nano-formatted-io" and "--enable-newlib-io-pos-args" would cause built GCC cannot compile some IO functions like "std::cout". And I added additional notes at Nano Formatted I/O config. Signed-off-by: Chen Tao <t.clydechen@gmail.com>
* | | Update config.sub and config.guessBryan Hundven2022-06-282-21/+47
| | | | | | | | | | | | | | | | | | ./ct-ng updatetools Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* | | kconfig: modify rules for multilibs configurationChen Tao2022-06-282-6/+10
|/ / | | | | | | | | | | | | | | | | fix conflict options when compiling multilibs on ARM based architecture. "--with-arch", "--with-cpu", "--with-fpu", "--with-float", and "--with-mode" should not be configured with "--with-multilib-list=list" when configuring multilibs. Signed-off-by: Chen Tao <t.clydechen@gmail.com>
* | Restore Oracle products to crosstool-ng using gcc-oracleGuillermo E. Martinez2022-06-2617-33/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit restore the support for the following products in Oracle Linux 7.9: Binutils 2.27-44.base.0.400 GCC 4.8.5-44.0.5 glibc 2.17-317.0.3 UEK5/u4 4.14.35-2025.400.8 Sample configurations were updated to use such versions, and be compiled in host machine using recent GCC versions. Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
* | strace: Add strace 5.18Chris Packham2022-06-213-0/+5
| | | | | | | | | | | | | | | | https://lists.strace.io/pipermail/strace-devel/2022-June/011079.html Add 5.18 and mark 5.16 as obsolete. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* | linux: Add 5.18.4 bump LTSChris Packham2022-06-2123-56/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | Add 5.18.4 Bump 4.9.312 -> 4.9.318 Bump 4.14.277 -> 4.14.283 Bump 4.19.241 -> 4.19.247 Bump 5.4.191 -> 5.4.198 Bump 5.10.113 -> 5.10.122 Bump 5.15.37 -> 5.15.47 Bump 5.17.5 -> 5.17.15 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* | glibc: configure adding debug symbols in glibc buildGuillermo E. Martinez2022-06-212-1/+12
|/ | | | | | | | | | After building the cross toolchain and compile a simple C program, objdump reports debug information even though -g modifier was not used. These debug segments are in glibc library and CRT files. So a new config entry: CT_GLIBC_ENABLE_DEBUG was added to control when we want to add debug information to glibc, by default is enabled. Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
* Enable D language supportMarc Poulhiès2022-06-143-0/+16
| | | | | | | Enable D support as an experimental feature. GDC becomes a build dependency when enabled. Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
* configure.ac: bison is required for kconfChris Packham2022-06-131-1/+1
| | | | | | | | | | Make the requirement for bison harder (but not strict). The system bison will be used to build kconf. If the system bison is not GNU bison 2.7 or later crosstool-ng will build GNU bison as a companion tool if necessary (for glibc 2.29 or newer). Fixes #1621 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Add gcc 9.5.0Chris Packham2022-06-0822-11/+11
| | | | | | Add GCC 9.5.0 and regenerate the patches as necessary. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Fix compilation error in core C gcc compiler older than v5Guillermo E. Martinez2022-06-011-2/+8
| | | | | | | | | | | | | | | | | | | | | When core gcc older than v5 is compiled it shows the error message: Build failed in step 'Installing core C gcc compiler' called in step '(top-level)' Error happened in: CT_DoExecLog[scripts/functions@376] called from: do_gcc_core_backend[scripts/build/cc/gcc.sh@627] called from: do_cc_core[scripts/build/cc/gcc.sh@210] called from: main[scripts/crosstool-NG.sh@697] configure: error: in `.../build/build-cc-gcc-core/fixincludes': configure: error: C compiler cannot create executables This patch disable `all-build-libcpp' target when core gcc older than v5 is configured. Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
* gcc: Disable zstd for canadian buildsChris Packham2022-05-311-2/+1
| | | | | | | | | | We don't currently bundle zstd so when performing a canadian build we need to tell GCC not to enable zstd support for lto otherwise it might decide to enable it based on the package being installed on the build machine. Fixes #1718 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gmp: Set CC_FOR_BUILD and CPP_FOR_BUILDChris Packham2022-05-311-2/+5
| | | | | | | | | When GMP is being "cross" compiled for the same architecture (i.e. build == host) it does not pick the right compiler. Set CC_FOR_BUILD and CPP_FOR_BUILD to override the default compiler. Fixes #1328 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* glibc: rework GLIBC_ENABLE_WERRORChris Packham2022-05-311-5/+6
| | | | | | | | | | Use `depends on` conditions to enable/disable building glibc with -Werror. Using `depends on` instead of `default if` means that when the GCC/GLIBC selection changes GLIBC_ENABLE_WERROR will automatically become n. Fixes #1729, fixes #1712 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: Update fix for sh-unknown-elfChris Packham2022-05-312-65/+1
| | | | | | | | | Extend the fix from commit 6b465e15 ("Remove m1 from multilibs for GCC11 on SH arch.") to cover GCC 12 and future releases. Remove the patch that was added to solve the same problem. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Add Oracle ol8u6 product to crosstool-ngGuillermo E. Martinez2022-05-3111-0/+180
| | | | | | | | | | | | | | | | | | This commit adds support for the following Oracle products, in order to target Oracle Linux 8.6: Binutils 2.30-113.0.1 GCC 8.5.0-10.0.2 glibc 2.28-189.1.0.1 UEK5/u4 4.14.35-2025.400.8 Sample configuration files are provides for the following triplets: aarch64-ol8u6-linux-gnu x86_64-ol8u6-linux-gnu i686-ol8u6-linux-gnu Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
* glibc: backport fix for vfork on mipsChris Packham2022-05-261-0/+142
| | | | | | | | | | | glibc-2.23 fails to build for mips with nptl/libpthread.so:(*IND*+0x0): multiple definition of `vfork@GLIBC_2.0'; This was fixed in glibc-2.24. Backport the fix for glibc-2.23. Fixes #1744 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gcc: drop libsanitizer patch for GCC12Chris Packham2022-05-232-26/+0
| | | | | | | | | | | For some reason GCC 12 ends up hitting the _MIPS_SIM_NABI32 case for Linux's arch/mips/include/uapi/asm/stat.h when building libsanitizer. This is basically the opposite of the problem from commit 1b6ad7cd ("gcc: Bring in fix for libsanitizer on mips64"). Dropping the patch resolves the issue for GCC 12. Fixes #1741 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* 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>