diff options
| author | bors <bors@rust-lang.org> | 2016-05-16 12:15:10 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2016-05-16 12:15:10 -0700 |
| commit | 4fdf2c4f976ce52163841ba5b3117bb2bb06d97e (patch) | |
| tree | 78e466dda8648c120d986b41e59e48c9cc358ebf /src | |
| parent | 8310de856db8ba78ba3f4c58e3fe6d3d87f2cb4f (diff) | |
| parent | e512abd418cf6774a29c98b1643e08ae82b3a2b5 (diff) | |
| download | rust-4fdf2c4f976ce52163841ba5b3117bb2bb06d97e.tar.gz rust-4fdf2c4f976ce52163841ba5b3117bb2bb06d97e.zip | |
Auto merge of #33500 - Nercury:update-aarch64-android-target-to-match-abi, r=alexcrichton
Update aarch64-linux-android target to match android abi. - Changed `target_env` to "gnu" to empty "" for all android targets because it does not matter for android. - The PR #33048 added "max_atomic_width" for arm-android but missed recently added armv7-android. Add it there too. - Added features `+neon,+fp-armv8` because they [must exist on `aarch64` android](http://developer.android.com/ndk/guides/cpu-features.html). - Update libc to include https://github.com/rust-lang/libc/pull/282 so that rust's std lib works on android's aarch64 (the main issue there was incorrect structure alignment on 64-bit arm). r? @alexcrichton
Diffstat (limited to 'src')
| m--------- | src/liblibc | 0 | ||||
| -rw-r--r-- | src/librustc_back/target/aarch64_linux_android.rs | 3 | ||||
| -rw-r--r-- | src/librustc_back/target/arm_linux_androideabi.rs | 2 | ||||
| -rw-r--r-- | src/librustc_back/target/armv7_linux_androideabi.rs | 3 | ||||
| -rw-r--r-- | src/librustc_back/target/i686_linux_android.rs | 2 |
5 files changed, 7 insertions, 3 deletions
diff --git a/src/liblibc b/src/liblibc -Subproject 7265c17d1845354f979a39b4ceb3a6934025b2a +Subproject 6598e2cbfd7e09bfca249cc3dcbf889735f73ce diff --git a/src/librustc_back/target/aarch64_linux_android.rs b/src/librustc_back/target/aarch64_linux_android.rs index ed171822464..81be546e0c8 100644 --- a/src/librustc_back/target/aarch64_linux_android.rs +++ b/src/librustc_back/target/aarch64_linux_android.rs @@ -13,6 +13,9 @@ use target::Target; pub fn target() -> Target { let mut base = super::android_base::opts(); base.max_atomic_width = 128; + // As documented in http://developer.android.com/ndk/guides/cpu-features.html + // the neon (ASIMD) and FP must exist on all android aarch64 targets. + base.features = "+neon,+fp-armv8".to_string(); Target { llvm_target: "aarch64-linux-android".to_string(), target_endian: "little".to_string(), diff --git a/src/librustc_back/target/arm_linux_androideabi.rs b/src/librustc_back/target/arm_linux_androideabi.rs index ab662a97dc2..e1b170422c6 100644 --- a/src/librustc_back/target/arm_linux_androideabi.rs +++ b/src/librustc_back/target/arm_linux_androideabi.rs @@ -22,7 +22,7 @@ pub fn target() -> Target { data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(), arch: "arm".to_string(), target_os: "android".to_string(), - target_env: "gnu".to_string(), + target_env: "".to_string(), target_vendor: "unknown".to_string(), options: base, } diff --git a/src/librustc_back/target/armv7_linux_androideabi.rs b/src/librustc_back/target/armv7_linux_androideabi.rs index 7096cd9c36d..fd8f35da16f 100644 --- a/src/librustc_back/target/armv7_linux_androideabi.rs +++ b/src/librustc_back/target/armv7_linux_androideabi.rs @@ -13,6 +13,7 @@ use target::Target; pub fn target() -> Target { let mut base = super::android_base::opts(); base.features = "+v7,+thumb2,+vfp3,+d16".to_string(); + base.max_atomic_width = 64; Target { llvm_target: "armv7-none-linux-android".to_string(), @@ -21,7 +22,7 @@ pub fn target() -> Target { data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(), arch: "arm".to_string(), target_os: "android".to_string(), - target_env: "gnu".to_string(), + target_env: "".to_string(), target_vendor: "unknown".to_string(), options: base, } diff --git a/src/librustc_back/target/i686_linux_android.rs b/src/librustc_back/target/i686_linux_android.rs index 426be63cf21..df746965a92 100644 --- a/src/librustc_back/target/i686_linux_android.rs +++ b/src/librustc_back/target/i686_linux_android.rs @@ -22,7 +22,7 @@ pub fn target() -> Target { data_layout: "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128".to_string(), arch: "x86".to_string(), target_os: "android".to_string(), - target_env: "gnu".to_string(), + target_env: "".to_string(), target_vendor: "unknown".to_string(), options: base, } |
