Skip to main content

rustc_target/spec/targets/
mipsel_mti_none_elf.rs

1use rustc_abi::Endian;
2
3use crate::spec::{
4    Arch, Cc, LinkerFlavor, Lld, LlvmAbi, PanicStrategy, RelocModel, Target, TargetMetadata,
5    TargetOptions,
6};
7
8pub(crate) fn target() -> Target {
9    Target {
10        data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".into(),
11        llvm_target: "mipsel".into(),
12        metadata: TargetMetadata {
13            description: Some("MIPS32r2 LE Baremetal Softfloat".into()),
14            tier: Some(3),
15            host_tools: Some(false),
16            std: None, // ?
17        },
18        pointer_width: 32,
19        arch: Arch::Mips,
20
21        options: TargetOptions {
22            vendor: "mti".into(),
23            linker_flavor: LinkerFlavor::Gnu(Cc::No, Lld::Yes),
24            linker: Some("rust-lld".into()),
25            endian: Endian::Little,
26            cpu: "mips32r2".into(),
27
28            llvm_abiname: LlvmAbi::O32,
29            max_atomic_width: Some(32),
30
31            features: "+mips32r2,+soft-float,+noabicalls".into(),
32            executables: true,
33            panic_strategy: PanicStrategy::Abort,
34            relocation_model: RelocModel::Static,
35            emit_debug_gdb_scripts: false,
36            eh_frame_header: false,
37            singlethread: true,
38            ..Default::default()
39        },
40    }
41}