Thread (42 messages) flat view 42 messages, 11 authors, 2021-05-24

Re: [musl] Re: Linux powerpc new system call instruction and ABI

From: Rich Felker <dalias@libc.org>
Date: 2021-05-19 23:49:15
Also in: linux-api

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:
quoted
On Wed, May 19, 2021 at 03:06:49PM +0000, Joakim Tjernlund wrote:
quoted
On Wed, 2021-05-19 at 09:38 -0500, Segher Boessenkool wrote:
quoted
On Wed, May 19, 2021 at 06:42:40PM +1000, Nicholas Piggin wrote:
quoted
Excerpts from Joakim Tjernlund's message of May 19, 2021 6:08 pm:
quoted
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!
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help