mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-30 22:12:15 +00:00
Rollup merge of #126039 - dpaoliello:arm64ecbuild, r=davidtwco
Promote `arm64ec-pc-windows-msvc` to tier 2 MCP: <https://github.com/rust-lang/compiler-team/issues/746> * Update platform support docs * Add `arm64ec-pc-windows-msvc` as a target to the existing AArch64 Windows build in CI. * Fix docs build break. * Add `arm64ec-pc-windows-msvc` to build manifest. CI build (succeeded, but upload to S3 failed): <https://github.com/rust-lang/rust/actions/runs/9388227822/job/25853013083?pr=126039>
This commit is contained in:
commit
ee45f5bdb3
@ -244,7 +244,11 @@ mod arch {
|
||||
pub use libc::{blkcnt_t, blksize_t, ino_t, nlink_t, off_t, stat, time_t};
|
||||
}
|
||||
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
#[cfg(any(
|
||||
target_arch = "aarch64",
|
||||
// Arm64EC is Windows-only, but docs are always build as Linux, so re-use AArch64 for Arm64EC.
|
||||
all(doc, target_arch = "arm64ec")
|
||||
))]
|
||||
mod arch {
|
||||
use crate::os::raw::{c_int, c_long};
|
||||
|
||||
|
@ -428,6 +428,7 @@ auto:
|
||||
RUST_CONFIGURE_ARGS: >-
|
||||
--build=x86_64-pc-windows-msvc
|
||||
--host=aarch64-pc-windows-msvc
|
||||
--target=aarch64-pc-windows-msvc,arm64ec-pc-windows-msvc
|
||||
--enable-full-tools
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist bootstrap --include-default-paths
|
||||
|
@ -146,6 +146,7 @@ target | std | notes
|
||||
[`arm-linux-androideabi`](platform-support/android.md) | ✓ | Armv6 Android
|
||||
`arm-unknown-linux-musleabi` | ✓ | Armv6 Linux with musl 1.2.3
|
||||
`arm-unknown-linux-musleabihf` | ✓ | Armv6 Linux with musl 1.2.3, hardfloat
|
||||
[`arm64ec-pc-windows-msvc`](platform-support/arm64ec-pc-windows-msvc.md) | ✓ | Arm64EC Windows MSVC
|
||||
[`armebv7r-none-eabi`](platform-support/armv7r-none-eabi.md) | * | Bare Armv7-R, Big Endian
|
||||
[`armebv7r-none-eabihf`](platform-support/armv7r-none-eabi.md) | * | Bare Armv7-R, Big Endian, hardfloat
|
||||
`armv5te-unknown-linux-gnueabi` | ✓ | Armv5TE Linux (kernel 4.4, glibc 2.23)
|
||||
@ -240,7 +241,6 @@ target | std | host | notes
|
||||
-------|:---:|:----:|-------
|
||||
[`arm64e-apple-ios`](platform-support/arm64e-apple-ios.md) | ✓ | | ARM64e Apple iOS
|
||||
[`arm64e-apple-darwin`](platform-support/arm64e-apple-darwin.md) | ✓ | ✓ | ARM64e Apple Darwin
|
||||
[`arm64ec-pc-windows-msvc`](platform-support/arm64ec-pc-windows-msvc.md) | ? | | Arm64EC Windows MSVC
|
||||
[`aarch64-apple-ios-macabi`](platform-support/apple-ios-macabi.md) | ✓ | | Apple Catalyst on ARM64
|
||||
[`aarch64-apple-tvos`](platform-support/apple-tvos.md) | ✓ | | ARM64 tvOS
|
||||
[`aarch64-apple-tvos-sim`](platform-support/apple-tvos.md) | ✓ | | ARM64 tvOS Simulator
|
||||
|
@ -1,6 +1,6 @@
|
||||
# `arm64ec-pc-windows-msvc`
|
||||
|
||||
**Tier: 3**
|
||||
**Tier: 2**
|
||||
|
||||
Arm64EC ("Emulation Compatible") for mixed architecture (AArch64 and x86_64)
|
||||
applications on AArch64 Windows 11. See <https://learn.microsoft.com/en-us/windows/arm/arm64ec>.
|
||||
@ -21,6 +21,9 @@ Only supported backend is LLVM 18 or above:
|
||||
* 18.1.4 fixed linking issue for some intrinsics implemented in
|
||||
`compiler_builtins`.
|
||||
|
||||
Visual Studio 2022 (or above) with the "ARM64/ARM64EC built tools" component and
|
||||
the Windows 11 SDK are required.
|
||||
|
||||
### Reusing code from other architectures - x86_64 or AArch64?
|
||||
|
||||
Arm64EC uses `arm64ec` as its `target_arch`, but it is possible to reuse
|
||||
@ -62,10 +65,8 @@ target = [ "arm64ec-pc-windows-msvc" ]
|
||||
|
||||
## Building Rust programs
|
||||
|
||||
Rust does not yet ship pre-compiled artifacts for this target. To compile for
|
||||
this target, you will either need to build Rust with the target enabled (see
|
||||
"Building the target" above), or build your own copy using `build-std` or
|
||||
similar.
|
||||
These targets are distributed through `rustup`, and otherwise require no
|
||||
special configuration.
|
||||
|
||||
## Testing
|
||||
|
||||
|
@ -71,6 +71,7 @@ static TARGETS: &[&str] = &[
|
||||
"arm-unknown-linux-gnueabihf",
|
||||
"arm-unknown-linux-musleabi",
|
||||
"arm-unknown-linux-musleabihf",
|
||||
"arm64ec-pc-windows-msvc",
|
||||
"armv5te-unknown-linux-gnueabi",
|
||||
"armv5te-unknown-linux-musleabi",
|
||||
"armv7-linux-androideabi",
|
||||
|
Loading…
Reference in New Issue
Block a user