]>
Commit | Line | Data |
---|---|---|
5869c6ff | 1 | use crate::abi::Endian; |
2b03887a | 2 | use crate::spec::{Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions}; |
416331ca | 3 | |
29967ef6 | 4 | pub fn target() -> Target { |
416331ca | 5 | let mut base = super::vxworks_base::opts(); |
2b03887a | 6 | base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-mspe", "--secure-plt"]); |
416331ca | 7 | base.max_atomic_width = Some(32); |
2b03887a | 8 | base.stack_probes = StackProbeType::Inline; |
416331ca | 9 | |
29967ef6 | 10 | Target { |
5e7ed085 | 11 | llvm_target: "powerpc-unknown-linux-gnuspe".into(), |
29967ef6 | 12 | pointer_width: 32, |
5e7ed085 FG |
13 | data_layout: "E-m:e-p:32:32-i64:64-n32".into(), |
14 | arch: "powerpc".into(), | |
416331ca | 15 | options: TargetOptions { |
5e7ed085 | 16 | abi: "spe".into(), |
5869c6ff | 17 | endian: Endian::Big, |
416331ca | 18 | // feature msync would disable instruction 'fsync' which is not supported by fsl_p1p2 |
5e7ed085 | 19 | features: "+secure-plt,+msync".into(), |
dfeec247 | 20 | ..base |
416331ca | 21 | }, |
29967ef6 | 22 | } |
416331ca | 23 | } |