aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/wordsize-64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-03-24 00:06:13 +0000
committerUlrich Drepper <drepper@redhat.com>2004-03-24 00:06:13 +0000
commit7fe1586f4615281664b844ac9981a0711f7e2128 (patch)
tree341241eedbf065de5a57fe3cd45afbee8a697b88 /sysdeps/unix/sysv/linux/wordsize-64
parente408880b8102768b2fb612a82589a143b04d6302 (diff)
downloadglibc-7fe1586f4615281664b844ac9981a0711f7e2128.zip
glibc-7fe1586f4615281664b844ac9981a0711f7e2128.tar.gz
glibc-7fe1586f4615281664b844ac9981a0711f7e2128.tar.bz2
Update.
2004-03-23 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/alpha/sysdep.h (__NR_pread, __NR_pwrite): Define to __NR_p{read,write}64 if not defined. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (__NR_pread, __NR_pwrite): Define to __NR_p{read,write}64 if not defined instead of defining it the other way around. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Move common syscalls for 64bit arches to sysdeps/unix/sysv/linux/wordsize-64/syscalls.list. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/alpha/pread64.c: Removed. * sysdeps/unix/sysv/linux/alpha/getrlimit64.c: Removed. * sysdeps/unix/sysv/linux/alpha/glob64.c: Removed. * sysdeps/unix/sysv/linux/alpha/truncate64.c: Removed. * sysdeps/unix/sysv/linux/alpha/xstat64.c: Removed. * sysdeps/unix/sysv/linux/alpha/pwrite64.c: Removed. * sysdeps/unix/sysv/linux/alpha/posix_fadvise.c: Removed. * sysdeps/unix/sysv/linux/alpha/mmap64.c: Removed. * sysdeps/unix/sysv/linux/alpha/fxstat64.c: Removed. * sysdeps/unix/sysv/linux/alpha/setrlimit64.c: Removed. * sysdeps/unix/sysv/linux/alpha/ftruncate64.c: Removed. * sysdeps/unix/sysv/linux/alpha/sendfile64.c: Removed. * sysdeps/unix/sysv/linux/alpha/lxstat64.c: Removed. * sysdeps/unix/sysv/linux/alpha/posix_fadvise64.c: Removed. * sysdeps/unix/sysv/linux/alpha/statfs64.c: Removed. * sysdeps/unix/sysv/linux/alpha/fstatfs64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/pread64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/getrlimit64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/glob64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/readdir64_r.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/truncate64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/xstat64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/pwrite64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/getdents64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/readdir_r.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/lxstat.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/readdir.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/mmap64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/xstat.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/fxstat64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/setrlimit64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/ftruncate64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/getdents.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/lxstat64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/posix_fadvise64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/readdir64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/statfs64.c: Removed. * sysdeps/unix/sysv/linux/s390/s390-64/fstatfs64.c: Removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/glob64.c: Removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/truncate64.c: Removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/xstat64.c: Removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise.c: Removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fxstat64.c: Removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/ftruncate64.c: Removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/lxstat64.c: Removed. * sysdeps/unix/sysv/linux/powerpc/powerpc64/posix_fadvise64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/pread64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/glob64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/pwrite64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/getdents64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/mmap64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/sendfile64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/getdents.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/posix_fadvise64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/readdir64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c: Removed. * sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c: Removed. * sysdeps/unix/sysv/linux/ia64/pread64.c: Removed. * sysdeps/unix/sysv/linux/ia64/getrlimit64.c: Removed. * sysdeps/unix/sysv/linux/ia64/glob64.c: Removed. * sysdeps/unix/sysv/linux/ia64/readdir64_r.c: Removed. * sysdeps/unix/sysv/linux/ia64/truncate64.c: Removed. * sysdeps/unix/sysv/linux/ia64/xstat64.c: Removed. * sysdeps/unix/sysv/linux/ia64/pwrite64.c: Removed. * sysdeps/unix/sysv/linux/ia64/getdents64.c: Removed. * sysdeps/unix/sysv/linux/ia64/readdir_r.c: Removed. * sysdeps/unix/sysv/linux/ia64/lxstat.c: Removed. * sysdeps/unix/sysv/linux/ia64/readdir.c: Removed. * sysdeps/unix/sysv/linux/ia64/posix_fadvise.c: Removed. * sysdeps/unix/sysv/linux/ia64/mmap64.c: Removed. * sysdeps/unix/sysv/linux/ia64/xstat.c: Removed. * sysdeps/unix/sysv/linux/ia64/fxstat64.c: Removed. * sysdeps/unix/sysv/linux/ia64/setrlimit64.c: Removed. * sysdeps/unix/sysv/linux/ia64/ftruncate64.c: Removed. * sysdeps/unix/sysv/linux/ia64/sendfile64.c: Removed. * sysdeps/unix/sysv/linux/ia64/getdents.c: Removed. * sysdeps/unix/sysv/linux/ia64/lxstat64.c: Removed. * sysdeps/unix/sysv/linux/ia64/posix_fadvise64.c: Removed. * sysdeps/unix/sysv/linux/ia64/readdir64.c: Removed. * sysdeps/unix/sysv/linux/ia64/fxstat.c: Removed. * sysdeps/unix/sysv/linux/ia64/statfs64.c: Removed. * sysdeps/unix/sysv/linux/ia64/fstatfs64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/pread64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/getrlimit64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/glob64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/readdir64_r.c: Removed. * sysdeps/unix/sysv/linux/x86_64/truncate64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/xstat64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/pwrite64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/getdents64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/readdir_r.c: Removed. * sysdeps/unix/sysv/linux/x86_64/lxstat.c: Removed. * sysdeps/unix/sysv/linux/x86_64/readdir.c: Removed. * sysdeps/unix/sysv/linux/x86_64/posix_fadvise.c: Removed. * sysdeps/unix/sysv/linux/x86_64/mmap64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/xstat.c: Removed. * sysdeps/unix/sysv/linux/x86_64/fxstat64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/setrlimit64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/ftruncate64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/sendfile64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/getdents.c: Removed. * sysdeps/unix/sysv/linux/x86_64/lxstat64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/posix_fadvise64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/readdir64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/fxstat.c: Removed. * sysdeps/unix/sysv/linux/x86_64/statfs64.c: Removed. * sysdeps/unix/sysv/linux/x86_64/fstatfs64.c: Removed. * sysdeps/unix/sysv/linux/alpha/Implies: New file. * sysdeps/unix/sysv/linux/alpha/getdents64.c: New file. * sysdeps/unix/sysv/linux/s390/s390-64/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/Implies: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/Implies: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/pread64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/glob64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/truncate64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/xstat64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/getdents64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/lxstat.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/readdir.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/mmap64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/xstat.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/getdents.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/statvfs.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/readdir64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: New file. * sysdeps/unix/sysv/linux/wordsize-64/fxstat.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/statfs64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c: New file. * sysdeps/unix/sysv/linux/ia64/Implies: New file. * sysdeps/unix/sysv/linux/x86_64/Implies: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/wordsize-64')
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c5
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/fxstat.c48
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/getdents.c4
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/getdents64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/glob64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/lxstat.c48
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/mmap64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c41
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/pread64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/readdir.c7
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/readdir64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c4
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/statfs64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/statvfs.c5
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/syscalls.list16
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/truncate64.c1
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/xstat.c47
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/xstat64.c1
30 files changed, 245 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c b/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c
new file mode 100644
index 0000000..2be4e59
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/fstatfs64.c
@@ -0,0 +1 @@
+/* fstatfs64 is the same as fstatfs. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c b/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c
new file mode 100644
index 0000000..d04bcd4
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs.c
@@ -0,0 +1,5 @@
+#define __fstatvfs64(file, buf) __no_fstatvfs64(file, buf)
+#define fstatvfs64(file, buf) no_fstatvfs64(file, buf)
+#include "../fstatvfs.c"
+strong_alias (fstatvfs, __fstatvfs64)
+weak_alias (fstatvfs, fstatvfs64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c b/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c
new file mode 100644
index 0000000..60f3dfe
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/fstatvfs64.c
@@ -0,0 +1 @@
+/* fstatvfs64 is the same as fstatvfs. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c b/sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c
new file mode 100644
index 0000000..673a8b5
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/ftruncate64.c
@@ -0,0 +1 @@
+/* ftruncate64 is the same as ftruncate. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c b/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c
new file mode 100644
index 0000000..dd47dbb
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/fxstat.c
@@ -0,0 +1,48 @@
+/* fxstat using old-style Unix fstat system call.
+ Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ 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, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/* Ho hum, since xstat == xstat64 we must get rid of the prototype or gcc
+ will complain since they don't strictly match. */
+#define __fxstat64 __fxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <bp-checks.h>
+
+/* Get information about the file FD in BUF. */
+int
+__fxstat (int vers, int fd, struct stat *buf)
+{
+ if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
+ return INLINE_SYSCALL (fstat, 2, fd, CHECK_1 ((struct kernel_stat *) buf));
+
+ __set_errno (EINVAL);
+ return -1;
+}
+
+hidden_def (__fxstat)
+weak_alias (__fxstat, _fxstat);
+#undef __fxstat64
+strong_alias (__fxstat, __fxstat64);
+hidden_ver (__fxstat, __fxstat64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c b/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c
new file mode 100644
index 0000000..9eff9eb
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/fxstat64.c
@@ -0,0 +1 @@
+/* fxstat64 is in fxstat.c */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/getdents.c b/sysdeps/unix/sysv/linux/wordsize-64/getdents.c
new file mode 100644
index 0000000..491fa9d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/getdents.c
@@ -0,0 +1,4 @@
+#define __getdents64 __no___getdents64_decl
+#include <sysdeps/unix/sysv/linux/getdents.c>
+#undef __getdents64
+weak_alias(__getdents, __getdents64);
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c b/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c
new file mode 100644
index 0000000..0df2c8f
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/getdents64.c
@@ -0,0 +1 @@
+/* getdents64 is in getdents.c */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c b/sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c
new file mode 100644
index 0000000..9feab0e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/getrlimit64.c
@@ -0,0 +1 @@
+/* getrlimit64 is the same as getrlimit. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/glob64.c b/sysdeps/unix/sysv/linux/wordsize-64/glob64.c
new file mode 100644
index 0000000..33918ea
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/glob64.c
@@ -0,0 +1 @@
+/* glob64 is in glob.c */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c b/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c
new file mode 100644
index 0000000..2b93776
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/lxstat.c
@@ -0,0 +1,48 @@
+/* lxstat using old-style Unix lstat system call.
+ Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ 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, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/* Ho hum, since xstat == xstat64 we must get rid of the prototype or gcc
+ will complain since they don't strictly match. */
+#define __lxstat64 __lxstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <bp-checks.h>
+
+/* Get information about the file FD in BUF. */
+int
+__lxstat (int vers, const char *name, struct stat *buf)
+{
+ if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
+ return INLINE_SYSCALL (lstat, 2, CHECK_STRING (name), CHECK_1 (buf));
+
+ __set_errno (EINVAL);
+ return -1;
+}
+
+hidden_def (__lxstat)
+weak_alias (__lxstat, _lxstat);
+#undef __lxstat64
+strong_alias (__lxstat, __lxstat64);
+hidden_ver (__lxstat, __lxstat64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c b/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c
new file mode 100644
index 0000000..bb5dbd0
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/lxstat64.c
@@ -0,0 +1 @@
+/* lxstat64 is in lxstat.c */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/mmap64.c b/sysdeps/unix/sysv/linux/wordsize-64/mmap64.c
new file mode 100644
index 0000000..0dbd384
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/mmap64.c
@@ -0,0 +1 @@
+/* mmap64 is the same as mmap. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c
new file mode 100644
index 0000000..b230748
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ 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, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#define posix_fadvise64 __no_posix_fadvise64
+#include <errno.h>
+#include <fcntl.h>
+#include <sysdep.h>
+#undef posix_fadvise64
+
+/* Advice the system about the expected behaviour of the application with
+ respect to the file associated with FD. */
+
+int
+posix_fadvise (int fd, off_t offset, off_t len, int advise)
+{
+#ifdef __NR_fadvise64
+ INTERNAL_SYSCALL_DECL (err);
+ int ret = INTERNAL_SYSCALL (fadvise64, err, 4, fd, offset, len, advise);
+ if (INTERNAL_SYSCALL_ERROR_P (ret, err))
+ return INTERNAL_SYSCALL_ERRNO (ret, err);
+ return 0;
+#else
+ return ENOSYS;
+#endif
+}
+strong_alias (posix_fadvise, posix_fadvise64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c
new file mode 100644
index 0000000..c9f72c4
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/posix_fadvise64.c
@@ -0,0 +1 @@
+/* posix_fadvise64 is in posix_fadvise.c */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/pread64.c b/sysdeps/unix/sysv/linux/wordsize-64/pread64.c
new file mode 100644
index 0000000..b7f298d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/pread64.c
@@ -0,0 +1 @@
+/* Empty since the pread syscall is equivalent. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c b/sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c
new file mode 100644
index 0000000..b7f298d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/pwrite64.c
@@ -0,0 +1 @@
+/* Empty since the pread syscall is equivalent. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir.c
new file mode 100644
index 0000000..300ebb2
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir.c
@@ -0,0 +1,7 @@
+#define readdir64 __no_readdir64_decl
+#define __readdir64 __no___readdir64_decl
+#include <sysdeps/unix/readdir.c>
+#undef __readdir64
+strong_alias (__readdir, __readdir64)
+#undef readdir64
+weak_alias (__readdir, readdir64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c
new file mode 100644
index 0000000..9796431
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir64.c
@@ -0,0 +1 @@
+/* readdir64 is in readdir.c */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c
new file mode 100644
index 0000000..b8fe9a3
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir64_r.c
@@ -0,0 +1 @@
+/* readdir64_r is in readdir_r.c */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
new file mode 100644
index 0000000..adb92db
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
@@ -0,0 +1,4 @@
+#define readdir64_r __no_readdir64_r_decl
+#include <sysdeps/unix/readdir_r.c>
+#undef readdir64_r
+weak_alias (__readdir_r, readdir64_r)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c b/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c
new file mode 100644
index 0000000..4c451bd
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/sendfile64.c
@@ -0,0 +1 @@
+/* sendfile64 is alias of sendfile syscall. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c b/sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c
new file mode 100644
index 0000000..8edcff0
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/setrlimit64.c
@@ -0,0 +1 @@
+/* setrlimit64 is the same as setrlimit. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c b/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c
new file mode 100644
index 0000000..06bc688
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/statfs64.c
@@ -0,0 +1 @@
+/* statfs64 is the same as statfs. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/statvfs.c b/sysdeps/unix/sysv/linux/wordsize-64/statvfs.c
new file mode 100644
index 0000000..f369976
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/statvfs.c
@@ -0,0 +1,5 @@
+#define __statvfs64(file, buf) __no_statvfs64(file, buf)
+#define statvfs64(file, buf) no_statvfs64(file, buf)
+#include "../statvfs.c"
+strong_alias (statvfs, __statvfs64)
+weak_alias (statvfs, statvfs64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c b/sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c
new file mode 100644
index 0000000..510015e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/statvfs64.c
@@ -0,0 +1 @@
+/* statvfs64 is the same as statvfs. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list b/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list
new file mode 100644
index 0000000..58904fc
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list
@@ -0,0 +1,16 @@
+# File name Caller Syscall name # args Strong name Weak names
+
+# Whee! 64-bit systems naturally implement llseek.
+llseek EXTRA lseek Ci:iii __libc_lseek __lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64
+lseek llseek -
+pread - pread Ci:ibni __libc_pread __libc_pread64 __pread pread __pread64 pread64
+pwrite - pwrite Ci:ibni __libc_pwrite __libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+fstatfs - fstatfs i:ip __fstatfs fstatfs fstatfs64 __fstatfs64
+statfs - statfs i:sp __statfs statfs statfs64
+mmap - mmap b:aniiii __mmap mmap __mmap64 mmap64
+ftruncate - ftruncate i:ii __ftruncate ftruncate ftruncate64 __ftruncate64
+truncate - truncate i:si truncate truncate64
+getrlimit - getrlimit i:ip __getrlimit getrlimit getrlimit64
+setrlimit - setrlimit i:ip __setrlimit setrlimit setrlimit64
+readahead - readahead i:iii __readahead readahead
+sendfile - sendfile i:iipi sendfile sendfile64
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/truncate64.c b/sysdeps/unix/sysv/linux/wordsize-64/truncate64.c
new file mode 100644
index 0000000..8999768
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/truncate64.c
@@ -0,0 +1 @@
+/* truncate64 is the same as truncate. */
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/xstat.c b/sysdeps/unix/sysv/linux/wordsize-64/xstat.c
new file mode 100644
index 0000000..38f32b6
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/xstat.c
@@ -0,0 +1,47 @@
+/* xstat using old-style Unix stat system call.
+ Copyright (C) 1991, 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ 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, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/* Ho hum, since xstat == xstat64 we must get rid of the prototype or gcc
+ will complain since they don't strictly match. */
+#define __xstat64 __xstat64_disable
+
+#include <errno.h>
+#include <stddef.h>
+#include <sys/stat.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+#include <bp-checks.h>
+
+/* Get information about the file NAME in BUF. */
+int
+__xstat (int vers, const char *name, struct stat *buf)
+{
+ if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
+ return INLINE_SYSCALL (stat, 2, name, CHECK_1 (buf));
+
+ __set_errno (EINVAL);
+ return -1;
+}
+hidden_def (__xstat)
+weak_alias (__xstat, _xstat);
+#undef __xstat64
+strong_alias (__xstat, __xstat64);
+hidden_ver (__xstat, __xstat64)
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c b/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c
new file mode 100644
index 0000000..e7acd3b
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/wordsize-64/xstat64.c
@@ -0,0 +1 @@
+/* xstat64 is in xstat.c */