#define __ASSUME_ST_INO_64_BIT for all ports

Message ID 1473096715-12228-1-git-send-email-ynorov@caviumnetworks.com
State New, archived
Headers

Commit Message

Yury Norov Sept. 5, 2016, 5:31 p.m. UTC
  __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 <ynorov@caviumnetworks.com>
---
 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(-)
  

Patch

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 <kernel-features.h>
+#define __ASSUME_ST_INO_64_BIT 0
 
-#undef __ASSUME_ST_INO_64_BIT
+#include_next <kernel-features.h>
 
 /* 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 <kernel-features.h>
-
-/* 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