Commit Graph

5595 Commits

Author SHA1 Message Date
Elijah Shaw-Rutschman
836b9eeb59 packages/dtc: Add 1.6.1
Signed-off-by: Elijah Shaw-Rutschman <elijahr@gmail.com>
2022-08-08 20:15:26 +12:00
Chris Packham
ba4fcd30a0 linux: Add 5.19 bump LTS
Add 5.19
Bump 5.18.4 -> 5.18.15
Bump 5.15.47 -> 5.15.58
Bump 5.10.122 -> 5.10.134
Bump 5.4.198 -> 5.4.208
Bump 4.14.283 -> 4.14.290
Bump 4.9.318 -> 4.9.325

Add a milestone for 5.19 as this adds support for the loongarch
CPU architecture.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-08-08 20:15:06 +12:00
Chris Packham
562434f12e glibc: Add glibc 2.36
https://sourceware.org/pipermail/libc-announce/2022/000034.html

Add the new version. Regenerate the patches and remove the one that had
been applied upstream. Add a milestone for 2.36 as this version
introduces support for the loongarch CPU architecture.

Fixes #1795

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-08-08 20:15:06 +12:00
Chris Packham
cc58f592ae CI: Update to macos-latest
Update the CI actions from macos-10.15 to macos-latest.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-28 17:39:59 +12:00
Chris Packham
7feb97f137 configure.ac: AC_PROG_LEX set to noyywrap
It appears that noyywrap is actually what is needed for kconfig.
Particularly on arclinux where the default flex installation does not
provide the yywrap function.

Fixes #1790
Fixes 015d039e ("AC_PROG_LEX set to yywrap")

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-27 20:18:14 +12:00
Chris Packham
320710f2a9 CI: Install meson and ninja when building
Add meson and ninja-build to the prerequisites so we actually build
picolibc.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-27 20:17:23 +12:00
Chris Packham
0100c9b218 CI: Add fetch mingw sources
Add x86_64-w64-mingw32 to the list of samples we use to fetch sources.
This should pick up the mingw related tarballs so the build steps that
follow don't have to.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-27 20:16:48 +12:00
Guillermo E. Martinez
04b0c0fb78 Update Oracle binutils for ol8u6 product
Oracle binutils updated to binutils-2.30-113.0.2

Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
2022-07-25 19:50:06 +12:00
Norbert Lange
ee635cdf9a Fixes for libstdcxx-verbose option tristate
Make it proper "tristate" by not specifying the
option.

The config GCC_4_8_or_later was removed with
cc6b7fad46, so dont use it.
2022-07-11 19:50:29 +12:00
Chris Packham
1655025873 gcc: Add gcc 10.4.0
https://gcc.gnu.org/pipermail/gcc-announce/2022/000173.html

Add GCC 10.4.0 and regenerate the ct-ng patches. The
powerpc-Fix-asm-machine-directive-for-some-CPUs patch is dropped as the
change was applied upstream (and subsequently refactored).

Closes #1777

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-11 19:50:02 +12:00
Chris Packham
f5e0d33ab4 Allow libsanitizer on architectures that support it
libsanitizer is only supported on selected architectures. Add
ARCH_SUPPORTS_LIBSANITIZER and have architectures select this option
based on the list of supported configurations from GCC's
libsanitizer/configure.tgt. Support for mips64 was added in GCC12 so
this is an additional condition for the mips architecture.

Fixes #1733

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-11 19:49:23 +12:00
Chris Packham
bcb053baf6 Revert "gcc: Bring in fix for libsanitizer on mips64"
This reverts commit 1b6ad7cd48. As it
turns out libsanitizer isn't supported on mips64 with GCC11 or older
(there is support in GCC12). The bug is actually the fact that ct-ng
allows configuring libsanitizer for architectures that don't support it.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-07-11 19:49:23 +12:00
Bryan Hundven
3defb7b165 Update .gitignore: Ignore .DS_Store on MacOS
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-07-01 16:34:01 +12:00
Bryan Hundven
88c393022e Update .gitignore: Ignore backup files
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-07-01 16:34:01 +12:00
Justin Chen
c97a785485 Switch CT_CC_{CORE_}SYSROOT_ARG to arrays
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>
2022-07-01 16:33:37 +12:00
Bryan Hundven
00adecf62f
Merge pull request #1774 from bhundven/update_configure_ac
Update configure ac
2022-06-29 13:02:31 -07:00
Bryan Hundven
8e572114c2
Merge pull request #1775 from bhundven/bootstrap_mixed_indent
Fix mixed indent in bootstrap
2022-06-29 13:01:52 -07:00
Guillermo E. Martinez
939ea40aa4 binutils-oracle: Update source patch location for ol8
Due to a new commit oracle binutils branch an update location for
patches is required. This patch disabled debug information for
glibc too.
2022-06-28 20:56:45 +12:00
Chen Tao
75c8a08a3a newlib: fix conflicting configure options
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>
2022-06-28 20:54:26 +12:00
Bryan Hundven
b9ee00e3cb Update config.sub and config.guess
./ct-ng updatetools

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-06-28 20:53:39 +12:00
Chen Tao
c368525d5b kconfig: modify rules for multilibs configuration
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>
2022-06-28 20:53:01 +12:00
Bryan Hundven
2691866af1 Bump autoconf requirement to 2.69
This will help with moving forward with newer 2.70 compatibility.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-06-27 12:30:02 -07:00
Bryan Hundven
7942a5403f M4 quote yywrap in AC_PROG_LEX
It didn't output an error, but it's best practice.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-06-27 12:29:24 -07:00
Bryan Hundven
e51a7ca18c Fix mixed indent in bootstrap
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>
2022-06-27 12:13:58 -07:00
Bryan Hundven
b30acd3625 Remove obsolete AC_HEADER_STDC
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>
2022-06-26 18:50:11 -07:00
Bryan Hundven
015d039e5f AC_PROG_LEX set to yywrap
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>
2022-06-26 18:44:56 -07:00
Guillermo E. Martinez
883ecbebb6 Restore Oracle products to crosstool-ng using gcc-oracle
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>
2022-06-26 20:29:05 +12:00
Chris Packham
994767d6c5 strace: Add strace 5.18
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>
2022-06-21 20:34:13 +12:00
Chris Packham
27253d427b linux: Add 5.18.4 bump LTS
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>
2022-06-21 20:33:57 +12:00
Guillermo E. Martinez
8a1ef66776 glibc: configure adding debug symbols in glibc build
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>
2022-06-21 20:33:34 +12:00
Chris Packham
376a289777 Add option to build toolchain tarball
Add TARBALL_RESULT option that will produce a tarball of the final
toolchain to make it easier to deploy the toolchain to other machines.

The implementation uses `find | sort` instead of `tar --sort` because
this was introduced in GNU Tar v1.28, which is not available in some LTS
Linux distributions. This is  a variation of the command recommended
here: https://wiki.debian.org/ReproducibleBuilds/FileOrderInTarballs

Closes #1262

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-06-15 21:51:58 +12:00
Marc Poulhiès
618affc789 Enable D language support
Enable D support as an experimental feature.
GDC becomes a build dependency when enabled.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2022-06-14 20:54:54 +12:00
Chris Packham
a3e3d734a7 configure.ac: bison is required for kconf
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>
2022-06-13 20:52:43 +12:00
Chris Packham
2f0d1f334f gcc: Add gcc 9.5.0
Add GCC 9.5.0 and regenerate the patches as necessary.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-06-08 19:38:05 +12:00
Guillermo E. Martinez
3d706748b4 gcc: Fix compilation error in core C gcc compiler older than v5
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>
2022-06-01 14:50:43 +12:00
Chris Packham
f6d3f498f0 gcc: Disable zstd for canadian builds
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>
2022-05-31 20:01:48 +12:00
Chris Packham
b510e062c4 gmp: Set CC_FOR_BUILD and CPP_FOR_BUILD
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>
2022-05-31 20:01:17 +12:00
Chris Packham
a321a0b892 glibc: rework GLIBC_ENABLE_WERROR
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>
2022-05-31 20:00:38 +12:00
Chris Packham
dec3d3a421 gcc: Update fix for sh-unknown-elf
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>
2022-05-31 20:00:00 +12:00
Guillermo E. Martinez
2d6d22d96d Add Oracle ol8u6 product to crosstool-ng
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>
2022-05-31 19:59:32 +12:00
Chris Packham
b88d338516 glibc: backport fix for vfork on mips
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>
2022-05-26 12:51:48 +12:00
Chris Packham
23580a86aa gcc: drop libsanitizer patch for GCC12
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>
2022-05-23 20:51:45 +12:00
Chris Packham
db6f703f52 gcc: Add 12.1
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>
2022-05-19 14:24:46 +12:00
Chris Packham
1b6ad7cd48 gcc: Bring in fix for libsanitizer on mips64
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>
2022-05-18 20:17:01 +12:00
Chris Packham
b17792c52c glibc: Reinstate support for the bundled ports
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>
2022-05-18 10:38:11 +12:00
Chris Packham
5937024455 gdb: Add 12.1
Add gdb 12.1 release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-05-16 19:23:47 +12:00
Chris Packham
86b6448891 linux: Add 5.17.5, bump LTS
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>
2022-05-16 19:23:47 +12:00
Chris Packham
020507e7e5 duma: Add checksums for 2_5_21
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>
2022-05-16 19:23:16 +12:00
Chris Packham
2804d686bf duma: Add version 2.5.21
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>
2022-05-15 11:21:22 +12:00
Chris Packham
318d6b1aec testing/docker: Document policy
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>
2022-05-15 11:19:49 +12:00