1 // Generic AArch64 target for bare-metal code - Floating point disabled
3 // Can be used in conjunction with the `target-feature` and
4 // `target-cpu` compiler flags to opt-in more hardware-specific
7 // For example, `-C target-cpu=cortex-a53`.
9 use super::{Cc, LinkerFlavor, Lld, PanicStrategy, RelocModel, Target, TargetOptions}
;
11 pub fn target() -> Target
{
12 let opts
= TargetOptions
{
13 abi
: "softfloat".into(),
14 linker_flavor
: LinkerFlavor
::Gnu(Cc
::No
, Lld
::Yes
),
15 linker
: Some("rust-lld".into()),
16 features
: "+v8a,+strict-align,-neon,-fp-armv8".into(),
17 relocation_model
: RelocModel
::Static
,
18 disable_redzone
: true,
19 max_atomic_width
: Some(128),
20 panic_strategy
: PanicStrategy
::Abort
,
24 llvm_target
: "aarch64-unknown-none".into(),
26 data_layout
: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".into(),
27 arch
: "aarch64".into(),