|
Message-ID: <alpine.DEB.2.21.2006012329420.11121@digraph.polyomino.org.uk> Date: Mon, 1 Jun 2020 23:45:51 +0000 From: Joseph Myers <joseph@...esourcery.com> To: Daniel Kolesa <daniel@...aforge.org> CC: Will Springer <skirmisher@...tonmail.com>, <libc-alpha@...rceware.org>, <eery@...erfox.es>, <musl@...ts.openwall.com>, Palmer Dabbelt via binutils <binutils@...rceware.org>, via libc-dev <libc-dev@...ts.llvm.org>, <linuxppc-dev@...ts.ozlabs.org> Subject: Re: ppc64le and 32-bit LE userland compatibility On Tue, 2 Jun 2020, Daniel Kolesa wrote: > Are you sure this would be a new port? Glibc already works in this > combination, as it seems to me it'd be best if it was just a variant of > the existing 32-bit PowerPC port, sharing most conventions besides > endianness with the BE port. The supported glibc ABIs are listed at <https://sourceware.org/glibc/wiki/ABIList>. This would be a new ABI, which should have a new ABI-and-architecture-specific dynamic linker name (all new ports are expected to have a unique dynamic linker name for each ABI, to support systems using multiarch directory arrangements), new symbol versions and avoid legacy features such as 32-bit time or offsets or IBM long double. > 128-bit IEEE long double would not work, since that relies on VSX being > present (gcc will explicitly complain if it's not). I'd be all for using The minimum supported architecture for powerpc64le (POWER8) has VSX. My understanding was that the suggestion was for 32-bit userspace to run under powerpc64le kernels running on POWER8 or later, meaning that such a 32-bit LE port, and any ABI designed for such a port, can assume VSX is available. Or does VSX not work, at the hardware level, for 32-bit POWER8? (In which case you could pick another ABI for binary128 argument passing and return.) > There is also one more thing while we're at this. The 64-bit big endian > Void port uses the ELFv2 ABI, even on glibc. This is not officially > supported on glibc as far as I can tell, but it does work out of box, > without any patching (things in general match little endian then, i.e. > ld64.so.2 etc, but they're big endian). Is there any chance of making > that support official? If you want to support ELFv2 for 64-bit big endian in glibc, again that should have a unique dynamic linker name, new symbol versions, only binary128 long double, etc. - avoid all the legacy aspects of the existing ELFv1 port rather than selectively saying that "ELFv1" itself is the only legacy aspect and keeping the others (when it's the others that are actually more problematic in glibc). -- Joseph S. Myers joseph@...esourcery.com
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.