From patchwork Mon Sep 5 17:31:55 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 665964 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 3sScHk345Jz9rxv for ; Tue, 6 Sep 2016 03:32:34 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=I+5g8Ayq; 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 :mime-version:content-type; q=dns; s=default; b=YseTltdFXNpDecF0 Vnck8lwos0yEV6PASsqVT0baFb3RJLlaMur7MIuVwXRsUjKOpx3qR812QmeU3JGX XkEqGO+6QcPigvhsAabQk+L8CF7i30kF3GZeA/tlNHSo7AeEWtKepdxoWysqurNH tWw1wcdi9kHlUVGVlLmfLPu/qdg= 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 :mime-version:content-type; s=default; bh=prR6kYs1gQMAUmYtWeoeSr 72sJk=; b=I+5g8Ayq8KFWiRMIPDREM3gDcZSsjgmdLmjv7zZQrC5isfGWS1WTED tsTMTiXc2PtdUqXfM1XiQS3l0RDsqHNnV+AbbX2998eRJkFTHRMoE/YdtLaIgGeA OZI0t/KyN8k+j52BQcaaTM4HByP3hya7OU3y3EiZOkQapFJ491u2s= Received: (qmail 36748 invoked by alias); 5 Sep 2016 17:32:28 -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 36736 invoked by uid 89); 5 Sep 2016 17:32:27 -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=H*r:sk:NAM01-B, H*r:sk:mail-by, H*r:104.47.34, 2574 X-HELO: NAM01-BY2-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] #define __ASSUME_ST_INO_64_BIT for all ports Date: Mon, 5 Sep 2016 20:31:55 +0300 Message-ID: <1473096715-12228-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-ClientProxiedBy: AM4PR02CA0011.eurprd02.prod.outlook.com (10.165.239.149) To SN1PR07MB2253.namprd07.prod.outlook.com (10.164.47.147) X-MS-Office365-Filtering-Correlation-Id: 1d76fa61-e630-48c7-72ec-08d3d5b293a8 X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2253; 2:K/zdxVlHfDnV9oGrRXEgz6ij0D9AdNok+EKvwBrUfQjDBoKteqMI4lBG52cz5uEbzMASvPoWzhSneO5ORFvn15q9M84Xk1sMJiTrbJzLHMxEf87KQQaRzcOx6dmrzbnMwRCD9a8RpjVQyz/x5FuoEnuMLPF6mhiAWSQGRJ60TsRGaFIo+ZLf8HIBhXrpw1Er; 3:P1z7lJFX6E/gf2q2yLKceSYLiO0eMnExWRqTz2lzcyKTa/FHza/vdIhG2B7Y36iX6Tv3/10A7+J5N1+WohYpObD2EKCXTKroFtHD/xAShONe7FN7njkrWLVfTURYE6iB; 25:nI8vK0UzwWY6mfolIW3OEx16FqP9rklUMU2LBoyUC5dCwOe7t1lv62Io7yLRmqrS7uifOZsQ+ANYelGQ4EvXAIs/PiifenSglfsdBMewvxmwv+yv/BomAjhOGErLdSin+58i6G4UUgiA/UWBqvEj+ldyrEog7Oq/JBKYZqo0NSlDStMrdPIaD86KPUD/ghOX4bdFEiHoeSKOc94fimjme2onzr/8vTSYy5R4CNSCc7G5llmb0UNqB3Jl71KyCDSiHKk/lLcz4IP18Pqj2cT3+MHY8Av5F4sos8pp5wJN62jlMEDoyinWU5VUquC/7SBTCf2vEdS+TH7x+XonezsS21jwOiG0wzjtghflHo4TWxiTCzXlcLlghQRJT40WYLFJkzun4nVdDCMYXHTUdiFb6HJnVwlVp+H1wAYm9iM/Xt4= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2253; X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2253; 31:4lPfO2qegQ0F43qIVxCegph9301/IEry3yljZYGebCP4rciiFf+kCYoqvt18e4gvKpi/CrHC3qVpkfAT5F1aIdG3JbNeJmR/NjaoBog1lnfbbf2szVGQvagmE1DzjqwZM0FRGCSSnVtmEVsT4A4QOK8yQV85wi2XrpEBYSrszwdUP+Ro4l0DHBptOc8JVSF8LHP8ks0dLDKsxFi76n9pzaso6tXDLt3PWARTznnv3rA=; 20:RggxunorMEnJUS75WJsHFV8yRWu8MujyMnx2+8HG7/rQP9edwhQ2XMO+GYnndMWwE1MBiR/T/6treeujnoZNqLV6I9yWURuWyKWenS4YuMcwecJJGcpq4+0gNRKWo9Kb8r91JkNWGtDBS5t3+9pNmmGV6w8z7ZvsE9HQD68rvWoK2QLYjT8y/gafdEmb8tHFVXyv+oJkeLzThq+aSuw5KuFcPOO3evol+7BgoAwK/S+rKlRmmUeSWCLl6OXllRJeWiMDo4+hJY+uI+ce80UdsPK+21MXRYqPb5A3ThcIfTrSnrHOARZDC2jNqJOE9gLwnXuvfdFyod/9PSJgKQK8pvhzqQhwabwJ33H9p7pccqx9aGXsFVHTyTltlwbGnU5wCYg8vEb6RuUq+ggwQdLZtMvnyjVDhOvoNLTheHkmKnjvXwnoAKh0EKDAY0+DeVuwmprHgq0B6AQqwj17dv4moCLnAbSb4i9yeJVZoB2poffOZAH2vOCgDsVLygTdWRRmMLKfjsQ74F/VMQhRjf9dALOgBhwbJ/KfD9TYhKNs0B7plBlyO7WFbme3oY14KER3SBzy0DpHHhQuEn1L4KxBi3BpM15NmvBTcNKn3Y6WAJo= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:SN1PR07MB2253; BCL:0; PCL:0; RULEID:; SRVR:SN1PR07MB2253; X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2253; 4:9aK93kOK4U53q0XGTyu4TEzOZXkQnRy18HrlbNhVDF2qb7NldE3XZLOVZI6J7P5h4LZQ0izW3XLJFBgoFeCsbA2+ARv8rn+LEJBJoxfZ6L6SmBufTiNjC5EH5aaci1cOVSTdZC/VI76ZZk3DmRzmcxAsC/nw1ekxuaViW7APfZM3amsFD88Mj5wrByKil+ZK66smh78r3iW/jxrAfUPVeXP/K9DqNwaYygUm06Zm7ZIfv6nQJ4ON6s7NIdwV/vqZrixRm2/YqDods4X+al8lsOBy5MZnmsBqsl+MSaPxcP0gu2kQF5Z3GcnBtQfcpiC3RW7k/XElDrkEtNV6FNJZI8UIbE8AqjIfakk4xWI+cZrPLf8V8nfPssxqNOZKbn3jJ+2wd5iP9G6RhnDJooo8anPWJSjIFPPsjMEHzNQybNU= X-Forefront-PRVS: 005671E15D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(199003)(189002)(77096005)(68736007)(2351001)(42186005)(101416001)(47776003)(105586002)(66066001)(5660300001)(76506005)(48376002)(7736002)(305945005)(7846002)(189998001)(50226002)(110136002)(107886002)(50986999)(19580395003)(19580405001)(3846002)(6116002)(92566002)(229853001)(575784001)(4001430100002)(2906002)(33646002)(50466002)(81156014)(81166006)(8676002)(586003)(5003940100001)(4326007)(106356001)(97736004)(36756003)(15760500001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR07MB2253; 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; SN1PR07MB2253; 23:jE8Z/HisZqf6HYGroqVlAoRJOaOtOwRojP4ztxAEp?= =?us-ascii?Q?CydOQg+OT5MuBAGg2T+umKvY2gEF26b47HYR7BCFhmgPn4z4LNvuPtVfnm6B?= =?us-ascii?Q?u02tGH8JoPZxhNvcNRsJJgTmTrOjaaCy36BOmDAIg7qpmcVGkwoqDtlg+cWx?= =?us-ascii?Q?7NsMDl2a7jIRAnQwb4b5oCkpEGSvN6EHD/MtyJ0gLLLwqyV7mHSfL0WFovrF?= =?us-ascii?Q?tKxb1gM2oLrX3X75fqQYj5JlOuX8GJawouvockOCwzvG74pjaoQLyveQl8+6?= =?us-ascii?Q?I0r9v5cPRcSfFO0+QBS5cAVjRSIsMkPvIvvPPaW2RxkEINBh/dbnzBf2sx5t?= =?us-ascii?Q?dchnglz9HhDrR8xEjDLLKtwonI3CEZI6V7zD1xzxx0TBdrPyiq9mSvx+4fPs?= =?us-ascii?Q?JlkMQkb4g02URMYOMSyNU67ve/0Z/Z16E1d6HSXuPP0YAxaclPdvXN60ZcWx?= =?us-ascii?Q?3rROHWcEh5yxxDx1zEO+2a2OpHb32k8DLufavA75PNlyLcGlT4A8O0ZebjzT?= =?us-ascii?Q?hqNf107Aylpr4EP0sOlNtFMILn9QMt/IUSu4dKDyru6/3Zr4uT35Qg2JAR/O?= =?us-ascii?Q?6E+4KeNUr0wPEwGkWcp86WVq3wUZnIQuFPZN6sPP0k6kEVNQIuvzuhWx9Jjw?= =?us-ascii?Q?5ZYOwwEGiUpmKoR6ZkEWnGSwshXoUKw5x2auZNU6UCn4qOuN0V2i4+zo/arm?= =?us-ascii?Q?6fgZzYGqHD/HU41JbG2mLUn+lbnaxRO9MTd8F+j8UL3rVJ/vKr7cZhkyUSLe?= =?us-ascii?Q?FD40PhZH6t8pVlS42UdLut0Q/dxH0IM5h4AnHWQpGQohcZ5d1z8dL/6WzbgH?= =?us-ascii?Q?tCnKQJsqIL7M0ZAY00dkbzUq5ONQpo/p4QRy+dgWr6VuUjD1TddPSGcFgA7G?= =?us-ascii?Q?OKPnyaMuiyyGSnSWy/u5EOr8VArjBgtsk3RyxqN+qZJPzqmcuoS/iDLw5/EF?= =?us-ascii?Q?iWIsEGxMa3OkDuX5cU4IbI5ly53Ijr6JnsbjAHzSecn2hV/Kbl7mTwN0IFpX?= =?us-ascii?Q?nIaPdkwMjj2P1wDeckzzMxZABeY8svFMA5NIqsX2UcXHaKXXjPAkzxdTKYMH?= =?us-ascii?Q?XOZRrqVn2Aayo5c3lIDSl6FUj4rycLyBVNYHFmeAxqBU2VwNZscEwZXw6PAr?= =?us-ascii?Q?dpnWuVGQQUKzQWmedvxE41KIslpeIBMWTnn3mj87uSW7Odwv848ow=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR07MB2253; 6:X3m/H6a7qjXdZwYcwwspWciX6ueXgwiQcGQRMvl81fRv0wk39g7mRT2eVBLLN62ZlyNbKOOAZxrZ1KJw/WQ++wyoSsae6Y+luGosGxGZIGxGWLSk8KdM7OYi9Ca/RX6VsNEP1DSzbib9/FU0m9fxGUaTcX7A495H6tQ5OvrkqiWGZWnlP2+kJcSqNRvCPbtm18/jHZvJWP8IsKBEwhynKoaKNEjWGW8sbcSMWDODcaP6+gTXPoKU2bzPlVdd/LSJwBAep4riqgH0woLV7o9zUPY4XgR2CqaZtAiHdM1cEak=; 5:QISRSx7Muj8AiSK2it/eRznosOHDt9rOLZdhZ5xAJpuMawvFEMPp6gHJf082e90q7EY/TcVXRoxPeRU+EgQEDvZwVxc+MNyGtBwUosGNodY8VvdlnoauuOZtnXfQhLB7LrmKG/yeo64PdBkcQ0Zm8Q==; 24:biya7Rntn3oBKXrb5x0yRCKJl9CsUWOIbVrM04+VZQzg9sWu4q/8gu3rm4YD8en+6uA4QduiHSQBhtXOEqu0aAmnL6IpWALX2lo2HTX0YD8=; 7:S8OfWn5OZ/MG6QTjMyLrtT1d5gI6Erv42dlWSq6Q6E0CooQe0z+cMF6qOoKXsDObf2jy1j4U5F0zfoOqCpVArnNk9hKeQypFUPaSxufVkg+/gXK8yN0jvZGbDxM043DX1y72X2dplEu3KO0feYI5GCXdYjbj5Kr3Li3zYxPia7nXFgEtiqedOC9f40Kr6Zf+NYnFTu3Aqi0nkGAzvJMJN1xiFsCKU2KsvlSpqkVg7U5aoGAAZHbBmRVGZT17C42b SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2016 17:32:14.3583 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB2253 __ASSUME_ST_INO_64_BIT is defined for all ports that use stat syscall routines family under sysdeps/unix/sysv/linux except sh and alpha, and it breaks coding style rules. This patch defines __ASSUME_ST_INO_64_BIT for that ports, and replaces #ifdef with #if over the code where __ASSUME_ST_INO_64_BIT is used. * sysdeps/unix/sysv/linux/kernel-features.h: #define __ASSUME_ST_INO_64_BIT as 1 if not already defines. * 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. Signed-off-by: Yury Norov --- sysdeps/unix/sysv/linux/alpha/kernel-features.h | 4 ++-- sysdeps/unix/sysv/linux/fxstat64.c | 2 +- sysdeps/unix/sysv/linux/kernel-features.h | 2 ++ sysdeps/unix/sysv/linux/lxstat64.c | 2 +- sysdeps/unix/sysv/linux/sh/kernel-features.h | 6 +++--- sysdeps/unix/sysv/linux/xstat64.c | 2 +- sysdeps/unix/sysv/linux/xstatconv.c | 2 +- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/sysdeps/unix/sysv/linux/alpha/kernel-features.h index 732749e..5df67cc 100644 --- a/sysdeps/unix/sysv/linux/alpha/kernel-features.h +++ b/sysdeps/unix/sysv/linux/alpha/kernel-features.h @@ -20,9 +20,9 @@ #ifndef _KERNEL_FEATURES_H #define _KERNEL_FEATURES_H 1 -#include_next +#define __ASSUME_ST_INO_64_BIT 0 -#undef __ASSUME_ST_INO_64_BIT +#include_next /* 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/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 1d3b554..71ce57a 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -44,9 +44,11 @@ socket-related operations instead of separate syscalls. __ASSUME_SOCKETCALL is defined for such architectures. */ +#ifndef __ASSUME_ST_INO_64_BIT /* The changed st_ino field appeared in 2.4.0-test6. However, SH is lame, and still does not have a 64-bit inode field. */ #define __ASSUME_ST_INO_64_BIT 1 +#endif /* The statfs64 syscalls are available in 2.5.74 (but not for alpha). */ #define __ASSUME_STATFS64 1 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 ad05fc3..0bb66e4 100644 --- a/sysdeps/unix/sysv/linux/sh/kernel-features.h +++ b/sysdeps/unix/sysv/linux/sh/kernel-features.h @@ -37,10 +37,10 @@ #define __ASSUME_GETSOCKOPT_SYSCALL 1 #define __ASSUME_SETSOCKOPT_SYSCALL 1 +/* SH does not have a 64-bit inode field. */ +#define __ASSUME_ST_INO_64_BIT 0 + /* The sendmmsg syscall was added for SH in 3.0. */ #define __ASSUME_SENDMMSG_SYSCALL_WITH_SOCKETCALL 1 #include_next - -/* SH does not have a 64-bit inode field. */ -#undef __ASSUME_ST_INO_64_BIT 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