public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Use XSTAT_IS_XSTAT64 in generic xstat functions
@ 2016-11-10 21:06 Steve Ellcey
  2016-11-21 19:21 ` Steve Ellcey
  0 siblings, 1 reply; 4+ messages in thread
From: Steve Ellcey @ 2016-11-10 21:06 UTC (permalink / raw)
  To: libc-alpha

[-- Attachment #1: Type: text/plain, Size: 1614 bytes --]

Here is an xstat patch to allow the 32 bit generic xstat functions
in sysdeps/unix/sysv/linux/generic/wordsize-32 be aliases of the 64
bit versions.  This is similar to what is done for the non-generic xstat
functions and uses the same macro, XSTAT_IS_XSTAT64, to control if they
are aliased or not.

I tested this on x86 and aarch64 using the top-of-tree sources where it
has no affect and on aarch64 with the rest of the ILP32 patches where
it is used and there were no regressions.

As with the earlier statfs patches I don't know if we want to stick with
this defined/undefined use of XSTAT_IS_XSTAT64 that already exists or
if I should change it to be defined all the time to either 0 or 1. For
this patch, I left it as is.

OK to checkin?

Steve Ellcey
sellcey@caviumnetworks.com


2016-11-10  Yury Norov  <ynorov@caviumnetworks.com>
	    Steve Ellcey  <sellcey@caviumnetworks.com>

	* sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c: Do not define
	fxstat if XSTAT_IS_XSTAT64 is defined.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c: Ditto for
	fxstatat.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c: Ditto for
	lxstat.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c: Ditto for xstat.

	* sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c: New file.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c: Make __lxstat
	an alias of __lxstat64 if XSTAT_IS_XSTAT64 is defined.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c: Ditto for
	__xstat.


[-- Attachment #2: xstat.patch --]
[-- Type: text/x-patch, Size: 7837 bytes --]

diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
index dd52011..ac015c0 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
@@ -25,6 +25,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#ifndef XSTAT_IS_XSTAT64
 #include "overflow.h"
 
 /* Get information about the file FD in BUF.  */
@@ -43,3 +44,4 @@ __fxstat (int vers, int fd, struct stat *buf)
 
 hidden_def (__fxstat)
 weak_alias (__fxstat, _fxstat);
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
index e69de29..00f9119 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
@@ -0,0 +1,36 @@
+/* __fxstat64 () implementation.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Hide the prototypes for __fxstat and _fxstat so that GCC will not
+   complain about the different function signatures if they are aliased
+   to  __fxstat64.  If XSTAT_IS_XSTAT64 is set then the stat and
+   stat64 structures have an identical layout but different type names.  */
+
+#define __fxstat __fxstat_disable
+#define _fxstat _fxstat_disable
+
+#include <sysdeps/unix/sysv/linux/fxstat64.c>
+
+#undef __fxstat
+#undef _fxstat
+#ifdef XSTAT_IS_XSTAT64
+weak_alias (__fxstat64, __fxstat)
+weak_alias (__fxstat64, _fxstat)
+hidden_ver (__fxstat64, __fxstat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
index dc7f934..b00f65d 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
@@ -26,6 +26,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#ifndef XSTAT_IS_XSTAT64
 #include "overflow.h"
 
 /* Get information about the file NAME in BUF.  */
@@ -42,3 +43,4 @@ __fxstatat (int vers, int fd, const char *file, struct stat *buf, int flag)
   return -1;
 }
 libc_hidden_def (__fxstatat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c
index e69de29..2d72fb1 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c
@@ -0,0 +1,37 @@
+/* __fxstatat64 () implementation.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Hide the prototype for __fxstatat so that GCC will not complain about
+   the different function signature if it is aliased to  __fxstatat64.
+   If XSTAT_IS_XSTAT64 is set then the stat and stat64 structures have an
+   identical layout but different type names.  */
+
+#define __fxstatat __fxstatat_disable
+
+#include <sys/stat.h>
+#undef _STAT_VER_LINUX
+#define _STAT_VER_LINUX _STAT_VER_KERNEL
+
+#include <sysdeps/unix/sysv/linux/fxstatat64.c>
+
+#undef __fxstatat
+#ifdef XSTAT_IS_XSTAT64
+weak_alias (__fxstatat64, __fxstatat)
+libc_hidden_ver (__fxstatat64, __fxstatat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
index 395f98b..4fec6c9 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
@@ -25,6 +25,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#ifndef XSTAT_IS_XSTAT64
 #include "overflow.h"
 
 /* Get information about the file NAME in BUF.  */
@@ -41,3 +42,4 @@ __lxstat (int vers, const char *name, struct stat *buf)
   return -1;
 }
 hidden_def (__lxstat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
index e1c15a8..49ed940 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
@@ -16,6 +16,13 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* Hide the prototype for __lxstat so that GCC will not complain about
+   the different function signature if it is aliased to  __lxstat64.
+   If XSTAT_IS_XSTAT64 is set then the stat and stat64 structures have an
+   identical layout but different type names.  */
+
+#define __lxstat __lxstat_disable
+
 #include <errno.h>
 #include <stddef.h>
 #include <fcntl.h>
@@ -36,3 +43,9 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf)
   return -1;
 }
 hidden_def (__lxstat64)
+
+#undef __lxstat
+#ifdef XSTAT_IS_XSTAT64
+strong_alias (__lxstat64, __lxstat)
+hidden_ver (__lxstat64, __lxstat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
index fdd2cb0..8fc13bd 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
@@ -25,6 +25,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#ifndef XSTAT_IS_XSTAT64
 #include "overflow.h"
 
 /* Get information about the file NAME in BUF.  */
@@ -41,3 +42,4 @@ __xstat (int vers, const char *name, struct stat *buf)
   return -1;
 }
 hidden_def (__xstat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
index 2252337..75a90f0 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
@@ -16,6 +16,13 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* Hide the prototype for __xstat so that GCC will not complain about
+   the different function signature if it is aliased to  __xstat64.
+   If XSTAT_IS_XSTAT64 is set then the stat and stat64 structures have an
+   identical layout but different type names.  */
+
+#define __xstat __xstat_disable
+
 #include <errno.h>
 #include <stddef.h>
 #include <fcntl.h>
@@ -36,3 +43,9 @@ __xstat64 (int vers, const char *name, struct stat64 *buf)
   return -1;
 }
 hidden_def (__xstat64)
+
+#undef __xstat
+#ifdef XSTAT_IS_XSTAT64
+strong_alias (__xstat64, __xstat)
+hidden_ver (__xstat64, __xstat)
+#endif

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Use XSTAT_IS_XSTAT64 in generic xstat functions
  2016-11-10 21:06 [PATCH] Use XSTAT_IS_XSTAT64 in generic xstat functions Steve Ellcey
@ 2016-11-21 19:21 ` Steve Ellcey
  2016-11-28 18:52   ` Steve Ellcey
  2016-11-29 15:16   ` Andreas Schwab
  0 siblings, 2 replies; 4+ messages in thread
From: Steve Ellcey @ 2016-11-21 19:21 UTC (permalink / raw)
  To: libc-alpha

[-- Attachment #1: Type: text/plain, Size: 1698 bytes --]

Here is a new version of my patch to use XSTAT_IS_XSTAT64 in generic 32
bit xstat routines.  This is needed for the aarch64 ILP32 work where
the xstat and xstat64 routines can be aliased.  This patch uses #if's
instead of #ifdef's since my earlier patch defined XSTAT_IS_XSTAT64 to
0 or 1 in all of the kernel_stat.h header files.

Tested on x86 and aarch64.  OK to checkin?

Steve Ellcey
sellcey@caviumnetworks.com


2016-11-21  Yury Norov  <ynorov@caviumnetworks.com>
            Steve Ellcey  <sellcey@caviumnetworks.com>

        * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c: Do not define
        fxstat if XSTAT_IS_XSTAT64 is set to non-zero.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c: Ditto for
        fxstatat.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c: Ditto for
        lxstat.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c: Ditto for xstat.

        * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c: New file.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c: New file.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c: Make __lxstat
        an alias of __lxstat64 if XSTAT_IS_XSTAT64 is set to non-zero.
        * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c: Ditto for
        __xstat.

[-- Attachment #2: xstat.patch --]
[-- Type: text/x-patch, Size: 7861 bytes --]

diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
index dd52011..0a689a8 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c
@@ -25,6 +25,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#if !XSTAT_IS_XSTAT64
 #include "overflow.h"
 
 /* Get information about the file FD in BUF.  */
@@ -43,3 +44,4 @@ __fxstat (int vers, int fd, struct stat *buf)
 
 hidden_def (__fxstat)
 weak_alias (__fxstat, _fxstat);
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
index e69de29..bb97a70 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c
@@ -0,0 +1,36 @@
+/* __fxstat64 () implementation.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Hide the prototypes for __fxstat and _fxstat so that GCC will not
+   complain about the different function signatures if they are aliased
+   to  __fxstat64.  If XSTAT_IS_XSTAT64 is set to non-zero then the stat and
+   stat64 structures have an identical layout but different type names.  */
+
+#define __fxstat __fxstat_disable
+#define _fxstat _fxstat_disable
+
+#include <sysdeps/unix/sysv/linux/fxstat64.c>
+
+#undef __fxstat
+#undef _fxstat
+#if XSTAT_IS_XSTAT64
+weak_alias (__fxstat64, __fxstat)
+weak_alias (__fxstat64, _fxstat)
+hidden_ver (__fxstat64, __fxstat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
index dc7f934..aaed6db 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c
@@ -26,6 +26,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#if !XSTAT_IS_XSTAT64
 #include "overflow.h"
 
 /* Get information about the file NAME in BUF.  */
@@ -42,3 +43,4 @@ __fxstatat (int vers, int fd, const char *file, struct stat *buf, int flag)
   return -1;
 }
 libc_hidden_def (__fxstatat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c
index e69de29..dac2ad1 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c
@@ -0,0 +1,37 @@
+/* __fxstatat64 () implementation.
+   Copyright (C) 2016 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Hide the prototype for __fxstatat so that GCC will not complain about
+   the different function signature if it is aliased to  __fxstatat64.
+   If XSTAT_IS_XSTAT64 is set to non-zero then the stat and stat64 structures
+   have an identical layout but different type names.  */
+
+#define __fxstatat __fxstatat_disable
+
+#include <sys/stat.h>
+#undef _STAT_VER_LINUX
+#define _STAT_VER_LINUX _STAT_VER_KERNEL
+
+#include <sysdeps/unix/sysv/linux/fxstatat64.c>
+
+#undef __fxstatat
+#if XSTAT_IS_XSTAT64
+weak_alias (__fxstatat64, __fxstatat)
+libc_hidden_ver (__fxstatat64, __fxstatat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
index 395f98b..dd0338b 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c
@@ -25,6 +25,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#if !XSTAT_IS_XSTAT64
 #include "overflow.h"
 
 /* Get information about the file NAME in BUF.  */
@@ -41,3 +42,4 @@ __lxstat (int vers, const char *name, struct stat *buf)
   return -1;
 }
 hidden_def (__lxstat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
index e1c15a8..7407c6b 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
@@ -16,6 +16,13 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* Hide the prototype for __lxstat so that GCC will not complain about
+   the different function signature if it is aliased to  __lxstat64.
+   If XSTAT_IS_XSTAT64 is set to non-zero then the stat and stat64
+   structures have an identical layout but different type names.  */
+
+#define __lxstat __lxstat_disable
+
 #include <errno.h>
 #include <stddef.h>
 #include <fcntl.h>
@@ -36,3 +43,9 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf)
   return -1;
 }
 hidden_def (__lxstat64)
+
+#undef __lxstat
+#if XSTAT_IS_XSTAT64
+strong_alias (__lxstat64, __lxstat)
+hidden_ver (__lxstat64, __lxstat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
index fdd2cb0..b776e31 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c
@@ -25,6 +25,7 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#if !XSTAT_IS_XSTAT64
 #include "overflow.h"
 
 /* Get information about the file NAME in BUF.  */
@@ -41,3 +42,4 @@ __xstat (int vers, const char *name, struct stat *buf)
   return -1;
 }
 hidden_def (__xstat)
+#endif
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
index 2252337..e710931 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c
@@ -16,6 +16,13 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* Hide the prototype for __xstat so that GCC will not complain about
+   the different function signature if it is aliased to  __xstat64.
+   If XSTAT_IS_XSTAT64 is set to non-zero then the stat and stat64
+   structures have an identical layout but different type names.  */
+
+#define __xstat __xstat_disable
+
 #include <errno.h>
 #include <stddef.h>
 #include <fcntl.h>
@@ -36,3 +43,9 @@ __xstat64 (int vers, const char *name, struct stat64 *buf)
   return -1;
 }
 hidden_def (__xstat64)
+
+#undef __xstat
+#if XSTAT_IS_XSTAT64
+strong_alias (__xstat64, __xstat)
+hidden_ver (__xstat64, __xstat)
+#endif

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Use XSTAT_IS_XSTAT64 in generic xstat functions
  2016-11-21 19:21 ` Steve Ellcey
@ 2016-11-28 18:52   ` Steve Ellcey
  2016-11-29 15:16   ` Andreas Schwab
  1 sibling, 0 replies; 4+ messages in thread
From: Steve Ellcey @ 2016-11-28 18:52 UTC (permalink / raw)
  To: libc-alpha

Ping.  I double checked this patch and did a alpha build with the
build-many-glibcs.py script to make sure it did not have the same
problem that my [f]statfs patch had on that target.

Steve Ellcey
sellcey@caviumnetworks.com

On Mon, 2016-11-21 at 11:21 -0800, Steve Ellcey wrote:
> Here is a new version of my patch to use XSTAT_IS_XSTAT64 in generic 32
> bit xstat routines.  This is needed for the aarch64 ILP32 work where
> the xstat and xstat64 routines can be aliased.  This patch uses #if's
> instead of #ifdef's since my earlier patch defined XSTAT_IS_XSTAT64 to
> 0 or 1 in all of the kernel_stat.h header files.
> 
> Tested on x86 and aarch64.  OK to checkin?
> 
> Steve Ellcey
> sellcey@caviumnetworks.com
> 
> 
> 2016-11-21  Yury Norov  <ynorov@caviumnetworks.com>
>             Steve Ellcey  <sellcey@caviumnetworks.com>
> 
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c: Do not define
>         fxstat if XSTAT_IS_XSTAT64 is set to non-zero.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c: Ditto for
>         fxstatat.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c: Ditto for
>         lxstat.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c: Ditto for xstat.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c: New file.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c: New file.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c: Make __lxstat
>         an alias of __lxstat64 if XSTAT_IS_XSTAT64 is set to non-zero.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c: Ditto for
>         __xstat.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Use XSTAT_IS_XSTAT64 in generic xstat functions
  2016-11-21 19:21 ` Steve Ellcey
  2016-11-28 18:52   ` Steve Ellcey
@ 2016-11-29 15:16   ` Andreas Schwab
  1 sibling, 0 replies; 4+ messages in thread
From: Andreas Schwab @ 2016-11-29 15:16 UTC (permalink / raw)
  To: Steve Ellcey; +Cc: libc-alpha

On Nov 21 2016, Steve Ellcey <sellcey@caviumnetworks.com> wrote:

> 2016-11-21  Yury Norov  <ynorov@caviumnetworks.com>
>             Steve Ellcey  <sellcey@caviumnetworks.com>
>
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat.c: Do not define
>         fxstat if XSTAT_IS_XSTAT64 is set to non-zero.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c: Ditto for
>         fxstatat.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat.c: Ditto for
>         lxstat.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat.c: Ditto for xstat.
>
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstat64.c: New file.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat64.c: New file.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c: Make __lxstat
>         an alias of __lxstat64 if XSTAT_IS_XSTAT64 is set to non-zero.
>         * sysdeps/unix/sysv/linux/generic/wordsize-32/xstat64.c: Ditto for
>         __xstat.

Ok.

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-11-29 15:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-10 21:06 [PATCH] Use XSTAT_IS_XSTAT64 in generic xstat functions Steve Ellcey
2016-11-21 19:21 ` Steve Ellcey
2016-11-28 18:52   ` Steve Ellcey
2016-11-29 15:16   ` Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).