From: Steve Ellcey Date: Mon, 7 Nov 2016 21:26:27 +0000 (-0800) Subject: Define __ASSUME_ST_INO_64_BIT on all platforms. X-Git-Tag: glibc-2.25~333 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=327792c;p=thirdparty%2Fglibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index 49396f59e9a..87559da0720 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 732749e845d..f09222d2259 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 5468dd6c608..8d102826c6c 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 09a678a3a93..4d8c0a6ab41 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 c5240fafbd5..ea4fdbc8bd1 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 2075383ddfe..00a4459f4f1 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 c5fbf3d8bf4..27b528ca11a 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