From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 89795 invoked by alias); 3 Nov 2016 17:07:13 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 89772 invoked by uid 89); 3 Nov 2016 17:07:12 -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= X-HELO: NAM01-SN1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Date: Thu, 03 Nov 2016 17:07:00 -0000 From: Yury Norov To: Adhemerval Zanella CC: Subject: Re: [PATCH v2 01/16] Add __ASSUME_SYSVIPC_SYSCALL for Linux Message-ID: <20161103170641.GA31761@yury-N73SV> References: <1478114813-3526-1-git-send-email-adhemerval.zanella@linaro.org> <1478114813-3526-2-git-send-email-adhemerval.zanella@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1478114813-3526-2-git-send-email-adhemerval.zanella@linaro.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-ClientProxiedBy: VI1PR0901CA0046.eurprd09.prod.outlook.com (10.167.203.142) To SN1PR07MB2255.namprd07.prod.outlook.com (10.164.47.149) X-MS-Office365-Filtering-Correlation-Id: 2768c6c9-9420-4dcc-4d9f-08d4040bd267 X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2255;2:ERBKjKONIIF8duByVYZh7tk1MY3mFoNsS9dOaQIyHG1/2ToqDjLzgu345VzZGijs/zySCxdCkFetb2WdBD8F8Xqw2zAdWfVl3tcxjnrMpHX8V9ZO59JHVWCOONDng7s7+LmvMCdIvHo6WDVu9DtUMNBMahITMMx+FdUO6ocrJEE9dLVyKwIxOwowawQILzwSxcIqk/g5C31s++joo5thDA==;3:boi6zQNtUx6LkHP7CNM2LAkJauVRQV31qw+8bfrAS6J3QAJOhgD1Y363UKg8YP0cEuHh0mrtbl1MzpeAqNXM6r4SameAINNol4SE83u2rpTG0Y8GMKFr6c90nZV1jQyBcMoBCX+xDkcNvnsxO1vDjQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2255; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2255;25:ClDRxsOVU7YCO0xf/PoDP+/x2D4WrrAQ9qJTFgclwIvZfDM29/68yFuLctx8BG2xHzLiXe0IM5CYBEQULDIRkLkIR3r/mnBjggnafpwzG/G3NuhznPI/5+Dh5+u39G/FDBIvN+PQtdLoRKhxSAc3W3rAAgQPlkpcBi4sOmsB6R6yhINnr9KQ9wvpTvrha2skiDcjFNEzwJf+RW0XLulu52P+M813pwcXX11Wd1sn2/Kl3IN8dKMYic6kFKRkgh8dh3QixF6csa20T+rmg3Ir/1wNhZlJE8m9BvGcy5H3IpBbhqbj+dPsQwc/67SymrfbvlJ55/lTQiSll7yVhjPyVqEKX00j6GVOWKvrFCRq0d/iir+ATuCN1p94MobzooxO+fLOKZXoAuZPEia6b9lVqbft73MEFtb277SV08gLl9lIsrrbUNUMSnTUVEyVUWRfPGQb4NLeyomoUa/k6ltO/TyjF2kjDRLuUXU23GiRuO4VqD4W10hf8l02/8BpTzU6DYcuHsp9cMHgVM9HKX3dVxjTQHBPN0t1GcI+mFS2kI2Mpn08kYXpwApknR+e5aDDyizo+4um31G/nNYCpwCCmNhk+3LWx3qy/wjz62x3d7uGaO3gFwB5LMkh8hpxx9Hhc35gXvsCMGDFpxY7KRWt+RYrhi2AVn3yFiuxSz+FEnl3BIIiN05MoFQvykkVgD4nRjbp5st2/nQ3qnf3gp/V06ZZ6rTzf4MyAuaVmjCbvF23kuIoDeZv4EGJx+trLWo6Z+LBEcN8pesGZGLFM4EU+3eXtO2gnLivwYmzz4P0o5Y= X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2255;31:8+Y68VIsazCBDO42y5DwSL9brmlsfTgps0AZ95yPySTMymVCo9RbiKZYnwewOnisI+40pU2psDVbNvqTu+sHzRkcclvikJDhp+xZDwL50xIstppOsUNsFt2u8ABR6E3qoAp7txvrGYZ3VTj10ALiZYpNYt7k/WpbhFZQT3T1hF2TXXbadZZ2RikjbGxZFAOFZTG7iEQ4le8AbOrVRLR6sTV1n3qXK5nFEjHDrTcjCw99Ox1HjBDZT1B519PlJfIW;20:DHBb6scBhC+24OJnfXPbIRU7MHm4rX0mPFbKVWCgIJAW0Y2O+JvWzCfTVrKXJgRS56ntZfFjmHFHk3+kDtetrMoi5e4UlKrxF9REt8egEupUivbPUvRs9e5WBgzFZaS8StDp5XBLvn8Xom/DjUY3J0ze97qfEWGCKCBtFegLfSBExoRahFg9wmCyB9v8J1K9KtAa+vchYBIO4bhfA2G9uegMv+tuXkjDhtkt9Q4ioZV+8aBxmiaMK8NkdCg5PWvgsmtrq6HnwFuXw/6vwRzVNBMwYXoKj2e9MqaPHoW+XmjFxgH5MWFRGKon+Qv1ai+7febBqDcl/6Tp4/aiBpU1ZeDITxm3yGZWDleGijWmZIE/vSmHNgRPj71xH/o6xB/iglT42zgyEkOCxi5x6K/vHe0uODK+mrAlneqqkLb9xq8xu3uxEazeBB7wZl8xjH32KcR4sTpXU5a0+c/fA9bpibPUBrOdHDhkKW2vEZttSGtTn69h8b3H8H6qkEwLt3oXYwJDnZYyrl4/OTJIvrMGvS2w4qpV2339bCZR5nUQqpTCBtXGxgVv5kmh/HtLdwO1qc11vnnQ+uEPpE4IVCApxvicbMIs7+CzDUj0mwjeGcg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:SN1PR07MB2255;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2255; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2255;4:tfG+pYrYI2gBs5QHBYVdWFuLIvE4Fiw4jAKPv0bujA/0mZJWf4pzI1M+xHA1czyyt+Q/hIKj4GGVakLznIrXW3WDTOhwJVWB/XmSLky2LcAwZBCAoDicGUDTuqUgdxnoVarQcK7I2AKJ5NcBVA7yz+nhnu3+2Bx4NGXUCiJq8+IC8s+C0BDRbOiYKtYLO68OWwMLIXRiHDzrHtCHx0v1IKOp2bjtt0oEWIU8W+ZzdhXBo0fBqt7CpMY7J8mF+CaRENBQ4K7flG5XuTfRMROiKMtwjgIqSgZYPxhTgNmqN1BIHhxZglF+WzW4n1+Ar7Bf9Rh9iOGnGwKBHMfQ5b18hHCkUxJI/oUGfRJ2EUPTBoo99ii+0feq6zIx2LOjfBdxXm68zjyhzsHvbMYbUxUgbQ== X-Forefront-PRVS: 011579F31F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(189002)(54534003)(24454002)(199003)(42186005)(33656002)(8676002)(50466002)(77096005)(97736004)(5009440100003)(81166006)(81156014)(305945005)(46406003)(4001350100001)(23726003)(97756001)(9686002)(2906002)(50986999)(4326007)(586003)(76176999)(54356999)(106356001)(3846002)(92566002)(33716001)(1076002)(6116002)(105586002)(6666003)(575784001)(76506005)(6916009)(5660300001)(189998001)(2950100002)(47776003)(110136003)(7846002)(7736002)(101416001)(83506001)(68736007)(66066001)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR07MB2255;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;SN1PR07MB2255;23:9Q1JrC6BrahXrGdmzJ44MZCAORWxPf6y+aHVaBV5v?= =?us-ascii?Q?7sQTkSJIGJHPntvimgT0d11Nk8hhb3TWDXZ4WR2xMonsTxnF04D/gbrXaRg1?= =?us-ascii?Q?kXo3zzs+enHSLdnvxzXqu+DtsiH3LTds17bgxDbREXOAnKZWcCNZbZ/3/0nF?= =?us-ascii?Q?rVnLZUGRF55c1nMw1JzL1D+3xnJFZZ5IL4qsc1ZKfcGME7JQlXd9LdBVxuVp?= =?us-ascii?Q?AVclNGkXXv+tnZCltrl3iNsqZy7njTc/HorXg6nQhR3oZVvCh73jrjorhSE4?= =?us-ascii?Q?xhZqCzuskCjwiIT9Rph3WVZOo4mjfDxhxllRjiDqZM2YZtXc9lbhQ9RtMPRU?= =?us-ascii?Q?Qoc8qHQaUKajyeQQGBWkH6y9gFi643VnivH5NnlIKzegv2cniApkoN6DZ4ZH?= =?us-ascii?Q?n5KeFf44vpVXycixok3yyQe67OnHI93yIg77Vlyl1bJ2IZkhhv1xfURr0sRx?= =?us-ascii?Q?+E1AYKrOS3rI9eEanMmrC+Ogm3RJ6/HU6iqMw4gvIO4kEHm8B9ksX+PjFhGB?= =?us-ascii?Q?B+7v656THjJfCeY3W7Xx8naOwBCJWpXHEHEXR3sqxxcVtFrVRyCB7S9HUpyA?= =?us-ascii?Q?tY10cpxSSYcDn3tnVz5GS82ItNfw2K422rtxg5rpQeezArzOAoTGFt9g96m8?= =?us-ascii?Q?uvXV4+7HlOoLReteiLjpj36njNk8GtbAr8ZYqhMW6jC0Bmx+JkF81sTLT1oA?= =?us-ascii?Q?g8V5TIUnC2uNLi7plE6684/eDiw8mP6QiJ/Tn4VNlMpqJ9DREut56YE5ClwA?= =?us-ascii?Q?S9OWPUYvJZzPc3r1rcLC0uI1VMITVXpfkx+QVGKsvS5znZmrL79NXDmyt4dQ?= =?us-ascii?Q?0ufyw7fwG3xge9yCM34MGErN3rcLL9d59m+CFMZlBsLU70GsdYqaMqfsJWY4?= =?us-ascii?Q?PhBRRzAGQTwYN7jmdICxV7uAT5T6E0jCfE5ipls+RHEYdQ2skLc9Y5+52nYJ?= =?us-ascii?Q?QPNqX8S8EANzLmcYEUY7n3sOzGAZpsOP9Gx1ah/j8wk/YPaYu6FsHzwRl7sG?= =?us-ascii?Q?mubZV3P0CGzCugfxtMFhVRJ+d4prWrievSuxVkFm+k9BHgWzthkBimccTHLI?= =?us-ascii?Q?9ezKD0vB5KGa15NtTV93lbzjY163+RtYR2taSRhstgWCjjT6YuuhR2+FnfIm?= =?us-ascii?Q?hV2vjc+geTiQf88sgwzyXQZUsMebHGWmYiHiuj1tSmWrRjK08Z+szsnxju8B?= =?us-ascii?Q?C0oC/RbTxG2hFyq0mtNOg8gPvLJgAd9jy0Luldz+5xbTX4Vt0Yh16NtfxDPh?= =?us-ascii?Q?VHa7PoMxUlPxGYbicC5WMV1l9YbH8zUIqpOJCF12Vxp5t6uHDRDIoTIyc9Jd?= =?us-ascii?B?dz09?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2255;6:SdihZE8SR5y9ArQuD6XCSKj8eh1oF7kxcnvIcUO2i/WbdglDOnbxgDEFdoll+jlkhl9AJNeiyP55c86RdSkyeih+NMdiWh7Q/0HOkw0t5ZJRjS9MgUKj+1w8/bId37fbhyV+Syg/4kBIz/36M5gdKD227b5nrP4vk8bZ6mQePnqJigBGIHt+aN+5kAi1hgJDCUodToBGNj/yfFpjmjh2XfnVAOijtq2zH6ihLlb+zGNe8rWi3XsgbC3npQSS+qWUanXBjyaC6UgOq+vCRikwBtFEJl2vzmpohuAJP4oWeIrmlbofVsLcSv5ASOSP1XAe;5:WR6g0QnUTInodSzPGllqb2q5lxiOQDNUVAjfOvwyFkVw1NlIKC5EItw9gGXB2f2euAUe8H+qTEBiHvN440Iesbgx2oxz+3DcqCSziC6aE7qyJzH6QjwNPB/7mFRU/0xonRnKP1kxcOTHFgP6spdwV4pIXl2klwfNl4/05yuYblA=;24:bwWwvJ1ULRKPj8xbtq8v3t75VLQ2AZUztsvb2pjSNGu6yyJYk4GmXABruoQOwcoZfJWIVw0S0ewKnXnruZbdon9P4Rxsbyj1sG/oT8ue1uQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2255;7:9alCFdk46scs79GkoYVO64E01AXlvulsDgJcUdrht3MKSTzPSSDKNVCPxqtfgk4+JXmVde9HCX/Mw4JZP3KXBzEVB5mxeOOmVsAR9HhnKbxDT9OV1K4FfCRY/JsjoUb3yaezDO9opyXvG9N416okudZb83bKB+21QZUQ7mYkxOmrx4cNwkxSiJXs4OdgG/TbQnuVWmhPOLCNL4VQOLeHbOUsb2IElwwLE0X54n6NR68YvAidblq3lF00w9userchHv8fODgZVlvTv4/WtPUEl3th1gc9Qm3A3PuEn029uYdx/0xrhkwtTspVTNe1b/STasmjQJkdDu+q9A69id++IX39EadNtOJrjJXP5gqN7gU= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2016 17:06:57.3768 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB2255 X-SW-Source: 2016-11/txt/msg00104.txt.bz2 On Wed, Nov 02, 2016 at 05:26:38PM -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. > > -- > > On current minimum supported kernels, the SysV IPC on Linux is provided > by either the ipc syscalls or correspondent wire syscalls. Also, for > architectures that supports wire syscalls all syscalls are supported > in a set (msgct, msgrcv, msgsnd, msgget, semctl, semget, semop, semtimedop, > shmctl, shmat, shmget, shmdt). > > The architectures that only supports ipc syscall are: > > - i386, m68k, microblaze, mips32, powerpc (powerpc32, powerpc64, and > powerpc64le), s390 (32 and 64 bits), sh, sparc32, and sparc64. > > And the architectures that only supports wired syscalls are: > > - aarch64, alpha, hppa, ia64, mips64, mips64n32, nios2, tile > (tilepro, tilegx, and tilegx64), and x86_64 > > Also arm is the only one that supports both wire syscalls and the > ipc, although the ipc one is deprecated. > > This patch adds a new define, __ASSUME_SYSVIPC_SYSCALL, that wired > syscalls are supported on the system and the general idea is to use > it where possible. > > I also checked the syscall table for all architectures on Linux 4.9 > and there is no change on described support for Linux 2.6.32/3.2. > > * sysdeps/unix/sysv/linux/kernel-features.h > (__ASSUME_SYSVIPC_SYSCALL): New define. > * sysdeps/unix/sysv/linux/i386/kernel-features.h > (__ASSUME_SYSVIPC_SYSCALL): Undef. > * sysdeps/unix/sysv/linux/m68k/kernel-features.h > (__ASSUME_SYSVIPC_SYSCALL): Likewise. > * sysdeps/unix/sysv/linux/mips/kernel-features.h > (__ASSUME_SYSVIPC_SYSCALL): Likewise. > * sysdeps/unix/sysv/linux/powerpc/kernel-features.h > (__ASSUME_SYSVIPC_SYSCALL): Likewise. > * sysdeps/unix/sysv/linux/s390/kernel-features.h > (__ASSUME_SYSVIPC_SYSCALL): Likewise. > * sysdeps/unix/sysv/linux/sh/kernel-features.h > (__ASSUME_SYSVIPC_SYSCALL): Likewise. > * sysdeps/unix/sysv/linux/sparc/kernel-features.h > (__ASSUME_SYSVIPC_SYSCALL): Likewise. > --- > ChangeLog | 19 +++++++++++++++++++ > sysdeps/unix/sysv/linux/i386/kernel-features.h | 3 +++ > sysdeps/unix/sysv/linux/kernel-features.h | 4 ++++ > sysdeps/unix/sysv/linux/m68k/kernel-features.h | 3 +++ > sysdeps/unix/sysv/linux/mips/kernel-features.h | 2 ++ > sysdeps/unix/sysv/linux/powerpc/kernel-features.h | 3 +++ > sysdeps/unix/sysv/linux/s390/kernel-features.h | 3 +++ > sysdeps/unix/sysv/linux/sh/kernel-features.h | 3 +++ > sysdeps/unix/sysv/linux/sparc/kernel-features.h | 3 +++ > 9 files changed, 43 insertions(+) > > diff --git a/sysdeps/unix/sysv/linux/i386/kernel-features.h b/sysdeps/unix/sysv/linux/i386/kernel-features.h > index 148963c..3da13d4 100644 > --- a/sysdeps/unix/sysv/linux/i386/kernel-features.h > +++ b/sysdeps/unix/sysv/linux/i386/kernel-features.h > @@ -52,3 +52,6 @@ > # undef __ASSUME_SENDMSG_SYSCALL > # undef __ASSUME_RECVMSG_SYSCALL > #endif > + > +/* i686 only supports ipc syscall. */ > +#undef __ASSUME_SYSVIPC_SYSCALL > diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h > index 1d3b554..cb0bc28 100644 > --- a/sysdeps/unix/sysv/linux/kernel-features.h > +++ b/sysdeps/unix/sysv/linux/kernel-features.h > @@ -147,3 +147,7 @@ > separate syscalls were only added later. */ > #define __ASSUME_SENDMSG_SYSCALL 1 > #define __ASSUME_RECVMSG_SYSCALL 1 > + > +/* Support for SysV IPC through wired syscalls. All supported architectures > + either support ipc syscall and/or all the ipc correspondent syscalls. */ > +#define __ASSUME_SYSVIPC_SYSCALL 1 > diff --git a/sysdeps/unix/sysv/linux/m68k/kernel-features.h b/sysdeps/unix/sysv/linux/m68k/kernel-features.h > index 46ec601..f0fd7ce 100644 > --- a/sysdeps/unix/sysv/linux/m68k/kernel-features.h > +++ b/sysdeps/unix/sysv/linux/m68k/kernel-features.h > @@ -54,3 +54,6 @@ > # undef __ASSUME_REQUEUE_PI > # undef __ASSUME_SET_ROBUST_LIST > #endif > + > +/* m68k only supports ipc syscall. */ > +#undef __ASSUME_SYSVIPC_SYSCALL > diff --git a/sysdeps/unix/sysv/linux/mips/kernel-features.h b/sysdeps/unix/sysv/linux/mips/kernel-features.h > index b486d90..5e88c8e 100644 > --- a/sysdeps/unix/sysv/linux/mips/kernel-features.h > +++ b/sysdeps/unix/sysv/linux/mips/kernel-features.h > @@ -32,6 +32,8 @@ > pairs to start with an even-number register. */ > #if _MIPS_SIM == _ABIO32 > # define __ASSUME_ALIGNED_REGISTER_PAIRS 1 > +/* mips32 only supports ipc syscall. */ > +# undef __ASSUME_SYSVIPC_SYSCALL > #endif > > /* Define that mips64-n32 is a ILP32 ABI to set the correct interface to > diff --git a/sysdeps/unix/sysv/linux/powerpc/kernel-features.h b/sysdeps/unix/sysv/linux/powerpc/kernel-features.h > index 42a53f2..a81caf3 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/kernel-features.h > +++ b/sysdeps/unix/sysv/linux/powerpc/kernel-features.h > @@ -52,3 +52,6 @@ > #endif > > #include_next > + > +/* powerpc only supports ipc syscall. */ > +#undef __ASSUME_SYSVIPC_SYSCALL > diff --git a/sysdeps/unix/sysv/linux/s390/kernel-features.h b/sysdeps/unix/sysv/linux/s390/kernel-features.h > index b3edee4..8fd7853 100644 > --- a/sysdeps/unix/sysv/linux/s390/kernel-features.h > +++ b/sysdeps/unix/sysv/linux/s390/kernel-features.h > @@ -48,3 +48,6 @@ > # undef __ASSUME_SENDMSG_SYSCALL > # undef __ASSUME_RECVMSG_SYSCALL > #endif > + Trailing whitespace > +/* s390 only supports ipc syscall. */ > +#undef __ASSUME_SYSVIPC_SYSCALL > diff --git a/sysdeps/unix/sysv/linux/sh/kernel-features.h b/sysdeps/unix/sysv/linux/sh/kernel-features.h > index c5240fa..cb09603 100644 > --- a/sysdeps/unix/sysv/linux/sh/kernel-features.h > +++ b/sysdeps/unix/sysv/linux/sh/kernel-features.h > @@ -49,3 +49,6 @@ > the kernel interface for p{read,write}64 adds a dummy long argument > before the offset. */ > #define __ASSUME_PRW_DUMMY_ARG 1 > + > +/* sh only supports ipc syscall. */ > +#undef __ASSUME_SYSVIPC_SYSCALL > diff --git a/sysdeps/unix/sysv/linux/sparc/kernel-features.h b/sysdeps/unix/sysv/linux/sparc/kernel-features.h > index 69c9c7c..20578bb 100644 > --- a/sysdeps/unix/sysv/linux/sparc/kernel-features.h > +++ b/sysdeps/unix/sysv/linux/sparc/kernel-features.h > @@ -37,3 +37,6 @@ > # undef __ASSUME_REQUEUE_PI > # undef __ASSUME_SET_ROBUST_LIST > #endif > + > +/* sparc only supports ipc syscall. */ > +#undef __ASSUME_SYSVIPC_SYSCALL > -- > 2.7.4