1 use crate::spec
::{LinkerFlavor, Target, TargetOptions, TargetResult}
;
3 pub fn target() -> TargetResult
{
4 let mut base
= super::vxworks_base
::opts();
5 base
.pre_link_args
.get_mut(&LinkerFlavor
::Gcc
).unwrap().push("-mspe".to_string());
6 base
.pre_link_args
.get_mut(&LinkerFlavor
::Gcc
).unwrap().push("--secure-plt".to_string());
7 base
.max_atomic_width
= Some(32);
10 llvm_target
: "powerpc-unknown-linux-gnuspe".to_string(),
11 target_endian
: "big".to_string(),
12 target_pointer_width
: "32".to_string(),
13 target_c_int_width
: "32".to_string(),
14 data_layout
: "E-m:e-p:32:32-i64:64-n32".to_string(),
15 arch
: "powerpc".to_string(),
16 target_os
: "vxworks".to_string(),
17 target_env
: "gnu".to_string(),
18 target_vendor
: "wrs".to_string(),
19 linker_flavor
: LinkerFlavor
::Gcc
,
20 options
: TargetOptions
{
21 // feature msync would disable instruction 'fsync' which is not supported by fsl_p1p2
22 features
: "+secure-plt,+msync".to_string(),