about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec/arm_linux_androideabi.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-07-13 12:25:10 +0000
committerbors <bors@rust-lang.org>2021-07-13 12:25:10 +0000
commitca99e3eb3adf61573b11d859ce2b9ff7db48ccd4 (patch)
tree4358d504c5ce2e1fe670ae4d3bbebc74a03d5f48 /compiler/rustc_target/src/spec/arm_linux_androideabi.rs
parent5aff6dd07a562a2cba3c57fc3460a72acb6bef46 (diff)
parentc3fbafddc06fda5f282790c9c16378d7786cbe03 (diff)
downloadrust-ca99e3eb3adf61573b11d859ce2b9ff7db48ccd4.tar.gz
rust-ca99e3eb3adf61573b11d859ce2b9ff7db48ccd4.zip
Auto merge of #86922 - joshtriplett:target-abi, r=oli-obk
target abi

Implement cfg(target_abi) (RFC 2992)

Add an `abi` field to `TargetOptions`, defaulting to "". Support using
`cfg(target_abi = "...")` for conditional compilation on that field.

Gated by `feature(cfg_target_abi)`.

Add a test for `target_abi`, and a test for the feature gate.

Add `target_abi` to tidy as a platform-specific cfg.

Update targets to use `target_abi`

All eabi targets have `target_abi = "eabi".`
All eabihf targets have `target_abi = "eabihf"`.
`armv6_unknown_freebsd` and `armv7_unknown_freebsd` have `target_abi = "eabihf"`.
All abi64 targets have `target_abi = "abi64"`.
All ilp32 targets have `target_abi = "ilp32"`.
All softfloat targets have `target_abi = "softfloat"`.
All *-uwp-windows-* targets have `target_abi = "uwp"`.
All spe targets have `target_abi = "spe"`.
All macabi targets have `target_abi = "macabi"`.
aarch64-apple-ios-sim has `target_abi = "sim"`.
`x86_64-fortanix-unknown-sgx` has `target_abi = "fortanix"`.
`x86_64-unknown-linux-gnux32` has `target_abi = "x32"`.

Add FIXME entries for targets for which existing values need to change
once `cfg_target_abi` becomes stable. (All of them are tier 3 targets.)

Add a test for `target_abi` in `--print cfg`.
Diffstat (limited to 'compiler/rustc_target/src/spec/arm_linux_androideabi.rs')
-rw-r--r--compiler/rustc_target/src/spec/arm_linux_androideabi.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_target/src/spec/arm_linux_androideabi.rs b/compiler/rustc_target/src/spec/arm_linux_androideabi.rs
index f2430830afc..9b5366c576e 100644
--- a/compiler/rustc_target/src/spec/arm_linux_androideabi.rs
+++ b/compiler/rustc_target/src/spec/arm_linux_androideabi.rs
@@ -7,6 +7,7 @@ pub fn target() -> Target {
         data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".to_string(),
         arch: "arm".to_string(),
         options: TargetOptions {
+            abi: "eabi".to_string(),
             // https://developer.android.com/ndk/guides/abis.html#armeabi
             features: "+strict-align,+v5te".to_string(),
             max_atomic_width: Some(32),