]>
Commit | Line | Data |
---|---|---|
29967ef6 XL |
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 { | |
29967ef6 XL |
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![ | |
6a06907d XL |
26 | Abi::Stdcall { unwind: false }, |
27 | Abi::Stdcall { unwind: true }, | |
29967ef6 XL |
28 | Abi::Fastcall, |
29 | Abi::Vectorcall, | |
6a06907d XL |
30 | Abi::Thiscall { unwind: false }, |
31 | Abi::Thiscall { unwind: true }, | |
29967ef6 XL |
32 | Abi::Win64, |
33 | Abi::SysV64, | |
34 | ], | |
35 | emit_debug_gdb_scripts: false, | |
36 | ..Default::default() | |
37 | }, | |
38 | } | |
39 | } |