From patchwork Wed Feb 8 23:26:19 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 19185 Received: (qmail 89436 invoked by alias); 8 Feb 2017 23:26:36 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 89424 invoked by uid 89); 8 Feb 2017 23:26:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.4 required=5.0 tests=AWL, BAYES_50, RCVD_IN_DNSWL_LOW, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=ham version=3.3.2 spammy=wired, consolidate, Phil, HTo:U*pb X-HELO: mail-qt0-f182.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=50ErDGajUkfzGwCMV4ul5EvITYisKIVLB+YP0jUz5AI=; b=Jf8VXpPvXJx/e3lJxuke+1Lfmqs/Jr1UuH4I5hHJJLSSG8K/jor8p0zh8g8C9l4yUH G7KKdsmzMBizr34Wp+kLmpPxUJjf5YE09A6xys3O3KJU4zry17I9DnXzYxFz/2ZeL1yh QeOZx/BdVwogo7fRZJz+RWJsZKsa1tzcZyCjwjq3FMG/ljXamiRMGp3NPs0ygnjjjlgS ZKhmzD+KlGzwE9NX0G4dH/uQSIA8jxZiM5Zr8rbSQWKBOoSMT2zDMZR4VklCbTrD9P7Z uMLeCHKHDO7NS5Jt70TmE+15FoarTCuIL/WxyzV6g6V52hRsTzhtmYCWVhqveYT2zug6 7Oaw== X-Gm-Message-State: AMke39kQ6EPlWFseMIFrNCUF8jfr/Ta7hzkz/vmF/ibJ7HWC5qHe+jR8YRyzvgBnsi9PE4GM X-Received: by 10.200.42.57 with SMTP id k54mr72170qtk.193.1486596383371; Wed, 08 Feb 2017 15:26:23 -0800 (PST) Subject: Re: [PATCH 1/4] Consolidate Linux accept implementation To: Phil Blundell , libc-alpha@sourceware.org References: <1485784926-2172-1-git-send-email-adhemerval.zanella@linaro.org> <1485784926-2172-2-git-send-email-adhemerval.zanella@linaro.org> <1486587580.1603.24.camel@pbcl.net> From: Adhemerval Zanella Message-ID: <102dbb40-69f8-4358-03b5-3ea9e6961a2e@linaro.org> Date: Wed, 8 Feb 2017 21:26:19 -0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: <1486587580.1603.24.camel@pbcl.net> Thanks for the review. On 08/02/2017 18:59, Phil Blundell wrote: > On Mon, 2017-01-30 at 12:02 -0200, Adhemerval Zanella wrote: >> >> 2. Define __NR_acccept as default (__ASSUME_ACCEPT_SYSCALL) and >> undef for > > Too many "c"s in accept? Ops, fixed on commit message localy. > >> diff --git a/sysdeps/unix/sysv/linux/m68k/kernel-features.h >> b/sysdeps/unix/sysv/linux/m68k/kernel-features.h >> index 6811a28..f583ae7 100644 >> --- a/sysdeps/unix/sysv/linux/m68k/kernel-features.h >> +++ b/sysdeps/unix/sysv/linux/m68k/kernel-features.h >> @@ -27,7 +27,6 @@ >> # define __ASSUME_BIND_SYSCALL 1 >> # define __ASSUME_CONNECT_SYSCALL 1 >> # define __ASSUME_LISTEN_SYSCALL 1 >> -# define __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL 1 >> # define __ASSUME_GETSOCKOPT_SYSCALL 1 >> # define __ASSUME_SETSOCKOPT_SYSCALL 1 >> # define __ASSUME_GETSOCKNAME_SYSCALL 1 >> @@ -41,7 +40,10 @@ >> >> #include_next >> >> +#undef __ASSUME_ACCEPT_SYSCALL >> + >> #if __LINUX_KERNEL_VERSION < 0x040300 >> +# undef __ASSUME_ACCCEPT_SYSCALL > > This is a bit odd. __ASSUME_ACCCEPT_SYSCALL never seems to be defined > anywhere that I can find, but you are explicitly undefining it for > these old kernels. I would have assumed it was a typo for > __ASSUME_ACCEPT_SYSCALL if you weren't also undefining that one a > couple of lines further up. Can you clarify? > > p. With this patch it is now defined as based on: diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 08485cd..78b091b 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -147,6 +147,7 @@ separate syscalls were only added later. */ #define __ASSUME_SENDMSG_SYSCALL 1 #define __ASSUME_RECVMSG_SYSCALL 1 +#define __ASSUME_ACCEPT_SYSCALL 1 /* Support for SysV IPC through wired syscalls. All supported architectures either support ipc syscall and/or all the ipc correspondent syscalls. */ And this snippet is indeed wrong as you pointed out, m68k (and any other architecture) just need to undef is for kernel < 4.3 as: diff --git a/sysdeps/unix/sysv/linux/m68k/kernel-features.h b/sysdeps/unix/sysv/linux/m68k/kernel-features.h index 6811a28..0f31f86 100644 --- a/sysdeps/unix/sysv/linux/m68k/kernel-features.h +++ b/sysdeps/unix/sysv/linux/m68k/kernel-features.h @@ -27,7 +27,6 @@ # define __ASSUME_BIND_SYSCALL 1 # define __ASSUME_CONNECT_SYSCALL 1 # define __ASSUME_LISTEN_SYSCALL 1 -# define __ASSUME_ACCEPT4_FOR_ACCEPT_SYSCALL 1 # define __ASSUME_GETSOCKOPT_SYSCALL 1 # define __ASSUME_SETSOCKOPT_SYSCALL 1 # define __ASSUME_GETSOCKNAME_SYSCALL 1 @@ -42,6 +41,7 @@ #include_next #if __LINUX_KERNEL_VERSION < 0x040300 +# undef __ASSUME_ACCCEPT_SYSCALL # undef __ASSUME_ACCEPT4_SYSCALL # undef __ASSUME_RECVMMSG_SYSCALL # undef __ASSUME_SENDMMSG_SYSCALL