[libc-dev] ppc64le and 32-bit LE userland compatibility
Daniel Kolesa via libc-dev
libc-dev at lists.llvm.org
Tue Jun 2 07:52:34 PDT 2020
On Tue, Jun 2, 2020, at 15:40, Joseph Myers wrote:
> On Tue, 2 Jun 2020, Daniel Kolesa wrote:
> > not be limited to being just userspace under ppc64le, but should be
> > runnable on a native kernel as well, which should not be limited to any
> > particular baseline other than just PowerPC.
> This is a fairly unusual approach to bringing up a new ABI. Since new
> ABIs are more likely to be used on new systems rather than switching ABI
> on an existing installation, and since it can take quite some time for all
> the software support for a new ABI to become widely available in
> distributions, people developing new ABIs are likely to think about what
> new systems are going to be relevant in a few years' time when working out
> the minimum hardware requirements for the new ABI. (The POWER8 minimum
> for powerpc64le fits in with that, for example.)
In this case the whole point is targeting existing hardware that we already have. It also aims to largely utilize things that are already present in all parts of the toolchain, otherwise it's a lot of effort with questionable benefit and artificially limits the baseline for no good reason.
> > either the AIX/ELFv1 nor the ELFv2 ABIs) If we were to introduce new
> > ports, what would those use? ld64.so.3 for BE/v2? ld.so.2 for LE/32-bit?
> Rather than relying on numbers such as "3" or 2" in a particular place
> being unique across all (architecture, ABI) pairs supported by glibc,
> something more obviously specific to a particular architecture and ABI,
> e.g. ld-linux-powerpc64be-elfv2.so.1, would be better.
Yes, agreed on that - probably ld-linux-powerpc64-elfv2.so.1, to match existing conventions (powerpc64 implicitly refers to BE in target triples, etc). It's just inconsistent with the existing ports, but I guess the reason in those is legacy in the first place, so not much point in worrying about that.
> Joseph S. Myers
> joseph at codesourcery.com
More information about the libc-dev