aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/arch
Commit message (Collapse)AuthorAgeFilesLines
* Add the FPU options for SuperHQBos072025-05-071-24/+14
| | | | | | A lot of the old code didn't even work Signed-off-by: QBos07 <qubos@outlook.de>
* arch: Add support for RX gcc buildDuy Nguyen2025-04-041-0/+5
| | | | Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
* lm32: Initial LatticeMicro32 supportJiaxun Yang2025-01-071-0/+6
| | | | | | | | This target is in GCC/binutils for a while. It's baremetal only without upstream Linux support. Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
* openrisc: Initial OpenRISC 1000 supportJiaxun Yang2025-01-071-0/+6
| | | | | | | | 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>
* initial support to build tricore gccjferreir2024-11-101-0/+9
| | | | | | | | | | Add support for Tricore architecture. TriCore architecture is optimized for real-time embedded systems. More information can be found at AURIX™ TC3xx Architecture vol 1 https://www.infineon.com/dgdl/Infineon-AURIX_TC3xx_Architecture_vol1-UserManual-v01_00-EN.pdf?fileId=5546d46276fb756a01771bc4c2e33bdd Signed-off-by: jferreir <jesus.ferreira@gmail.com>
* Add support for 32 and 64-bit PA-RISC linux build targets.John David Anglin2023-11-251-0/+14
| | | | | | | 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>
* Add BPF architecture target supportCupertino Miranda2022-12-141-0/+7
| | | | | | | | | 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>
* loongarch64: add initial loongarch supportJiajie Chen2022-08-191-0/+5
| | | | | | | | | | | | 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>
* Remove obsolete bionic/android supportChris Packham2022-05-101-1/+0
| | | | | | | | 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>
* Convert tabs to spacesAlexey Neyman2022-02-111-25/+25
| | | | | | | Recent changes introduced a mixture of tabs/spaces that result in broken indentation in multiple places. Signed-off-by: Alexey Neyman <stilor@att.net>
* Retire obsoleted milestonesAlexey Neyman2022-02-112-2/+2
| | | | | | | | | | | | ... 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>
* ARC: No more fiddling with uClibc's CONFIG_ARC_HAS_ATOMICSAlexey Brodkin2021-08-241-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older ARC700 processors had atomic instructions (AKA llock/scond) as an option and so quite some "atomic" operations were not possible w/o OS support, which we implemented - see arc_usr_cmpxchg() in the Linux kernel. And in uClibc, which was the only Linux libc back in the day of ARC700 era, it is well supported. Well, uClibc could be configured to support it. Which is done with CONFIG_ARC_HAS_ATOMICS Kconfig option. But the problem is there's no check for ARC ISA version in uClibc when this option gets enabled. That leads to a funny situation when even for ARCv2 processors (ARC HS3x & HS4x) uClibc tries to utilize arc_usr_cmpxchg() syscall which is not supported for this newer ISA since ARCv2 processors have atomic instructions built-in all the time. So what was happening here we didn't specify additional "-matomic" CFLAG unless we were targeting exactly those ancient ARC770 processors (ARC700 + MMUv3 + atomics) and so even for ARCv2 we forced uClibc to not use built-in atomics. And even though there're ways to add a smarter solution here to handle that pretty rare by now case of ARC750 (ARC700 + MMUv2 - atomics), I suggest we just remove this part completely, leaving a possibility to add needed option in uClibc-ng's configuration (I mean "packages/uClibc-ng/config"). Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* Add PRU cross tool targetDimitar Dimitrov2021-01-191-0/+5
| | | | | | | | | 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>
* Merge pull request #1342 from DspHack/feature/add_support_for_ti_c6xChris Packham2020-11-101-0/+79
|\ | | | | Experimental: Add support for the Texas Instruments C6X (TMS320C6000 …
| * c6x: Remove multilib requirementDan Tejada2020-11-021-2/+0
| | | | | | | | | | | | | | Restore tuple config check Add sample configuration Signed-off-by: Dan Tejada <dan.tejada@cantada.com>
| * Experimental: Add support for the Texas Instruments C6X (TMS320C6000 series) ↵Dan Tejada2020-05-201-0/+81
| | | | | | | | | | | | | | | | | | | | DSPs -- 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>
* | arm: Disable context functions for ThumbChris Packham2020-11-011-0/+1
| | | | | | | | | | | | | | | | | | Similar to commit 57679b5e ("Disable context functions for Thumb") when building for thumb we need to unset UCLIBC_HAS_CONTEXT_FUNCS. Fixes #1397 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* | Map picolibc to suitable CT_TARGET_SYS valuesKeith Packard2020-09-161-2/+2
|/ | | | | | | picolibc is another bare-metal C library, and so should be mapped to CT_TARGET_SYS just like newlib does. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add --with-cpu= on 32-bit SPARCAlexey Neyman2020-03-031-15/+26
| | | | | | ... if building for GLIBC 2.31+. Signed-off-by: Alexey Neyman <stilor@att.net>
* Set --with-cpu-{32,64} for multilib buildsAlexey Neyman2020-02-261-0/+4
| | | | | | | 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>
* ARC: Support building of multi-lib Glibc toolchainAlexey Brodkin2019-06-141-0/+36
| | | | | | | | | | | | | | | | | | | | | | | From GCC's standpoint ARC's multilib items are defined by "mcpu" values which we have quite a few and for all of them might be built optimized cross-toolchain. From Glibc's standpoint multilib is just multi-ABI [1] and so very limited versions are supposed to co-exist (e.g. arc700 & archs). Here we force Glibc to install libraries in GCC's multilib folder to create a universal cross-toolchain that has libs optimized for multiple CPU types. But note we only need to mess with installation paths in case of real multilib, otherwise we keep default "lib/" paths so that GCC finds default (the one and only) libs where it expects them to be. Also here we add a sample which allows to build universal Glibc Linux toolchain for ARC. [1] https://sourceware.org/ml/libc-alpha/2019-06/msg00018.html Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* Add config flags for omitting 'arch' and 'vendor'Alexey Neyman2018-12-103-23/+10
| | | | | | | | ... parts of the config tuple. While here, remove parts that are setting portions of the target tuple to a value that's already the default. Signed-off-by: Alexey Neyman <stilor@att.net>
* Use -mel/-meb for moxieAlexey Neyman2018-12-071-0/+5
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Warn if architecture is empty on x86/32bitAlexey Neyman2018-12-031-1/+5
| | | | | | | | | as that defaults to i386, which will fail with glibc (and likely other libcs). Fixes #617. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add moxiebox as a choice for libcAlexey Neyman2018-12-012-1/+12
| | | | | | | | | | | | | | | | | This required some rework of the libc selection, as moxiebox is a layer on top of another libc - newlib. Also, moxiebox'es host VM (`sandbox`) needs a libcrypto on the host. We will not have it if we're cross-compiling a canadian cross. Fortunately, all moxiebox needs from libcrypto is SHA256, and it already includes a standalone implementation of SHA256 in its runtime. Provide a little wrapper that allows moxiebox use that implementation for the host binary, too. Also, automate collecting/printing the list of all packages in a given category (e.g. LIBC or COMP_TOOLS), generate a list of all Kconfig symbols for a given category. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add moxie architectureAlexey Neyman2018-11-281-0/+7
| | | | | | and a moxie-unknown-elf target (which is what #1088 apparently wanted). Signed-off-by: Alexey Neyman <stilor@att.net>
* Generate correct tuple for PowerPC with SPE ABIAlexey Neyman2018-10-231-1/+1
| | | | | | Fixes #1018. Signed-off-by: Alexey Neyman <stilor@att.net>
* Disable context functions for ThumbAlexey Neyman2018-06-051-0/+1
| | | | | | | | They're written in ARM dialect, and `ldmia r14, {r14, pc}` is not accepted in T2 encoding. GCC8 changed the list of multilibs for arm-*, which now includes a variant with CPU that supports T2 but not A1 encoding. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add --enable-obsolete for powerpc-*-speAlexey Neyman2018-06-051-3/+3
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* ARC: Disable CONFIG_ARC_HAS_ATOMICS in uClibc if building without -matomicsAlexey Brodkin2018-05-211-1/+1
| | | | | | | | | | | In case we build for ARC core which has no support of atomic ops among other things we need to configure libc to use Linux kernel helper to emulate HS atomic ops. This is done with disabling of CONFIG_ARC_HAS_ATOMICS in uClibc. Currently we __remove__ this option from .config but this makes no sense as its default state is "y" so we need to explicitly disable it instead. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* Add ARC architecture supportAlexey Brodkin2018-05-151-0/+34
| | | | | | | | | 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>
* Only decorate TARGET_ARCH if using specific CPUAlexey Neyman2018-01-211-2/+6
| | | | | | | | | Otherwise, binutils don't recognize it as a valid target - even though GCC does. Fixes #897. Signed-off-by: Alexey Neyman <stilor@att.net>
* add RISC-V architecture supportAntony Pavlov2017-11-191-0/+5
| | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
* Use the new SuperH fixes in the two multilib samplesAlexey Neyman2017-09-032-6/+107
| | | | | | | | | | | - 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>
* Super-H multilib toolchain fixesAlexey Neyman2017-09-032-30/+38
| | | | | | | | | | | | | | | 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>
* Building packages using the new frameworkAlexey Neyman2017-07-081-61/+0
| | | | | | (fails at building GMP off the VCS because it needs to run bootstrap scripts) Signed-off-by: Alexey Neyman <stilor@att.net>
* Convert the rest of packages to new frameworkAlexey Neyman2017-07-081-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #773 from stilor/fix-bionic-32bitAlexey Neyman2017-07-071-2/+2
|\ | | | | Fix ARM32 name for android
| * Fix ARM32 name for androidAlexey Neyman2017-07-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | Must have eabi suffix for GCC to accept it. Also: - We only have one glibc now, no need to account for eglibc. - Rename aarch64 samples, eabi suffix does not apply to them (and ct-ng saveconfig was saving them into a different directory). Fixes #772. Signed-off-by: Alexey Neyman <stilor@att.net>
* | scripts/nios2: do not override precomputed flagsKirill K. Smirnov2017-07-011-8/+2
|/ | | | Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
* Added a sample of the MSP430 architecture and removed config.subAndrew Wygle2017-06-021-1/+0
| | | | | | override from msp430.sh Signed-off-by: Andrew Wygle <awygle@gmail.com>
* Added MSP430 architecture support.Andrew Wygle2017-06-021-0/+6
| | | | Signed-off-by: Andrew Wygle <awygle@gmail.com>
* Preliminary bionic/Android supporthyc2017-05-141-0/+1
| | | | Mostly from Crystax NDK
* Separate uclibc's multilib headers on MIPS, tooAlexey Neyman2017-05-141-0/+11
| | | | | | | | | | The generated sysnum.h is different for o32/n32/64 ABIs. This needs to be revisited; either do this for all architecutres or perhaps, compare the headers for various multilibs and combine them if the are identical. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix up the sysroot issue for sh4 in a different wayAlexey Neyman2017-03-261-0/+23
| | | | | | | | | | | (see the comments in the code for details on the issue) Old workaround in 100-gcc.sh stopped working (probably, due to one of GCC version upgrades), so switch to the other approach originally described there: adjust the list of multilibs to not include the default target explicitly. Signed-off-by: Alexey Neyman <stilor@att.net>
* Correct warning text to include newer glibc versionsAlexey Neyman2017-03-081-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Allow one to select uclibceabi/uclibcgnueabi suffixAlexey Neyman2017-02-091-1/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Add support for AArch64 in uClibc-ngAlexey Neyman2017-02-021-21/+23
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Create <sgidefs.h> if MUSL doesn't create oneAlexey Neyman2017-01-261-0/+19
| | | | | | Document the status quo and work around for mips-musl. Signed-off-by: Alexey Neyman <stilor@att.net>
* Use ${CT_CC} instead of gcc ...Alexey Neyman2017-01-131-2/+2
| | | | | | ... when refering to target's compiler. Signed-off-by: Alexey Neyman <stilor@att.net>