Commit Graph

5665 Commits

Author SHA1 Message Date
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
Kirill K. Smirnov
fab9efd8fa gdb: fix build with recent ncurses
For mingw host a special macro NCURSES_STATIC must be defined.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2023-08-15 16:26:10 +12:00
Quentin Boswank
fd04f43617 Add option to re-enable ˋlibstdc++ˋ on avr targets.
Due to the small flash space on AVR devices the library containing the
standard types in C++ (ˋlibstdc++ˋ) does not get built normally when
enabling the C++ language support.

This option is an easy way to go back to the PC-way where ˋlibstdc++ˋ is
built.

Signed-off-by: Quentin Boswank <qubos@outlook.de>
2023-08-14 16:12:12 +12:00
Chris Packham
cd8a5b72b5 Revert "libc/uclibc: Require GCC12 or older"
This reverts commit 5427dac45c. The issues
that were causing this have been resolved with some updates so allow the
uclibc+gcc13 combination again.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-08-13 11:15:29 +12:00
Chris Packham
b7a25ee7b0 uClibc-ng: Bring in upstream fix for static builds
Bring in an upstream fix that affects static builds of uClibc-ng.

Fixes #1959
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-08-13 11:15:29 +12:00
Chris Packham
35676f3a2c CI: build glibc toolchains without debug symbols
Disable CT_GLIBC_ENABLE_DEBUG to hopefully make the toolchains use less
disk-space on the free-tier github action runners.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-08-10 14:01:58 +12:00
Chris Packham
2ef5c62c68 glibc: Add glibc-2.38
https://sourceware.org/pipermail/libc-announce/2023/000036.html

Add the new version and carry through the ARC700 patch.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-08-10 14:01:58 +12:00
Kirill K. Smirnov
285915cb38 ncurses: correctly parse sofisticated gcc version
On canadian cross build-gcc reports its version as '13-win32'.
ncurses >=6.3 correctly interprets this line as '13', but older
ncurses versions fail and jump into wrong conclusions.

Let's cherry-pick related changes from mainline ncurses.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2023-08-04 16:44:14 +12:00
Kirill K. Smirnov
eb62ec3fbe bootstrap: follow symlinks
newlib-nano package shares patches with newlib package via symlinks.
If a user chooses local setup (--enable-local) it works perfectly, but
if a user chooses normal setup (make install), the links are lost.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2023-08-04 16:43:40 +12:00
Chris Packham
41f5d49053 gcc: Add 13.2.0
https://gcc.gnu.org/pipermail/gcc-announce/2023/000179.html
https://gcc.gnu.org/gcc-13/changes.html

Add the new version and regenerate the patches.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-08-04 16:43:19 +12:00
Kirill K. Smirnov
465207b7a2 Fix missing quote mark
The missing quotes affect bootstrap routine:
./bootstrap: eval: line 646: unexpected EOF while looking for matching `''
./bootstrap: eval: line 647: syntax error: unexpected end of file

For some reason bootstrap script ignores these errors and terminates
successfully.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2023-07-29 09:12:14 +12:00
Chris Packham
3293e72b3a newlib: Mark versions <= 4.1.0 as obsolete
Mark newlib 2.5.0.20171222, 3.0.0.20180831, 3.1.0.20181231, 3.2.0, 3.3.0
and 4.1.0 as obsolete. These can be dropped after the next crosstool-ng
release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-07-28 08:51:17 +12:00
Norbert Lange
2d8dd4f5e8 newlib: add 4.2.0.20211231
Remove upstreamed patches.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
2023-07-24 15:01:44 +12:00
Chris Packham
e63c40854c provide a workaround for a glibc and GNU make incompatibility
Versions of GNU make newer than 4.4 trigger a hang in versions of glibc
older than 2.31. As distros update to the newer GNU make version we'll
start seeing more and more reports of this hang. Fortunately we already
carry GNU make as a comp tool so all we need to do is select the right
version when needed.

Fixes #1946, #1932, #1975
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-07-21 16:47:34 +12:00
Thomas Petazzoni
bedec42b53 Revert "Update requirements: autoconf==2.71 and automake>=1.16"
This reverts commit 658f5e574f, which
was made without any justification, and prevents using crosstool-ng
even in decently recent distributions like Ubuntu 20.04 (which has
autoconf 2.69).

We have tested that ./bootstrap && ./configure --enable-local works
fine on Ubuntu 18.04, which uses autoconf 2.69 and automake 1.15, so
the existing requirements were enough.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-07-21 16:46:59 +12:00
Chris Packham
dac4403390 gcc: Update 10.4 -> 10.5
Add GCC 10.5.0 and regenerate patches against the new version.

https://gcc.gnu.org/pipermail/gcc-announce/2023/000178.html
https://gcc.gnu.org/gcc-10/changes.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-07-14 14:01:33 +12:00
Kirill K. Smirnov
ada71ff2a0 Properly build multilib bare-metal RISC-V
To build multilib RISC-V toolchain one should use --with-multilib-generator
option instead of --with-multilib-list.

Add corresponding example configuration file.

Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2023-07-14 14:01:08 +12:00
Chris Packham
11d286dbc9 linux: Add missing chksum file
New file was missed in the update.

Fixes: 0752bd1a ("linux: Add 6.4 bump LTS")
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-07-10 17:04:31 +12:00
Chris Packham
35f9cc2e06 strace: Update to 6.4
https://lists.strace.io/pipermail/strace-devel/2023-June/011339.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-07-10 16:52:22 +12:00
Chris Packham
0752bd1afe linux: Add 6.4 bump LTS
Add 6.4
Update 6.3.2 -> 6.3.9
Update 6.1.25 -> 6.1.35
Update 5.15.108 -> 5.15.118
Update 5.10.179 -> 5.10.185
Update 5.4.242 -> 5.4.248
Update 4.19.282 -> 4.19.287
Update 4.14.314 -> 4.14.319

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-07-10 16:52:22 +12:00
Chris Packham
36ad0b17a7 strace: Fixup patch to configure
In the rush to sort out a build issue with strace an invalid change to
./configure was made. Update the patch with the correct delta for the
generated file.

Fixes #1978
Fixes: d659700d ("strace: Add strace 6.3")
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-06-14 15:17:16 +12:00
Chris Packham
c0135a1dce CI: Use arm-picolibc-default instead of arm-picolibc-eabi
arm-picolibc-eabi builds many multilib combinations which causes the
free tier github action runners to run out of disk space. Use
arm-picolibc-default instead so there is still some coverage of picolibc
in CI.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-06-13 11:27:51 +12:00
Chris Packham
91ed31ec04 samples: Add arm-picolibc-default
The rmprofile with picolibc produces many multilib combinations which
causes the free tier github action runners to run out of disk space.
Add a picolibc sample that only enables the default multilib so we can
still get some coverage for picolibc in the CI builds.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-06-13 11:27:51 +12:00
Chris Packham
227d99d7f3 newlib: add 4.3.0.20230120
Add the 4.3.0.20230120 and update the required patches. As of this
release the newlib-global-atexit is mandatory so set this to default y.
Included is an upstream patch to support older GCC versions.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-06-04 10:04:33 +12:00
Timo Rothenpieler
0160064f00 Add default msvcrt options for mingw-w64
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2023-06-04 10:03:32 +12:00
Chris Packham
d855363eee gcc: Add 11.4.0
Add gcc 11.4.0 and regenerate patches against the new version.

https://gcc.gnu.org/pipermail/gcc-announce/2023/000177.html
https://gcc.gnu.org/gcc-11/changes.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-05-31 20:21:59 +12:00
Chris Packham
72e07cce8f newlib: Add upstream patches for float support
Bring in upstream support for newer float standards being used by GCC.

Fixes #1957
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-05-31 20:21:34 +12:00
Chris Packham
df2c7559fa gdb: Add gdb 13.2
https://sourceware.org/pipermail/gdb-announce/2023/000135.html
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-13.2-release

Add the 13.2 release, remove 13.1.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-05-31 20:21:11 +12:00
Maksim Morozov
e9cd702a9f gdb: Static cross GDB is linked statically with std c++ library
If static cross GDB configuration is selected, cross GDB will be linked
statically with std c++ library, because there is no separate option for
static std c++ library for cross GDB.
The use of not existing variable CT_GDB_NATIVE_STATIC_LIBSTDC has been
replaced with CT_GDB_NATIVE_STATIC_LIBSTDCXX.

Signed-off-by: Maksim Morozov <maxim.morozov.a@gmail.com>
2023-05-31 20:20:32 +12:00
Chris Packham
d659700d68 strace: Add strace 6.3
https://lists.strace.io/pipermail/strace-devel/2023-May/011317.html

Add strace 6.3. Remove 6.2.
Add upstream patch for working with newer Linux headers.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-05-31 20:16:51 +12:00
Yuriy Kolerov
1f1107feff gdb: Use a relative includedir for native gdb and gdbserver
Use a relative path for include directory if gdb or gdbserver
is being built and installed for a target. Otherwise headers
are installed in ${destdir}${CT_HEADERS_DIR} - a concatenation
of ${destdir} and an absolute path to sysroot's include directory.
As a result debug-root may contain wrong paths for includes.

Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
2023-05-28 09:29:36 +12:00