[libc-dev] [musl] Re: ppc64le and 32-bit LE userland compatibility
Daniel Kolesa via libc-dev
libc-dev at lists.llvm.org
Sun May 31 15:29:56 PDT 2020
On Sun, May 31, 2020, at 22:42, Segher Boessenkool wrote:
> On Sun, May 31, 2020 at 12:57:12AM +0000, Will Springer wrote:
> > On Saturday, May 30, 2020 12:22:12 PM PDT Segher Boessenkool wrote:
> > > The original sysv PowerPC supplement
> > > http://refspecs.linux-foundation.org/elf/elfspec_ppc.pdf
> > > supports LE as well, and most powerpcle ports use that. But, the
> > > big-endian Linux ABI differs in quite a few places, and it of course
> > > makes a lot better sense if powerpcle-linux follows that.
> > Right, I should have clarified I was talking about Linux ABIs
> > specifically.
> That was the link you deleted.
> > > What patches did you need? I regularly build >30 cross compilers (on
> > > both BE and LE hosts; I haven't used 32-bit hosts for a long time, but
> > > in the past those worked fine as well). I also cross-built
> > > powerpcle-linux-gcc quite a few times (from powerpc64le, from powerpc64,
> > > from various x86).
> > There was just an assumption that LE == powerpc64le in libgo, spotted by
> > q66 (daniel@ on the CC). I just pushed the patch to .
> Please send GCC patches to gcc-patches@ ?
FWIW, that patch alone is not very useful, we'd need to otherwise patch libgo to recognize a new GOARCH (as right now it's likely to just use 'ppc' which is wrong).
That said, we'll get back to you with any patches we have. One I can already think of - we will need to update the dynamic linker name so that it uses ld-musl-powerpcle.so instead of powerpc (musl needs to be updated the same way by adding the subarch variable for the 'le' prefix).
> > > Almost no project that used 32-bit PowerPC in LE mode has sent patches
> > > to the upstreams.
> > Right, but I have heard concerns from at least one person familiar with
> > the ppc kernel about breaking existing users of this arch-endianness
> > combo, if any. It seems likely that none of those use upstream, though ^^;
> So we don't care, because we *cannot* care.
Well, that's the reason this thread was opened in the first place - to call out to any potential users, and synchronize with upstreams on a single way forward that all upstreams can agree on, since this effort requires changes in various parts of the stack. We don't want to hog changes locally or otherwise do any changes that would be in conflict with upstream projects, as that would mean needlessly diverging, which only means trouble later on.
> > > A huge factor in having good GCC support for powerpcle-linux (or
> > > anything else) is someone needs to regularly test it, and share test
> > > results with us (via gcc-testresults@). Hint hint hint :-)
> > >
> > > That way we know it is in good shape, know when we are regressing it,
> > > know there is interest in it.
> > Once I have more of a bootstrapped userland than a barely-functional
> > cross chroot, I'll get back to you on that :)
> Cool! Looking forward to it.
Either way, thanks for the hints so far.
More information about the libc-dev