From 327792ce5709dd9f6cc8d15732c4af65705eff76 Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Mon, 7 Nov 2016 13:26:27 -0800 Subject: Define __ASSUME_ST_INO_64_BIT on all platforms. * 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. --- ChangeLog | 12 ++++++++++++ sysdeps/unix/sysv/linux/alpha/kernel-features.h | 1 + sysdeps/unix/sysv/linux/fxstat64.c | 2 +- sysdeps/unix/sysv/linux/lxstat64.c | 2 +- sysdeps/unix/sysv/linux/sh/kernel-features.h | 1 + sysdeps/unix/sysv/linux/xstat64.c | 2 +- sysdeps/unix/sysv/linux/xstatconv.c | 2 +- 7 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 49396f59e9..87559da072 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2016-11-07 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. + 2016-11-07 Florian Weimer * sysdeps/aarch64/nptl/bits/pthreadtypes.h (struct __pthread_mutex_s): diff --git a/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/sysdeps/unix/sysv/linux/alpha/kernel-features.h index 732749e845..f09222d225 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 5468dd6c60..8d102826c6 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 09a678a3a9..4d8c0a6ab4 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 c5240fafbd..ea4fdbc8bd 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 2075383ddf..00a4459f4f 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 c5fbf3d8bf..27b528ca11 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 -- cgit 1.4.1