Commit Graph

5588 Commits

Author SHA1 Message Date
Keith Packard
918c2a82c8 risc-v: Provide sample for picolibc-only toolchain
This builds a multilib toolchain using picolibc. The default target
is rv32imac

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-19 15:13:55 +12:00
Keith Packard
56dbe2ad30 arm-picolibc-eabi: Specify default linker memory layout
Picolibc now lets you configure the default memory layout used in the
default linker script. Add values to the sample arm-picolibc-eabi
configuration that sets values appropriate for typical cortex m
processors run under qemu.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-19 15:13:55 +12:00
Keith Packard
c33c2bf04e picolibc: Allow default memory layout values to be configured
These values are used when constructing the default linker scripts
used with picolibc. Setting reasonable defaults allows simple test
applications to be compiled without additional configuration.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-19 15:13:55 +12:00
Keith Packard
06faf2002e picolibc: Don't disable libstdc++ wchar_t for 1.8.1 or newer
Picolibc 1.8.1 has wchar_t stdio support, so libstdc++ can include
it.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-19 15:13:55 +12:00
Keith Packard
7e39f11421 picolibc: Bump to 1.8.1
New upstream version.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-19 15:13:55 +12:00
James Knight
b42079e92a config/arch/x86: enable libsanitizer
GCC's libsanitizer module does provide a subset of support for x86
targets (e.g. libasan). GCC's `libsanitizer/configure.tgt` file only
outlines flags for optional sanitizers.

Signed-off-by: James Knight <james.d.knight@live.com>
2023-04-13 11:15:49 +12:00
Bryan Hundven
1adc236e69
Merge pull request #1928 from cpackham/updates
Updates to strace and linux
2023-03-30 23:53:04 -07:00
Chris Packham
17dfb51f12 linux: Add 6.2.7 bump LTS
Add 6.2.7 (actually this time)
6.1.13 -> 6.1.20
5.15.95 - > 5.15.103
5.10.169 -> 5.10.175
5.4.232 -> 5.4.237
4.19.273 -> 4.19.278
4.14.306 -> 4.14.310

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-03-20 21:08:59 +13:00
Chris Packham
6a94fc6df0 strace: Add strace 6.2
https://lists.strace.io/pipermail/strace-devel/2023-February/011172.html

Add strace 6.2, remove strace 6.1

Fixes #1915
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-03-20 21:06:54 +13:00
Bryan Hundven
89671bf236 [gcc] Move a patch to the bundled experimental patches
As mentioned in #1908, we should have patches that are experimental
under the CT_EXPERIMENTAL option. This an experimental patch to gcc:

https://gcc.gnu.org/pipermail/gcc-patches/2022-August/600452.html

And since it may affect production toolchains, we should move this patch
to the experimental bundled patches introduced in the previous commit.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2023-03-16 16:54:22 +13:00
Bryan Hundven
db942c3d0d Add option for experimental bundled patches
This adds 3 new options to patch order:
* bundled + bundled_exp
* bundled + bundled_exp + local
* local + bundled + bundled_exp

The path for bundled experimental patches is: ${CT_LIB_DIR}/packages/${pkg_dir}/experimental
and patches that are still being reviewed, but not yet applied upstream
may be toggled with ENABLE_EXPERIMENTAL_BUNDLED_PATCHES.

Also fix modelines for editors on bootstrap and scripts/functions, and
fix mix whitespace in scripts/functions.

Closes: #1916

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2023-03-16 16:54:22 +13:00
Bryan Hundven
fa05153eba Make checking for python more predictable.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2023-03-16 16:54:05 +13:00
Bryan Hundven
1b0c227c05 Add automake 1.16.5
This version matches newer python versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2023-03-14 08:57:25 +13:00
Bryan Hundven
a83feaa3c0 Minor yaml cleanup
This doesn't require running all the pipelines so...
[skip ci]

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2023-03-14 08:56:50 +13:00
Steven Fackler
9f2866037a Support targeting macOS aarch64 in older GCCs
This adds backports of a couple of patches necessary to support macOS
arm64 hosts for gcc. It was ported from
https://github.com/richfelker/musl-cross-make/pull/129 with some small
fixups to make the patches apply cleanly.

Signed-off-by: Steven Fackler <sfackler@gmail.com>
2023-03-14 08:56:14 +13:00
Chris Packham
c4f7405a96 samples: Rename canadian config for picolibc
We don't have a x86_64-pc-linux-gnu sample but we do have a
x86_64-unknown-linux-gnu. Rename the picolibc canadian config
accordingly.

Fixes: #1909
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-03-14 08:55:26 +13:00
Bryan Hundven
5a86af465f Add isl 0.25
This fixes configure time issues on newer linux distributions

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2023-03-14 08:53:16 +13:00
Chris Packham
247f1f86cd CI: Exclude macos,arm-picolibc-eabi combination
The arm-picolibc-eabi build runs out of space on the macos makers
because of all the multilib permutations. For now disable the
macos,arm-picolibc-eabi combination until we can think of something
better.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-03-14 08:49:56 +13:00
Bryan Hundven
5248760ea9
Merge pull request #1908 from keith-packard/gcc-getenv-default
packages/gcc: Add gcc patch to allow getenv default values
2023-03-09 19:59:35 -08:00
Chris Packham
08ae42ae9a linux: Add 6.2 bump LTS
Add 6.2
Update 6.1 -> 6.1.13
Update 5.15.82 -> 5.15.95
Update 5.10.158 -> 5.10.169
Update 5.4.226 -> 5.4.232
Update 4.19.268 -> 4.19.273
Update 4.14.301 -> 4.14.306

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-03-08 16:54:34 +13:00
Chris Packham
711e7bc114 binutils: Add binutils 2.40
https://sourceware.org/pipermail/binutils/2023-January/125671.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-03-08 16:54:34 +13:00
Chris Packham
1d298004c1 elf2flt: Add patch for binutils 2.40
Add a patch to deal with the removal of BFD_VMA_FMT from bfd.h in
binutils-2.40.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-03-08 16:54:34 +13:00
Joakim Nohlgård
7fcf499b03 samples: Use picolibc as main libc in the picolibc sample config
Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2023-03-08 16:54:12 +13:00
Joakim Nohlgård
1a362b5607 picolibc: Add configuration to select picolibc as the system libc
This moves the picolibc configuration values under C-library -> picolibc
so that they will be more easily discovered.

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2023-03-08 16:54:12 +13:00
Keith Packard
9e13e83068 gcc: Add --disable-wchar_t and --enable-stdio=pure for picolibc
Picolibc needs two additional gcc build options so that libstdc++
works correctly. When building picolibc as a companion library, those
are added in do_cc_libstdcxx_picolibc, but when built with picolibc as
the main C libary, those need to be added in the main GCC build.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-03-08 16:54:12 +13:00
Keith Packard
90cbc880af packages/gcc/12.2.0: Add picolibc patches
These patches allow picolibc to act as the system C library within gcc.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-03-08 16:54:12 +13:00
Joakim Nohlgård
8a9d371d06 picolibc: Use ${CT_CC} for compiler
Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2023-03-08 16:54:12 +13:00
Bryan Hundven
9a08601c1a Add missing dependencies for Debian build
Add unzip and python3-dev

Fixes #1905

Signed-off-by: Bryan Hundven <bryanhundven@skytap.com>
2023-03-01 20:06:29 +13:00
Keith Packard
06a0160328 packages/gcc: Add gcc patch to allow getenv default values
This patch, submitted upstream but not (yet?) accepted, adds a third
parameter to the specs file 'getenv' function that provides a value
for when the environment variable is not set, instead of having gcc
fail.

This seemed like the safest way to provide a mechanism for getting the
installed location of the toolchain from inside a specs file as, when
not installed in the built-in location, gcc already sets the
GCC_EXEC_PREFIX environment variable to a well defined location within
that directory hierarchy, but when installed in the location specified
at compile time, gcc does not. Providing a default value that matches
the compile-time location then allows the specs file to compute paths
relative to the current GCC installation location, whereever it is
installed.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-02-28 13:42:48 -08:00
Keith Packard
287fccb8bc gcc: Don't set --enable-default-pie by default
This changes how existing crosstool-ng setups work, causing many of
the bare-metal ones to fail.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-02-27 16:31:18 +13:00
Chris Packham
ee5a4026c3 gdb: Add gdb 13.1
https://sourceware.org/pipermail/gdb-announce/2023/000134.html
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-13.1-release

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-02-25 14:22:02 +13:00
Chris Packham
c7bfd36f22 zstd: Run through ./maintainer/manage-packages.sh
There was a typo in the original commit which used "zlib" instead of
"zstd". The checksums remain the same.

Fixes: 4cba2994 ("Add zstd to the companion libs")
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-02-13 19:37:02 +13:00
Chris Packham
f0ab9bb851 CI: Use ${{ matrix.sample }} when uploading artifacts
Update some hard coded names to use ${{ matrix.sample }} instead. This
will allow us to upload other artifacts in the future.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-02-13 19:36:27 +13:00
Chris Packham
190b8392da uClibc-ng: Add uClibc-ng 1.0.42
https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/log/?h=v1.0.42

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-02-08 17:14:19 +13:00
Chris Packham
30a2010a12 glibc: drop caddr_t patch
We've been carrying around this patch for ages. It was first added in
commit 42e908c4 ("libc/glibc: workaround for autoconf'ed define of
caddr_t") and ported to glibc-2.13 in commit de6b6733 ("libc/glibc: add
patch to avoid caddr_t redefinition"). It has been ported to every new
version of glibc ever since.

It's not immediately obvious that the original problem still affects
modern glibc versions. If there is a problem it hasn't been reported to
the glibc maintainers in the 12 years since it was first seen. It could
be that ct-ng is unique in the way we support canadian builds or that
there was another fix for the same problem applied upstream sometime in
the last 12 years.

Drop the patch now to stop in being propagated blindly to new glibc
versions. Doing it as a separate commit (as opposed to dropping it in
the previous commit which bumped the version) allows the decision to be
documented and if this turns out to be wrong it can be easily reverted.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-02-08 17:14:19 +13:00
Chris Packham
4f01612e00 glibc: Add glibc-2.37
https://sourceware.org/pipermail/libc-announce/2023/000035.html

Add the new version carry through 2 patches that are not upstream.

Fixes #1885
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-02-08 17:14:19 +13:00
Quentin Boswank
4cba299460 Add zstd to the companion libs
Add zstd to the companion libs witch allows to use lto zstd compression
in a canadian or cross-native enviroment

Signed-off-by: QBos07 <62326551+QBos07@users.noreply.github.com>
Signed-off-by: Quentin Boswank <62326551+QBos07@users.noreply.github.com>
2023-02-08 17:13:42 +13:00
mid-kid
0ce5b27385 maintainer/manage-packages.sh: Fix typo
Signed-off-by: mid-kid <esteve.varela@gmail.com>
2023-02-01 21:58:43 +13:00
mid-kid
f37fd1d30e Update mingw-w64 to v10.0.0
Signed-off-by: mid-kid <esteve.varela@gmail.com>
2023-02-01 21:58:43 +13:00
Bryan Hundven
aa6cc4d7f1
Merge pull request #1763 from cpackham/tarball
Add option to build toolchain tarball
2023-01-16 11:11:52 -08:00
Bryan Hundven
691b1c5d7f
Merge pull request #1875 from keith-packard/picolibc-1.8
Update picolibc to 1.8
2023-01-16 11:10:44 -08:00
Chris Packham
1d77bd306e glibc: Add fix for GNU make 4.4 compatibility to more versions
Backport the upstream fix for GNU make 4.4 compatibility to more
versions of glibc.

Fixes #1878
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-01-09 21:19:12 +13:00
Keith Packard
b085e00fe2 Update picolibc to 1.8
Signed-off-by: Keith Packard <keithp@keithp.com>
2022-12-23 12:06:43 -08:00
Cupertino Miranda
66ac9e649a Add Oracle ol8u7 product to crosstool-ng
This commit adds support for the following Oracle products, targeting
Oracle Linux 8.7:

Binutils 2.30-117.0.1
GCC      8.5.0-15.0.2
glibc    2.28-211.1.0.1
UEK5/u4  4.14.35-2025.400.8

Sample configuration files are provided for the following triplets:

aarch64-ol8u7-linux-gnu
x86_64-ol8u7-linux-gnu
i686-ol8u7-linux-gnu

Signed-off-by: Cupertino Miranda <cupertino.miranda@oracle.com>
2022-12-18 21:21:14 +13:00
Marc Poulhiès
cdae8d0559 Enable support for building libgccjit
libgccjit is still under development and, despite its name, may also be used for
ahead-of-time compilation.

Documentation can be found on the gcc website:
https://gcc.gnu.org/onlinedocs/jit/internals/index.html
https://gcc.gnu.org/wiki/JIT

With this change it's possible to enable the building of the libgccjit. It's
enabled as a language (with --enable-languages=jit) even if not a language
frontend at all.

The main changes are related to the requirement of having everything host side
built as Position Independent Code (PIC) with --enable-host-shared. GCC has the
needed logic for building its dependencies (mpc, gmp, mpfr, ...) correctly when
built "in-tree", which is not the case with crosstool-ng (see
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=05048fc29f0)

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2022-12-18 21:20:50 +13:00
Chris Packham
500fe13654 linux: Add Linux 6.1 and bump LTS
Add Linux 6.1
Update 6.0.2 -> 6.0.12
Update 5.15.74 -> 5.15.82
Update 5.10.148 -> 5.10.158
Update 5.4.218 -> 5.4.226
Update 4.19.261 -> 4.19.268
Update 4.14.295 -> 4.14.301

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-12-14 17:11:28 +13:00
Chris Packham
ecda668192 strace: Add 6.1 release
https://lists.strace.io/pipermail/strace-devel/2022-December/011128.html

Add strace 6.1. Remove 6.0.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-12-14 17:11:28 +13:00
Chris Packham
dcb34c5a87 samples: Cosmetic improvements to powerpc-e500v2-linux-gnuspe
--enable-e500_double was valid but strange (the correct form is
--enable-e500-double). -Wa,-me500x2 was also misleading, it is
equivalent to Wa,-me500.  --enable-e500x2 --with-e500x2 did nothing as
they aren't used by the binutils configure script. Finally passing
-mfloat-gprs=double in CFLAGS is unnecessary because this is the default
when using -mcpu=8548. Correct these in the sample config.

Fixes #1867
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-12-14 17:11:16 +13:00
Cupertino Miranda
db4b7179ed Add BPF architecture target support
BPF is a virtual machine and associated ISA that resides in the Linux
kernel.  Initially intended for user-level packet capture and filtering,
BPF is nowadays generalized to serve as a general-purpose infrastructure
also for non-networking purposes.

Signed-off-by: Cupertino Miranda <cupertino.miranda@oracle.com>
2022-12-14 17:11:02 +13:00
Joakim Nohlgård
7f80447c5f samples: Add x86_64-pc-linux-gnu,arm-picolibc-eabi Canadian cross sample config
Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2022-12-11 19:52:26 +13:00