Add support for powerpc-unknown-freebsd
This commit is contained in:
parent
f913a4fe90
commit
763bc13ccc
4 changed files with 38 additions and 0 deletions
|
@ -802,6 +802,7 @@ supported_targets! {
|
|||
("armv6-unknown-freebsd", armv6_unknown_freebsd),
|
||||
("armv7-unknown-freebsd", armv7_unknown_freebsd),
|
||||
("i686-unknown-freebsd", i686_unknown_freebsd),
|
||||
("powerpc-unknown-freebsd", powerpc_unknown_freebsd),
|
||||
("powerpc64-unknown-freebsd", powerpc64_unknown_freebsd),
|
||||
("powerpc64le-unknown-freebsd", powerpc64le_unknown_freebsd),
|
||||
("x86_64-unknown-freebsd", x86_64_unknown_freebsd),
|
||||
|
|
27
compiler/rustc_target/src/spec/powerpc_unknown_freebsd.rs
Normal file
27
compiler/rustc_target/src/spec/powerpc_unknown_freebsd.rs
Normal file
|
@ -0,0 +1,27 @@
|
|||
use crate::abi::Endian;
|
||||
use crate::spec::{LinkerFlavor, RelocModel, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = super::freebsd_base::opts();
|
||||
base.pre_link_args.entry(LinkerFlavor::Gcc).or_default().push("-m32".to_string());
|
||||
// Extra hint to linker that we are generating secure-PLT code.
|
||||
base.pre_link_args
|
||||
.entry(LinkerFlavor::Gcc)
|
||||
.or_default()
|
||||
.push("--target=powerpc-unknown-freebsd13.0".to_string());
|
||||
base.max_atomic_width = Some(32);
|
||||
|
||||
Target {
|
||||
llvm_target: "powerpc-unknown-freebsd13.0".to_string(),
|
||||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-i64:64-n32".to_string(),
|
||||
arch: "powerpc".to_string(),
|
||||
options: TargetOptions {
|
||||
endian: Endian::Big,
|
||||
features: "+secure-plt".to_string(),
|
||||
relocation_model: RelocModel::Pic,
|
||||
mcount: "_mcount".to_string(),
|
||||
..base
|
||||
},
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue