xstat: only check to see if __ASSUME_ST_INO_64_BIT is defined

Message ID 1452128049-24400-1-git-send-email-vapier@gentoo.org
State Committed
Headers

Commit Message

Mike Frysinger Jan. 7, 2016, 12:54 a.m. UTC
  We define __ASSUME_ST_INO_64_BIT by default for Linux targets, and then
undef it for alpha/sh targets.  But the code that uses it looks at its
value (as 0/1) rather than whether it's defined (like all other assume
knobs).  Change the code to see if it's defined to fix build Wundef build
errors for alpha/sh.
---
 sysdeps/unix/sysv/linux/fxstat64.c  | 2 +-
 sysdeps/unix/sysv/linux/lxstat64.c  | 2 +-
 sysdeps/unix/sysv/linux/xstat64.c   | 2 +-
 sysdeps/unix/sysv/linux/xstatconv.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
  

Comments

Florian Weimer Jan. 7, 2016, 11:40 a.m. UTC | #1
On 01/07/2016 01:54 AM, Mike Frysinger wrote:
> We define __ASSUME_ST_INO_64_BIT by default for Linux targets, and then
> undef it for alpha/sh targets.  But the code that uses it looks at its
> value (as 0/1) rather than whether it's defined (like all other assume
> knobs).  Change the code to see if it's defined to fix build Wundef build
> errors for alpha/sh.

Looks good, but needs a ChangeLog entry.

Thanks,
Florian
  
Mike Frysinger Jan. 7, 2016, 7:40 p.m. UTC | #2
On 07 Jan 2016 12:40, Florian Weimer wrote:
> On 01/07/2016 01:54 AM, Mike Frysinger wrote:
> > We define __ASSUME_ST_INO_64_BIT by default for Linux targets, and then
> > undef it for alpha/sh targets.  But the code that uses it looks at its
> > value (as 0/1) rather than whether it's defined (like all other assume
> > knobs).  Change the code to see if it's defined to fix build Wundef build
> > errors for alpha/sh.
> 
> Looks good, but needs a ChangeLog entry.

done, thanks
-mike
  

Patch

diff --git a/sysdeps/unix/sysv/linux/fxstat64.c b/sysdeps/unix/sysv/linux/fxstat64.c
index d48355f..5468dd6 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 && __ASSUME_ST_INO_64_BIT == 0
+#if defined _HAVE_STAT64___ST_INO && !defined __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 581f0e8..09a678a 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 && __ASSUME_ST_INO_64_BIT == 0
+#if defined _HAVE_STAT64___ST_INO && !defined __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/xstat64.c b/sysdeps/unix/sysv/linux/xstat64.c
index 0a29544..2075383 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 && __ASSUME_ST_INO_64_BIT == 0
+#if defined _HAVE_STAT64___ST_INO && !defined __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 9d775f6..c5fbf3d 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
-# if __ASSUME_ST_INO_64_BIT == 0
+# ifndef __ASSUME_ST_INO_64_BIT
 	if (kbuf->st_ino == 0)
 	  buf->st_ino = kbuf->__st_ino;
 	else