From patchwork Fri Nov 4 15:33:21 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 691290 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3t9Qq864Tyz9vFx for ; Sat, 5 Nov 2016 02:33:56 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="Pt1IrK+o"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:cc:subject:message-id:references :mime-version:content-type:in-reply-to; q=dns; s=default; b=UAGu 6vobGQm3fPso0fxXZZCFZtllmbQOXUZEJAHshenhZQSgr3405D7xhDy2rCeAchO6 JhzVr2cgVKQgqmKQdwX5whKTM7eDtA7j/yLZpG2YgfAikXyJ79xc80udxTAQG2V5 xE8v8hFviNOwjNSCo69Fc9z0xaynlTLL8JNqzDM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:to:cc:subject:message-id:references :mime-version:content-type:in-reply-to; s=default; bh=QG0lcVXIzP Qmsg8mciafGtkZpFw=; b=Pt1IrK+o7joPDVc84YKSpRmIq6wpqugXlhjFe9Czmv 0rFvuHBMSA/3eGhrYmgbjF5PXiIiHKcFeDo7S3ZCMHx0xB04HmioxoMmcPybIVB3 egKKFqeTjauNH3h6ILHkHY3KLpnviQlRfsVM5dPkoriszjguP6fC4Ii38BWOlqeJ 0= Received: (qmail 37672 invoked by alias); 4 Nov 2016 15:33:50 -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 37641 invoked by uid 89); 4 Nov 2016 15:33:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=UD:libc.so, libcso, libc.so X-HELO: NAM02-SN1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Date: Fri, 4 Nov 2016 21:03:21 +0530 From: Yury Norov To: Adhemerval Zanella CC: Subject: Re: [PATCH v2 02/16] Consolidate Linux msgctl implementation Message-ID: <20161104153321.GA1271@yury-N73SV> References: <1478114813-3526-1-git-send-email-adhemerval.zanella@linaro.org> <1478114813-3526-3-git-send-email-adhemerval.zanella@linaro.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1478114813-3526-3-git-send-email-adhemerval.zanella@linaro.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-ClientProxiedBy: VI1PR0901CA0049.eurprd09.prod.outlook.com (10.167.203.145) To CY1PR07MB2245.namprd07.prod.outlook.com (10.164.112.147) X-MS-Office365-Filtering-Correlation-Id: 9abb46f0-4dd9-4395-f8e7-08d404c7f185 X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2245; 2:SNtoZNLEJgPI+iKv4ccFIzO0+dcm4ZtZ8NJmkU/DnutYaNBju8IMnH5TEclO9Ttj8HWuBU2yZuISgZLtYTVL0DoWg/vgJgcO1f5951KqjNN5d4eQ5xoeXhRiUQ9s3KMwhAPa5mASU+Z227ykvuaUlhGhrlRlyYX+kxiOHA56D5cMoFKwX76HWVRswwKqTWO7hmgk7JFS0vcZD8A8rfZOUQ==; 3:CprfWOIRmZdIRuUhNDK0knQSnv1C1sG+bU3EatFevRH1oqJKIbBHyqAvO6JqamfYjkr+SUOiZ9TJbXSPnS2t2+6rdVFTYMrZNzFUvipD/9H5RTysbseKS5ujcPH2GaId72PqsieN5UNov2Tr1aVhAg==; 25:rq0LOa2XLM2U9dUNydvcsubaChB3U6gAmwAGp4NauxvPczI2CC/v6jCkzlgxrCPXLkvpRnrt6PvS8kdROWR5koa1m2qAXC6tKcGV7g0R1Un9g6wJzjZ9w0F2MUdiMy0dqlz5v+unWSIwENLkpnQWOVVbWUto+lZ8ikRP/MKPf0aK1nxCADaQC80p6RV/gdECsE07vlMi92cyQCVeJmRMMUf3JF9lRaSNS4iIrKYBBsr6ROg4TD4wPtytNNHiqdPYx3R8ZGzECJu70oBZ5IQoKEAJkYJI1K9X8cGYEWXKfgKFIWCEeiPPpTULgvQSR4r4mTRunvxR0dgduu51lU2cutBbMY3d2aZXQ/My9s0Z7CYhFN15GZoQ4ArHQAFZ7tzJqB2oJ1vGFe9J5PuIv7ILqQd5yCxbVutuTL9TK6jqLnHjsfJ9SnpnrcE8TmDlXj8K X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2245; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2245; 31:7eVrY1o7tojvOhYdTHAAHz3qSJ42fA5xXhW5UUIt/JAzblXDFISJ91F62B8vkwzoGA+VDz9oqnEeG4vaJnRp0BH89kqsUdZdUhRj1FcMNq/3wih4g+RDnUCeQ6/aDeNgqB345o91sLBoejNck4ZMpb+QmbaTwmIDtkyVleO0BtxJ/Qp8E6utU5u/JiX2dsIo/7H5RMcmZUNidjvPoxI2a+VupfMUSmnxM4JwHWHGCTzNeL1eFqN9uFNffQgNdwg5qD5hofLp6RC7o0kYJAh4qA==; 20:Z8fiobAhvW6NJLsvzm7893gNQGv8Sb2kfaagGCNOLF7ArczqfQ0MnVoz1ENIX2aXplLnmBWeXa2fzIhO2i3fR1mjoqCH2NnQQVWw7ZUke8HnqqkStPcjoT2CEmIC6KYdjWIXUHPPo5FOSZ5X5b0WsbcnXBfaESb95QJGFtD3q9N1UyDeAsDOSPB1xENmG8bqSGdfPjgE/8sqoBChIX//GCo2voHqU54yUt8Pwwtf9CClyOfCU6kGrCreNYfZaWDEeNWCcD3NMrN2DWN0rSDR0QnHIDSJEWE3+LzKxKK+cPL0FS8zsPaMPoh19dUGcFr+2no43cJU3glXkgBNfqJu4OFFRGuPR/8T90OahhTNOsXvbpe0OFJMzwF5UC/pjn9wBzMZN/T2fkc86CuaUm/zYnoTgu4MGNZB69xWgGpWKRGjDVI9KJXfxSyAf7/uEKWZ/jL1GM0ZgLCED0YDHdiH8/FkPAiObPpSOyy7AM0psWyyRTffySV1O6kdnXBxlRlikAnpLEJi7pL8REuSSc7NCoVI+/cmLv+0rVFCgulmh0Hg/ZKgKYZHArtP3S/ukMQwry534rq3fFv4ETM8AlP/CbwA9+ImMBjPw8U+sfYIdMk= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(94056789713001); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:CY1PR07MB2245; BCL:0; PCL:0; RULEID:; SRVR:CY1PR07MB2245; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2245; 4:WVVKgZbeVi9pVQCxFlekzjEvCaIPEhBsa+XpMgaqynpOsvQhUfLXvSB1P2N+KI/YBTUXGMFT11A5hZ8/Fxa1cjdA33EmGQDzu5vG9LaIYOQCObDYGynrE41jn5pVsbb46OsAYgQgvUnttrJJvkdOBIinuUuhdUp5HpNateL0j60gvQdso2htUm3pwrspX1fVaOdlwk37hfdPIDoYjZxBi4UQoYBROz7O2VLZiq3Rc46w/1TZk2SmG4fvVBF56zEX0wdKUELo75aTKnIvlxtoYp04R5EAJL/7W1F/YDnWuXgw5mJH9yrbBPltNW1E1a4/oCCFxvEPxJ3DrBXW6IsVbMzu1ZOkJvHOhL751wNROquQSgD9TQLFl+KnSubnEXlr+Fwk3CHinJ4/LgabuRjrCAX+Pzw047UWQHLqbRN/d2x2uPxJ+jsup1UScZDQcxnrEQjtvj3eh5tK6XQkIYygow== X-Forefront-PRVS: 01165471DB X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(24454002)(189002)(54534003)(199003)(3846002)(76176999)(110136003)(6116002)(33656002)(586003)(66066001)(97756001)(6916009)(9686002)(2950100002)(92566002)(50986999)(101416001)(54356999)(2906002)(46406003)(68736007)(77096005)(5660300001)(50466002)(33716001)(4326007)(5009440100003)(23726003)(19580395003)(1076002)(8676002)(81166006)(305945005)(83506001)(42186005)(4001350100001)(7846002)(97736004)(7736002)(105586002)(106356001)(6666003)(47776003)(76506005)(189998001)(575784001)(81156014)(18370500001)(40753002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2245; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR07MB2245; 23:mTqxTa90SS0rC7Ob1fFoFsFASwW3ZbqGNWC/73WV/?= =?us-ascii?Q?ohm2EJRIG3stcZ94XDxSI9YU1tZje3RqGIjyiUPqvmN0qYp/iYrINz4MJM7L?= =?us-ascii?Q?0lAiHdhDMLldkXptPK0cpykfjl6uYba/HGb0OspIofglwDfg//ndKsDXu68M?= =?us-ascii?Q?or/7MkuoJ1WupIK2MURmc0Up6Qo1ss7ULQh/jEN9WA060GvyJqWRY8MIPeN2?= =?us-ascii?Q?nhQJLPRvolLuq7EzpyovoQSD4fOpR7EokAfM8xWzUsqe88sl+I029tRoFZlg?= =?us-ascii?Q?UVEfmNE4VgiOqP32GR7k5rH5M76zAZr2TwCfedmsvZDCvWku0LlWhOi/+tkG?= =?us-ascii?Q?w4MAlFPtk7X/gfTzcHp0VDwFNI7DDxpVAIZPfnm1Cfm1rzxtDnFJs0opako8?= =?us-ascii?Q?FPeU3NpJDsNy6f2yrDfWh1D0m2VJcwzaNdThRo+qQPq7iMl5jd4vPEADWP0Q?= =?us-ascii?Q?6H0e3oIpmstmf1f+2y0fwzmiEgDLP/fTe09duVS8uxNkYaokmKlp05gf8XmB?= =?us-ascii?Q?5DKfJoG8Ijv/b4hK2bLnKErKrZbOuxzrXPl3HfAeWJmJm942VkOo4gjFHTks?= =?us-ascii?Q?IvK20OAdqDQZcjtlzrtFMrxAWZgFNS4wTgElPdL1s4UrospM76Dpz8sEB4b2?= =?us-ascii?Q?R+dUAY5PXz8hpKNUVQXNAnhU7nV20Ki+7Gk8s5Pwg7Sx0jizibQJ2u8TauFQ?= =?us-ascii?Q?nnJrunqOhXpj4z3Wh6S9kf1CeEGoSFY+cQoTYc+YA7F+wDSSOotqqzs9bnqv?= =?us-ascii?Q?ydWrEGUd3JiFCoJncZZNRANypMSYgouiCflmRE6FVWfMEn7U3XlSb6Bc8ne2?= =?us-ascii?Q?q88QHkbvDEbtX0h+THh8BppOMivFVumJkfBfms4LjCP5acVTYJXER6UNBMCf?= =?us-ascii?Q?JebMyteUheAR8pszA8apnZ0/jGpg00WtFlslRnfnCJDEy2W4BZ6QjN1bHh6r?= =?us-ascii?Q?FVGznIcYhjj/tEf729TlRr1PIbD7tGfxV96I2qFszxRNpNrwYjmeTKiGZ2AQ?= =?us-ascii?Q?qQiveHu9kwefX3Ni7zxsF69jdPLQMfaLyL4pqtBhi0oD0K4MIfno7gYpysJY?= =?us-ascii?Q?EOk1A1aHvODpLVWrvZwWdd2OSqIKBtOWDo6PSjnTjlm+c4mUL/GwwAOIbldZ?= =?us-ascii?Q?QsRG99W9/2hBWGw13PGMvkb9HeCh0PqrYkQbswiGyN+oD4KdsHIHWZ7FxGkU?= =?us-ascii?Q?YdbQ2eUDQmDzoX5TMTN7DJB/NtgF4gtraxdKqEUZEAS9UEMP8FptSHHC4mrc?= =?us-ascii?Q?lWciUyZc+J3GFbGm6PfR/ymsHrODSSejOBpKiZbFcDNU2yMDanIQNoUUvr7r?= =?us-ascii?Q?rukNeHhxFpYl3L7+hrX/QAR+7KHQ0p9MPsfi5Xu0YP4?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2245; 6:dMl1CAnuoQ/Pq1jqTBWle39eX+ERBL4Y2fqtjFy5wLwZigifOGhilQ1qMtP6/TyuATWOZzMomXFHoBEPSsWHcGRUqlHzaD2AxiUkQdBUdG6KEZcB0Z3OJb3dYlnOiRLSkIrQCZjoIh0OZQBdR/cugj/Mk6xq3XObXugAgRRKpZG85FAN3OoA/kCi5vthZ4V0XsmyO62Fv/2UWtmgHQ5Z3cC2uXnWgMdUHCWUf5sojFFaSCVT/UzIAioIu/08cT2VuFKVd36Y0gzwaJG7Py08IA1WgL6YukXoXDRE0baGnXaff4B5evT2AyHD82r/Fyky; 5:AmlnibqHF1DuA+r/NTpZafq6V9O1fIk/C9rm4bZsxFCcWFxThF9xkz4fkT8VMOfCz83VUoo2PHtbFJaT7znXw8Vim8a+CNUDjrZIFt43D1VNh1bxJ5np4dWKPdkQ6bvnLkKZA/uPG4qbuNL6Cpc2ltKNjJd1bLVU+49KtvFinuU=; 24:dSBw7eSoaEzGnUOIJ/viYe6uF+WKBQ3OY5ApsYDL8neYWZCmMkXy1cfN9ajnnlImwwWk0B/HyFRJwCZujV5OvZ6zaGuBKSmGi2N6SCA3/3o= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2245; 7:v49/KoPSFqJ3rtuCStnd9kY9fjOsfaBM66MLBxDpbi2nOADCO55TxUKzNyg999+NXkHzKUZ0TGKIAfVq05rRuA+x/drIF6QFVvI0nujaOd33VfuQxirpOyxmiB3VSjYEM3LEWOtjQoY2lhsSvr6eZQG9MANSD6rzlhPo5Hf9PpK5InWMyBNPUAfq6bPXAjmHYMFJM2NIskFpq0zlfy4PmomblrXlB753dfIXKLma3+6/LVA0DqHoFxgCKj8MmDKDUG/x1KOrIXYpYeqte4hIKDY1srRZ8XFNrmg36pM68fPeDHyr2TCuC8BKz4XPTf3unMkYRL1PeCSm9HkQB6wxfueszXgJebi0T1zCwP/tY7Y= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2016 15:33:35.4517 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2245 On Wed, Nov 02, 2016 at 05:26:39PM -0200, Adhemerval Zanella wrote: > Changes from previous version: > > - Use __ASSUME_SYSVIPC_SYSCALL instead of __NR_syscall to issue the > wired syscall or the ipc one. > > -- > > This patch consolidates the msgctl Linux implementation in only > one default file, sysdeps/unix/sysv/linux/msgctl.c. If tries to use > the direct syscall if it is supported, otherwise will use the old ipc > multiplex mechanism. > > The patch also simplify header inclusion and reorganize internal > compat symbol to be built only if old ipc is defined. > > Checked on x86_64, i686, powerpc64le, aarch64, and armhf. > > * sysdeps/unix/sysv/linux/alpha/msgctl.c: Remove file. > * sysdeps/unix/sysv/linux/arm/msgctl.c: Likewise. > * sysdeps/unix/sysv/linux/microblaze/msgctl.c: Likewise. > * sysdeps/unix/sysv/linux/mips/mips64/msgctl.c: Use default > implementation. > * sysdeps/unix/sysv/linux/msgctl.c (__new_msgctl): Use msgctl syscall > if defined. > --- > ChangeLog | 8 ++++++ > sysdeps/unix/sysv/linux/alpha/msgctl.c | 1 - > sysdeps/unix/sysv/linux/arm/msgctl.c | 33 ---------------------- > sysdeps/unix/sysv/linux/microblaze/msgctl.c | 1 - > sysdeps/unix/sysv/linux/mips/mips64/msgctl.c | 17 ++--------- > sysdeps/unix/sysv/linux/msgctl.c | 42 +++++++++++++--------------- > 6 files changed, 30 insertions(+), 72 deletions(-) > delete mode 100644 sysdeps/unix/sysv/linux/alpha/msgctl.c > delete mode 100644 sysdeps/unix/sysv/linux/arm/msgctl.c > delete mode 100644 sysdeps/unix/sysv/linux/microblaze/msgctl.c Hi Adhemerval, I'm testing your series with aarch64/ilp32 + LTP, and see regressions: msgctl01 FAIL 1 msgctl06 FAIL 1 msgsnd01 FAIL 1 semctl01 FAIL 1 semctl07 FAIL 1 semget01 FAIL 1 shmat01 FAIL 1 shmctl01 FAIL 1 shmget01 FAIL 1 Regarding msgctl. objdump for libc.so shows that syscall is generated from stub in sysdeps/unix/sysv/linux/generic/syscalls.list. 000d0e80 : #else /* This is a "normal" system call stub: if there is an error, it returns -1 and sets errno. */ T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS) d0e80: d2801768 mov x8, #0xbb // #187 d0e84: d4000001 svc #0x0 d0e88: b13ffc1f cmn x0, #0xfff d0e8c: 54000042 b.cs d0e94 ret d0e90: d65f03c0 ret T_PSEUDO_END (SYSCALL_SYMBOL) d0e94: 17fd194b b 173c0 <__GI___syscall_error> d0e98: d503201f nop d0e9c: d503201f nop For aarch64/ilp32 to drop custom implementation, we need to force __IPC_64, and so remove stubs for msgctl, semctl and shmctl to let glibc find proper implementation under sysv/linux. The minimal fix for my regression is below. Though, I'm not sure that it's complete, and that it will not affect other ports. BTW, grepping for msgctl in syscalls.list files shows that they has outdated comment which should be fixed in this series too - in arm, microblaze and mips64 ports. # Semaphore and shm system calls. msgctl, shmctl, and semctl have C # wrappers (to set __IPC_64). Yury. diff --git a/sysdeps/unix/sysv/linux/generic/syscalls.list b/sysdeps/unix/sysv/linux/generic/syscalls.list index 5993ab4..459892d 100644 --- a/sysdeps/unix/sysv/linux/generic/syscalls.list +++ b/sysdeps/unix/sysv/linux/generic/syscalls.list @@ -2,15 +2,12 @@ # SysV APIs msgget - msgget i:ii __msgget msgget -msgctl - msgctl i:iip __msgctl msgctl msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv msgsnd - msgsnd Ci:ibni __msgsnd msgsnd semget - semget i:iii __semget semget -semctl - semctl i:iiii __semctl semctl semtimedop - semtimedop i:ipip semtimedop semop - semop i:ipi __semop semop shmget - shmget i:iii __shmget shmget -shmctl - shmctl i:iip __shmctl shmctl shmat - shmat i:ipi __shmat shmat shmdt - shmdt i:s __shmdt shmdt