rustc_target/spec/targets/
arm_unknown_linux_musleabi.rs

1use crate::spec::{FloatAbi, Target, TargetOptions, base};
2
3pub(crate) fn target() -> Target {
4    Target {
5        llvm_target: "arm-unknown-linux-musleabi".into(),
6        metadata: crate::spec::TargetMetadata {
7            description: Some("Armv6 Linux with musl 1.2.3".into()),
8            tier: Some(2),
9            host_tools: Some(false),
10            std: Some(true),
11        },
12        pointer_width: 32,
13        data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),
14        arch: "arm".into(),
15        options: TargetOptions {
16            abi: "eabi".into(),
17            llvm_floatabi: Some(FloatAbi::Soft),
18            // Most of these settings are copied from the arm_unknown_linux_gnueabi
19            // target.
20            features: "+strict-align,+v6".into(),
21            max_atomic_width: Some(64),
22            mcount: "\u{1}mcount".into(),
23            // FIXME(compiler-team#422): musl targets should be dynamically linked by default.
24            crt_static_default: true,
25            ..base::linux_musl::opts()
26        },
27    }
28}