Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/doc/rustc/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
- [\*-apple-watchos](platform-support/apple-watchos.md)
- [\*-apple-visionos](platform-support/apple-visionos.md)
- [aarch64-nintendo-switch-freestanding](platform-support/aarch64-nintendo-switch-freestanding.md)
- [aarch64-unknown-linux-gnu](platform-support/aarch64-unknown-linux-gnu.md)
- [aarch64-unknown-linux-musl](platform-support/aarch64-unknown-linux-musl.md)
- [aarch64-unknown-none*](platform-support/aarch64-unknown-none.md)
- [aarch64_be-unknown-none-softfloat](platform-support/aarch64_be-unknown-none-softfloat.md)
Expand All @@ -67,6 +68,7 @@
- [arm\*-unknown-linux-\*](./platform-support/arm-linux.md)
- [armeb-unknown-linux-gnueabi](platform-support/armeb-unknown-linux-gnueabi.md)
- [armv5te-unknown-linux-gnueabi](platform-support/armv5te-unknown-linux-gnueabi.md)
- [armv7-unknown-linux-gnueabi](platform-support/armv7-unknown-linux-gnueabi.md)
- [armv7-unknown-linux-uclibceabi](platform-support/armv7-unknown-linux-uclibceabi.md)
- [armv7-unknown-linux-uclibceabihf](platform-support/armv7-unknown-linux-uclibceabihf.md)
- [armv6k-nintendo-3ds](platform-support/armv6k-nintendo-3ds.md)
Expand Down
6 changes: 3 additions & 3 deletions src/doc/rustc/src/platform-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ target | notes
-------|-------
[`aarch64-apple-darwin`](platform-support/apple-darwin.md) | ARM64 macOS (11.0+, Big Sur+)
[`aarch64-pc-windows-msvc`](platform-support/windows-msvc.md) | ARM64 Windows MSVC
`aarch64-unknown-linux-gnu` | ARM64 Linux (kernel 4.1+, glibc 2.17+)
[`aarch64-unknown-linux-gnu`](platform-support/aarch64-unknown-linux-gnu.md) | ARM64 Linux (kernel 4.1+, glibc 2.17+)
[`i686-pc-windows-msvc`](platform-support/windows-msvc.md) | 32-bit MSVC (Windows 10+, Windows Server 2016+, Pentium 4) [^x86_32-floats-return-ABI] [^win32-msvc-alignment]
`i686-unknown-linux-gnu` | 32-bit Linux (kernel 3.2+, glibc 2.17+, Pentium 4) [^x86_32-floats-return-ABI]
[`x86_64-pc-windows-gnu`](platform-support/windows-gnu.md) | 64-bit MinGW (Windows 10+, Windows Server 2016+)
Expand Down Expand Up @@ -93,7 +93,7 @@ target | notes
[`aarch64-unknown-linux-ohos`](platform-support/openharmony.md) | ARM64 OpenHarmony
`arm-unknown-linux-gnueabi` | Armv6 Linux (kernel 3.2+, glibc 2.17)
`arm-unknown-linux-gnueabihf` | Armv6 Linux, hardfloat (kernel 3.2+, glibc 2.17)
`armv7-unknown-linux-gnueabihf` | Armv7-A Linux, hardfloat (kernel 3.2+, glibc 2.17)
[`armv7-unknown-linux-gnueabihf`](platform-support/armv7-unknown-linux-gnueabi.md) | Armv7-A Linux, hardfloat (kernel 3.2+, glibc 2.17)
[`armv7-unknown-linux-ohos`](platform-support/openharmony.md) | Armv7-A OpenHarmony
[`loongarch64-unknown-linux-gnu`](platform-support/loongarch-linux.md) | LoongArch64 Linux, LP64D ABI (kernel 5.19+, glibc 2.36), LSX required
[`loongarch64-unknown-linux-musl`](platform-support/loongarch-linux.md) | LoongArch64 Linux, LP64D ABI (kernel 5.19+, musl 1.2.5), LSX required
Expand Down Expand Up @@ -159,7 +159,7 @@ target | std | notes
[`armv5te-unknown-linux-gnueabi`](platform-support/armv5te-unknown-linux-gnueabi.md) | ✓ | Armv5TE Linux (kernel 4.4+, glibc 2.23)
`armv5te-unknown-linux-musleabi` | ✓ | Armv5TE Linux with musl 1.2.3
[`armv7-linux-androideabi`](platform-support/android.md) | ✓ | Armv7-A Android
`armv7-unknown-linux-gnueabi` | ✓ | Armv7-A Linux (kernel 4.15+, glibc 2.27)
[`armv7-unknown-linux-gnueabi`](platform-support/armv7-unknown-linux-gnueabi.md) | ✓ | Armv7-A Linux (kernel 4.15+, glibc 2.27)
`armv7-unknown-linux-musleabi` | ✓ | Armv7-A Linux with musl 1.2.3
`armv7-unknown-linux-musleabihf` | ✓ | Armv7-A Linux with musl 1.2.3, hardfloat
[`armv7a-none-eabi`](platform-support/armv7a-none-eabi.md) | * | Bare Armv7-A
Expand Down
50 changes: 50 additions & 0 deletions src/doc/rustc/src/platform-support/aarch64-unknown-linux-gnu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# `aarch64-unknown-linux-gnu`

**Tier: 1 (with Host Tools)**

Target for 64-bit little endian ARMv8-A Linux 4.1+ programs using glibc 2.17+.

## Target maintainers

- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Requirements

Building the target itself requires a 64-bit little endian ARMv8-A compiler that is supported by
`cc-rs`.

## Building the target

The target can be built by enabling it for a `rustc` build:

```toml
[build]
target = ["aarch64-unknown-linux-gnu"]
```

If cross-compiling, make sure your C compiler is included in `$PATH`, then add it to the
`bootstrap.toml`:

```toml
[target.aarch64-unknown-linux-musl]
cc = "aarch64-linux-gnu-gcc"
cxx = "aarch64-linux-gnu-g++"
ar = "aarch64-linux-gnu-ar"
linker = "aarch64-linux-gnu-gcc"
```

## Building Rust programs

This target is distributed through `rustup`, and otherwise requires no special configuration.

## Cross-compilation

This target can be cross-compiled from any host.

## Testing

This target can be tested as normal with `x.py` on a 64-bit little endian ARMv8-A host or via QEMU
emulation.
5 changes: 4 additions & 1 deletion src/doc/rustc/src/platform-support/aarch64-unknown-none.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,12 @@ Processors in this family include the [Arm Cortex-A35, 53, 76, etc][aarch64-cpus

## Target maintainers

[Rust Embedded Devices Working Group Arm Team]
- [Rust Embedded Devices Working Group Arm Team]
- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[Rust Embedded Devices Working Group Arm Team]: https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team
[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Target CPU and Target Feature options

Expand Down
4 changes: 2 additions & 2 deletions src/doc/rustc/src/platform-support/arm-linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ Linux (but not Android). Those targets are:
* [`armv5te-unknown-linux-gnueabi`](armv5te-unknown-linux-gnueabi.md)
* `armv5te-unknown-linux-musleabi`
* `armv5te-unknown-linux-uclibceabi`
* `armv7-unknown-linux-gnueabi`
* `armv7-unknown-linux-gnueabihf`
* [`armv7-unknown-linux-gnueabi`](armv7-unknown-linux-gnueabi.md)
* [`armv7-unknown-linux-gnueabihf`](armv7-unknown-linux-gnueabi.md)
* `armv7-unknown-linux-musleabi`
* `armv7-unknown-linux-musleabihf`
* `armv7-unknown-linux-ohos`
Expand Down
51 changes: 51 additions & 0 deletions src/doc/rustc/src/platform-support/armv7-unknown-linux-gnueabi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# `armv7-unknown-linux-gnueabi` and `armv7-unknown-linux-gnueabihf`

* **Tier: 2 (with Host Tools)** for `armv7-unknown-linux-gnueabihf`
* **Tier: 2** for `armv7-unknown-linux-gnueabi`

Target for 32-bit little endian ARMv7-A Linux 3.2+ programs using glibc 2.17+.

## Target maintainers

- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Requirements

Building the targets themselves requires a 32-bit little endian ARMv7-A compiler that is supported
by `cc-rs`.

## Building the target

These targets can be built by enabling it for a `rustc` build:

```toml
[build]
target = ["armv7-unknown-linux-gnueabihf", "armv7-unknown-linux-gnueabi"]
```

If cross-compiling, make sure your C compiler is included in `$PATH`, then add it to the
`bootstrap.toml`:

```toml
[target.aarch64-unknown-linux-musl]
cc = "arm-linux-gnu-gcc"
cxx = "arm-linux-gnu-g++"
ar = "arm-linux-gnu-ar"
linker = "arm-linux-gnu-gcc"
```

## Building Rust programs

These targets is distributed through `rustup`, and otherwise requires no special configuration.

## Cross-compilation

These targets can be cross-compiled from any host.

## Testing

These targets can be tested as normal with `x.py` on a 32-bit little endian ARMv7-A host or via
QEMU emulation.
5 changes: 4 additions & 1 deletion src/doc/rustc/src/platform-support/armv7a-none-eabi.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,12 @@ See [`arm-none-eabi`](arm-none-eabi.md) for information applicable to all

## Target maintainers

[Rust Embedded Devices Working Group Arm Team]
- [Rust Embedded Devices Working Group Arm Team]
- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[Rust Embedded Devices Working Group Arm Team]: https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team
[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Requirements

Expand Down
7 changes: 5 additions & 2 deletions src/doc/rustc/src/platform-support/armv7r-none-eabi.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,13 @@ See [`arm-none-eabi`](arm-none-eabi.md) for information applicable to all

## Target maintainers

[@chrisnc](https://github.com/chrisnc)
[Rust Embedded Devices Working Group Arm Team]
- [@chrisnc](https://github.com/chrisnc)
- [Rust Embedded Devices Working Group Arm Team]
- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[Rust Embedded Devices Working Group Arm Team]: https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team
[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Requirements

Expand Down
7 changes: 5 additions & 2 deletions src/doc/rustc/src/platform-support/armv8r-none-eabihf.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,13 @@ See [`arm-none-eabi`](arm-none-eabi.md) for information applicable to all

## Target maintainers

[@chrisnc](https://github.com/chrisnc)
[Rust Embedded Devices Working Group Arm Team]
- [@chrisnc](https://github.com/chrisnc)
- [Rust Embedded Devices Working Group Arm Team]
- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[Rust Embedded Devices Working Group Arm Team]: https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team
[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Requirements

Expand Down
6 changes: 5 additions & 1 deletion src/doc/rustc/src/platform-support/thumbv7em-none-eabi.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@ See [`arm-none-eabi`](arm-none-eabi.md) for information applicable to all

## Target maintainers

[Rust Embedded Devices Working Group Arm Team](https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team)
- [Rust Embedded Devices Working Group Arm Team](https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team)
- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Target CPU and Target Feature options

Expand Down
6 changes: 5 additions & 1 deletion src/doc/rustc/src/platform-support/thumbv7m-none-eabi.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ only option because there is no FPU support in [Armv7-M].

## Target maintainers

[Rust Embedded Devices Working Group Arm Team](https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team)
- [Rust Embedded Devices Working Group Arm Team](https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team)
- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Target CPU and Target Feature options

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,11 @@ only option because there is no FPU support in [Armv8-M] Baseline.

## Target maintainers

[Rust Embedded Devices Working Group Arm Team](https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team)
- [Rust Embedded Devices Working Group Arm Team](https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team)
- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Target CPU and Target Feature options

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@ See [`arm-none-eabi`](arm-none-eabi.md) for information applicable to all

## Target maintainers

[Rust Embedded Devices Working Group Arm Team](https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team)
- [Rust Embedded Devices Working Group Arm Team](https://github.com/rust-embedded/wg?tab=readme-ov-file#the-arm-team)
- [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Target CPU and Target Feature options

Expand Down
8 changes: 6 additions & 2 deletions src/doc/rustc/src/platform-support/unknown-uefi.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,12 @@ Available targets:

## Target maintainers

[@dvdhrm](https://github.com/dvdhrm)
[@nicholasbishop](https://github.com/nicholasbishop)
- [@dvdhrm](https://github.com/dvdhrm)
- [@nicholasbishop](https://github.com/nicholasbishop)
- (for `aarch64-unknown-uefi` only) [@rust-lang/arm-maintainers][arm_maintainers] ([[email protected]][arm_email])

[arm_maintainers]: https://github.com/rust-lang/team/blob/master/teams/arm-maintainers.toml
[arm_email]: mailto:[email protected]

## Requirements

Expand Down
Loading