]>
Commit | Line | Data |
---|---|---|
a1dfa0c6 XL |
1 | // Targets the Cortex-M23 processor (Baseline ARMv8-M) |
2 | ||
9fa01778 | 3 | use crate::spec::{LinkerFlavor, LldFlavor, Target, TargetOptions, TargetResult}; |
a1dfa0c6 XL |
4 | |
5 | pub fn target() -> TargetResult { | |
6 | Ok(Target { | |
7 | llvm_target: "thumbv8m.base-none-eabi".to_string(), | |
8 | target_endian: "little".to_string(), | |
9 | target_pointer_width: "32".to_string(), | |
10 | target_c_int_width: "32".to_string(), | |
416331ca | 11 | data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(), |
a1dfa0c6 XL |
12 | arch: "arm".to_string(), |
13 | target_os: "none".to_string(), | |
14 | target_env: String::new(), | |
15 | target_vendor: String::new(), | |
16 | linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld), | |
17 | ||
18 | options: TargetOptions { | |
19 | // ARMv8-M baseline doesn't support unaligned loads/stores so we disable them | |
20 | // with +strict-align. | |
21 | features: "+strict-align".to_string(), | |
22 | max_atomic_width: Some(32), | |
dfeec247 | 23 | ..super::thumb_base::opts() |
a1dfa0c6 XL |
24 | }, |
25 | }) | |
26 | } |