rustc_target/spec/targets/
armv7_unknown_linux_ohos.rs

1use crate::spec::{FloatAbi, Target, TargetOptions, base};
2
3// This target is for OpenHarmony on ARMv7 Linux with thumb-mode, but no NEON or
4// hardfloat.
5
6pub(crate) fn target() -> Target {
7    // Most of these settings are copied from the armv7_unknown_linux_musleabi
8    // target.
9    Target {
10        llvm_target: "armv7-unknown-linux-ohos".into(),
11        metadata: crate::spec::TargetMetadata {
12            description: Some("Armv7-A OpenHarmony".into()),
13            tier: Some(2),
14            host_tools: Some(false),
15            std: Some(true),
16        },
17        pointer_width: 32,
18        data_layout: "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64".into(),
19        arch: "arm".into(),
20
21        options: TargetOptions {
22            abi: "eabi".into(),
23            llvm_floatabi: Some(FloatAbi::Soft),
24            features: "+v7,+thumb2,+soft-float,-neon".into(),
25            max_atomic_width: Some(64),
26            mcount: "\u{1}mcount".into(),
27            ..base::linux_ohos::opts()
28        },
29    }
30}