diff options
| author | bors <bors@rust-lang.org> | 2021-08-09 13:16:51 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-08-09 13:16:51 +0000 |
| commit | ae90dcf0207c57c3034f00b07048d63f8b2363c8 (patch) | |
| tree | f2c0b5877ef83c955488d43e0fffb31cdae3f6ef /compiler | |
| parent | eaf6f463599df1f18da94a6965e216ea15795417 (diff) | |
| parent | 44b81fb8fc565610d88156608f21a2e3efce2aac (diff) | |
| download | rust-ae90dcf0207c57c3034f00b07048d63f8b2363c8.tar.gz rust-ae90dcf0207c57c3034f00b07048d63f8b2363c8.zip | |
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.
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs | 27 | ||||
| -rw-r--r-- | compiler/rustc_target/src/spec/mod.rs | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs b/compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs new file mode 100644 index 00000000000..20c528d25f3 --- /dev/null +++ b/compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs @@ -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, + } +} diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs index 7f349ef10d3..9c957cba6cc 100644 --- a/compiler/rustc_target/src/spec/mod.rs +++ b/compiler/rustc_target/src/spec/mod.rs @@ -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), |
