about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-12-14 05:01:04 +0100
committerGitHub <noreply@github.com>2024-12-14 05:01:04 +0100
commit71ee12c8da3f6a343bc7125105df0abb88663237 (patch)
tree6e8d27bbc1b41e82001cf9e2c4a1b00b3e96525c /compiler/rustc_codegen_gcc
parent4a204bebdfd5cbc3e7edabf41cda3c3ff8b74917 (diff)
parent3a90c4751b77ebe2cc077a3774c3561aaf1f30e2 (diff)
downloadrust-71ee12c8da3f6a343bc7125105df0abb88663237.tar.gz
rust-71ee12c8da3f6a343bc7125105df0abb88663237.zip
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.
>
> https://github.com/rust-lang/rust/blob/be01dabfefd2daa4574b974f571c7852085d60cb/compiler/rustc_target/src/callconv/powerpc64.rs#L102-L111

````````@rustbot```````` label +O-PowerPC +O-freebsd
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions