When the bpf-unknown-none sample was added the target support was not in
a released version of binutils or gcc. The support has been in a few
versions of each of these for a while now. Update the sample to use
released versions instead of potentially unstable versions from
upstream.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
As per https://gcc.gnu.org/gcc-14/changes.html nios2 will be removed in
GCC 15. Even in GCC 14 we need to pass --enable-obsolete to allow this
target. Update our samples accordingly.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This target is in GCC/binutils/Linux/Glibc/musl for a while.
Baremetal/glibc/musl toolchains are all build tested.
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
It's been a while since RISC-V support was added to CT-NG in 2017.
Since then RISC-V support was integrated in all the key toolchain
components upstream and now are proven to be in a very good state.
Thus it makes no sense to keep this architecture "hidden" in
experimental options, so we promote RISC-V architecture in CT-NG.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Musl was marked experimental in commit 08d91d41 ("musl: config is broken
for !EXPERIMENTAL"). Most of the reasoning for that change no longer
applies and as it's been about 8 years it's time to let musl loose on
the world. Drop the `depends on EXPERIMENTAL` and update the sample
configs for aarch64 and x86_64.
For powerpc64 the ABI needs to be elfv2. Enforce this via the powerpc
config. Add a sample configuration for powerpc-unknown-linux-musl.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
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>
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>
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>
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>
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>
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>
libsanitizer is only supported on selected architectures. Add
ARCH_SUPPORTS_LIBSANITIZER and have architectures select this option
based on the list of supported configurations from GCC's
libsanitizer/configure.tgt. Support for mips64 was added in GCC12 so
this is an additional condition for the mips architecture.
Fixes#1733
Signed-off-by: Chris Packham <judge.packham@gmail.com>
fix conflict options when compiling multilibs on ARM based architecture.
"--with-arch", "--with-cpu", "--with-fpu", "--with-float", and
"--with-mode" should not be configured with "--with-multilib-list=list"
when configuring multilibs.
Signed-off-by: Chen Tao <t.clydechen@gmail.com>
Support for the SPE ABI was removed in GCC 9. Update the select to
GCC_REQUIRE_older_than_9 so that GCC 8.5 can be selected.
Fixes#1349, fixes#1666
Signed-off-by: Chris Packham <judge.packham@gmail.com>
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>
Alpha is a 64-bit only arch. The menu options only allowed 32 bitness to
be selected. This was harmless but confusing, update the config to
specify 64-bit only.
Fixes: #1506
Signed-off-by: Chris Packham <judge.packham@gmail.com>
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>
-- c6x: Add support for c6x product families to pass on to uClibC-ng
-- c6x: Fix multilib support
-- c6x: Add patch fix internal instruction error (GCC 57295)
Signed-off-by: Dan Tejada <dan.tejada@cantada.com>
GLIBC 2.31 needs --with-cpu=ultrasparc for both 32/64-bits now, and
--with-cpu only sets the CPU model for the "primary" bitness.
Signed-off-by: Alexey Neyman <stilor@att.net>
Add initial rv64 support. Originally based on suggestions from
Franz Flasch <franz.flasch@gmx.at>.
Cc: Franz Flasch <franz.flasch@gmx.at>
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Synopsys' DesignWare ARC Processors are a family of 32-bit CPUs
that SoC designers can optimize for a wide range of uses,
from deeply embedded to high-performance host applications in a variety
of market segments.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This allows us to include the component-to-package relation in the
generated kconfig files and make use of that information in the
show-config.sh script.
Signed-off-by: Alexey Neyman <stilor@att.net>
- Glibc configure args and tuple need adjustment on SuperH
- Only allow "both endian" and "with CPU" for unspecified arch
variant. May reconsider endianness (was breaking things before
adjusting glibc tuple)
- Retire non-multilib sample, it should be a subset of the
multilib one now.
Signed-off-by: Alexey Neyman <stilor@att.net>
1. On SuperH, configuring GCC with explicit variant of the CPU
(like "sh4") limits the default set of multilibs to just that CPU
and requires --with-multilib-list to change. Allow for "unspecified"
variant, so that we can defer to GCC to determine the list.
2. Support toolchains with both endiannesses at the same time.
3. Add a SuperH/newlib sample
4. Add more flags processing for uClibc
Signed-off-by: Alexey Neyman <stilor@att.net>
Also:
- Move companion_* to comp_* to match the kconfig symbols
- Replace bootstrap with former gen-versions.sh
- Fold *.in.2 into their respective first parts; this moves common
options to the end - if it is undesirable, inclusion of *.in
can be moved where *.in.2 used to be (but that will also move
version selection after common options).
- Retire addToolVersion.sh (may later replace with a more
comprehensive script that tries to download the added tarballs,
copy the patches and try to apply them, and create a version.desc).
Signed-off-by: Alexey Neyman <stilor@att.net>
Gcc for Nios II does not support -mcpu option, and --with-cpu=XXX flag
breaks gcc compilation. Use --with-arch instead.
Signed-off-by: Kirill Smirnov <kirill.k.smirnov@gmail.com>
To build uClibc correctly we need correct endianness selected in the
crosstool-NG. Xtensa cores may be little- or big-endian, but this
property is static. The toolchain knows the core endianness and doesn't
need options to select it.
Enable ARCH_SUPPORTS_BOTH_ENDIAN and select LE by default. Specify empty
CT_ARCH_ENDIAN_CFLAG so that -m{big,little}-endian don't get added to
the TARGET_CFLAGS, as it's not supported by gcc. Specify empty
CT_ARCH_ENDIAN_LDFLAG so that -EB/-EL don't get added to the
TARGET_LDFLAGS as they are ignored. Select big-endian in the example
xtensa-unknown-linux-uclibc configuration.
This fixes uClibc toolchain build for little-endian cores.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>