rust/compiler/rustc_target
Matthias Krüger 71ee12c8da
Rollup merge of #132150 - taiki-e:ppc64-freebsd-abi, r=pnkfelix
Fix powerpc64 big-endian FreeBSD ABI

Note that FreeBSD version bump may be reverted due to https://github.com/rust-lang/rust/pull/120869#issuecomment-2438685835. We may want to wait to merge this until that discussion is complete.

Fixes https://github.com/rust-lang/rust/pull/120869#discussion_r1813233054

> > PPC64 FreeBSD (ELFv1 and ELFv2, version 13.2)
>
> It seems odd that ELFv1 and 13.N coexist.
>
> https://www.freebsd.org/releases/13.0R/relnotes/
>
> > powerpc64 switched to ELFv2 ABI at the same time it switched to LLVM. This brings us to a parity with modern Linux distributions. This also makes the binaries from previous FreeBSD versions incompatible with 13.0-RELEASE. Kernel still supports ELFv1, so jails and chroots using older FreeBSD versions are still compatible. [e4399d169acc](https://cgit.freebsd.org/src/commit/?id=e4399d169acc)
>
> Well, it is also odd that this target claims ELFv2 support since our ABI code does not use ELFv2 on this target.
>
> be01dabfef/compiler/rustc_target/src/callconv/powerpc64.rs (L102-L111)

````````@rustbot```````` label +O-PowerPC +O-freebsd
2024-12-14 05:01:04 +01:00
..
src Rollup merge of #132150 - taiki-e:ppc64-freebsd-abi, r=pnkfelix 2024-12-14 05:01:04 +01:00
Cargo.toml Remove unused intercrate dependencies 2024-11-07 14:17:16 +00:00
README.md Fix outdated crate names in compiler docs 2021-04-08 11:12:14 -05:00

rustc_target contains some very low-level details that are specific to different compilation targets and so forth.

For more information about how rustc works, see the rustc dev guide.