Commit Graph

5547 Commits

Author SHA1 Message Date
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
Joakim Nohlgård
16f6112327 scripts/gcc: Add extra include dir with -idirafter
Fixes Canadian cross builds failing with missing include file 'stdio.h'
when building libstdc++ for a companion libc with system libc set to
LIBC_NONE.

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2022-12-11 19:52:26 +13:00
Joakim Nohlgård
e04351d666 scripts/gcc: align test conditionals with rest of repo
Most scripts in crosstool-ng use [ -z "${string}" ] to check for empty
variables.

Deleted one duplicate declaration of the local exec_prefix

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2022-12-11 19:52:26 +13:00
Joakim Nohlgård
4b60bea2e9 gcc: Disable CC_GCC_ENABLE_DEFAULT_PIE on RISC-V bare metal builds
-pie is not supported on riscv*-elf-ld

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2022-12-11 18:41:51 +13:00
Chris Packham
750133a284 make: Add GNU Make 4.4
https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html

Add GNU Make 4.4, mark 4.2.1 and 4.3 as obsolete.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-12-11 18:40:46 +13:00
Chris Packham
6efe04cb84 strace: Add strace 6.0
https://lists.strace.io/pipermail/strace-devel/2022-October/011125.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-12-11 18:40:46 +13:00
Bryan Hundven
03892881ca
Merge pull request #1854 from GrigorenkoPV/master
Fix `./configure --with-ncurses` not working on Arch Linux
2022-12-10 12:53:55 -08:00
Yuriy Kolerov
e4f401efb6 newlib: Change ftp mirror link to https one
Some corporate VPN services block ftp connections. It leads
to an error while building a toolchain with packages with ftp
mirrors. It's possible to safely use https instead of ftp.

Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
2022-12-04 16:03:32 +13:00
Joakim Nohlgård
4f5c57fdb3 Detect if a package src_dir is missing
If a user deletes the package directory under .build/src/ but fails to
remove the hidden stamp files the CT_DoExtractPatch function will detect
this, delete the stamps and perform the full extract-and-patch step.

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2022-12-04 16:02:37 +13:00
Chris Packham
d13c526f73 CI: Disable python support in GDB on macos
There appears to be a problem with GDB+Python+MacOS

  Error: [ERROR]    configure: error: no usable python found at /usr/local/bin/python3
  Error:     make[2]: *** [Makefile:11454: configure-gdb] Error 1
  Error:     make[1]: *** [Makefile:1030: all] Error 2

For now disable CT_GDB_CROSS_PYTHON on macos.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-12-04 16:01:54 +13:00
Chris Packham
d7011e9133 glibc: Add fix for GNU make 4.4 compatibility issue
Add an upstream patch that resolves a compatibility issue with GNU make
4.4.

Fixes #1858
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-12-04 16:01:54 +13:00
Chris Friedt
4820c7f8d6 expat: Update to expat-2.5.0
- expat-2.4.1 is not available on sf.net due to vulnerabilities
- mark expat-2.4.1 as obsolte
- add expat-2.5.0 version info

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2022-11-28 08:45:24 +13:00
Joakim Nohlgård
b8e49869ba packages: Update picolibc to 1.7.9
Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
2022-11-22 14:07:46 +13:00
Pavel Grigorenko
163938cfd3
Fix --with-ncurses not working on Arch Linux
Reverts the changes introduced to `m4/ax_with_curses_extra.m4`
in 59b664806c,
which seem to make `cofigure` look only for `ncursesw/panel.h`
and not consider `panel.h` as a candidate,
thus causing `./configure` to fail with
"error: panel library not found" on systems
(such as Arch Linux) where ncurses headers
are not put under the `ncursesw/` directory.

Signed-off-by: Pavel Grigorenko <grigorenkopv@ya.ru>
2022-11-21 22:53:28 +03:00
Bryan Hundven
9e3c574ec6 Backport fixes for glibc and gcc to fix interactions with kernel headers
Reported-by: milkylainen (IRC)
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-11-09 20:36:04 +13:00
Marc Poulhiès
20e33c9ec9 Correct casing for Ada lang
Ada is a name, not an acronym, so it doesn't need to be upcased.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2022-11-09 20:35:46 +13:00
Bryan Hundven
7622b490a3 Bump ubuntu to ubuntu-22.04
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-10-27 21:28:42 +13:00
Bryan Hundven
7008dd5591 Update config.{guess,sub}
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-10-27 21:28:42 +13:00
Bryan Hundven
59b664806c Update copied m4 files and README
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-10-27 21:28:42 +13:00
Bryan Hundven
52e2879584 Switch AC_PROG_YACC to AX_PROG_BISON
AC_PROG_YACC is kinda buggy. Switch to AX_PROG_BISON from
autoconf-archive.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-10-27 21:28:42 +13:00
Bryan Hundven
658f5e574f Update requirements: autoconf==2.71 and automake>=1.16
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-10-27 21:28:42 +13:00
Chris Packham
cf9beb1e4f CI: Update action versions
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

Update to v3 version of affected actions.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-10-18 17:28:51 +13:00
Chris Packham
76849bafe9 linux: Add 6.0.2 bump LTS
Add 6.0.2
Bump 5.19.2 ->  5.19.16
Bump 5.15.58 -> 5.15.74
Bump 5.10.134 -> 5.10.148
Bump 5.4.208 -> 5.4.218
Bump 4.9.325 -> 4.9.330
Bump 4.19.254 -> 4.19.261
Bump 4.14.290 -> 4.14.295

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-10-18 17:28:34 +13:00
Chris Packham
82346dd7df zlib: Replace sourceforge mirror with github
New zlib versions aren't being published on sourceforge. Use the github
mirror instead.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-10-17 09:29:46 +13:00
Chris Packham
878a16a13a zlib: Update to zlib-1.2.13
Brings in the following changes

- Fix a bug when getting a gzip header extra field with
  inflateGetHeader(). This remedies CVE-2022-37434.
- Fix a bug in block type selection when Z_FIXED used. Now the smallest
  block type is selected, for better compression.
- Fix a configure issue that discarded the provided CC definition.
- Correct incorrect inputs provided to the CRC functions. This mitigates
  a bug in Java.
- Repair prototypes and exporting of the new CRC functions.
- Fix inflateBack to detect invalid input with distances too far.

Mark zlib-1.2.12 as obsolete.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-10-17 09:29:46 +13:00
Marc Poulhiès
d7e9f7453f Add the gdc compiler to the list of tools checked/linked
Add gdc to the tool list but leave it optionnal.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
2022-10-16 13:12:33 +13:00
Dries Deschout
61c4ccac5c binutils: add option to build libopcodes for target
It provides functionality to disassemble executable binaries.

Signed-off-by: Dries Deschout <dries.deschout@dodeco.eu>
2022-10-02 13:07:42 +13:00
Chris Packham
40c83f1074 samples: Disable CC_GCC_ENABLE_DEFAULT_PIE with older glibc
glibc versions prior to 2.23 don't compile successfully with
--enable-default-pie. While it would be nice to automatically prevent
this from being selectable the simplest thing is to update the sample
configs that use the older glibc versions to avoid the problem.

Fixes #1819
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-09-26 10:51:48 +13:00
Chris Packham
9d9bee0414 samples: Remove x86_64-centos6-linux-gnu
glibc 2.12.1 was removed in commit 6d5227b6 ("Remove obsolete glibc
2.12.1"). CentOS 6 is EoL and the configuration won't work as intended
so remove it.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-09-26 10:51:04 +13:00
Chris Packham
d3e25e5fbb strace: Update to 5.19
https://lists.strace.io/pipermail/strace-devel/2022-August/011094.html

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-09-26 10:48:47 +13:00
Dimitar Dimitrov
411b052361 avr,pru: Disable CT_CC_GCC_ENABLE_DEFAULT_PIE
PIE is not supported by PRU and AVR backends for GCC.

This fixes LD errors when trying to link user programs with a
crosstool-NG toolchain:

  /home/dinux/x-tools/avr/lib/gcc/avr/12.2.0/../../../../avr/bin/ld: -pie not supported
  collect2: error: ld returned 1 exit status

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2022-09-26 10:47:31 +13:00
Chris Packham
1b47500875 cc/gcc: Use canon_prefix when dealing with moved libraries
${CT_PREFIX_DIR} may contain relative paths (e.g.
"${CT_TOP_DIR}/../x-tools/${CT_TARGET}"). Code added in commit d83a0036
("Add symlinks from the libraries' original location to the new one.")
didn't cope well with this. As we're already calculating
${cannon_prefix} make use of it when adding the symlinks. This avoids
any issues with ${CT_PREFIX_DIR}.

Fixes #1807
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-09-26 10:46:28 +13:00
Dimitar Dimitrov
c803bb71f6 gnuprumcu: Add release 0.9.0
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2022-09-13 21:57:40 +12:00
Rafael G. Martins
d9c9bfcc8d avr-libc: Add avr-libc 2.1.0
Signed-off-by: Rafael G. Martins <rafael@rafaelmartins.eng.br>
2022-09-11 14:00:38 +12:00
Chris Packham
3020aca6bb gcc: Add gcc 12.2.0
https://gcc.gnu.org/pipermail/gcc-announce/2022/000174.html

Add gcc 12.2.0. None of the patches needed regenerating.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-08-23 20:02:11 +12:00
Bryan Hundven
b682053d86 Update linux kernel to 5.19.2
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2022-08-19 22:05:05 +12:00
Keith Packard
e632eb00b6 arm-none-eabi: Disable RWX segment warning in binutils
This warning is designed to catch likely vulnerabilities in code run
under memory protection -- allowing execution from memory which is
writable. However, embedded arm systems frequently require placing code
in RAM, for performance or functionality reasons. Disable the warning
that recent versions of binutils has added.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-08-19 22:03:27 +12:00
Keith Packard
d3acee9673 packages: Update picolibc to 1.7.8
Signed-off-by: Keith Packard <keithp@keithp.com>
2022-08-19 22:02:50 +12:00
Like Ma
a9f77be56f Add CC_GCC_ENABLE_DEFAULT_PIE
Enable Position Independent Executable as default

Pass --enable-default-pie to crossgcc's configure

Signed-off-by: Like Ma <likemartinma@gmail.com>
2022-08-19 22:02:11 +12:00
Jiajie Chen
38377d3c8d loongarch64: add sample config
Add sample config for target loongarch64-unknown-linux-gnu.

Currently, it fails to build on macOS due to flex/bison incompatibility.

Signed-off-by: Jiajie Chen <c@jia.je>
2022-08-19 22:01:34 +12:00
Jiajie Chen
e840986fa4 loongarch64: add initial loongarch support
This commit adds architecture support for LoongArch.

The toolchain currently only supports the 64-bit target
loongarch64-unknown-linux-gnu.

It has been tested to build with GCC 12.1, GDB 12.1, Glibc 2.36, Linux
5.19 and Binutils 2.39 as of Aug 2022.

Signed-off-by: Jiajie Chen <c@jia.je>
2022-08-19 22:01:34 +12:00