From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5345BC433B4 for ; Wed, 19 May 2021 23:49:15 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A8B4F610A1 for ; Wed, 19 May 2021 23:49:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A8B4F610A1 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=libc.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4FlqMs1tqQz3brs for ; Thu, 20 May 2021 09:49:13 +1000 (AEST) Authentication-Results: lists.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=libc.org (client-ip=216.12.86.13; helo=brightrain.aerifal.cx; envelope-from=dalias@libc.org; receiver=) Received: from brightrain.aerifal.cx (brightrain.aerifal.cx [216.12.86.13]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4FlqMS4zgdz2xv6 for ; Thu, 20 May 2021 09:48:50 +1000 (AEST) Date: Wed, 19 May 2021 19:48:47 -0400 From: Rich Felker To: Joakim Tjernlund Subject: Re: [musl] Re: Linux powerpc new system call instruction and ABI 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) X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "musl@lists.openwall.com" , "npiggin@gmail.com" , "ldv@altlinux.org" , "linux-api@vger.kernel.org" , "libc-dev@lists.llvm.org" , "linuxppc-dev@lists.ozlabs.org" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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