rustc_target/spec/targets/
arm_unknown_linux_musleabihf.rs

1use crate::spec::{FloatAbi, Target, TargetOptions, base};
2
3pub(crate) fn target() -> Target {
4    Target {
5        llvm_target: "arm-unknown-linux-musleabihf".into(),
6        metadata: crate::spec::TargetMetadata {
7            description: Some("Armv6 Linux with musl 1.2.3, hardfloat".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: "eabihf".into(),
17            llvm_floatabi: Some(FloatAbi::Hard),
18            // Most of these settings are copied from the arm_unknown_linux_gnueabihf
19            // target.
20            features: "+strict-align,+v6,+vfp2,-d32".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}