From patchwork Fri Sep 9 15:49:58 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 668131 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 3sW1rS1TM1z9ryn for ; Sat, 10 Sep 2016 01:50:48 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=qsnZSM2V; 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:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-type; q=dns; s=default; b=q9iOI 4gUqdhbuvxlrfRb5zbyd4SSmxKZamLe2ng9ZYoSHYZUHA1+7cCX3+UvKMyMLCsw/ QOEOyaI1SHHGtFDNDQsKDHFZIPQ5hO+xWgeKZVQ6QYQy1xQI4uCR90YzZsTrA8e2 SVrmn+bxox3xqaayJxRQxODVDW3bdqhumD5nbo= 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:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-type; s=default; bh=HG+YSxnspkR vO+HQahr51oU0xbs=; b=qsnZSM2V9Psw3XENYLcdYsKC+76V7ajuWfW87bGQyzx vPa94zi6TUipEaG0GDqIqkLGxODU635ZMbaJ/t0zxpFUmvoIXf89/NkEG6vR8hle NcxXHo7knjYyj7JtPA59/LZxcL/Tltnthj2uE9Z57VxEXzVak3T/mpJAUgH6aJjk = Received: (qmail 2526 invoked by alias); 9 Sep 2016 15:50:42 -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 2508 invoked by uid 89); 9 Sep 2016 15:50:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=redirected X-HELO: NAM02-CY1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; From: Yury Norov To: CC: Yury Norov Subject: [PATCH 1/2] generic/wordsize-32: don't duplicate lxstat, xstat if XSTAT_IS_XSTAT64 is enabled Date: Fri, 9 Sep 2016 18:49:58 +0300 Message-ID: <1473436199-3305-2-git-send-email-ynorov@caviumnetworks.com> In-Reply-To: <1473436199-3305-1-git-send-email-ynorov@caviumnetworks.com> References: <1473436199-3305-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-ClientProxiedBy: AM3PR03CA023.eurprd03.prod.outlook.com (10.141.191.151) To BN4PR07MB2242.namprd07.prod.outlook.com (10.164.63.148) X-MS-Office365-Filtering-Correlation-Id: fbb3454c-13ec-48d2-2007-08d3d8c9059e X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2242; 2:HwntnWfJUA2hmgGEr54yP6KUBXgFiBdMEPBXqTHD0uJDxYpwiRCJa5bywDlh/nCW1hSOyAu92diAUH1Zd7oaEwBHrGoArpp+WlnTFr+9pCuTVODKqb3qhWJhUplSi4P0HQU/49K2/34qhSJMIGF8nx3bhqHWLyrCUodKDUn663JHoiL1EzH9Bqjv97A3g7yV; 3:tmovi0TyP4L3OhWapirKrL/Aw6Wc+riicqUbDMp4DTMQcVRDhZ0+4N+rvcxGgI4s8cNltYfJ67YVN9ENzYb1KJTSvbsn2C8RZN4h/74XnpNuv9ynkdzF+K2IzTn5igIs; 25:lnE9KYL2Rhqe0XDFaJCipTZ0u3XzEQexere8k68yZ0UDl3DjRF0PFzvTuMYMTzqMSFLPtywRJ/8t7T0DpSJEFs750AfXs6k3KiGt/5tOAHKFLBi2TsMyfOvnFY1f56mxa3iPAWhEx7vPSnDBaSSLw23N4N13PjW4yTGrRU0n+ydAt2Bo21XfFejOm49INoC3Zh5tXJ7ms7V/YUgscFjQEVmN4rDjnt+aaYuyR+RY2+GaRSuKwZrhc6iPcGaRc2u47MR3ZUrWoxKXVa6cJ7ak1JDZJp7NvaP+BgOsbBYtlZyX4Led+CYnmRPWDqa3MZPJawzSdb/UBXQWnDCpay5iofy7NtRM/Ayj5oZ6gOPpbqO3Q3ArnwnIRZs4L07U3mZCz1AjEcPVNFmS31i2npJzUg==; 31:N8nY/ZLVAhmryKdFO/O7oDJyKkfholb6fTrhrypvjlf2x9LWfqA71aw7dQfp7aCsyV5AlFDkJwbKxrzsgmM1+XwZ7xd8TzNvIGnpPzN03/I44eKLxOujlUdlf1UMBgSHxnWNl6hx4lDKKrW66YifiWIf/0W7O2S8JKeczBXJw1SDg1lsd66bKGxNgmaC0el+zlwviGcxL+wXknGMTMscOYq0SQWuV+T8BuJR2kqeQdg= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN4PR07MB2242; X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2242; 20:bXRDV1eKcREtFZUhltIeoL9W4K5Q51mAKAE9iOFGxpJwUaQP3W1Sl+pLXUZFxlgBe9kOt4997u9lMFNzyda+KO+PW97RpYSKaKBy6MMyA/2U1Z3H4pSl734Kpaqjc7mSaGcV6BvBD1W6rv3EDiSzexkbQAiDiGOafimlevdU/N0hLxhjc53E5ewnv6itXQappOmYUiBOo/eoJ6/CRqQwPE40E0KGXIqq+T7FgG8YvGq4v92TqkaSn90qWOFVLMlTsrsb5raS7UzlXROJbhyYzHRUNTKd7Ck+9MMMONtXNfC8eZauoCA5hwVXxFRKD+IygrRzutln8NPXrm8BfqldNbUv8VipWp/8YVTy77IR2c/9rl8AGsrNA+7fHlNON9jPbrt2EGiTSyKtdi2q0a9HfZxlPDaJFzsK+djTio8AmYCV/FHcQDjGNECYvlwLnL2Oed1nFTdelxlKaUC+tR0tMMn9NrX6gnLxmRTYz04GFdNNFLW23lsM5SmM70mWBQQHBXsGy5RPOFyMt1w044PpOYFqPH7XmDU7UyOx93cN/hqCohyrgBr4n4FEAh0X7tCA75IufslKgNUZ4gVFA++HxXH7MSBFZAxO+DDT2z/GI14= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(250305191791016)(22074186197030); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:BN4PR07MB2242; BCL:0; PCL:0; RULEID:; SRVR:BN4PR07MB2242; X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2242; 4:gbGNlniCB3nzzPfXkgkTw2IUH5MN45l19m3m2cfyVWZn+G+2ULjzVJzXmW/WZd46WjqYQR8VbOrS43T5UxV54205ltNSZmSz6S0638hOtc1IEEzW/zZb7xkskUefBrgi5gmkhQ3dR4SJ0kqf50PH/mHNuTEoVSBvtV29D4QJbN8FIrHJLapUtqUGdx5MNXrBv9ZU7JiWjvxFJtAxhvIwVRQw5TYXBJkLVP2b+jcfNXjxkLxwomnJGJGEP1inAf/QkS5GkpK4m06LzQXXNwWQ40OB10VTYrCnHttJZTz144x7E5YZ3Nukj2ca2WPNdQwjFgwcMKM95NI0UUUbVLRppAV80ccS+DKLO+onBkX8iIP2SbwlNouIaSxUj+95dNbyXDMWBCw2GKbsm4tNx2vkyHUGFj1gKhn+LFyQEWg8FWRJ2CBpOKPWawO2ocyZ11jCOFByyrBQ/mJBc8lQr9fFgQ== X-Forefront-PRVS: 00603B7EEF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(377424004)(199003)(189002)(8676002)(106356001)(105586002)(68736007)(5003940100001)(4326007)(42186005)(4001430100002)(2906002)(3846002)(19580405001)(6116002)(586003)(189998001)(81166006)(305945005)(2351001)(229853001)(50466002)(81156014)(33646002)(76506005)(19580395003)(66066001)(5660300001)(2950100001)(47776003)(50226002)(92566002)(7736002)(15975445007)(97736004)(77096005)(7846002)(107886002)(110136002)(76176999)(36756003)(48376002)(101416001)(450100001)(50986999)(15760500001)(41533002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN4PR07MB2242; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX: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; BN4PR07MB2242; 23:3n2rBwyGEX6v4ckIXUsuppULFGZpmC26Dvjo2/1Wh?= =?us-ascii?Q?FcoAaYkqq54ttdX0dkBYwd+V2NYGcO5I7azfxXXXgXbLMwZ3uxK8UNrieHoy?= =?us-ascii?Q?PBCcJ55Sab4EBuvjR1t6m9NI7aI/KyDahExWpLtu56we6YJSHoe+S9uoDiWO?= =?us-ascii?Q?kocbB/jHW5/oRCozDZKrCeoGN22Tdhev3ZmCFR9YKstdCwecWC9qo+niyHO1?= =?us-ascii?Q?26Ra/vEvgSGRS7DvN5ddCPA6k9785D5vSDzt4CdizARwIUv33FegQBAERukL?= =?us-ascii?Q?G0eWSx3tF4PRrC55cQaJrt9Ms+lz7Yy8QCRk3fCxATPekoajpFVXTIMjW0Dy?= =?us-ascii?Q?GBzcR002Ce7DNYWT9OBJSqvbS+qkXq4im0IaWoJ72adSe5O5xoxlZZCsice1?= =?us-ascii?Q?cLtFYewFgfiPZTW4+obQZei1lQzBWtVTqz41cT0PNQdj+TdK9m3bawiJoEA7?= =?us-ascii?Q?INGsA22xYQ55PvA5iTA72WoB5MQCM5AA8d+Ki2k+RpZfE4Ery6sjUfoMqtLb?= =?us-ascii?Q?+4OHI7xmSPek6WVtcb9i/5L/KpEB5uvKAsV8JgpOaWeyhVUsjZ4XBwWBCUrI?= =?us-ascii?Q?GHv3MCZVw2qSXYiGRCpY2n9kNiHOc483KkCgiI23whFKNulf0k7GpMMtUK+/?= =?us-ascii?Q?hnZoqA13oCi63AKC8ENuP+VrbsQ6c+UFxoyDj/PccNoJc8gGS+uijaggZlGH?= =?us-ascii?Q?x0z5oD+cA+dIvlZqMrABJiX+W8r70CE9lpjKT0siNkJrUD7J0cqV51PjWHHx?= =?us-ascii?Q?hRe0CcnqToVU0eN+8VHk/cKakjJBEe4ExDVbZHVAKHobMi8e8+BIcxmDW4Qd?= =?us-ascii?Q?Zez94niZG/RcAriOUlwr3gWAqAOmXLdcKdAGph2ms0Fu5UDD59T0BYB3eYrH?= =?us-ascii?Q?3uMNRzFznFGM3ix03TwLwZlM4Jl7iaLAmInEHkvQBTraVMPstZXlwsLeSkqE?= =?us-ascii?Q?z8wUvJXyq/5B3b6f/UBsRG94MQ21EeuNWEkuCJkGTjGz81sp39e5WGfLjma/?= =?us-ascii?Q?w1gy3AcVyVu1d9JllyFNJLvPwyJEIXUR8DvB4iXjmAd1bVZEi6lUM3HbGAET?= =?us-ascii?Q?En8rGK35E7KzKKqS9T+xn0W+ooLzIAYH5ybjiSGTG35U6JeXKJQNoSy7AtIf?= =?us-ascii?Q?Qwinq6kRej4JDjS8dhDQuD4Q/6xN4T6OCb2ptpDqLRN3/WOgjGsYMz1V+K+W?= =?us-ascii?Q?WMZAxH8BhBJb3ooSLpRlx8A+++2gYJUEsAdw+o5xUnEG8DgylrCvsRAT8IBj?= =?us-ascii?Q?hcJFu+tCilvLrlcX0PyhwsgW7UJj1zsLRuCYGlRaz0Bvi77LPiFMNvtW3VSI?= =?us-ascii?B?Zz09?= X-Microsoft-Exchange-Diagnostics: 1; BN4PR07MB2242; 6:pDW2y/iHVacy/atswErbTKhWFIsIFqUHIGlGDvhF1lCjBLnTqDk7ZQELnaPZlwuliem7dsKxkc7Zlc27PgHN5lrH5A0WARmbakortYUBzB+dn0U8qGUqSr7Ktewx+XFoROCw14gWjvcpgO8VFgFRcmrK6bXP0FJyag4QtgIA9SVZGS9LxPvokWA62ieC4O/Leii5pVHjm7YrO1gBSBimG76Y8GP19geMe+kRsbbW4MHVKCiSavkvJGLrlsJrVYHV8ux1S2huyjUdF2/3ZL+v8cz6I6AxRf/Hawy6o976jJ0=; 5:Dao7tjMFGzAac0Tq3/RGJTii/B9zrbKFSBTS/ZSK8kNAMeN7MWhObxpd28gLTgnqz5kxlgpqW5TKwUpRoxCKuuY3DWZHJFqrIkMhHut4CkBtp0atIxTHpZacj0eGJl22x0Crc2o+w26sjjIkFsMtjg==; 24:YD3lNf+aKPL6qnsEmARia2ZkAAzNgV+6c6e35IB6gnmubELKDL5XbYablW4Sl4Anxz1HV2EPWubFFC+tMKxaccVdulFzGT5SdwerRiaQL5A=; 7:TGAPrhCmX1/YsYvPcc0BJKxsP3WVkdLR9MSo/7GYz7ye72wfxN9fxFo8GEaV81Rz0j24EKMW0zZ51AmUlsi3mlnpMvyNKbRW42fu6t/5jGQtq/mm9pXwdsTHEKZLzV0GRTt8Fr72R4XvED2z+alkZMYEAPx8rtlQWt8i3UjSK4bGTG58hPGxWYj1l29UWGH9boK7Wd5tAMwn9crum41SgLAI7evZ0zwh49NSaplGL4JFZyeudtH+05kiflNgP9uA SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2016 15:50:28.0644 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN4PR07MB2242 If XSTAT_IS_XSTAT64 is enabled, there's no difference between that syscalls and their 64-bit versions. It also means that struct stat has no pads, and stat_overflow() is not needed. So we can reuse lxstat64 and xstat64. In this patch, syscalls are redirected to their 64-bit versions. At now, the only user of it is aarch64/ilp32 that is under development, but the patch may be applied separately because it's generic. 2016-09-09: Yury Norov * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c: don't declare __lxstat() and symbols if XSTAT_IS_XSTAT64 is enabled. * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c: declare __lxstat symbols if XSTAT_IS_XSTAT64 is enabled. * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c: don't declare __xstat() and symbols if XSTAT_IS_XSTAT64 is enabled. * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c: declare __xstat symbols if XSTAT_IS_XSTAT64 is enabled. Signed-off-by: Yury Norov --- sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c | 2 ++ sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c | 7 +++++++ sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c | 2 ++ sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c | 7 +++++++ 4 files changed, 18 insertions(+) diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c index 395f98b..4fec6c9 100644 --- a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c +++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c @@ -25,6 +25,7 @@ #include #include +#ifndef XSTAT_IS_XSTAT64 #include "overflow.h" /* Get information about the file NAME in BUF. */ @@ -41,3 +42,4 @@ __lxstat (int vers, const char *name, struct stat *buf) return -1; } hidden_def (__lxstat) +#endif diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c index e1c15a8..96cb710 100644 --- a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c +++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c @@ -15,6 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library. If not, see . */ +#define __lxstat __lxstat_disable #include #include @@ -36,3 +37,9 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf) return -1; } hidden_def (__lxstat64) + +#undef __lxstat +#ifdef XSTAT_IS_XSTAT64 +strong_alias (__lxstat64, __lxstat) +hidden_ver (__lxstat64, __lxstat) +#endif diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c index fdd2cb0..8fc13bd 100644 --- a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c +++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c @@ -25,6 +25,7 @@ #include #include +#ifndef XSTAT_IS_XSTAT64 #include "overflow.h" /* Get information about the file NAME in BUF. */ @@ -41,3 +42,4 @@ __xstat (int vers, const char *name, struct stat *buf) return -1; } hidden_def (__xstat) +#endif diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c index 2252337..b3d281e 100644 --- a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c +++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c @@ -15,6 +15,7 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU C Library. If not, see . */ +#define __xstat __xstat_disable #include #include @@ -36,3 +37,9 @@ __xstat64 (int vers, const char *name, struct stat64 *buf) return -1; } hidden_def (__xstat64) + +#undef __xstat +#ifdef XSTAT_IS_XSTAT64 +strong_alias (__xstat64, __xstat) +hidden_ver (__xstat64, __xstat) +#endif