From patchwork Mon Nov 7 16:42:25 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 17264 Received: (qmail 79525 invoked by alias); 7 Nov 2016 16:42:44 -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 78284 invoked by uid 89); 7 Nov 2016 16:42:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=checkin, norov, Yury, yury X-HELO: NAM03-BY2-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Message-ID: <1478536945.4630.34.camel@caviumnetworks.com> Subject: Re: [PATCH] Updated version of define for __ASSUME_ST_INO_64_BIT From: Steve Ellcey To: Date: Mon, 7 Nov 2016 08:42:25 -0800 In-Reply-To: <1477600905.15823.9.camel@caviumnetworks.com> References: <1477600905.15823.9.camel@caviumnetworks.com> MIME-Version: 1.0 X-ClientProxiedBy: SN1PR10CA0082.namprd10.prod.outlook.com (10.164.10.178) To SN2PR0701MB1071.namprd07.prod.outlook.com (10.160.59.17) X-MS-Office365-Filtering-Correlation-Id: 5760d67d-6ff5-4082-6762-08d4072d10d8 X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1071; 2:Lkv0I5mxJlvmgZ8yOXQizfew9z6rDq88IPXTVIjcRxrpwp0ayX3r2w/gRsomqP956ziK2L/lRGG46OlqWLqjAmdpsm1FtaZQGi8gdD7JBoTeNOY0AIVfSG8YRPPF4PL6Wd5/o6de3GvJ2Zv8PNe/WByPZUyYA7G2D/H30p7sdt3E32XYEH5qc3wU8Y+67l4EiK0hsH5XukruMVx/5sCdfA==; 3:v16EbhviERjYGJDW3hMNxB8VJIeENeOOpD5j6DLqQUgZW9A+t921rfYYwz8L66qserYHkgTsUllWfNzdYiPfaHXxSTZ2K2rA98tZOIh5RfCJwotRPITcc73xDuNmZcfQI3ZwKnlEBK5bylaukt571w==; 25:FR5UUYOAtQfMVZpEFaPwsin+/+JPVKsYT1o49/CoAMvrhDNGUBAuO6nFihsFt2BxgA6krhWLpXz3yqKAiBAxB1ibJ7t/J0RSu/weemZHUEioIxauBc/EP2eMj5IbIFXIikNDBGgnp1NifLMbvbWMGDYy/HcyvUOhGlolDeuVILOI/t8IGI0WzokxNWkrsC6ftb/+cMylph8dpvDodrYpBePgo3vnrhF2DcD7s0zG6hEOsIN/eDAfkWpx3muIgKQgZIvxJZJyRmBRcNAoMFDNW2EafNxEkCDjzVi9KGjRT+m3WEts9JBriRKo4sBi3Kzgtv8yYIiK7FYv4Bkjqhm/vSH3AcmjQ/1cG+S3MGkehKQwIognLOVhBGLBGo4dkmZ1IywOcapiJNJKg4vFbf1muIcDdwNT3w9nKlFzLE4uynThiTSOqXFaFuSb3VZAFEfcmZ6ouWOVjSgVyOeSzeuV/+BZszT2njD1lOs5T8Dt91I= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN2PR0701MB1071; X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1071; 31:IH09OuqYhk6IhX8Mf/wLmLVsbdUHMioQXxv0hdvD2auwVwo87pwcDZNLgtg0tr/p8WEDIngSYqBv+D9EbctzpYCkgjMhtX5KBhJc4zklHhMih6vtytE7Uxq7JLU9joJGAwaseQd/fZSdbRV6VAq5tbZvyh1X0PXVuGh/ItTcJzk1W/7gQaSMdaA4hw3iY2NuakpwuE/SXqOvQG0P/3VWA6g22EuuyPzI+ZW/KIq9yKDkMdLutWmLLDZ6zhRYjlxuGGGBuL0PSFqaWpRY4UEEhibo/TzfhkmYT7wQdOUd/ssoIjPPTlpdaHU4h8s6G3+S; 20:3XM8m4qONJkH579BUY888KvlaUH8sSVuYPzpTCJJ+FUsOQ0gGxEa1ABXolTQUpkHFq0CAU5iQwYRB5hYgehplanH7GfDTXJaQYcNiyzQFEGR6BC36IG4w+vm3errdX2H4q3lkA1SIxBwqOPLYqGQDEhJTgRjiot5skltbt/XFTxcBdMP8gwJNj5iCUeSxCCIErjvPEu8Wol9wTeRwV5thhV7SQPHgoqA8ewyPyD+DNSIYns+a3XfcXPjVGkS4G8J1DvRXZSK1mdQ/tj5WY+l2fAuseN9Zt2SuoL9HyEmqctkvspcUS63e/I3uI3dsOCJouO6+xIwT2WCyHQuBlGlW1FAq3mPZD4NkYkFm1dY6qVizKN9RvZKzibvJiob0CIcXwfyQW0Ywh5zxdeP7nJZ5FDsdQsO5xhh7l8MRY6Arjl/7izRYukxdC+hP59OE/1W8tyBI7HHzIlkoeqwmduw5R83HPP6HbkdKCyH8glsoyw7bVZ50SoG47ribMV0RuAXEivO2y6+EbJ/XUh6TOHQPAEq758i18vS6h0OvPz84v92UXUeU1BZILajDZrQW8vbYEfhergdgUCr9YI/QVXf618/YdfvSv/Z0LjD6t2QquY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(102415321)(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:SN2PR0701MB1071; BCL:0; PCL:0; RULEID:; SRVR:SN2PR0701MB1071; X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1071; 4:uB+jSiUuEs7QApDyM8+24pwMp/hYvBDFWQ/03XBU06syrVv90ztTd+HQDsVnt0WjTwbSEAvWVxbOlBqzoOsOnfee32Uacdt0FuXlqB7nzBbN9bDWmEgm6wDP27FkBXB0WBayvZiMI1hRgZwaNBReQQa2+YtKAZux2uuUP1ZZxZIT57HRDa7rP75hK+/G9uOFzUpLO/alwaGwMJIK5oiDSOmNxk/5CdCE2ZdGJ3D24qYw4Sh0mohW9e3Pp9q3HVqyo1RV05sN8ByIM1HmDCtYKfWJggc3OODAPXDoEH9oIHIvNcVJmwrK/ZFok5Qz9NKZXWiwo/I5S5zSQWRNOOVIgNaZ/So8ixg6fLslpiBwnj9OU58aWlOrR6f/rV7C6jFJkKkfoFfzbMd+0n6TLmGeJiY7/WrGNcK2svOLzHo4f2IlcC1DShp2MNGIX1rYw+YnCWkDNHaMrICpv/6Ff9d2cQ== X-Forefront-PRVS: 0119DC3B5E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(377424004)(51444003)(24454002)(199003)(512874002)(6916009)(6116002)(105586002)(2950100002)(19580405001)(189998001)(3846002)(106356001)(450100001)(68736007)(33646002)(76176999)(50986999)(2351001)(92566002)(107886002)(5890100001)(50226002)(42882006)(69596002)(103116003)(97736004)(53416004)(2476003)(66066001)(4001150100001)(42186005)(81166006)(81156014)(110136003)(7736002)(4610100001)(586003)(101416001)(2906002)(8676002)(568964002)(305945005)(77096005)(36756003)(84326002)(7846002)(15975445007)(5660300001)(6666003)(19580395003)(99106002)(15760500001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR0701MB1071; H:sellcey-lt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; SN2PR0701MB1071; 23:a9Fy/Y3zUVGrd/SDxlZqp1NKfnUygwzy2hDLbau?= =?us-ascii?Q?e5yX4UFc0pGvy+cv2/4Je+YXySfwKxcrh39hfAQLidiJCh3LJnxZoiVX2KQd?= =?us-ascii?Q?GL1U7ned0u2kwVPYuig7+mzOm6lVYxH4jFPOM4gzuCmeH4X4te2ualiV6ztc?= =?us-ascii?Q?8qn7q0+ncpqIG/HT163GlDO+Dnf9gu+/oZkZEUA0++Tmrsegki7aVXU+7C2p?= =?us-ascii?Q?j76BcSoXdQYoa6GHN5gKBRK04d9+jtLS2M3CXb5RZBxpdZHFt00se4J8Tsla?= =?us-ascii?Q?+FFjaw2Nn/W5ff3T1K7D3fWmRiJ2J8EMeCq8WS2jBm9ICtM1Z79/CS765wHK?= =?us-ascii?Q?lhMiU6PCjBa1WK4jeGhYFtlHkZkjHmnYVaWSe/mvg3f12Yie0DVEOlmQqSO2?= =?us-ascii?Q?qI7UfssaLgtWA5rs6CLelsOd6zB3ucg5A2gSxNV/f4AqIxHFOHaOp9TnDo/u?= =?us-ascii?Q?HcryMi2asS8O4lRqofNFe1a8tf66xJJHjAaLnoY6s46PxtFSTbdYKikfWspC?= =?us-ascii?Q?sqznaEFl2bhn8fNEWRCBpOGW0b8SUy1CuAWC+ZWxjX2w0iEbTuSsY6ZqBJD8?= =?us-ascii?Q?IXjeP/KjrEWZMvxdwyoI7WdgNR6uaBWVnvpmKnNcPH1ost4k3BA0J77qWxpF?= =?us-ascii?Q?zRVbHSwaOkzHi2Tzf1eR2vNneyZwRZ9HNFgEGqis1uU1jhamE+jJDbU/u7Gz?= =?us-ascii?Q?2d109aW39W/XZwnYjo5Ok2fiWsEglzIsOfVGXIwnfR2WNinooW2QTGKLjlbX?= =?us-ascii?Q?UiB3TMVmj99+Eg0GiFexsAjoPbUfb6ZAxynGepXY605jFi+WJjwqcK+/bEkL?= =?us-ascii?Q?xVuvvAosaoRZ4LCihc1hnJ2k2Ial/0YnqniFDqNAGqFEANDSFg3GgnU7bf9+?= =?us-ascii?Q?CjZOe4uWnDfieGp2gXlfW0Tx+5wrKsAt+TFhB5A3S0umCfyk4XN132w+rXr0?= =?us-ascii?Q?khZL/FMxhe4Ck8fd12e0auG8/8ZEUfyzF8VuktCgKwyIoP3sIGpi5OhRkE+w?= =?us-ascii?Q?FbIJyhgrjog1wFFKs5Spuj43Ml8GynSqukFNC7qrpGbdHyeZ5q0Yt1pQ7SEP?= =?us-ascii?Q?dfGAAsdJV+VpaG+rlIQyOrtbJZLUjeOXtyZKnle0aNnMickhsuqj4a+U0js3?= =?us-ascii?Q?2nGtJ1umXEqFbl331d6BZaYa/5UCBVa9Gt04RjI3Ko5CjcIeh4Oj1wFDWcIJ?= =?us-ascii?Q?pBJ/le6qRxiqBg7KDK6iDptU/B5wjIaxYxoYfwkBwfIT3tUioK7HNcvM9c+8?= =?us-ascii?Q?XLyNsgrDqKTA/djEEFXkCCKvcLOa3WZC72BsPpO5m6tS0JNR7T+UkTPtHhYI?= =?us-ascii?Q?DbiTph9xeiMNtZtukrkjVpz2R/pnhRdmqwB9wol5YlCBw1dwpryIO2iInvBL?= =?us-ascii?Q?gri6AiUlUyTibky8TmTL9H+BlfRcpbfM6eOB//+NFWEsQg7HN52nxf/vNEeg?= =?us-ascii?Q?nhQlTskEzGQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1071; 6:EGyDpWPWHPwaUxkeVjrBo/wvjotSELJFeHwpJVBm14wj+GmhIw+g+GMBUGvilZJhl9J/c+00MY1daZAwhtNsKukZxyk9Y+NLLYqNeQB16yF+N2lNYtiZfQtMOAR5Gy5YQEI4xaV9rrQmmmb9a9QLnEchVonuE38j/Gjfj4i9u4KXFcfUxRTVRCXJ7JY2mvzg0YAyDUwuNOzXvuJ6hmn0dX6aQr23rJnBS9QiuSj68nGlaVQ5JWHAbOsBMfLT2PAZbRRYLcPQUSHQZZXhWdItdfFGl7M6BnnkHH6NeN7+RIqgYhAHQYgIuB4e308OpKyP; 5:MyXdgQ3dUHntilKlOcFzEghDCS8nzfebavSF80H1ZB55GhCl9x8CrfDKxfrQCB62ZlLHwWJKVXV7FpvjWd0s8vim3J2UOXu76/Rj1P74q5TD0bgiFPKKBHPdthKsHu+cwSUcEUekP2uGe6c/KZBi7Q==; 24:PdGn26XZDrjc48FulRHnJVJQshEKsZk/c90yB8W7hLbR3CSmZaaCfLimAF9wfJ7ft1D3vXylUzCLBDs9nAmwB25iZ/XKV4+HmtDcRXJ7oJs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN2PR0701MB1071; 7:Sxb9lIJfZ20q7cpLmbDH+iyO3xLPAR2gkoUyQIWdFtFfYScP/lCMZajlzmNe1Zp40yPI0WS9AqXaiAumVGYIX/cr4pRpfRoCiKNSO/HkGmR9zOh0dlwJd7z/zvywAkCxWz4N1rXOeDa8qZt6oqr5QhMwCHgjKh0aieONrEswcMqZfn1mHDKBKJRx1PjyHmwryQVEdvn+L3D2yylqBt+5/Z20JR7CMbVsl4vID9JaOG6YeYp+ZRgq6gkXmfXYADjgjCdevLlB4UEoj0wwYE+J/cZcpotKfVBQsZjJihQzLwOChRmK3GCdf/y8jCD8liL0xVp3YefGfyCnWOmbijFah4+36qihfKC54rbscqnfs3g= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2016 16:42:30.1791 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR0701MB1071 Ping. On Thu, 2016-10-27 at 13:41 -0700, Steve Ellcey wrote: > Yury, > > I took a look at your __ASSUME_ST_INO_64_BIT patch at: > >         https://sourceware.org/ml/libc-alpha/2016-09/msg00075.html > > I think that, rather than ifdef'ing the setting of > __ASSUME_ST_INO_64_BIT in sysdeps/unix/sysv/linux/kernel-features.h, > the setting should be left as unconditional and then sh and alpha can > undef and re-define it to zero after including linux/kernel- > features.h. > > Here is my modified version of your patch, I tested it on x86 just to  > make sure I didn't break anything obvious, but I don't have hardware to > test sh or alpha. > > Can someone approve this for checkin? > > Steve Ellcey > sellcey@caviumnetworks.com > > > 2016-10-27  Yury Norov   >             Steve Ellcey > >         * sysdeps/unix/sysv/linux/alpha/kernel-features.h: #define >           __ASSUME_ST_INO_64_BIT as 0 >         * sysdeps/unix/sysv/linux/sh/kernel-features.h: Likewise. >         * sysdeps/unix/sysv/linux/fxstat64.c: Replace #ifdef with #if >           over the code where __ASSUME_ST_INO_64_BIT is used. >         * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. >         * sysdeps/unix/sysv/linux/xstat64.c: Likewise. >         * sysdeps/unix/sysv/linux/xstatconv.c: Likewise. diff --git a/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/sysdeps/unix/sysv/linux/alpha/kernel-features.h index 732749e..f09222d 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel-features.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel-features.h @@ -23,6 +23,7 @@ #include_next #undef __ASSUME_ST_INO_64_BIT +#define __ASSUME_ST_INO_64_BIT 0 /* There never has been support for fstat64. */ #undef __ASSUME_STATFS64 diff --git a/sysdeps/unix/sysv/linux/fxstat64.c b/sysdeps/unix/sysv/linux/fxstat64.c index 5468dd6..8d10282 100644 --- a/sysdeps/unix/sysv/linux/fxstat64.c +++ b/sysdeps/unix/sysv/linux/fxstat64.c @@ -33,7 +33,7 @@ ___fxstat64 (int vers, int fd, struct stat64 *buf) { int result; result = INLINE_SYSCALL (fstat64, 2, fd, buf); -#if defined _HAVE_STAT64___ST_INO && !defined __ASSUME_ST_INO_64_BIT +#if defined _HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino) buf->st_ino = buf->__st_ino; #endif diff --git a/sysdeps/unix/sysv/linux/lxstat64.c b/sysdeps/unix/sysv/linux/lxstat64.c index 09a678a..4d8c0a6 100644 --- a/sysdeps/unix/sysv/linux/lxstat64.c +++ b/sysdeps/unix/sysv/linux/lxstat64.c @@ -32,7 +32,7 @@ ___lxstat64 (int vers, const char *name, struct stat64 *buf) { int result; result = INLINE_SYSCALL (lstat64, 2, name, buf); -#if defined _HAVE_STAT64___ST_INO && !defined __ASSUME_ST_INO_64_BIT +#if defined _HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino) buf->st_ino = buf->__st_ino; #endif diff --git a/sysdeps/unix/sysv/linux/sh/kernel-features.h b/sysdeps/unix/sysv/linux/sh/kernel-features.h index c5240fa..ea4fdbc 100644 --- a/sysdeps/unix/sysv/linux/sh/kernel-features.h +++ b/sysdeps/unix/sysv/linux/sh/kernel-features.h @@ -44,6 +44,7 @@ /* SH does not have a 64-bit inode field. */ #undef __ASSUME_ST_INO_64_BIT +#define __ASSUME_ST_INO_64_BIT 0 /* SH4 ABI does not really require argument alignment for 64-bits, but the kernel interface for p{read,write}64 adds a dummy long argument diff --git a/sysdeps/unix/sysv/linux/xstat64.c b/sysdeps/unix/sysv/linux/xstat64.c index 2075383..00a4459 100644 --- a/sysdeps/unix/sysv/linux/xstat64.c +++ b/sysdeps/unix/sysv/linux/xstat64.c @@ -33,7 +33,7 @@ ___xstat64 (int vers, const char *name, struct stat64 *buf) { int result; result = INLINE_SYSCALL (stat64, 2, name, buf); -#if defined _HAVE_STAT64___ST_INO && !defined __ASSUME_ST_INO_64_BIT +#if defined _HAVE_STAT64___ST_INO && !__ASSUME_ST_INO_64_BIT if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino) buf->st_ino = buf->__st_ino; #endif diff --git a/sysdeps/unix/sysv/linux/xstatconv.c b/sysdeps/unix/sysv/linux/xstatconv.c index c5fbf3d..27b528c 100644 --- a/sysdeps/unix/sysv/linux/xstatconv.c +++ b/sysdeps/unix/sysv/linux/xstatconv.c @@ -190,7 +190,7 @@ __xstat32_conv (int vers, struct stat64 *kbuf, struct stat *buf) buf->__pad1 = 0; #endif #ifdef _HAVE_STAT64___ST_INO -# ifndef __ASSUME_ST_INO_64_BIT +# if !__ASSUME_ST_INO_64_BIT if (kbuf->st_ino == 0) buf->st_ino = kbuf->__st_ino; else