]>
Commit | Line | Data |
---|---|---|
2b03887a | 1 | use crate::spec::{Cc, LinkerFlavor, Lld, Target, TargetOptions}; |
0731742a XL |
2 | |
3 | // This target if is for the Android v7a ABI in thumb mode with | |
4 | // NEON unconditionally enabled and, therefore, with 32 FPU registers | |
5 | // enabled as well. See section A2.6.2 on page A2-56 in | |
6 | // https://static.docs.arm.com/ddi0406/cd/DDI0406C_d_armv7ar_arm.pdf | |
7 | ||
8 | // See https://developer.android.com/ndk/guides/abis.html#v7a | |
9 | // for target ABI requirements. | |
10 | ||
29967ef6 | 11 | pub fn target() -> Target { |
0731742a | 12 | let mut base = super::android_base::opts(); |
2b03887a | 13 | base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-march=armv7-a"]); |
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,+neon".into(), | |
136023e0 XL |
22 | max_atomic_width: Some(64), |
23 | ..base | |
24 | }, | |
29967ef6 | 25 | } |
0731742a | 26 | } |