]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/aarch64_unknown_uefi.rs
Auto merge of #97800 - pnkfelix:issue-97463-fix-aarch64-call-abi-does-not-zeroext...
[rust.git] / compiler / rustc_target / src / spec / aarch64_unknown_uefi.rs
1 // This defines the aarch64 target for UEFI systems as described in the UEFI specification. See the
2 // uefi-base module for generic UEFI options.
3
4 use super::uefi_msvc_base;
5 use crate::spec::{LinkerFlavor, Target};
6
7 pub fn target() -> Target {
8     let mut base = uefi_msvc_base::opts();
9
10     base.max_atomic_width = Some(128);
11     base.add_pre_link_args(LinkerFlavor::Msvc, &["/machine:arm64"]);
12
13     Target {
14         llvm_target: "aarch64-unknown-windows".into(),
15         pointer_width: 64,
16         data_layout: "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128".into(),
17         arch: "aarch64".into(),
18         options: base,
19     }
20 }