summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c')
-rw-r--r--sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
index e1c15a8cc2..761dd16233 100644
--- a/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
+++ b/sysdeps/unix/sysv/linux/generic/wordsize-32/lxstat64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
@@ -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