From patchwork Thu Oct 27 20:41:45 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 16873 Received: (qmail 54338 invoked by alias); 27 Oct 2016 20:42:04 -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 54324 invoked by uid 89); 27 Oct 2016 20:42:03 -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=Updated X-HELO: NAM01-SN1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Message-ID: <1477600905.15823.9.camel@caviumnetworks.com> Subject: [PATCH] Updated version of define for __ASSUME_ST_INO_64_BIT From: Steve Ellcey To: , Date: Thu, 27 Oct 2016 13:41:45 -0700 MIME-Version: 1.0 X-ClientProxiedBy: BY2PR04CA042.namprd04.prod.outlook.com (10.141.249.160) To DM2PR0701MB1068.namprd07.prod.outlook.com (10.160.26.21) X-MS-Office365-Filtering-Correlation-Id: 92d6c2f8-1fc3-4f4b-b996-08d3fea9adb5 X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB1068; 2:SiVv76P+iZEjYNDdmEH+zgHneusAS07CkkzfQLDa/5yxNWMRZe1ZNg/ElM8m0Ntvf6ge75uti7ttLiVRKlP9nA7l/ETv1iw/5qshtC/HPoxeKu6W7yxwHQ+XUidOgQOMHjwp/pu/3G6OHj7CMBn9uZpd1VereRi3LFYfrrrmOEMggkisbGtDSahTNXlazDkraocP36ttOfeLdPK8BkwQ/Q==; 3:RiLUQz5BaP+tGqEEOoJSltiyi5DCk24x9yNxeTewgnfb9qsZdm1NZFXuvoH7cZpdy20IqDzDFyw8J0qGVJ3KcVEY+y2Sn0w0VyBr8RQ5IUT29yicSRLIqRvW2Ck97ukpsFjHcoB380ca1Hy/xvwJfw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0701MB1068; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB1068; 25:OE36J9ATkevaOm0/9aNkEVpAsBRMxhRCrbdswkJ4b3e/1hBXDVNaPvlSIaPEJKwjMgdxLWbP76NkAY0yTz41mVHV6sM4MCUXDvhRCXpemtQQ2tEbPLvK0SxU9rrFRjq6Gt2jaUkUP0UegNEqq0BuQvy66oKEZnDOrrx1Uoglj9gj3RIhNzhv03vzpZasq7MPsUNswo4tR+efslV89JQpLlGcOTImJaEVKI3Jj9bXZPYinGMle9rUBy8TOjkUSOSvsOIDiw3bHeDHgD0fm3kBfbfmNpmXdpZa2YmEiqNboMDflijqp1NK8wU6jr04YxN3MbKTxwW/ChnkT5rWVxW8APkZA27LWxGCItuTCFnBKS4MHojYZndHPJKxFNYduBnUGVW0C2VGAKcWO3uPh8EQN9e+3RHphv5wEPjdsGL4Ntp/pU5JvurX6cLAVGnQITq8h0BvxUEpufxtMggJohzFQUWEMA1ABAtnxZ/4UtE3puocYLDykqJXJekQCb8+ISZYxgsC/xmaiVysOA+Lu103sk4MPAnIc21kOfH6LHekjn6n4vGs/pdMt1wv8NMOjEaeRCg5YqkB88cXzj585lNpV63/MELaXKcI7pZ53UqFmYjr2PYpNbiST6S+E8XofGHdQ+6ewL0HnGlesn3rkKXy4MrMIN1iH/MsOOvQJ/pmEMker4dcOGj4dSLLleXb2Nc/QHkez5wWM1Cvh2C49GTIlBvY9hVA2okQ5QrcgOY7Bz0tf4aee1YTRPBsNqSJqWStjxM/trR6Y3Lx32irxlaGfWWbSqNznvNS5YjYhbY5oEXaKfvKHpbxtXLRSw+rYdSgNC0O+Lwen8ImuT5iZPEYyN5wHHSb2TI4V02L5GrufXJ8jWFxUoY0FrSbhYZMpwsfbNqt7QAe4u/VBZympA95nhOzsiWag66Z4NICwcsLkfgR2phLRcD/m6qOOjFxPbFX X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB1068; 31:o7xq0I3bgdabIT7zcrlaYHvHN1AM50K6bmbz+5MK4hqmTP/GNDEXZMH9wnMAhuoJf6bU4/r5/CVV08V2iqveUf9a2TSHklKkUfQ7wkUD9Pk2tnRHVs8aGScMVXDHMqlcHIZVnZHZp6lTWvxcdLPu/Mx3AquDaa0ELnSKgcCRdVeZ2lLxejZ9uJTs92RwhltV5aeqxUzJm5xkMqJhZkUVJMq0BdCfSC42+SHe54uW+LjZ80TFhhEJuyK8/Vc3VsCnj9RunDcsYCTqIQSQNGeLDx0nDV65th5zX0UoCmPIS8iCHC+2vof2fvnNh3MDsqTW; 20:M3AsZ/Osv66BXVVjmnkgTWOEJirkJ+M8o1X9ffjGZSxP8AH4GVi9hvS88Hduop8rDFQ5N1XACMbH2dOSXr/CcjO5fXwJfCQG1/r/0hc7p0IXFG+CY0BuLJyTSjxhw1jNsiFKiB/B0pe7Vz23IXzMQUxe1g4Claa3SdRECv3Uy/MwmpUc/CrfTBAt9fWj3BMS98Trj8froSWCPiIqZNrN+6yE+4jton1x518zYkZMYGXfYIpxjKZQc/Jqag/v9P8/NBKO9Qr/mf7+mWtNvFGCMnnQ5JaOc/cd2DsoN6hv5nEFQpVdvxvAgGBh57cLnHAK8qFHAQMw/A+x4k5MzUE+HtCXis4MHAnQg51mFUjTDzETZM9BvNwbgSIuLQw9EycOKaYyPVbKRoFOLUqF6ao5J/eflVkev6kxb4wCuAqhdUIKRWn4YDlMuQq4SMuKGI6L59Wc/fjUVkSGFU0Yb/q+gmJRKa8aIuMYG15Od5+NGD40xMW2Pv1iSThRkemS2xI+6vSBpv8fHgC28ClbRWhjwsUvJfm0Zn1AnTINQgPmnrUtbCKmo1XtyB8tVAseq8gMNUfoKqsIG9dl5bjgieAPME68P9BjpoUOROm5tcEjXIo= 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)(8121501046)(5005006)(10201501046)(3002001); SRVR:DM2PR0701MB1068; BCL:0; PCL:0; RULEID:; SRVR:DM2PR0701MB1068; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB1068; 4:Y6faLc0M9YmWDe32YJSmua7fwk4AdcBtDAfN2ca20BCS3gbJq//GzrCyc9IJJLE1tvDQyyNUISBrWe7hTOxKANfe8KIboO9/XZq/dqW3xGIubl8nl+11ZmnTKQqnyGQCVn2opWGIDaiCxJ43F694Oyvpg2VlYYfJHoQAKWBShGfolX/XkVOBN+HCFEYPcpuPDnr5053M20TvfBD6t5ZdToEe6qW8irX8iCkuNktNphFao4U2pM751DziXLev4mbPMESdKGgjJOfMk2QZbCLbLB2FK0OCx/LF77VIckAjm86QFfT0dBalrSUVjNTJAvGnzeTPOra5tAksZVGRZqdZPc8P+s8saBrN6UAz0Dua8FoUIcIUGCtzhHNsEFLG2kKafkopJFs89UPTPzpGMKjcbetKJ4ZjbuutC3LlceJ3he1XiUzklRrGLb091i//+oq3dDjaIuPzF4wNQr7d55lKLw== X-Forefront-PRVS: 0108A997B2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(7916002)(51444003)(199003)(377424004)(189002)(42186005)(7736002)(6666003)(92566002)(53416004)(6636002)(103116003)(4001150100001)(6862003)(97736004)(5001770100001)(69596002)(2476003)(229853001)(105586002)(305945005)(84326002)(19580395003)(106356001)(512874002)(36756003)(586003)(19580405001)(6116002)(3846002)(5890100001)(8676002)(68736007)(50226002)(81166006)(81156014)(33646002)(2906002)(7846002)(107886002)(42882006)(66066001)(189998001)(450100001)(50986999)(5660300001)(77096005)(101416001)(4610100001)(568964002)(15975445007)(99106002)(15760500001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0701MB1068; H:sellcey-lt.caveonetworks.com; 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; DM2PR0701MB1068; 23:mOH+veMkzboBZu84tMDqm2WvJlonj/N1zPzCbeR?= =?us-ascii?Q?K5D0G4e5yRfpDbfFQE94DPIwoxlFKWvP+i+ea/Exchhc4+S66/1FUP8BUHiI?= =?us-ascii?Q?6YuALX5k0eUr7rfnSP5l91dDBAK9mlFF8tClTO/3BHCDMV0UQbV89xml3AD6?= =?us-ascii?Q?+YoMVNUGCJwfDEXf9nazwC2wk5J/l/4q+YIIxt/DIjT/1Gs07bVi+M5m3UAQ?= =?us-ascii?Q?Z8jnMfQ4vLa4OTSTacg6odsHSADp8wHKElinlObrfJYGRLCiKDN1iVTM+ksT?= =?us-ascii?Q?xmSZY/WAoXeiGn5r/++uT/aXhaibYpWBlVKADKi+0P8dwq1ob8RLKSccE5Ll?= =?us-ascii?Q?mLdme2dvNzeWkRqL9pI0tfR6plbleHaS/4fSPgrIsutJ19iV7SV8wc8w1X2Z?= =?us-ascii?Q?tZFpfe5eEVJXTzE7/Ulx4gVmj+ydN24zIHWtyFf8eKwe7T2wwCSfi/ceAhbO?= =?us-ascii?Q?KFDl/RvSj7SyuV7hGq64LxlFlAWt1arjqMJJNeTiS5QZy3pzfizyaMPRrcO+?= =?us-ascii?Q?ze92sDbaSsm+2uCthh2pAykeIHvnaIRjPwfddQU42W6znfVxvypDaYFF54X9?= =?us-ascii?Q?XNXe9Lh19E+d3MznR162g5pGx4N0vwkHRJwkrD0RDILbWKNXWNU4i/TGbnyX?= =?us-ascii?Q?zMeqSaSz+T8O+o+o7qnTCRaHdQ7s+Fc5hgMe8O2IsnKBVsmqaY78JhlRW+5y?= =?us-ascii?Q?g2Gav/Gy25zYuNXP0u50LrALBuK88g8SsdpuLlGIPqyvRVUN/TYSxJQVpn01?= =?us-ascii?Q?AfgQt4W9EXw8VZTByyeJ2eSDkGZlwEPz2Gp56oSOySZClz0qF543Ub2FEIt7?= =?us-ascii?Q?RNON8R9SN/lvF4+cQBDPyh3ZoMgs6ezqZXcSbxP6s+UBhjW4+cICd3CjCboV?= =?us-ascii?Q?pbe00yJ+sTvIXVyceXePDsexlJQWKpLC3JfwHTYF3yH9rxKdKWU4mhKh3DPz?= =?us-ascii?Q?TQayfcBq8Ye65lsIC0Q8zPLSB9yVLsIqayJ51frLY2myC2uQ6IHwKqkttl8i?= =?us-ascii?Q?l5ly7BY6ECW2cRVDv/3f696IB3T2hBZJDNbIOgSbhunuGzSmYysP4cOqnMlN?= =?us-ascii?Q?Sf0XKAGJ4ftaFVoF87VPLTqgUKJB82kbgJCwUBmCojh6ofY8CVJndSkZ2q/A?= =?us-ascii?Q?IijlaHBmTt4hxsuWj2YfO93NuITTojOaXeh85T1+LReIFrIii8jm/Beclyac?= =?us-ascii?Q?ntnUY2uhruu/kMA6XXJwtCq4E1NDU0+1sRW1+s038smMmE8XH0GTsXji2ZTQ?= =?us-ascii?Q?WyMQEQuk7W6h2KUie+kq1FBuhm06IYaPxq+RHz7Ms4Nr+1A0x4UL0HTWe6ZU?= =?us-ascii?Q?4oAPuaQ0+Edgr9zOYsxBhk7nWGDh6lipXyFQu5j65ELbLcg7Wab4fyhnRn64?= =?us-ascii?Q?gCNloLE8BhYX8jWbAgF88IBxVp0k=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0701MB1068; 6:zvR+fcz5+fMg3L7OW9KOky1+FOTJWef5z2+iIrSQ23BAm/Q9hLcN6Ty8r4thBBBhhvehvTg9jAOGEdcst215zo8yYAZhLDUdGhZFRglLp6366x7thEriz7hh5rID53i1/O9bTmjrZbxaHQ99DQIcmuziAdWReuyyln6I7RVSUYPkxnUQZELmqm/i4tMUrplOz7ZOQVn7rHDCZeAEhcMDpod+IXlRFVMjGNdebkm69G6l7sIU+88d5ugEWvMWhiRWg2nRcLRE/CVUJbsy0ci7kNMzDPf9ZXMHVfHxdsxZGo1PB8wz7CfypznEC551Jgoy; 5:oDZNwAfqyQg4RQrPKCacMiksKmbSXwTLjnKNr+WvnKfHq5xXCTmoTz+oU3HTfQMZhcmJO0vbj0Mf4nvbWscdoBYR1pq4JgBDzNarnguH36se4fh8XACAhZqs1/vMSzWLt4ImsyqlDGre1LlKkORnmQ==; 24:BA0QXgtop9EVz/lQsob2SNboZrplli/SihpHqNgBToVn2nFvKztYzI/Fzqqn2zjqxkuak12PKVW7tmkds6DIJHlHE0j2rx7pCeJZq0cA1Ew=; 7:uflo/xADUdZqHdh72ATylRYrKRSflhLvTTPmSQo+eWCTaZGncSnC7+iH1UW8LtcXIVvUiA8iVnp3ovld4oIErYp89EKGINE1t0Wdr9e467FDI7Ni/rp3cXTXkaF92Ei48VatY1sJgHNb1M2ingSYF4UBoDpW4wVpF6zhHTEG4yhEmdvHCosHI2N19RQPdxpTLuWXoT48BkUhjUiQkGOqPT3uYOlkK4EyvpAKomozZA8CiP8s+ZEb4YRI/NGdzGiFlWSroP+7BhuXmbz6XZHI0WRr1yUToYSS0mQfiF9BOPSEy9O6K2r+UJIzIpuhOx3xOGlymX638UPCHIxztNoG3XAzZMyWWhCBfDhuIder0d4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2016 20:41:50.4886 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0701MB1068 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