]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/mipsel_unknown_none.rs
Merge commit '98e2b9f25b6db4b2680a3d388456d9f95cb28344' into clippyup
[rust.git] / compiler / rustc_target / src / spec / mipsel_unknown_none.rs
1 //! Bare MIPS32r2, little endian, softfloat, O32 calling convention
2 //!
3 //! Can be used for MIPS M4K core (e.g. on PIC32MX devices)
4
5 use crate::spec::abi::Abi;
6 use crate::spec::{LinkerFlavor, LldFlavor, RelocModel};
7 use crate::spec::{PanicStrategy, Target, TargetOptions};
8
9 pub fn target() -> Target {
10     Target {
11         llvm_target: "mipsel-unknown-none".to_string(),
12         pointer_width: 32,
13         data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
14         arch: "mips".to_string(),
15
16         options: TargetOptions {
17             linker_flavor: LinkerFlavor::Lld(LldFlavor::Ld),
18             cpu: "mips32r2".to_string(),
19             features: "+mips32r2,+soft-float,+noabicalls".to_string(),
20             max_atomic_width: Some(32),
21             executables: true,
22             linker: Some("rust-lld".to_owned()),
23             panic_strategy: PanicStrategy::Abort,
24             relocation_model: RelocModel::Static,
25             unsupported_abis: vec![
26                 Abi::Stdcall { unwind: false },
27                 Abi::Stdcall { unwind: true },
28                 Abi::Fastcall,
29                 Abi::Vectorcall,
30                 Abi::Thiscall { unwind: false },
31                 Abi::Thiscall { unwind: true },
32                 Abi::Win64,
33                 Abi::SysV64,
34             ],
35             emit_debug_gdb_scripts: false,
36             ..Default::default()
37         },
38     }
39 }