[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-08-07 Thread Jens Reidel via cfe-commits
Gelbpunkt wrote: Ping, is there anything I can do to help this get reviewed? https://github.com/llvm/llvm-project/pull/149725 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread Alex Rønne Petersen via cfe-commits
alexrp wrote: > Fair point, ideally I'd like both the "proper" ELFv2 with BE to have its > target triple and the "loosened" ELFv2 to have one. Currently, LLVM will > enable the VSX and POWER8-specific parts of the ABI based on the endianess or > CPU, not the ABI. That should probably be change

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread Jens Reidel via cfe-commits
Gelbpunkt wrote: > This one claims to support old processors too, so seems like also a case of > "loosened" ELFv2? Correct, it isn't strictly ELFv2. > I'm just concerned about what downstream projects seem to be doing with the > term `elfv2`... Fair point, ideally I'd like both the "proper"

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread Alex Rønne Petersen via cfe-commits
alexrp wrote: > Arch Linux POWER This one claims to support old processors too, so seems like also a case of "loosened" ELFv2? > Also, this isn't exactly a fix limited to glibc target triples. It fixes the > data layout on any target triple that defaults to ELFv1 when `-mabi=elfv2` is > spec

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread Jens Reidel via cfe-commits
Gelbpunkt wrote: > Is this no longer the case? The page is probably correct in so far that glibc doesn't explicitly support it. However, out of the 64-bit big endian Linux distributions *using* glibc that I'm aware of (Arch Linux POWER, Void Linux for PowerPC, Gentoo), the first two use ELFv2

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread Alex Rønne Petersen via cfe-commits
alexrp wrote: The only Linux distro I can find that actually claims support for `powerpc64` + `elfv2` + glibc is [Void](https://voidlinux-ppc.org): > Void-ppc uses a variant of the modern ELFv2 ABI (loosened not to impose the > POWER8/VSX requirements of the specification) on 64-bit glibc, as

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread Alex Rønne Petersen via cfe-commits
alexrp wrote: From https://sourceware.org/glibc/wiki/ABIList#powerpc (emphasis mine): > (The GCC distinction for 64-bit is actually ELFv1/ELFv2, **but the BE ELFv2 > and LE ELFv1 combinations aren't supported**.) Is this no longer the case? https://github.com/llvm/llvm-project/pull/149725 ___

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-backend-powerpc Author: Jens Reidel (Gelbpunkt) Changes Prior to this change, the data layout calculation would not account for explicitly set `-mabi=elfv2` on `powerpc64-unknown-linux-gnu`, a target that defaults to `elfv1`. This is loosely inspired

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Jens Reidel (Gelbpunkt) Changes Prior to this change, the data layout calculation would not account for explicitly set `-mabi=elfv2` on `powerpc64-unknown-linux-gnu`, a target that defaults to `elfv1`. This is loosely inspired by the equ

[clang] [llvm] [PowerPC] Take ABI into account for data layout (PR #149725)

2025-07-20 Thread Jens Reidel via cfe-commits
https://github.com/Gelbpunkt created https://github.com/llvm/llvm-project/pull/149725 Prior to this change, the data layout calculation would not account for explicitly set `-mabi=elfv2` on `powerpc64-unknown-linux-gnu`, a target that defaults to `elfv1`. This is loosely inspired by the equiv