// option. This file may not be copied, modified, or distributed
// except according to those terms.
-use target::Target;
+use target::{Target, TargetOptions, TargetResult};
-pub fn target() -> Target {
- Target {
- data_layout: "e-p:32:32:32\
- -i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64\
- -f32:32:32-f64:64:64\
- -v64:64:64-v128:64:128\
- -a:0:64-n32".to_string(),
+pub fn target() -> TargetResult {
+ Ok(Target {
llvm_target: "mipsel-unknown-linux-gnu".to_string(),
target_endian: "little".to_string(),
target_pointer_width: "32".to_string(),
+ data_layout: "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64".to_string(),
arch: "mips".to_string(),
target_os: "linux".to_string(),
+ target_env: "gnu".to_string(),
+ target_vendor: "unknown".to_string(),
- options: super::linux_base::opts()
- }
+ options: TargetOptions {
+ cpu: "mips32".to_string(),
+ features: "+mips32".to_string(),
+ max_atomic_width: 32,
+ ..super::linux_base::opts()
+ },
+ })
}