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

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

flat view

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

On Wed, May 19, 2021 at 10:22:05AM -0500, Segher Boessenkool wrote:
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 :-)
Even if it were easy to change, the old ppc ABI with a separate error
indicator is much worse to use. In musl we paper over archs that do
this silliness by converting to a normal negated errno code. There are
literally no syscalls that need the ability to return negative values
in addition to error codes; historically there were one or two (I only
recall one fcntl command) but there were ways to disambiguate and
they're only fallbacks for ancient kernels nowadays, if used at all.

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