From patchwork Fri Oct 20 15:38:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 23733 Received: (qmail 85811 invoked by alias); 20 Oct 2017 15:38:57 -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 85801 invoked by uid 89); 20 Oct 2017 15:38:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.3 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=H*r:803, 2925, HX-ClientProxiedBy:208 X-HELO: NAM01-SN1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@cavium.com; Date: Fri, 20 Oct 2017 18:38:34 +0300 From: Yury Norov To: Andreas Schwab Cc: libc-alpha@sourceware.org Subject: Re: [PATCH 1/3] Remove useless #ifdefs from sysdeps/unix/sysv/linux/sigprocmask.c Message-ID: <20171020153834.g6u5qx3ymefxw3em@yury-thinkpad> References: <20171016043407.1142-1-ynorov@caviumnetworks.com> <20171016043407.1142-2-ynorov@caviumnetworks.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-ClientProxiedBy: AM0PR0402CA0027.eurprd04.prod.outlook.com (2603:10a6:208:15::40) To SN4PR0701MB3840.namprd07.prod.outlook.com (2603:10b6:803:4f::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 70e52277-f978-4b14-1b26-08d517d0a87d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199); SRVR:SN4PR0701MB3840; X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3840; 3:5nXjiLqBJjMyeIiy5IZjWPQ5PhOt+jtXM2PgnJemVmEzyROAVccLbTG0NAWLvl3Glc1gRVh/9lioL6oaDXLSwqHQAGYv6Rgt/HC0K8U95KovyNE3Xzw/ua7/HKUsHfwB5phW39FtpMlTq9HUPCiR9bOOcrFUr6J28DK6pXwpWb2smsR2EN2dTVoq2mD7+LHdEYfqMxQ1PMAx5osKp4Kvfw2nv82ASZEpc6bAJ5SqUPh9nmA5LO3ysaf/TVGM/4Os; 25:9EJ/VIsWRn91DJursZmSp6rI3OL6Yz9NYidEVlQt80zJb/YGbUHvABuqGtGC1xkL/L9FpdnhcDU0QoLN2/zuQTD3W5+rMVlCjtDSoQjHcWsZn2UgAYfuxdscZhBmKfzbHzk5cQc9z15wyC7IHyS2NHnACkE9lmnb8z9EXDHzXdSt4BYigD1ZlRiJgDmlthVyV82cAoEylgWGCyOCIJqQCD/4YeW6HgWwQ6MeYhsbOd+VzpqkilHBK0soTxCY1CR9JL4Xcaq6tCihkPseHKEZ/wuVJTuRIBT8LSvELdbeJJX4KjyjZcSeMQQf8SuugtPwvCduthdHNatvomkX70U+kw==; 31:C6OC4eE6yR5oUOpAHsmdXeQ2CagYPO4ltDk6XSFPdS4Wusz8DF85eWeCCdAafz6C2SNdStO7NvM1GrtPlsdNowWpVh/fXO3zTWWCns3+q/iriZeRfNbxFodylELrr/gdJ3ha0u1v8OATzvttvXT8VgbgznqvDl6knDDDJTeb7KfPYoATw4ihPMuL/bINhrX7opuomFP80RxZM96EXilFgl8qNXapbG45Cz9LFeT4tOg= X-MS-TrafficTypeDiagnostic: SN4PR0701MB3840: X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3840; 20:BnsqNwHkbEUZT+fTadSmnhknnippIQeGPxPZmjSqoLshwKUhwr07azRlkWUR0nU3VmVHkP5WiYpQP72Iqr4m7/ul9zkXPrCsL8rOcsTyLpM07GahcXbCPowuCnvj6zd4u1EhxQqMyNNHELDjhSZ3zld9yV9mD58FXrjnEIY74rfnf79KiQs9YqixjWVwN5nOAzPsMCP3eGUSaKPOmbCz8gwuLrlTcvUlJh2EuSaGmJlhvNjv03Gm0d93yJ72D8C7mRCG6IvTdG43E9Egkmoz82m3RIt4CbpszBHPw5WRROPpvtA5LvrZvesHMSGSpZNKMIv7Z7QJWrRecxlNnDC3Poe/GjYwQhjGmwRFNF5fccnkMBGIUJonp56BSeXL4xMgd3Uxnif4H+PXkfqOPQakUgErOSleMg9oy86VtZQ+AEzOck+UOZ2VXeAt5SaqVce68qKuHOXsAqmds3+ygEeBJmj3JGNbDBXQ+vLWCO2Wy+IFggv74HUIitHtH1qLPyV7KFNHfYw/FKtntUdNB+1Bf1/uoP3QV8KzODNViNe3r7nEcAyXhE/5kagubRS199+eP5RrIL5XL4AkTZf+F6cUe47eVXhFrtWnzNl4d02uKbo=; 4:6HbKtt+cMMvYA3csVMHP7CXGzOgZbQXRy5rRxLPpahMHtMtoLzNnWmL77xDp5+S0BQlYq5uxU9oYwn8XLAqGxyr7qqWaMJMkZZyzxHukHG437UsIyDZ3uQGF3lYBGQMvm3KNTLQLpzHnl4rjQaqQbzJbXQgPxB22liRhzIWSds54fMMdEaG1mw1juRNW07Nz/l1Gdu162He11pA9LwWPJeFJ3HanvKuSQTYlv8bekLX939fEbI6njDEk3XB9usw8 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(100000703101)(100105400095)(3002001)(3231020)(10201501046)(6041248)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN4PR0701MB3840; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN4PR0701MB3840; X-Forefront-PRVS: 0466CA5A45 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(7916004)(376002)(346002)(24454002)(199003)(189002)(4326008)(189998001)(345774005)(5660300001)(6496005)(23726003)(6486002)(6666003)(3846002)(16526018)(6116002)(1076002)(101416001)(50986999)(305945005)(229853002)(76506005)(25786009)(106356001)(7736002)(105586002)(42882006)(2906002)(33646002)(53546010)(6246003)(68736007)(66066001)(81156014)(16586007)(575784001)(8936002)(97736004)(72206003)(33716001)(2950100002)(9686003)(81166006)(316002)(6916009)(58126008)(47776003)(76176999)(54356999)(478600001)(53936002)(50466002)(8676002)(83506002)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:SN4PR0701MB3840; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN4PR0701MB3840; 23:WvLJF/XHXLzw7f/Ycc6SMKbnFmdUEBCouB5PqZq?= =?us-ascii?Q?/N4MxcdcNXvCJjkarpebJQdah917eljtdpRPEm+AXs99Lkxnq7ik7kzBgziY?= =?us-ascii?Q?w5lzGfSN6yyqMVhNTwWjXEN0vrNnXTEiYFWgOh0MK0KtKaWYBbg5Z+i7xVeX?= =?us-ascii?Q?0/vBuueBELOL5IKPLNyEtCHs3T9Fhubvld0x7wMteSiE6600Y8AVqpzrgE5N?= =?us-ascii?Q?Jyqs3rNPCgRe3CznVBiXuOfYsJUIpN4pDunqoxFabwTenMpm67J8xQGY4rsq?= =?us-ascii?Q?Z9cfQ1lxsY7bsJSW9bA5y0eIMmmNovi17VUvPkghku7dJFiwlmAF+prn8pjW?= =?us-ascii?Q?Gtc4GZDF8xjunN5E7J/lN9pRLWJdryVj+LJrDMfcn0izAHGAmrB1/6Sg6dQ8?= =?us-ascii?Q?Vx/ilHQCrg3r+WIIFAtNzQDkl6dXh4ergxLIaCQasCMMZNEPIhjcD6haL3Eb?= =?us-ascii?Q?cyvaObHzlXuduuHvJL3I/9aseV7f40Yue2jxHRwdPTk1bZOZxGDls54shWmd?= =?us-ascii?Q?WexLb9qNLiSjWh+1fiGaeBbvi7IHpMnpuYpueNYIxNUolxr/gC34ZhlD2ib0?= =?us-ascii?Q?twYPZ7XFyfaqrlHZ9+LC3g/E0a1OOnrNEy+yXq24Ur9sDrvVIh1J0dsyC04B?= =?us-ascii?Q?NJTDH6ZCdFBwue4PELPE9qBsiVSdcUU3cVgvZVxgFuu3PZ3t/pAPUGiGzZVU?= =?us-ascii?Q?NWjsGUFeaY/WLXbvzmUfvK9OaGocVbJ/YfYhAEVXXdKwHhzPBUp6F8NLc1i0?= =?us-ascii?Q?RpA0wNSIzyV1J46mLmofcyAF7W/82PNdsxBi5zKbT39lwe68z/MzfWbC5kJ5?= =?us-ascii?Q?Vl8+QdVWFWkmcwNpUt6FChSoCZyLkXwED987HSo7vU2mgHJ9er5D439DXaQB?= =?us-ascii?Q?LHvNDwBlcrdTm2aL20oU7pQajLLkfaAKLGioWD8caGDQNKLw4gnMg8ok9+ZD?= =?us-ascii?Q?5p1+TvijlohcXjBS2JGDzJ0iJf2H3Izqo93ucEpREW03o5IrnwefB6I38gYs?= =?us-ascii?Q?Sw0P9oymkleajGBzBWQFExtfcPm0NoTVeD9T44H9j0SsKTBqoVrWm19rKyVT?= =?us-ascii?Q?zo1D6CeVzBzqQH0ntBc5s+UCB1GxzsQcjjb/zdSG+grNMggQMRLWEMZKZOTe?= =?us-ascii?Q?3+i2md+3LcXKJmlkaOadZe7Lr7S+GqIfnaUd+FGUW69zV2oHXlJ6SVwBPrnh?= =?us-ascii?Q?j96CttX+iYo4H7N44+st5oDdgyP+B6auHTwD38lbQA+b2XloRULYiQtBLspQ?= =?us-ascii?Q?6/ukTnSB2i4XksArsi5W1AJPKd60503H/KUuMXCPdmCQERTDoj0bsTM6Jijs?= =?us-ascii?Q?S7zfiBwCE3IgfP+mUhtvGiUUcmr/AHoVIQ3/KKdoITfm2?= X-Microsoft-Exchange-Diagnostics: 1; SN4PR0701MB3840; 6:9gp7JIPosXlCp3jEYowUmWkeAQN+WE05UTXEBchUXWDKrfbADiKqqlTwAR/33lHW4YgCFxG0DSP6tESOh84sqgBVscmsILY0IwSfGBio7RjILtSwBKSIOjoAhtDpKCfgTRfKtXfjNcpu1UY9aQPsXjqxiTQLdG2du6SkXwD93u5+2aCtvPQbvZS4U0ZC9iGEIlCznI8r9pf5kqR28/nSYuEkm1HjiuHn4qIUkSuGeZbLoG1eHuCkIfF9mgk+UIb4ozSF8P0CkQGbI5S0LmvCuz3eqKE3OFQxCWbJIsYPsFuGhmhQax98wwT5x/2thjB6svtBjldmA7EtkIztIQsYSw==; 5:DZ4tZjvV5dDqvsWW2FIgW0YBwcIoVDP4eti1PFt1f86dJV7yQbqymEjwGUDLyMIIPnpJY0cr4lmfY60er5cZZwaV684eqR2d5JyMpXnZu4u3mczji2CMnZ8pu9lDh/MQwpYwdxw9v7BQvdhqXdFfSQ==; 24:BuECzp/BBMXgA3pzogU8tO1f1fqBuBgLelQub4iOFhyrOghe+WdrnMSzJNybt7KAbCNq/T7VEQ9s9NaLVnvCFgf0fOXTgHnKb4SaFqiUjBI=; 7:SKohGnDgAVQgvs6ZmJms36aJF4fro7dHSP1cLnGZxcIFiaVnciifZZptqkXlxDXOz9fzOOhA1KMPItrC6FWCsCRya5QiYKmQjRthZj8GX6e2Cga9EUdFoXiSq78por2kuLPqulNLJFW3GkEzuPssGuJ9+J2/BOcSUAJzv8KtbUSdKo0NryeClMFi3NO3Nits5tDz/tGxttnhX3kAcYIVqo/kBFl281EepTFKTjlTeFA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2017 15:38:48.0825 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR0701MB3840 On Mon, Oct 16, 2017 at 11:04:49AM +0200, Andreas Schwab wrote: > On Okt 16 2017, Yury Norov wrote: > > > * sysdeps/unix/sysv/linux/sigprocmask.c: Remove useless #ifdefs > > Ok. Hi Andreas, all, Thank you for your review. I looked at the code again and found another syscalls that check SIGCANCEl and SIGSETXID. So below is more generic version. Also notice that all syscalls below do the same thing - clear nptl-internal bits in sigset. I think it is worth to create a helper for it, and I'll send the patch little later. Yury From ed0d0bc461662c2d91b2c7fbb46415a0e0051cbc Mon Sep 17 00:00:00 2001 From: Yury Norov Date: Mon, 16 Oct 2017 02:39:20 +0300 Subject: [PATCH v2 1/3] Remove useless #ifdefs from Linux sig*.c syscalls sigprocmask.c, sigtimedwait.c, sigwait.c and sigwaitinfo.c files from sysdeps/unix/sysv/linux include nptl-signals.h via nptl/pthreadP.h, and so SIGCANCEL and SIGSETXID become defined unconditionally. But later in the code, there are some checks weither symbols defined, which is useless. This patch removes useless checks. * sysdeps/unix/sysv/linux/sigprocmask.c: Remove useless #ifdefs; * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise; * sysdeps/unix/sysv/linux/sigwait.c: Likewise; * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. Signed-off-by: Yury Norov --- sysdeps/unix/sysv/linux/sigprocmask.c | 9 +-------- sysdeps/unix/sysv/linux/sigtimedwait.c | 9 +-------- sysdeps/unix/sysv/linux/sigwait.c | 9 +-------- sysdeps/unix/sysv/linux/sigwaitinfo.c | 9 +-------- 4 files changed, 4 insertions(+), 32 deletions(-) diff --git a/sysdeps/unix/sysv/linux/sigprocmask.c b/sysdeps/unix/sysv/linux/sigprocmask.c index d0b8e049b2..e776563336 100644 --- a/sysdeps/unix/sysv/linux/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/sigprocmask.c @@ -30,26 +30,19 @@ int __sigprocmask (int how, const sigset_t *set, sigset_t *oset) { -#ifdef SIGCANCEL sigset_t local_newmask; /* The only thing we have to make sure here is that SIGCANCEL and SIGSETXID are not blocked. */ if (set != NULL && (__builtin_expect (__sigismember (set, SIGCANCEL), 0) -# ifdef SIGSETXID - || __builtin_expect (__sigismember (set, SIGSETXID), 0) -# endif - )) + || __builtin_expect (__sigismember (set, SIGSETXID), 0))) { local_newmask = *set; __sigdelset (&local_newmask, SIGCANCEL); -# ifdef SIGSETXID __sigdelset (&local_newmask, SIGSETXID); -# endif set = &local_newmask; } -#endif return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8); } diff --git a/sysdeps/unix/sysv/linux/sigtimedwait.c b/sysdeps/unix/sysv/linux/sigtimedwait.c index ab1a84ef1c..42afbce22c 100644 --- a/sysdeps/unix/sysv/linux/sigtimedwait.c +++ b/sysdeps/unix/sysv/linux/sigtimedwait.c @@ -29,25 +29,18 @@ int __sigtimedwait (const sigset_t *set, siginfo_t *info, const struct timespec *timeout) { -#ifdef SIGCANCEL sigset_t tmpset; if (set != NULL && (__builtin_expect (__sigismember (set, SIGCANCEL), 0) -# ifdef SIGSETXID - || __builtin_expect (__sigismember (set, SIGSETXID), 0) -# endif - )) + || __builtin_expect (__sigismember (set, SIGSETXID), 0))) { /* Create a temporary mask without the bit for SIGCANCEL set. */ // We are not copying more than we have to. memcpy (&tmpset, set, _NSIG / 8); __sigdelset (&tmpset, SIGCANCEL); -# ifdef SIGSETXID __sigdelset (&tmpset, SIGSETXID); -# endif set = &tmpset; } -#endif /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ diff --git a/sysdeps/unix/sysv/linux/sigwait.c b/sysdeps/unix/sysv/linux/sigwait.c index 48bcd2fda7..395bd9feb6 100644 --- a/sysdeps/unix/sysv/linux/sigwait.c +++ b/sysdeps/unix/sysv/linux/sigwait.c @@ -33,25 +33,18 @@ do_sigwait (const sigset_t *set, int *sig) { int ret; -#ifdef SIGCANCEL sigset_t tmpset; if (set != NULL && (__builtin_expect (__sigismember (set, SIGCANCEL), 0) -# ifdef SIGSETXID - || __builtin_expect (__sigismember (set, SIGSETXID), 0) -# endif - )) + || __builtin_expect (__sigismember (set, SIGSETXID), 0))) { /* Create a temporary mask without the bit for SIGCANCEL set. */ // We are not copying more than we have to. memcpy (&tmpset, set, _NSIG / 8); __sigdelset (&tmpset, SIGCANCEL); -# ifdef SIGSETXID __sigdelset (&tmpset, SIGSETXID); -# endif set = &tmpset; } -#endif /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ diff --git a/sysdeps/unix/sysv/linux/sigwaitinfo.c b/sysdeps/unix/sysv/linux/sigwaitinfo.c index 5a044f08e3..0062d3ea86 100644 --- a/sysdeps/unix/sysv/linux/sigwaitinfo.c +++ b/sysdeps/unix/sysv/linux/sigwaitinfo.c @@ -31,25 +31,18 @@ int __sigwaitinfo (const sigset_t *set, siginfo_t *info) { -#ifdef SIGCANCEL sigset_t tmpset; if (set != NULL && (__builtin_expect (__sigismember (set, SIGCANCEL), 0) -# ifdef SIGSETXID - || __builtin_expect (__sigismember (set, SIGSETXID), 0) -# endif - )) + || __builtin_expect (__sigismember (set, SIGSETXID), 0))) { /* Create a temporary mask without the bit for SIGCANCEL set. */ // We are not copying more than we have to. memcpy (&tmpset, set, _NSIG / 8); __sigdelset (&tmpset, SIGCANCEL); -# ifdef SIGSETXID __sigdelset (&tmpset, SIGSETXID); -# endif set = &tmpset; } -#endif /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */