mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-21 22:34:05 +00:00
Auto merge of #85357 - Andy-Python-Programmer:aarch64_uefi_target, r=petrochenkov
Add `aarch64-unknown-uefi` target This pull request adds the `aarch64-unknown-uefi` target.
This commit is contained in:
commit
ae90dcf020
27
compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs
Normal file
27
compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs
Normal file
@ -0,0 +1,27 @@
|
||||
// This defines the aarch64 target for UEFI systems as described in the UEFI specification. See the
|
||||
// uefi-base module for generic UEFI options.
|
||||
|
||||
use super::uefi_msvc_base;
|
||||
use crate::spec::{LinkerFlavor, LldFlavor, Target};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = uefi_msvc_base::opts();
|
||||
|
||||
base.max_atomic_width = Some(64);
|
||||
|
||||
let pre_link_args_msvc = vec!["/machine:arm64".to_string()];
|
||||
|
||||
base.pre_link_args.get_mut(&LinkerFlavor::Msvc).unwrap().extend(pre_link_args_msvc.clone());
|
||||
base.pre_link_args
|
||||
.get_mut(&LinkerFlavor::Lld(LldFlavor::Link))
|
||||
.unwrap()
|
||||
.extend(pre_link_args_msvc);
|
||||
|
||||
Target {
|
||||
llvm_target: "aarch64-unknown-windows".to_string(),
|
||||
pointer_width: 64,
|
||||
data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128".to_string(),
|
||||
arch: "aarch64".to_string(),
|
||||
options: base,
|
||||
}
|
||||
}
|
@ -918,6 +918,7 @@ supported_targets! {
|
||||
|
||||
("x86_64-unknown-uefi", x86_64_unknown_uefi),
|
||||
("i686-unknown-uefi", i686_unknown_uefi),
|
||||
("aarch64-unknown-uefi", aarch64_unknown_uefi),
|
||||
|
||||
("nvptx64-nvidia-cuda", nvptx64_nvidia_cuda),
|
||||
|
||||
|
@ -200,6 +200,7 @@ target | std | host | notes
|
||||
`aarch64-apple-tvos` | * | | ARM64 tvOS
|
||||
`aarch64-unknown-freebsd` | ✓ | ✓ | ARM64 FreeBSD
|
||||
`aarch64-unknown-hermit` | ? | |
|
||||
`aarch64-unknown-uefi` | * | | ARM64 UEFI
|
||||
`aarch64-unknown-linux-gnu_ilp32` | ✓ | ✓ | ARM64 Linux (ILP32 ABI)
|
||||
`aarch64-unknown-netbsd` | ✓ | ✓ |
|
||||
`aarch64-unknown-openbsd` | ✓ | ✓ | ARM64 OpenBSD
|
||||
|
Loading…
Reference in New Issue
Block a user