From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15498 invoked from network); 19 May 2021 23:49:02 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 19 May 2021 23:49:02 -0000 Received: (qmail 24229 invoked by uid 550); 19 May 2021 23:48:59 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 24199 invoked from network); 19 May 2021 23:48:59 -0000 Date: Wed, 19 May 2021 19:48:47 -0400 From: Rich Felker To: Joakim Tjernlund Cc: "segher@kernel.crashing.org" , "linuxppc-dev@lists.ozlabs.org" , "ldv@altlinux.org" , "mpe@ellerman.id.au" , "musl@lists.openwall.com" , "npiggin@gmail.com" , "linux-api@vger.kernel.org" , "libc-dev@lists.llvm.org" Message-ID: <20210519234846.GS2546@brightrain.aerifal.cx> References: <20200611081203.995112-1-npiggin@gmail.com> <20210518231331.GA8464@altlinux.org> <9b5ea7059c5a5d4e9ccccd7d73ce2c66b2203f52.camel@infinera.com> <1621410291.c7si38sa9q.astroid@bobo.none> <1621413143.oec64jaci5.astroid@bobo.none> <20210519143836.GJ10366@gate.crashing.org> <11d62aa2488e51ec00fe77f24a1d7cdcc21af0b8.camel@infinera.com> <20210519152205.GL10366@gate.crashing.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] Re: Linux powerpc new system call instruction and ABI 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