]>
Commit | Line | Data |
---|---|---|
29967ef6 | 1 | use crate::spec::{LinkerFlavor, 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(); |
cdc7bbd5 | 13 | base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-march=armv7-a".to_string()); |
29967ef6 | 14 | Target { |
0731742a | 15 | llvm_target: "armv7-none-linux-android".to_string(), |
29967ef6 | 16 | pointer_width: 32, |
416331ca | 17 | data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(), |
0731742a | 18 | arch: "arm".to_string(), |
136023e0 XL |
19 | options: TargetOptions { |
20 | abi: "eabi".to_string(), | |
21 | features: "+v7,+thumb-mode,+thumb2,+vfp3,+neon".to_string(), | |
22 | max_atomic_width: Some(64), | |
23 | ..base | |
24 | }, | |
29967ef6 | 25 | } |
0731742a | 26 | } |