diff options
| author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2021-07-22 17:29:33 +0200 |
|---|---|---|
| committer | Piotr Kubaj <pkubaj@FreeBSD.org> | 2021-07-22 17:29:33 +0200 |
| commit | 763bc13ccce4b81ec623d4e8c0a34f77d0401f0f (patch) | |
| tree | 64246c74ec0362b43ce46a8ee937b6417050a2e5 /src | |
| parent | f913a4fe901d6aeb84941fa06c17916d4e6d1dd7 (diff) | |
| download | rust-763bc13ccce4b81ec623d4e8c0a34f77d0401f0f.tar.gz rust-763bc13ccce4b81ec623d4e8c0a34f77d0401f0f.zip | |
Add support for powerpc-unknown-freebsd
Diffstat (limited to 'src')
| -rw-r--r-- | src/bootstrap/native.rs | 9 | ||||
| -rw-r--r-- | src/doc/rustc/src/platform-support.md | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs index 1be414b29a1..b8a1513f2a6 100644 --- a/src/bootstrap/native.rs +++ b/src/bootstrap/native.rs @@ -118,6 +118,10 @@ impl Step for Llvm { let idx = target.triple.find('-').unwrap(); format!("riscv{}{}", &target.triple[5..7], &target.triple[idx..]) + } else if self.target.starts_with("powerpc") && self.target.ends_with("freebsd") { + // FreeBSD 13 had incompatible ABI changes on all PowerPC platforms. + // Set the version suffix to 13.0 so the correct target details are used. + format!("{}{}", self.target, "13.0") } else { target.to_string() }; @@ -277,6 +281,11 @@ impl Step for Llvm { } } + // Workaround for ppc32 lld limitation + if target == "powerpc-unknown-freebsd" { + cfg.define("CMAKE_EXE_LINKER_FLAGS", "-fuse-ld=bfd"); + } + // https://llvm.org/docs/HowToCrossCompileLLVM.html if target != builder.config.build { builder.ensure(Llvm { target: builder.config.build }); diff --git a/src/doc/rustc/src/platform-support.md b/src/doc/rustc/src/platform-support.md index 885010b039e..90ef48798dd 100644 --- a/src/doc/rustc/src/platform-support.md +++ b/src/doc/rustc/src/platform-support.md @@ -249,6 +249,7 @@ target | std | host | notes `powerpc-wrs-vxworks` | ? | | `powerpc64-unknown-freebsd` | ✓ | ✓ | PPC64 FreeBSD (ELFv1 and ELFv2) `powerpc64le-unknown-freebsd` | | | PPC64LE FreeBSD +`powerpc-unknown-freebsd` | | | PowerPC FreeBSD `powerpc64-unknown-linux-musl` | ? | | `powerpc64-wrs-vxworks` | ? | | `powerpc64le-unknown-linux-musl` | ? | | |
