Add arm64e-apple-darwin target
This commit is contained in:
parent
f5e3492194
commit
a78720807c
6 changed files with 67 additions and 0 deletions
|
@ -1544,6 +1544,7 @@ supported_targets! {
|
|||
("i686-unknown-hurd-gnu", i686_unknown_hurd_gnu),
|
||||
|
||||
("aarch64-apple-darwin", aarch64_apple_darwin),
|
||||
("arm64e-apple-darwin", arm64e_apple_darwin),
|
||||
("x86_64-apple-darwin", x86_64_apple_darwin),
|
||||
("x86_64h-apple-darwin", x86_64h_apple_darwin),
|
||||
("i686-apple-darwin", i686_apple_darwin),
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
use crate::spec::base::apple::{macos_llvm_target, opts, Arch};
|
||||
use crate::spec::{FramePointer, SanitizerSet, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let arch = Arch::Arm64e;
|
||||
let mut base = opts("macos", arch);
|
||||
base.cpu = "apple-m1".into();
|
||||
base.max_atomic_width = Some(128);
|
||||
|
||||
// FIXME: The leak sanitizer currently fails the tests, see #88132.
|
||||
base.supported_sanitizers = SanitizerSet::ADDRESS | SanitizerSet::CFI | SanitizerSet::THREAD;
|
||||
|
||||
Target {
|
||||
// Clang automatically chooses a more specific target based on
|
||||
// MACOSX_DEPLOYMENT_TARGET. To enable cross-language LTO to work
|
||||
// correctly, we do too.
|
||||
llvm_target: macos_llvm_target(arch).into(),
|
||||
pointer_width: 64,
|
||||
data_layout: "e-m:o-i64:64-i128:128-n32:64-S128".into(),
|
||||
arch: arch.target_arch(),
|
||||
options: TargetOptions {
|
||||
mcount: "\u{1}mcount".into(),
|
||||
frame_pointer: FramePointer::NonLeaf,
|
||||
..base
|
||||
},
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue