From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/8251 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: Re: Using direct socket syscalls on x86_32 where available? Date: Fri, 31 Jul 2015 20:02:52 -0400 Message-ID: <20150801000251.GF16376@brightrain.aerifal.cx> References: <1019532664.6799612.1438384435002.JavaMail.yahoo@mail.yahoo.com> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1438387392 6730 80.91.229.3 (1 Aug 2015 00:03:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 1 Aug 2015 00:03:12 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-8264-gllmg-musl=m.gmane.org@lists.openwall.com Sat Aug 01 02:03:12 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1ZLKGZ-0004rz-IW for gllmg-musl@m.gmane.org; Sat, 01 Aug 2015 02:03:07 +0200 Original-Received: (qmail 18064 invoked by uid 550); 1 Aug 2015 00:03:05 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 18045 invoked from network); 1 Aug 2015 00:03:04 -0000 Content-Disposition: inline In-Reply-To: <1019532664.6799612.1438384435002.JavaMail.yahoo@mail.yahoo.com> User-Agent: Mutt/1.5.21 (2010-09-15) Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:8251 Archived-At: On Fri, Jul 31, 2015 at 11:13:54PM +0000, Brad Conroy wrote: > On 29 July 2015 at 19:32, Andy Lutomirski wrote: > > On Wed, Jul 29, 2015 at 5:51 AM, Justin Cormack > > wrote: > >> On 28 July 2015 at 08:44, Alexander Larsson wrote: > >>> On Tue, Jul 28, 2015 at 1:56 AM, Andy Lutomirski wrote: > >>>> > >>>> One way to implement it would be to favor the new syscalls but to set some > >>>> variable the first time one of them returns ENOSYS. Once that happens, > >>>> either all of them could fall back to socketcall or just that one syscall > >>>> could. > > > I've had (DRY) concerns over including a copy of unistd.h for each arch. > If musl used system linux include headers, this could be an ifdef. > > #include > #ifdef __NR_something > //use syscall > #else > //use socketcall > #endif I don't follow. This is roughly what we do and it does not solve the problem because it assumes that the choice is constant for a given arch, whereas the proposal is adding alternative syscalls that are conditionally available dependent on kernel version. Supporting this would require more complex logic for which to use and runtime fallback code. Rich