rust/compiler/rustc_target/src
Matthias Krüger 4a3be6e6e2
Rollup merge of #92383 - lancethepants:armv7-unknown-linux-uclibceabi, r=nagisa
Add new target armv7-unknown-linux-uclibceabi (softfloat)

This adds the new target `armv7-unknown-linux-uclibceabi (softfloat)`. It is of course similar to `armv7-unknown-linux-uclibceabihf (hardfloat)` which was just recently added to rust except that it is `softfloat`.

My interest lies in the Broadcom BCM4707/4708/BCM4709 family, notably found in some Netgear and Asus consumer routers. The armv7 Cortex-A9 cpus found in these devices do not have an fpu or NEON support.

With this patch I've been able to bootstrap rustc, std and host tools `(extended = true)` to run on the target device for native compilation, allowing the target to be used as a development platform.

With the recent addition of `armv7-unknown-linux-uclibceabihf (hardfloat)` it looks like many of the edge cases of using the uclibc c-library are getting worked out nicely. I've been able to compile some complex projects. Some patching still needed in some crates, but getting there for sure.  I think `armv7-unknown-linux-uclibceabi` is ready to be a tier 3 target.

I use a cross-toolchain from my project to bootstrap rust.
https://github.com/lancethepants/tomatoware
The goal of this project is to create a native development environment with support for various languages.
2022-02-06 04:13:30 +01:00
..
abi Eliminate duplicate codes of is_single_fp_element 2021-12-17 11:48:44 +08:00
asm Rollup merge of #90277 - pierwill:fix-70258-inference-terms, r=jackh726 2022-01-31 06:58:26 +01:00
spec Rollup merge of #92383 - lancethepants:armv7-unknown-linux-uclibceabi, r=nagisa 2022-02-06 04:13:30 +01:00
lib.rs Use IntoIterator for array impl everywhere. 2021-12-04 19:40:33 +01:00
tests.rs Emit warnings for unused fields in custom targets. 2021-06-17 21:48:02 +02:00