Commit Graph

5695 Commits

Author SHA1 Message Date
Chris Packham
4442dc87dd config: Detect rsync presence at config time
Linux kernel versions newer than 5.3 require rsync in order to export
the UAPI headers. Commit f441a6bf ("linux: Add dependency on rsync for
Linux >= 5.3") attempted to address this with a check that runs when
crosstool-ng is built. That had the downside that if crosstool-ng was
built and packaged on a machine that had rsync then run on a machine
that didn't then the build would fail due to the missing rsync.
Conversely if the first machine didn't have rsync installed when
crosstool-ng was built then we would not offer newer kernel versions.

We can address this by checking for rsync when the toolchain
configuration is updated using some functionality in the newer Kconfig
that we've updated to previously.

Fixes #1940
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-12-18 16:28:14 +13:00
Chris Packham
6d1b6e41e9 elf2flt: Update to v2023.09
Update to the v2023.09 release and drop the patches that have been
applied upstream.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-12-08 12:19:59 +13:00
Chris Packham
4a2a9c3699 binutils: Bring in upstream performance fix
Bring in an upstream fix for a performance issue in the 2.41 release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-12-08 12:19:38 +13:00
Hans-Christian Noren Egtvedt
d5694c660f binutils: Add binutils 2.41
https://sourceware.org/pipermail/binutils/2023-July/128719.html

Forward ported all patches from binutils 2.40, with only minor
adjustment to match new upstream code in patch
0007-poison-system-directories.patch.

Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
2023-12-08 12:19:38 +13:00
Chris Packham
d91732672e scripts/build/binutils: Update path for libbfd
As of binutils 2.41 libbfd.a is not placed directly in the output
directory. Fortunately the libtool .libs location seems to have been
in place for some time so we can update the path without worrying about
backwards compatibility.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-12-08 12:19:38 +13:00
Chris Packham
cd0d14697d CI: Add sample for hppa-unknown-linux-gnu
Add sample for hppa/parisc and include in CI builds.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-11-25 15:41:47 +13:00
Chris Packham
3758304b01 config/arch: Mark hppa/parisc as experimental
There are a number of things that don't currently work notably uClibc,
C++ and GDB. Mark this architecture as experimental.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-11-25 15:41:47 +13:00
John David Anglin
70c6e877fa Adjust GUESS tuple for PA-RISC linux.
64-bit kernels can support running both 32 and 64-bit user code. Select
hppa-unknown-linux-$LIBC or hppa64-unknown-linux-$LIBC depending on
whether compiler defines LP64 or not.

Always select hppa-unknown-linux-$LIBC with 32-bit kernel. This will
generate 32-bit PA 1.1 code. If PA 2.0 code is desired, user can use a
compiler option to select it.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
2023-11-25 15:41:47 +13:00
John David Anglin
1ea6e309e5 Map parisc64 to hppa64 in config.sub.
Debian and Gentoo use hppa/hppa64 for the PA-RISC ports. These are the
proper CPU designations for configuring most packages.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
2023-11-25 15:41:47 +13:00
John David Anglin
5f3a1ef166 Add support for 32 and 64-bit PA-RISC linux build targets.
Note: The 64-bit target lacks a glibc port and doesn't build. Also,
there is no uclibc support.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
2023-11-25 15:41:47 +13:00
Chris Packham
032b3a0032 linux: Add 6.6.1 bump LTS
Add 6.6.1
Bump 4.14.326 -> 4.14.329
Bump 5.10.197 -> 5.10.200
Bump 5.15.133 -> 5.15.138
Bump 5.4.257 -> 5.4.260
Bump 6.1.55 -> 6.1.62
Bump 6.5.5 -> 6.5.11

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-11-15 10:19:44 +13:00
Chris Packham
e5df02aa1c strace: Add 6.6
https://lists.strace.io/pipermail/strace-devel/2023-October/011369.html

Add the 6.6 release, delete 6.5.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-11-15 10:19:44 +13:00
Mateusz Mikuła
7399d61462 mingw-w64: add v11.0.1
This adds access to various new APIs and brings several bug fixes

Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2023-11-15 10:19:21 +13:00
Chris Packham
daf19e1761 gdb: Use correct arguments for static linking
As of version 13.x GDB uses libtool for linking instead of g++ these
take different arguments for static linking.  Commit 6146b5a6 ("use
-all-static when building a static gdb") attempted to deal with this but
had the effect of causing older GDB versions to fail to build
statically. Add a new internal flag GDB_CC_LD_LIBTOOL and use this to
decide whether to pass `-static` or `-all-static`.

Fixes #2053
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-11-02 20:49:26 +13:00
Chris Packham
4cbd409508 m4/ctng_python.m4: Use AC_PATH_PROGS for full path
We use the information from various configure time checks to populate
paths.sh. The paths used are all absolute except for the python binary.
In the switch to a more comprehensive check for python by commit
fa05153e ("Make checking for python more predictable.") we ended up
using AC_CHECK_PROGS which checks for the program on the path and sets
the variable to the name of the program. This makes python inconsistent
with the other programs and  seems to cause problems for MSYS2.  Use
AC_PATH_PROGS instead which does the same check but sets the variable to
the absolute name of the program

Fixes #2047
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-11-02 20:48:53 +13:00
Chris Packham
59cc1a172a m4/ctng_python.m4: Fix up URL
Seems to be the victim of an overzealous search and replace.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-11-02 20:48:53 +13:00
c-grant
f11d4d9c1e Add gnatls & gnatlink
add gnatls and gnatlink to list of tools since it is needed to support Ada just like gnatmake and gnatbind

Update crosstool-NG.sh & TODO

Signed-off-by: c-grant <60671494+c-grant@users.noreply.github.com>
2023-11-02 20:48:03 +13:00
Quentin Boswank
cf6b1740a1 Add more caching to the CI
more specificaly to the tarballs download. The function CT_Fetch now
touches the already existing files to be comparable to the not used ones
that can araise when a package is updated.
This comparsion is needed because if it would not exist the tarball
would grow in size due to not used but still cached packages.
This would take time but is definitly something to worry about.

Signed-off-by: Quentin Boswank <qubos@outlook.de>
2023-10-04 16:12:23 +13:00
Chris Packham
591a041865 duma: Drop 2_5_15
Drop duma 2_5_15 which was marked as obsolete in the last release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
517584a114 cloog: Drop 0.18.0
Drop cloog 0.18.0 which was marked as obsolete in the last release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
8ce578fe9e zlib: Drop 1.2.12
Drop zlib 1.2.12 which was marked obsolete in the last release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
84aa309332 newlib: Drop obsolete versions
Drop versions of newlib that were marked obsolete in the last release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
62ddf6870f expat: Drop 2.4.1
Drop expat 2.4.1 which was marked obsolete in the last release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
9ee4e31a91 isl: Drop 0.11.1
Drop isl 0.11.1 which was marked obsolete in the last release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
fbd6c60793 mpfr: Drop obsolete versions
Drop versions of mpfr that were marked obsolete in the last release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
b9e57ebeec picolibc: Drop obsolete versions
Drop versions that were marked as obsolete in the last release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
7a66aae17c strace: Add 6.5, remove old version
Add 6.5, mark 6.4 as obsolete, remove 5.16.
https://lists.strace.io/pipermail/strace-devel/2023-September/011351.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
a3d07b54f5 mpc: Add 1.3.1 drop old versions
https://www.multiprecision.org/

Add 1.3.1. Mark 1.2.1 as obsolete. Remove 1.0.3 and 1.1.0.

Fixes #2030
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
3793697220 linux: Add 6.5.5 bump LTS
Add 6.5.5
Bump 6.4 -> 6.4.16
Bump 6.1.35 -> 6.1.55
Bump 5.15.11 -> 5.15.133
Bump 5.10.185 -> 5.10.197
Bump 5.4.248 -> 5.4.257
Bump 4.19.287 -> 4.19.295
Bump 4.14.319 -> 4.14.326

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-10-04 16:11:42 +13:00
Chris Packham
12dd99421c m68k: Support MMU
Some m68k variants do have a MMU so the architecture can set
ARCH_USE_MMU. That means we can have a m68k-unknown-linux-gnu
configuration and that m68k-unknown-uclinux-uclibc needs to select
LIBC_UCLIBC_NG since it's no longer the default.

Fixes #2040
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-24 16:15:09 +13:00
Lukas Rusak
a0bf704ede picolibc: Bump to 1.8.3
Signed-off-by: Lukas Rusak <lorusak@gmail.com>
2023-09-24 16:13:58 +13:00
Chris Copeland
6146b5a640 use -all-static when building a static gdb
gdb is linked with libtool, which has a different meaning
for -static, and -all-static must be used to get a static executable.

The binutils build script already uses this option for static builds.

Also remove unnecessary -static from cflags for the gdb build.

Signed-off-by: Chris Copeland <chris@chrisnc.net>
2023-09-24 16:12:58 +13:00
Chris Copeland
f22be3a625 allow plugins and LTO with static toolchains
This reverts commit 0841e2f820 from 2011,
which disabled plugin support in binutils for static toolchains, citing
build system problems. This problem seems to be resolved.

This also reverts part of 45512b003d from
2017, which disabled LTO in gcc for static toolchains, citing problems
on Arch Linux with loading the LTO plugin from a static binary.

Signed-off-by: Chris Copeland <chris@chrisnc.net>
2023-09-24 16:11:41 +13:00
Norbert Lange
dc82a2bfac Add a musl variable LIBC_MUSC_EXTRA_CFLAGS
Signed-off-by: Norbert Lange <nolange79@gmail.com>
2023-09-24 16:10:02 +13:00
Norbert Lange
c91133acc1 fix toolchain build with linker plugins
older binutils dont automatically pick up plugins,
but need to manually use wrappers like gcc-ar.
This fix allows to compile the host toolchain with -ftlo
on debian stretch.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
2023-09-24 16:08:25 +13:00
Chris Packham
334f6d6479 moxiebox: Use newlib 4.2
moxie-unknown-moxiebox has problems building with newlib 4.3

  ld: /lib/libc.a(libc_a-closer.o): in function `_close_r':
  newlib/libc/reent/closer.c:47: undefined reference to `_close'

There are some Makefile changes in newlib 4.3 and it's likely previously
this config was picking up `_close` from libsim.a. For now just pin the
newlib version back to 4.2 in the moxie-unknown-moxiebox config.

Resolves #2036
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-24 15:23:02 +13:00
Chris Packham
c175b21ce4 gcc: Bring in upstream fixes for CVE-2023-4039
Bring in the fixes for GCC 7 through 13.

https://rtx.meta.security/mitigation/2023/09/12/CVE-2023-4039.html
https://developer.arm.com/Arm%20Security%20Center/GCC%20Stack%20Protector%20Vulnerability%20AArch64

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-17 15:41:50 +12:00
Chris Packham
977ed69427 mpc: Mark 1.0.3 and 1.1.0 as obsolete
Mark these versions as obsolete so they can be dropped after the next
release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-13 13:55:31 +12:00
Chris Packham
daa93b0117 mpc: Update URLs
Update the URLs for MPC to use https and the new gitlab.inria.fr
repository.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-13 13:55:31 +12:00
Chris Packham
fe5d8ca9eb mpfr: Mark 3.1.6, 4.0.2 and 4.1.0 as obsolete
Mark these older versions as obsolete. These will be dropped after the
next release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-13 13:55:31 +12:00
Chris Packham
dfeb620888 mpfr: Add 4.2.1
https://www.mpfr.org/mpfr-4.2.1/

This fixes compatibility issues with hosts using newer glibc (>=2.37).

Fixes #2017, #2029

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-13 13:55:31 +12:00
Chris Packham
e5046f3e84 mpfr: Update mirror URL
Update the URL to use https.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-13 13:55:31 +12:00
Chris Packham
2b2183b321 gcc: Add patch to avoid reference to __pthread_key_create
A toolchain uclibc-ng-1.0.43, binutils-2.40 and gcc-13.2.0 hits the
following error when building:

  ld.bfd: isl_test2.o: non-canonical reference to canonical protected function `__pthread_key_create' in x86_64-multilib-linux-uclibc/sysroot/lib64/libc.so.1
  ld.bfd: failed to set dynamic section sizes: bad value

The reference comes from libgcc where it is using the
__pthread_key_create() symbol to detect the use of pthreads with GNU
libc. Prevent this on uclibc-ng with an explicit condition.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111322

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-13 13:55:00 +12:00
Chris Packham
6780e48aca xtensa-fsf-elf: Unset NEWLIB_GLOBAL_ATEXIT
NEWLIB_GLOBAL_ATEXIT needs to be set to y for modern newlib versions.
Commit 227d99d7 ("newlib: add 4.3.0.20230120") ensured this was done.
But xtensa-fsf-elf uses a newlib version from before this so it needs to
explicitly opt out.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-07 12:24:32 +12:00
Chris Packham
cf25b4edb0 glibc: Fix SVE detection on aarch64
glibc-2.28 complains:

  configure: error: use a compatible toolchain or configure with --disable-mathvec (this results in incomplete ABI).

Apparently this is a problem in the way GCC passes the -mcpu and -march
values to the assembler. As a workaround have the configure check pass
-mcpu as well to override anything we're passing in the environment.

Patch and explanation taken from the Yocto project with thanks.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-01 16:34:58 +12:00
Chris Packham
b46a0dbd1b samples: riscv32-picolibc-elf: Drop invalid config
CC_CC_GCC_ENABLE_DEFAULT_PIE=n is invalid Kconfig syntax for an option
that was intentionally disabled the saved config would be

  '# CC_CC_GCC_ENABLE_DEFAULT_PIE is not set'

but the DEFAULT_PIE option isn't selectable for RISCV && BARE_METAL so
the correct thing to do is just remove the config.

This also picks up a change regenerating the saved sample due to changes
in the Kconfig ordering.

Fixes #2019
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-09-01 16:34:31 +12:00
Keith Packard
5a09578b67 gcc/13.2.0: Add patch with fixes for m68k soft float code
Here's a patch I've sent upstream which fixes a range of floating
point bugs in libgcc.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-08-25 18:13:37 +12:00
Chris Packham
9473e7a481 glibc: Add option for building libcrypt
As of glibc-2.38 libcrypt is not built by default. Add an option to
allow building libcrypt support into glibc.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-08-25 18:13:06 +12:00
Kirill K. Smirnov
981043dc88 Do not process 'packages' folder twice
The folder 'packages' is processed in bootstrap, so there is no
need to process it again in Makefile.
This fixes a regression introduced in eb62ec3fbe

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2023-08-21 20:31:24 +12:00
Chris Packham
f064a63c6f gcc: Add patch to resolve libsanitizer build issue
libsanitizer has problems intercepting crypt() and crypt_r() with newer
glibcs. Bring in an upstream patch that drops support for these from
ASAN.

d7bead8336
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111057

Fixes #2010
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-08-19 16:47:15 +12:00