Add new x86_64-win7-windows-msvc target
This commit is contained in:
parent
2f8d81f9db
commit
ad6dd6c624
@ -1604,6 +1604,7 @@ supported_targets! {
|
||||
("aarch64-uwp-windows-msvc", aarch64_uwp_windows_msvc),
|
||||
("x86_64-pc-windows-msvc", x86_64_pc_windows_msvc),
|
||||
("x86_64-uwp-windows-msvc", x86_64_uwp_windows_msvc),
|
||||
("x86_64-win7-windows-msvc", x86_64_win7_windows_msvc),
|
||||
("i686-pc-windows-msvc", i686_pc_windows_msvc),
|
||||
("i686-uwp-windows-msvc", i686_uwp_windows_msvc),
|
||||
("i586-pc-windows-msvc", i586_pc_windows_msvc),
|
||||
|
@ -0,0 +1,18 @@
|
||||
use crate::spec::{base, Target};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = base::windows_msvc::opts();
|
||||
base.cpu = "x86-64".into();
|
||||
base.plt_by_default = false;
|
||||
base.max_atomic_width = Some(64);
|
||||
base.vendor = "win7".into();
|
||||
|
||||
Target {
|
||||
llvm_target: "x86_64-win7-windows-msvc".into(),
|
||||
pointer_width: 64,
|
||||
data_layout: "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
||||
.into(),
|
||||
arch: "x86_64".into(),
|
||||
options: base,
|
||||
}
|
||||
}
|
@ -55,6 +55,7 @@
|
||||
- [\*-unknown-uefi](platform-support/unknown-uefi.md)
|
||||
- [wasm32-wasi-preview1-threads](platform-support/wasm32-wasi-preview1-threads.md)
|
||||
- [wasm64-unknown-unknown](platform-support/wasm64-unknown-unknown.md)
|
||||
- [\*-win7-windows-msvc](platform-support/win7-windows-msvc.md)
|
||||
- [x86_64-fortanix-unknown-sgx](platform-support/x86_64-fortanix-unknown-sgx.md)
|
||||
- [x86_64-unknown-none](platform-support/x86_64-unknown-none.md)
|
||||
- [x86_64h-apple-darwin](platform-support/x86_64h-apple-darwin.md)
|
||||
|
@ -351,6 +351,7 @@ target | std | host | notes
|
||||
[`x86_64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | 64-bit OpenBSD
|
||||
`x86_64-uwp-windows-gnu` | ✓ | |
|
||||
`x86_64-uwp-windows-msvc` | ✓ | |
|
||||
[`x86_64-win7-windows-msvc`](platform-support/win7-windows-msvc.md) | ✓ | | 64-bit Windows 7 support
|
||||
`x86_64-wrs-vxworks` | ? | |
|
||||
[`x86_64h-apple-darwin`](platform-support/x86_64h-apple-darwin.md) | ✓ | ✓ | macOS with late-gen Intel (at least Haswell)
|
||||
|
||||
|
44
src/doc/rustc/src/platform-support/win7-windows-msvc.md
Normal file
44
src/doc/rustc/src/platform-support/win7-windows-msvc.md
Normal file
@ -0,0 +1,44 @@
|
||||
# *-win7-windows-msvc
|
||||
|
||||
**Tier: 3**
|
||||
|
||||
Windows targets continuing support of windows7.
|
||||
|
||||
## Target maintainers
|
||||
|
||||
- @roblabla
|
||||
|
||||
## Requirements
|
||||
|
||||
This target supports full the entirety of std. This is automatically tested
|
||||
every night on private infrastructure. Host tools may also work, though those
|
||||
are not currently tested.
|
||||
|
||||
Those targets follow Windows calling convention for extern "C".
|
||||
|
||||
Like with any other Windows target created binaries are in PE format.
|
||||
|
||||
## Building the target
|
||||
|
||||
You can build Rust with support for the targets by adding it to the target list in config.toml:
|
||||
|
||||
```toml
|
||||
[build]
|
||||
build-stage = 1
|
||||
target = [ "x86_64-win7-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 of `core` by using
|
||||
`build-std` or similar.
|
||||
|
||||
## Testing
|
||||
|
||||
Created binaries work fine on Windows or Wine using native hardware.
|
||||
|
||||
## Cross-compilation toolchains and C code
|
||||
|
||||
Compatible C code can be built with either MSVC's `cl.exe` or LLVM's clang-cl.
|
Loading…
x
Reference in New Issue
Block a user