]>
Commit | Line | Data |
---|---|---|
5e7ed085 | 1 | use crate::spec::{LinkerFlavor, SanitizerSet, Target, TargetOptions}; |
a7813a04 | 2 | |
0731742a XL |
3 | // This target if is for the baseline of the Android v7a ABI |
4 | // in thumb mode. It's named armv7-* instead of thumbv7-* | |
5 | // for historical reasons. See the thumbv7neon variant for | |
6 | // enabling NEON. | |
7 | ||
476ff2be SL |
8 | // See https://developer.android.com/ndk/guides/abis.html#v7a |
9 | // for target ABI requirements. | |
10 | ||
29967ef6 | 11 | pub fn target() -> Target { |
a7813a04 | 12 | let mut base = super::android_base::opts(); |
5e7ed085 | 13 | base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-march=armv7-a".into()); |
29967ef6 | 14 | Target { |
5e7ed085 | 15 | llvm_target: "armv7-none-linux-android".into(), |
29967ef6 | 16 | pointer_width: 32, |
5e7ed085 FG |
17 | data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(), |
18 | arch: "arm".into(), | |
136023e0 | 19 | options: TargetOptions { |
5e7ed085 FG |
20 | abi: "eabi".into(), |
21 | features: "+v7,+thumb-mode,+thumb2,+vfp3,-d32,-neon".into(), | |
22 | supported_sanitizers: SanitizerSet::ADDRESS, | |
136023e0 XL |
23 | max_atomic_width: Some(64), |
24 | ..base | |
25 | }, | |
29967ef6 | 26 | } |
a7813a04 | 27 | } |