Rollup merge of #127905 - BKPepe:powerpc-muslspe, r=wesleywiser
Add powerpc-unknown-linux-muslspe compile target This is almost identical to already existing targets: - powerpc_unknown_linux_musl.rs - powerpc_unknown_linux_gnuspe.rs It has support for PowerPC SPE (muslspe), which can be used with GCC version up to 8. It is useful for Freescale or IBM cores like e500. This was verified to be working with OpenWrt build system for CZ.NIC's Turris 1.x routers, which are using Freescale P2020, e500v2, so add it as a Tier 3 target. Follow-up of https://github.com/rust-lang/rust/pull/100860
This commit is contained in:
commit
442ba180d6
6 changed files with 66 additions and 0 deletions
|
@ -1561,6 +1561,7 @@ supported_targets! {
|
|||
("powerpc-unknown-linux-gnu", powerpc_unknown_linux_gnu),
|
||||
("powerpc-unknown-linux-gnuspe", powerpc_unknown_linux_gnuspe),
|
||||
("powerpc-unknown-linux-musl", powerpc_unknown_linux_musl),
|
||||
("powerpc-unknown-linux-muslspe", powerpc_unknown_linux_muslspe),
|
||||
("powerpc64-ibm-aix", powerpc64_ibm_aix),
|
||||
("powerpc64-unknown-linux-gnu", powerpc64_unknown_linux_gnu),
|
||||
("powerpc64-unknown-linux-musl", powerpc64_unknown_linux_musl),
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
use crate::abi::Endian;
|
||||
use crate::spec::{base, Cc, LinkerFlavor, Lld, StackProbeType, Target, TargetOptions};
|
||||
|
||||
pub fn target() -> Target {
|
||||
let mut base = base::linux_musl::opts();
|
||||
base.add_pre_link_args(LinkerFlavor::Gnu(Cc::Yes, Lld::No), &["-mspe"]);
|
||||
base.max_atomic_width = Some(32);
|
||||
base.stack_probes = StackProbeType::Inline;
|
||||
|
||||
Target {
|
||||
llvm_target: "powerpc-unknown-linux-muslspe".into(),
|
||||
metadata: crate::spec::TargetMetadata {
|
||||
description: Some("PowerPC SPE Linux with musl".into()),
|
||||
tier: Some(3),
|
||||
host_tools: Some(false),
|
||||
std: Some(true),
|
||||
},
|
||||
pointer_width: 32,
|
||||
data_layout: "E-m:e-p:32:32-Fn32-i64:64-n32".into(),
|
||||
arch: "powerpc".into(),
|
||||
options: TargetOptions {
|
||||
abi: "spe".into(),
|
||||
endian: Endian::Big,
|
||||
mcount: "_mcount".into(),
|
||||
..base
|
||||
},
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue