Commit Graph

560 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
Keith Packard
4ad0620fcd Add sample arm-none-eabi
This is the triplet used by the Arm Embedded Toolkit as well as
Debian.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-05-12 20:58:57 +12:00
Chris Packham
53bbdc7425 Remove obsolete bionic/android support
The bionic libc support was out of date and relied on downloading
binaries from the internet. It was already marked as obsolete. Now that
the 1.25.0 release is out it can be completely removed.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-05-10 19:46:53 +12:00
Chris Packham
a8d2c2e1fa Enable posix threads in i686-w64-mingw32
Posix threads are enabled in the x86_64-w64-mingw32 sample having them
enabled in i686-w64-mingw32 makes things consistent for these targets.

Fixes #1696

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-04-02 13:30:46 +13:00
Chris Packham
20044c0bf7 bionic: mark bionic/android-ndk as obsolete
Support for bionic was dropped by GCC some time ago. There are patches
for older GCC versions but those are difficult to maintain and the
version of the android-ndk they support is of little use. Mark all of
the existing bionic support as obsolete so it can be removed after the
next release.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-23 20:19:46 +13:00
Alexey Neyman
c320d220d6 Turn off debugging in sample configuration
Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
c6ff1eca5b Restrict *-uclibc,* canadians to gettext 0.20
Newer gettext is incompatible with uClibc-NG in cross-compilation, see
the comment in the code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
586c2d0156 sparc-leon: restrict to GDB9
Starting with GDB10, it requires support for std::future<> in the
compiler. Such support has not been available on some architectures
until GCC9 (see PR 64735). I haven't determined the exact list of
affected architectures, so decided to make it a broad dependency: for
GDB10+, you need GCC9+.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
c48319e65f Rename moxiebox to match its tuple
Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
b4191b23a8 Update tic6x sample
Restrict kernel to 5.11 and below (support for this arch has been
dropped in 5.12); rename the sample to match its name as printed by
`ct-ng show-tuple` (otherwise, `make saveconfig` does not update the
sample's configuration).

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
858f939436 More sample config updates
*-moxie*: DTC_VERBOSE is a wobbler, it depends on whether dtc is enabled
on the host machine (if dtc is installed, DTC defaults to 'n' and hence
prevents DTC_VERBOSE from appearing at all). Remove the option from
config file so that its value reverts to the default.

xtensa-fsf-elf: mark configuration obsolete so that it can use GDB 8.1
(it uses custom sources and needs to select the version therein)

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:51 -08:00
Alexey Neyman
196f62e18c Upgrade script for uClibc retirement
Run samples through upgrade and fix accumulated breakages:

*-centos6-*: After 2.12.2 retirement, the samples selected most recent
glibc (2.34) which also forced kernels 3.2+. Revert to 2.12.1 and
2.6.32.71, respectively. Interestingly, 2.12.1 was marked as being used
in CentOS6, but the samples selected 2.12.2. Anyway, CentOS6 is EOL now
and glibc 2.12 is going to be marked obsolete, and retired soon.

arc-*: Make TARGET_VENDOR match the sample's name; otherwise `ct-ng
saveconfig` places the config file into a different location.

Fix 'savedefconfig' which was not saving the configuration file version
(CT_VCHECK was set to 'load' after CT_LoadConfig call).

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:50 -08:00
Alexey Neyman
cc6b7fad46 Retire obsoleted milestones
... and the code dependent on them, after the latest wave of obsolete
package removals. This concludes the glorious history of the original
uClibc (non-NG) with lots of kludges removed.

There was a choice here, whether to call the resulting libc "uClibc" or
"uClibc-ng". I opted in favor of giving uClibc-ng the recognition it
deserves, although it had some ripple effect in the ct-ng code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:50 -08:00
Alexey Neyman
4c6604e730 Remove gcc-oracle-4.8-44.0.5
GCC 4.8 and its prerequisites have been removed by 04dce680, 41d4583a
and e4221734; as a result, 4.8-based version of gcc-oracle became
unbuildable (no valid versions for the prerequisites).

Update the samples to use 4.9.4; which however fails to build on a modern
host GCC. Build fix backported to gcc-4.9 and gcc-5 versions.

Fix binutils-oracle build with host GCC11.

Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11 00:47:50 -08:00
Chris Packham
cc7a2eef91 Merge branch 'mips-unknown-linux-gnu' of https://github.com/cpackham/crosstool-ng
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24 20:15:53 +12:00
Chris Packham
6fae696131 Add mips-unknown-linux-gnu sample
We have unkown-elf and linux-uclibc already. Complete the set with a
linux-gnu configuration.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-08-24 08:46:35 +12:00
Dimitar Dimitrov
6424fb73f0 pru: Default to pru-, not pru-elf- prefix
The gcc-pru package in BeagleBoard Debian image has been using the
"pru-" prefix for a few years now. Let's not add unnecessary confusion
for users, and stick to "pru-" cross toolchain prefix.

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2021-08-22 18:11:42 +03:00
Bensuperpc
afdab6f2ff Add config sample of Raspberry Pi 4
Add config sample of Raspberry Pi 4:
Add armv8-rpi4-linux-gnueabihf
Add aarch64-rpi4-linux-gnu

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-05-19 15:18:38 +02:00
Chris Packham
30316cd27a
Merge pull request #1448 from dinuxbg/master
Add PRU target configuration
2021-01-25 12:40:31 +13:00
Dimitar Dimitrov
e7d0485ca2 Add package with PRU linker scripts and headers
Include the gnuprumcu package in PRU cross toolchain.
Toolchain is somewhat useless without device specs and
linker scripts for the various SoCs.

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2021-01-19 21:18:55 +02:00
Dimitar Dimitrov
c800bc8c82 Add PRU cross tool target
Add sample configuration for building cross toolchain for the TI PRU.
PRU cores are present in many of the BeagleBone single board computers.

More information about the PRU can be found in https://bbb.io/pru

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2021-01-19 21:18:55 +02:00
Keith Packard
945b4c6436 Add newlib-nano as companion lib
This allows building newlib-nano in addition to newlib and picolibc,
allowing users to select between C libraries within the same toolchain.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-01-14 15:05:10 -08:00
Keith Packard
27b18d2fc7 picolibc: Build libstdc++ against picolibc if requested
This uses the gcc support for building libstdc++ using alternate lib
header files.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-01-11 23:29:01 -08:00
Keith Packard
7e457684ea picolibc: Convert to companion library
This allows configurations to include picolibc without excluding
another C library.

Signed-off-by: Keith Packard <keithp@keithp.com>
2021-01-08 17:48:33 -08:00
Arnaud Aujon Chevallier
de668b062a Update reported.by 2020-11-24 09:59:18 +01:00
Arnaud Aujon Chevallier
08981c05cd samples : update armv6 configuration 2020-11-24 09:55:24 +01:00
Jose E. Marchesi
cd7098d41b Add sample configuration for Oracle Linux 7 on aarch64 2020-11-23 19:54:22 +13:00
Jose E. Marchesi
470ce219af Add Oracle products to crosstool-ng
This commit adds support for the following Oracle products, in order
to target 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 configuration files are provides for the following triplets:

arm-ol7u9-linux-gnueabi
arm-ol7u9-linux-gnueabihf

Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
2020-11-23 19:54:22 +13:00
Chris Packham
a4231a555a
Merge pull request #1342 from DspHack/feature/add_support_for_ti_c6x
Experimental: Add support for the Texas Instruments C6X (TMS320C6000 …
2020-11-10 20:29:25 +13:00
Dan Tejada
3a3e645245 c6x: Remove multilib requirement
Restore tuple config check
     Add sample configuration

Signed-off-by: Dan Tejada <dan.tejada@cantada.com>
2020-11-02 16:21:26 -05:00
Chris Packham
54bd54ee19 Merge branch 'BR1_zlinux_cross_comp' of git://github.com/pradghos/crosstool-ng into pradghos-BR1_zlinux_cross_comp 2020-09-06 21:44:21 +12:00
Keith Packard
c15de32ec6 Add picolibc support [v2]
This adds support for using picolibc instead of newlib on embedded
systems.

Signed-off-by: Keith Packard <keithp@keithp.com>

v2:
	Add check for meson and ninja
	Sync option default values with current picolibc defaults
	Remove xtensa sys header file install as those aren't in picolibc
2020-09-01 09:42:53 -07:00
Pradipta Ghosh
ebae86dea7 Adding new samples s390x/s390-unknown-linux-gnu
- s390x/s390 is allowed to pair with other vendor name.
- new samples are being added to use this flexibility.

- Fix space issue
2020-08-27 09:51:17 -07:00
Chris Packham
6279216475
Merge pull request #1242 from cpackham/mips64
samples: Add a mips64 big-endian config
2020-08-23 20:31:46 +12:00
Chris Packham
a55228fe24 samples: Add a mips64 big-endian config
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2019-09-11 20:19:33 +12:00