[musl] Re: Linux powerpc new system call instruction and ABI
Rich Felker
dalias at libc.org
Thu May 20 09:48:47 AEST 2021
On Wed, May 19, 2021 at 06:09:25PM +0000, Joakim Tjernlund wrote:
> On Wed, 2021-05-19 at 10:22 -0500, Segher Boessenkool wrote:
> > On Wed, May 19, 2021 at 03:06:49PM +0000, Joakim Tjernlund wrote:
> > > On Wed, 2021-05-19 at 09:38 -0500, Segher Boessenkool wrote:
> > > > On Wed, May 19, 2021 at 06:42:40PM +1000, Nicholas Piggin wrote:
> > > > > Excerpts from Joakim Tjernlund's message of May 19, 2021 6:08 pm:
> > > > > > I always figured the ppc way was superior. It begs the question if not the other archs should
> > > > > > change instead?
> > > > >
> > > > > It is superior in some ways, not enough to be worth being different.
> > > >
> > > > The PowerPC syscall ABI *requires* using cr0.3 for indicating errors,
> > > > you will have to do that whether you conflate the concepts of return
> > > > code and error indicator or not!
> > > >
> > > > > Other archs are unlikely to change because it would be painful for
> > > > > not much benefit.
> > > >
> > > > Other archs cannot easily change for much the same reason :-)
> > >
> > > Really? I figured you could just add extra error indication in kernel syscall I/F.
> > > Eventually user space could migrate to the new indication.
> >
> > You seem to assume all user space uses glibc, or *any* libc even? This
> > is false. Some programs do system calls directly. Do not break the
> > kernel ABI :-)
>
> Adding an extra indicator does not break ABI, does it ?
It does, because the old ABI on most archs has no clobbers except the
return value register. Some archs though have additional
syscall-clobbered regs that could be repurposed as extra return
values, but you could only rely on them being meaningful after probing
for a kernel that speaks the new variant. This just makes things more
complicated, not more useful.
> W.r.t breaking ABI, isn't that what PowerPC is trying to do with the new syscall I/F?
No, it's a new independent interface.
Rich
More information about the Linuxppc-dev
mailing list