]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_target/src/spec/powerpc_unknown_freebsd.rs
Merge commit '7b73b60faca71d01d900e49831fcb84553e93019' into sync-rustfmt
[rust.git] / compiler / rustc_target / src / spec / powerpc_unknown_freebsd.rs
1 use crate::abi::Endian;
2 use crate::spec::{LinkerFlavor, RelocModel, Target, TargetOptions};
3
4 pub fn target() -> Target {
5     let mut base = super::freebsd_base::opts();
6     base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".into());
7     // Extra hint to linker that we are generating secure-PLT code.
8     base.pre_link_args
9         .entry(LinkerFlavor::Gcc)
10         .or_default()
11         .push("--target=powerpc-unknown-freebsd13.0".into());
12     base.max_atomic_width = Some(32);
13
14     Target {
15         llvm_target: "powerpc-unknown-freebsd13.0".into(),
16         pointer_width: 32,
17         data_layout: "E-m:e-p:32:32-i64:64-n32".into(),
18         arch: "powerpc".into(),
19         options: TargetOptions {
20             endian: Endian::Big,
21             features: "+secure-plt".into(),
22             relocation_model: RelocModel::Pic,
23             mcount: "_mcount".into(),
24             ..base
25         },
26     }
27 }